diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt index b87223c9e2..5a2edb5bb4 100644 --- a/.github/.wordlist.txt +++ b/.github/.wordlist.txt @@ -1171,6 +1171,7 @@ PyFunction pylint PyObject pypi +pyproject PyRun pytest PYTHONPATH diff --git a/.github/workflows/examples-nxp.yaml b/.github/workflows/examples-nxp.yaml index 3caf711686..5981062951 100644 --- a/.github/workflows/examples-nxp.yaml +++ b/.github/workflows/examples-nxp.yaml @@ -40,7 +40,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-nxp:120 + image: ghcr.io/project-chip/chip-build-nxp:124 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: @@ -149,7 +149,7 @@ jobs: run: | scripts/run_in_build_env.sh "\ ./scripts/build/build_examples.py \ - --target nxp-rt1060-freertos-thermostat-thread-wifi-evkc-iwx12 \ + --target nxp-rt1060-freertos-thermostat-thread-wifi-matter-shell-evkc-iwx12 \ build \ --copy-artifacts-to out/artifacts \ " @@ -181,7 +181,7 @@ jobs: run: | scripts/run_in_build_env.sh "\ ./scripts/build/build_examples.py \ - --target nxp-rt1170-freertos-thermostat-thread-wifi-iwx12 \ + --target nxp-rt1170-freertos-thermostat-thread-wifi-matter-shell-iwx12 \ build \ --copy-artifacts-to out/artifacts \ " @@ -210,7 +210,7 @@ jobs: run: | scripts/run_in_build_env.sh "\ ./scripts/build/build_examples.py \ - --target nxp-rw61x-freertos-thermostat-thread-wifi \ + --target nxp-rw61x-freertos-thermostat-thread-wifi-matter-shell \ build \ --copy-artifacts-to out/artifacts \ " diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c3898887e2..209a0fa7a3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -151,13 +151,13 @@ jobs: if [ "$idl_file" = './examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter' ]; then continue; fi # Test files are intentionally small and not spec-compilant, just parse-compliant - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/cluster_struct_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/global_struct_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/optional_argument.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/several_clusters.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/simple_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/large_lighting_app.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/large_all_clusters_app.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/cluster_struct_attribute.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/global_struct_attribute.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/optional_argument.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/several_clusters.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/simple_attribute.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/large_lighting_app.matter" ]; then continue; fi + if [ "$idl_file" = "./scripts/py_matter_idl/matter/idl/tests/inputs/large_all_clusters_app.matter" ]; then continue; fi ./scripts/run_in_build_env.sh "./scripts/idl_lint.py --log-level warn $idl_file" >/dev/null || exit 1 done diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 7257879d21..a6b3def7ae 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -88,7 +88,7 @@ jobs: # run: | ./scripts/run_in_build_env.sh \ - "./scripts/py_matter_idl/matter_idl/zapxml_parser.py \ + "./scripts/py_matter_idl/matter/idl/zapxml_parser.py \ --no-print \ --log-level info \ src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \ diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index 38bd3dafdd..0000000000 --- a/.isort.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[settings] -line_length = 132 diff --git a/.restyled.yaml b/.restyled.yaml index 446dad740b..4b3016ae0a 100644 --- a/.restyled.yaml +++ b/.restyled.yaml @@ -68,7 +68,7 @@ exclude: - "third_party/android_deps/gradlew" # gradle wrapper generated file - "src/controller/python/chip/clusters/Objects.py" # generated file, no point to restyle - "src/controller/python/chip/clusters/CHIPClusters.py" # generated file, no point to restyle - - "scripts/py_matter_idl/matter_idl/tests/outputs/**/*" # Matches generated output 1:1 + - "scripts/py_matter_idl/matter/idl/tests/outputs/**/*" # Matches generated output 1:1 - "scripts/tools/zap/tests/outputs/**/*" # Matches generated output 1:1 - "examples/chef/sample_app_util/test_files/*.yaml" - "examples/chef/zzz_generated/**/*" @@ -228,8 +228,6 @@ restylers: command: - autopep8 - "--in-place" - - "--max-line-length" - - "132" arguments: [] include: - "**/*.py" diff --git a/config/esp32/components/chip/CMakeLists.txt b/config/esp32/components/chip/CMakeLists.txt index c1b0e0b644..7d3cc5440d 100644 --- a/config/esp32/components/chip/CMakeLists.txt +++ b/config/esp32/components/chip/CMakeLists.txt @@ -345,8 +345,8 @@ endif() set(args_gn "${CMAKE_CURRENT_BINARY_DIR}/args.gn") add_custom_command(OUTPUT "${args_gn}" - COMMAND ${python} - ${CMAKE_CURRENT_LIST_DIR}/create_args_gn.py + COMMAND ${python} + ${CMAKE_CURRENT_LIST_DIR}/create_args_gn.py "${CMAKE_BINARY_DIR}" "${idf_path}" "${CMAKE_CURRENT_LIST_DIR}/chip.c" @@ -468,10 +468,19 @@ endif() # Build Matter OTA image if (CONFIG_CHIP_OTA_IMAGE_BUILD) - chip_ota_image(chip-ota-image - INPUT_FILES ${BUILD_DIR}/${CMAKE_PROJECT_NAME}.bin - OUTPUT_FILE ${BUILD_DIR}/${CMAKE_PROJECT_NAME}-ota.bin - ) - # Adding dependecy as app target so that this runs after images are ready - add_dependencies(chip-ota-image app) + if (CONFIG_OPENTHREAD_BORDER_ROUTER AND CONFIG_AUTO_UPDATE_RCP) + chip_ota_image(chip-ota-image + INPUT_FILES ${BUILD_DIR}/ota_with_rcp_image + OUTPUT_FILE ${BUILD_DIR}/ota_with_rcp_image-ota.bin + ) + # Adding dependecy as app target so that this runs after images are ready + add_dependencies(chip-ota-image gen_ota_image) + else() + chip_ota_image(chip-ota-image + INPUT_FILES ${BUILD_DIR}/${CMAKE_PROJECT_NAME}.bin + OUTPUT_FILE ${BUILD_DIR}/${CMAKE_PROJECT_NAME}-ota.bin + ) + # Adding dependecy as app target so that this runs after images are ready + add_dependencies(chip-ota-image app) + endif() endif() diff --git a/config/esp32/components/chip/idf_component.yml b/config/esp32/components/chip/idf_component.yml index 9714179c27..cdea7f0768 100644 --- a/config/esp32/components/chip/idf_component.yml +++ b/config/esp32/components/chip/idf_component.yml @@ -17,7 +17,7 @@ dependencies: - if: "idf_version >=4.4" espressif/esp_insights: - version: "1.2.2" + version: "^1.2.4" require: public # There is an issue with IDF-Component-Manager when ESP Insights is included. # Issue: https://github.com/project-chip/connectedhomeip/issues/29125 @@ -26,7 +26,7 @@ dependencies: - if: "target != esp32h2" espressif/esp_rcp_update: - version: "1.2.0" + version: "~1.3.0" rules: - if: "idf_version >=5.0" diff --git a/docs/guides/matter_idl_tooling.md b/docs/guides/matter_idl_tooling.md index 09953e1d5e..fe95737605 100644 --- a/docs/guides/matter_idl_tooling.md +++ b/docs/guides/matter_idl_tooling.md @@ -7,7 +7,7 @@ Since it is designed to be easy for both machine and humans to read, it is the basis of some tools to make validating zap-based cluster definitions easier. More details on the format in -[matter_idl/README.md](../../scripts/py_matter_idl/matter_idl/README.md). +[matter/idl/README.md](../../scripts/py_matter_idl/matter/idl/README.md). ## Parsing CSA XML Data definitions @@ -20,12 +20,12 @@ information available in [data_model/README.md](../../data_model/README.md). NOTE: scraper is a work in progress, XML data may be incomplete or have errors still. -The script `./scripts/py_matter_idl/matter_idl/data_model_xml_parser.py` has the +The script `./scripts/py_matter_idl/matter/idl/data_model_xml_parser.py` has the ability to parse one or more CSA data model XML files and output their content in `.matter` format. For example: ```sh -./scripts/py_matter_idl/matter_idl/data_model_xml_parser.py data_model/clusters/BooleanState.xml +./scripts/py_matter_idl/matter/idl/data_model_xml_parser.py data_model/clusters/BooleanState.xml ``` The tool supports several options that are useful for development: @@ -54,7 +54,7 @@ specification: As such one can run compares such as: ```sh -./scripts/py_matter_idl/matter_idl/data_model_xml_parser.py \ +./scripts/py_matter_idl/matter/idl/data_model_xml_parser.py \ -o out/spec.matter \ --compare-output out/sdk.matter \ --compare src/controller/data_model/controller-clusters.matter \ diff --git a/docs/platforms/esp32/ble_settings.md b/docs/platforms/esp32/ble_settings.md index af6ba325d1..ae813b4b8c 100644 --- a/docs/platforms/esp32/ble_settings.md +++ b/docs/platforms/esp32/ble_settings.md @@ -33,3 +33,137 @@ advertising packets. ``` Note: Scan response should be configure before `InitServer`. + +## Nimble: additional custom GATT services + +The `ConfigureExtraServices` API is used to configure additional services +alongside the Matter services. This API allows users to add their own custom +services for provisioning or other purposes. + +### Usage + +``` +/* Service access callback */ +static int gatt_svc_access(uint16_t conn_handle, uint16_t attr_handle, + struct ble_gatt_access_ctxt *ctxt, void *arg); + +/* Service UUID */ +static const ble_uuid128_t gatt_svr_svc_uuid = + BLE_UUID128_INIT(0x2d, 0x71, 0xa2, 0x59, 0xb4, 0x58, 0xc8, 0x12, + 0x99, 0x99, 0x43, 0x95, 0x12, 0x2f, 0x46, 0x59); + +/* A characteristic that can be subscribed to */ +static uint16_t gatt_svr_chr_val_handle; +static const ble_uuid128_t gatt_svr_chr_uuid = + BLE_UUID128_INIT(0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, + 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x33); + +/* A custom descriptor */ +static const ble_uuid128_t gatt_svr_dsc_uuid = + BLE_UUID128_INIT(0x01, 0x01, 0x01, 0x01, 0x12, 0x12, 0x12, 0x12, + 0x23, 0x23, 0x23, 0x23, 0x34, 0x34, 0x34, 0x34); + +{ + std::vector gatt_svr_svcs = { + { + /*** Service ***/ + .type = BLE_GATT_SVC_TYPE_PRIMARY, + .uuid = &gatt_svr_svc_uuid.u, + .characteristics = (struct ble_gatt_chr_def[]) + { { + /*** This characteristic can be subscribed to by writing 0x00 and 0x01 to the CCCD ***/ + .uuid = &gatt_svr_chr_uuid.u, + .access_cb = gatt_svc_access, + .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_NOTIFY | BLE_GATT_CHR_F_INDICATE, + .val_handle = &gatt_svr_chr_val_handle, + .descriptors = (struct ble_gatt_dsc_def[]) { + { + .uuid = &gatt_svr_dsc_uuid.u, + .att_flags = BLE_ATT_F_READ, + .access_cb = gatt_svc_access, + }, { + 0, /* No more descriptors in this characteristic */ + } + }, + }, { + 0, /* No more characteristics in this service. */ + } + }, + }, + }; + + /* Add Extra service after Matter service */ + CHIP_ERROR err = chip::DeviceLayer::Internal::BLEMgrImpl().ConfigureExtraServices(gatt_svr_svcs, ture); +} +``` + +Note: Extra service should be configure before `InitServer`. + +## Nimble: multiple BLE advertisement + +The chips that support BLE 5.0 features can advertise their custom BLE GAP +advertisement alongside Matter's BLE advertisement if `CONFIG_BT_NIMBLE_EXT_ADV` +is enabled and `CONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES` is a value greater +than 1. + +### Usage + +``` +static uint8_t connectable_adv_pattern[] = { + 0x02, 0x01, 0x06, + 0x03, 0x03, 0xab, 0xcd, + 0x03, 0x03, 0x18, 0x11, + 0x12, 0X09, 'n', 'i', 'm', 'b', 'l', 'e', '-', 'c', 'o', 'n', 'n', 'e', 't', 'a', 'b', 'l', 'e' +}; + +/* GAP event handler */ +static int ble_multi_adv_gap_event(struct ble_gap_event *event, void *arg); + +{ + /* Use instance except 0 as Matter advertisement uses instance 0 */ + uint8_t instance = 1; + struct ble_gap_ext_adv_params params; + int size_pattern = sizeof(connectable_adv_pattern) / sizeof(connectable_adv_pattern[0]); + + memset (¶ms, 0, sizeof(params)); + + params.connectable = 1; + params.scannable = 1; + params.own_addr_type = BLE_OWN_ADDR_RANDOM; + params.sid = 1; + params.primary_phy = BLE_HCI_LE_PHY_1M; + params.secondary_phy = BLE_HCI_LE_PHY_1M; + params.tx_power = 127; + + int rc; + struct os_mbuf *data; + int size_pattern = sizeof(legacy_dur_adv_pattern) / sizeof(legacy_dur_adv_pattern[0]); + + if (ble_gap_ext_adv_active(instance)) { + ESP_LOGI(tag, "Instance already advertising"); + return; + } + + rc = ble_gap_ext_adv_configure(instance, params, NULL, + ble_multi_adv_gap_event, NULL); + assert (rc == 0); + + /* get mbuf for adv data */ + data = os_msys_get_pkthdr(size_pattern, 0); + assert(data); + + /* fill mbuf with adv data */ + rc = os_mbuf_append(data, legacy_dur_adv_pattern, size_pattern); + assert(rc == 0); + + rc = ble_gap_ext_adv_set_data(instance, data); + assert (rc == 0); + + /* start advertising */ + rc = ble_gap_ext_adv_start(instance, 500, 0); + assert (rc == 0); +} +``` + +Note: The custom additional advertisement should be configured after BLE stack +is started. diff --git a/docs/style/CODING_STYLE_GUIDE.md b/docs/style/CODING_STYLE_GUIDE.md index bba6ef4ffa..70fc9a4a33 100644 --- a/docs/style/CODING_STYLE_GUIDE.md +++ b/docs/style/CODING_STYLE_GUIDE.md @@ -60,22 +60,20 @@ be removed. We use the following auto-formatters on code: -| Language | Formatter | Style File | -| ----------- | ------------------ | ------------------------------------------------------------------------------------------ | -| C++ | clang-format | [.clang-format](https://github.com/project-chip/connectedhomeip/blob/master/.clang-format) | -| Objective-C | clang-format | [.clang-format](https://github.com/project-chip/connectedhomeip/blob/master/.clang-format) | -| java | google-java-format | N/A | -| Python | pep8, isort, ruff | [.restyled.yaml][restyle_link] (command line), [isort][isort_link], [ruff][ruff_link] | -| YAML | prettier | None | -| JSON | prettier | None | -| markdown | prettier | None | - -[restyle_link]: - https://github.com/project-chip/connectedhomeip/blob/master/.restyled.yaml -[isort_link]: - https://github.com/project-chip/connectedhomeip/blob/master/.isort.cfg -[ruff_link]: - https://github.com/project-chip/connectedhomeip/blob/master/ruff.toml +| Language | Formatter | Style File | +| ----------- | ------------------ | ---------------------------------- | +| C++ | clang-format | [.clang-format][clang_format_link] | +| Objective-C | clang-format | [.clang-format][clang_format_link] | +| java | google-java-format | N/A | +| Python | pep8, isort, ruff | [pyproject.toml][pyproject_link] | +| YAML | prettier | None | +| JSON | prettier | None | +| markdown | prettier | None | + +[clang_format_link]: + https://github.com/project-chip/connectedhomeip/blob/master/.clang-format +[pyproject_link]: + https://github.com/project-chip/connectedhomeip/blob/master/pyproject.toml All pull requests run formatting checks using these tools before merge is allowed. Generated code is not run through restyle. diff --git a/docs/zap_and_codegen/code_generation.md b/docs/zap_and_codegen/code_generation.md index aac74bd6e6..b896218ef8 100644 --- a/docs/zap_and_codegen/code_generation.md +++ b/docs/zap_and_codegen/code_generation.md @@ -91,7 +91,7 @@ specific codegen. `*.matter` files are both human and machine readable. Code that can process these files is available at `scripts/py_matter_idl` and `scripts/codegen.py`. You can read the -[scripts/py_matter_idl/matter_idl/README.md](../scripts/py_matter_idl/matter_idl/README.md) +[scripts/py_matter_idl/matter/idl/README.md](../scripts/py_matter_idl/matter/idl/README.md) for details of how things work. `scripts/codegen.py` can generate various outputs based on an input `*.matter` @@ -222,7 +222,7 @@ Code pre-generation can be used: generation at build time or to save the code generation time at the expense of running code generation for every possible zap/generation type - To check changes in generated code across versions, beyond the comparisons - of golden image tests in `scripts/py_matter_idl/matter_idl/tests` + of golden image tests in `scripts/py_matter_idl/matter/idl/tests` The script to trigger code pre-generation is `scripts/codepregen.py` and requires the pre-generation output directory as an argument diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter index cab2bf3e80..692f2c4746 100644 --- a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter +++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter @@ -1202,7 +1202,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1228,14 +1228,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1257,7 +1257,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1276,7 +1276,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1288,8 +1288,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1307,21 +1307,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1335,7 +1335,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1344,9 +1344,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter index 6d83d8a376..c788f9e33d 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter @@ -1477,7 +1477,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1503,14 +1503,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1532,7 +1532,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1551,7 +1551,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1563,8 +1563,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1582,21 +1582,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1610,7 +1610,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1619,9 +1619,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2410,7 +2410,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; handle command ArmFailSafe; diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap index d99c2452b0..8d00d1b8f6 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index c324841d54..789d207a3f 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -2631,7 +2631,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2657,14 +2657,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2686,7 +2686,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2705,7 +2705,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2717,8 +2717,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2736,21 +2736,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2764,7 +2764,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2773,9 +2773,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -8312,6 +8312,9 @@ endpoint 0 { handle command UpdateFabricLabel; handle command RemoveFabric; handle command AddTrustedRootCertificate; + handle command SetVIDVerificationStatement; + handle command SignVIDVerificationRequest; + handle command SignVIDVerificationResponse; } server cluster GroupKeyManagement { diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 75e03cb83a..eb79be8fa1 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -5172,6 +5172,30 @@ "source": "client", "isIncoming": 1, "isEnabled": 1 + }, + { + "name": "SetVIDVerificationStatement", + "code": 12, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SignVIDVerificationRequest", + "code": 13, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SignVIDVerificationResponse", + "code": 14, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 } ], "attributes": [ @@ -25839,4 +25863,4 @@ "parentEndpointIdentifier": null } ] -} \ No newline at end of file +} diff --git a/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp b/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp index e0278f30cc..2afb78968d 100644 --- a/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp +++ b/examples/all-clusters-app/linux/AllClustersCommandDelegate.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -284,6 +285,47 @@ void HandleSimulateLatchPosition(Json::Value & jsonValue) } } +/** + * Named pipe handler for simulating a Door Opening. + * + * Usage example: + * echo '{"Name":"SetRefrigeratorDoorStatus", "EndpointId": 1, "DoorOpen": 1}' > /tmp/chip_all_clusters_fifo_1146610 + * + * JSON Arguments: + * - "Name": Must be "SetRefrigeratorDoorStatus" + * - "EndpointId": ID of endpoint + * - "DoorOpen": Status of the Door, open or closed. + * + * @param jsonValue - JSON payload from named pipe + */ +void SetRefrigeratorDoorStatusHandler(Json::Value & jsonValue) +{ + bool hasEndpointId = HasNumericField(jsonValue, "EndpointId"); + bool hasDoorStatus = HasNumericField(jsonValue, "DoorOpen"); + + if (!hasEndpointId || !hasDoorStatus) + { + std::string inputJson = jsonValue.toStyledString(); + ChipLogError(NotSpecified, "Missing or invalid value for one of EndpointId, DoorOpen in %s", inputJson.c_str()); + return; + } + // values to update the door status + EndpointId endpointId = static_cast(jsonValue["EndpointId"].asUInt()); + bool doorStatus = static_cast(jsonValue["DoorOpen"].asBool()); + ChipLogDetail(NotSpecified, "SetRefrigeratorDoorStatusHandler State -> %d.", doorStatus); + if (!doorStatus) + { + RefrigeratorAlarmServer::Instance().SetMaskValue(endpointId, doorStatus); + ChipLogDetail(NotSpecified, "Refrigeratoralarm status updated to :%d", doorStatus); + } + else + { + ChipLogDetail(NotSpecified, "Refrigeratoralarm status updated to :%d", doorStatus); + RefrigeratorAlarmServer::Instance().SetMaskValue(endpointId, doorStatus); + RefrigeratorAlarmServer::Instance().SetStateValue(endpointId, doorStatus); + } +} + /** * Named pipe handler for simulating switch is idle * @@ -509,9 +551,13 @@ void AllClustersAppCommandHandler::HandleCommand(intptr_t context) ChipLogError(NotSpecified, "Invalid Occupancy state to set."); } } + else if (name == "SetRefrigeratorDoorStatus") + { + SetRefrigeratorDoorStatusHandler(self->mJsonValue); + } else { - ChipLogError(NotSpecified, "Unhandled command '%s': this hould never happen", name.c_str()); + ChipLogError(NotSpecified, "Unhandled command '%s': this should never happen", name.c_str()); VerifyOrDie(false && "Named pipe command not supported, see log above."); } diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 009e9b4874..5fbd25bf27 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -2398,7 +2398,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2424,14 +2424,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2453,7 +2453,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2472,7 +2472,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2484,8 +2484,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2503,21 +2503,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2531,7 +2531,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2540,9 +2540,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -6565,6 +6565,9 @@ endpoint 0 { handle command UpdateFabricLabel; handle command RemoveFabric; handle command AddTrustedRootCertificate; + handle command SetVIDVerificationStatement; + handle command SignVIDVerificationRequest; + handle command SignVIDVerificationResponse; } server cluster GroupKeyManagement { diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap index 6a016dc8d8..6f0011346f 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap @@ -3336,6 +3336,30 @@ "source": "client", "isIncoming": 1, "isEnabled": 1 + }, + { + "name": "SetVIDVerificationStatement", + "code": 12, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SignVIDVerificationRequest", + "code": 13, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SignVIDVerificationResponse", + "code": 14, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 } ], "attributes": [ @@ -11933,4 +11957,4 @@ "parentEndpointIdentifier": null } ] -} \ No newline at end of file +} diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index b382d162c9..a9860a211d 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -1887,7 +1887,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1913,14 +1913,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1942,7 +1942,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1961,7 +1961,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1973,8 +1973,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1992,21 +1992,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2020,7 +2020,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2029,9 +2029,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/camera-app/camera-common/camera-app.matter b/examples/camera-app/camera-common/camera-app.matter index 4096acd131..fce97408f4 100644 --- a/examples/camera-app/camera-common/camera-app.matter +++ b/examples/camera-app/camera-common/camera-app.matter @@ -1857,7 +1857,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1883,14 +1883,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1912,7 +1912,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1931,7 +1931,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1943,8 +1943,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1962,21 +1962,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1990,7 +1990,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1999,9 +1999,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/common/chef-rvc-operational-state-delegate.cpp b/examples/chef/common/chef-rvc-operational-state-delegate.cpp index 1a1cf0696c..cd424e7981 100644 --- a/examples/chef/common/chef-rvc-operational-state-delegate.cpp +++ b/examples/chef/common/chef-rvc-operational-state-delegate.cpp @@ -86,12 +86,18 @@ void RvcOperationalStateDelegate::HandlePauseStateCallback(GenericOperationalErr return; } + if (state != OperationalState::OperationalStateEnum::kRunning) + { + ChipLogDetail(DeviceLayer, "HandlePauseStateCallback: RVC not running. Current state = %d. Returning.", + to_underlying(state)); + err.Set(to_underlying(OperationalState::ErrorStateEnum::kCommandInvalidInState)); + return; + } + // placeholder implementation auto error = gRvcOperationalStateInstance->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kPaused)); if (error == CHIP_NO_ERROR) { - (void) DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(1), onOperationalStateTimerTick, GetInstance()); - GetInstance()->UpdateCountdownTimeFromDelegate(); err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); } else @@ -111,12 +117,18 @@ void RvcOperationalStateDelegate::HandleResumeStateCallback(GenericOperationalEr return; } + if (state != OperationalState::OperationalStateEnum::kPaused) + { + ChipLogDetail(DeviceLayer, "HandleResumeStateCallback: RVC not in paused state. Current state = %d. Returning.", + to_underlying(state)); + err.Set(to_underlying(OperationalState::ErrorStateEnum::kCommandInvalidInState)); + return; + } + // placeholder implementation auto error = gRvcOperationalStateInstance->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kRunning)); if (error == CHIP_NO_ERROR) { - (void) DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(1), onOperationalStateTimerTick, GetInstance()); - GetInstance()->UpdateCountdownTimeFromDelegate(); err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); } else @@ -136,12 +148,34 @@ void RvcOperationalStateDelegate::HandleStartStateCallback(GenericOperationalErr return; } + RvcOperationalState::OperationalStateEnum current_state = + static_cast(gRvcOperationalStateInstance->GetCurrentOperationalState()); + + if (current_state == RvcOperationalState::OperationalStateEnum::kRunning || + current_state == RvcOperationalState::OperationalStateEnum::kPaused) + { + ChipLogDetail(DeviceLayer, "HandleStartStateCallback: RVC is already started. Current state = %d. Returning.", + to_underlying(current_state)); + err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); + return; + } + + if (to_underlying(current_state) != to_underlying(RvcOperationalState::OperationalStateEnum::kCharging) && + to_underlying(current_state) != to_underlying(RvcOperationalState::OperationalStateEnum::kStopped)) + { + ChipLogError( + DeviceLayer, + "HandleStartStateCallback: RVC must be in either charging or stopped state before starting. current state = %d", + to_underlying(current_state)); + err.Set(to_underlying(OperationalState::ErrorStateEnum::kCommandInvalidInState)); + return; + } // placeholder implementation auto error = GetInstance()->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kRunning)); if (error == CHIP_NO_ERROR) { + // Start RVC run cycle. (void) DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(1), onOperationalStateTimerTick, GetInstance()); - GetInstance()->UpdateCountdownTimeFromDelegate(); err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); } else @@ -152,12 +186,23 @@ void RvcOperationalStateDelegate::HandleStartStateCallback(GenericOperationalErr void RvcOperationalStateDelegate::HandleStopStateCallback(GenericOperationalError & err) { + + RvcOperationalState::OperationalStateEnum current_state = + static_cast(gRvcOperationalStateInstance->GetCurrentOperationalState()); + + if (current_state != RvcOperationalState::OperationalStateEnum::kRunning && + current_state != RvcOperationalState::OperationalStateEnum::kPaused) + { + ChipLogDetail(DeviceLayer, "HandleStopStateCallback: RVC not started. Current state = %d. Returning.", + to_underlying(current_state)); + err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); + return; + } // placeholder implementation auto error = GetInstance()->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kStopped)); if (error == CHIP_NO_ERROR) { (void) DeviceLayer::SystemLayer().CancelTimer(onOperationalStateTimerTick, this); - GetInstance()->UpdateCountdownTimeFromDelegate(); OperationalState::GenericOperationalError current_err(to_underlying(OperationalState::ErrorStateEnum::kNoError)); GetInstance()->GetCurrentOperationalError(current_err); @@ -171,12 +216,41 @@ void RvcOperationalStateDelegate::HandleStopStateCallback(GenericOperationalErro mPausedTime = 0; mCountdownTime.SetNull(); err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); + GetInstance()->UpdateCountdownTimeFromDelegate(); } else { err.Set(to_underlying(OperationalState::ErrorStateEnum::kUnableToCompleteOperation)); } } + +void RvcOperationalStateDelegate::HandleGoHomeCommandCallback(OperationalState::GenericOperationalError & err) +{ + + RvcOperationalState::OperationalStateEnum current_state = + static_cast(gRvcOperationalStateInstance->GetCurrentOperationalState()); + + if (current_state == RvcOperationalState::OperationalStateEnum::kRunning || + current_state == RvcOperationalState::OperationalStateEnum::kPaused) + { + ChipLogDetail(DeviceLayer, "HandleGoHomeCommandCallback: RVC was started, current state = %d. Stopping RVC.", + to_underlying(current_state)); + gRvcOperationalStateDelegate->HandleStopStateCallback(err); + } + + // Skip SeekingCharger and Docking states and directly go into charging. + auto error = + gRvcOperationalStateInstance->SetOperationalState(to_underlying(RvcOperationalState::OperationalStateEnum::kCharging)); + if (error == CHIP_NO_ERROR) + { + err.Set(to_underlying(OperationalState::ErrorStateEnum::kNoError)); + } + else + { + err.Set(to_underlying(OperationalState::ErrorStateEnum::kUnableToCompleteOperation)); + } +} + static void onOperationalStateTimerTick(System::Layer * systemLayer, void * data) { RvcOperationalStateDelegate * delegate = reinterpret_cast(data); @@ -185,7 +259,8 @@ static void onOperationalStateTimerTick(System::Layer * systemLayer, void * data OperationalState::OperationalStateEnum state = static_cast(instance->GetCurrentOperationalState()); - if (state == OperationalState::OperationalStateEnum::kStopped) // Do not continue the timer when RVC has stopped. + if (state != OperationalState::OperationalStateEnum::kRunning && + state != OperationalState::OperationalStateEnum::kPaused) // Timer shouldn't run when RVC is not in Running or Paused. { return; } @@ -198,6 +273,12 @@ static void onOperationalStateTimerTick(System::Layer * systemLayer, void * data static_cast(gRvcOperationalStateDelegate->kExampleCountDown)); gRvcOperationalStateDelegate->mRunningTime = 0; gRvcOperationalStateDelegate->mPausedTime = 0; + instance->UpdateCountdownTimeFromDelegate(); + } + else + { // kPaused + ChipLogError(DeviceLayer, "RVC timer tick: Invalid state. Device is in kPaused but mCountdownTime is NULL."); + return; } } @@ -213,6 +294,14 @@ static void onOperationalStateTimerTick(System::Layer * systemLayer, void * data uint32_t mPausedTime = gRvcOperationalStateDelegate->mPausedTime; uint32_t mRunningTime = gRvcOperationalStateDelegate->mRunningTime; + ChipLogDetail(DeviceLayer, "RVC timer tick: Current state = %d. CountdownTime = %d. PauseTime = %d. RunningTime = %d.", + to_underlying(state), gRvcOperationalStateDelegate->mCountdownTime.Value(), mPausedTime, mRunningTime); + if (state == OperationalState::OperationalStateEnum::kRunning) + { + // Reported CountDownTime is the remaining time to run = mCountdownTime.Value() - mRunningTime. + instance->UpdateCountdownTimeFromDelegate(); + } + if (gRvcOperationalStateDelegate->mCountdownTime.Value() > mRunningTime) { (void) DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(1), onOperationalStateTimerTick, delegate); @@ -237,6 +326,7 @@ static void onOperationalStateTimerTick(System::Layer * systemLayer, void * data gRvcOperationalStateDelegate->mRunningTime = 0; gRvcOperationalStateDelegate->mPausedTime = 0; gRvcOperationalStateDelegate->mCountdownTime.SetNull(); + instance->UpdateCountdownTimeFromDelegate(); #ifdef MATTER_DM_PLUGIN_RVC_RUN_MODE_SERVER getRvcRunModeInstance()->UpdateCurrentMode(RvcRunMode::ModeIdle); diff --git a/examples/chef/common/chef-rvc-operational-state-delegate.h b/examples/chef/common/chef-rvc-operational-state-delegate.h index d551182787..ca9f423949 100644 --- a/examples/chef/common/chef-rvc-operational-state-delegate.h +++ b/examples/chef/common/chef-rvc-operational-state-delegate.h @@ -94,6 +94,11 @@ class RvcOperationalStateDelegate : public RvcOperationalState::Delegate */ void HandleStopStateCallback(OperationalState::GenericOperationalError & err) override; + /** + * Handle Command Callback in application: GoHome + */ + void HandleGoHomeCommandCallback(OperationalState::GenericOperationalError & err) override; + uint32_t mRunningTime = 0; uint32_t mPausedTime = 0; app::DataModel::Nullable mCountdownTime; diff --git a/examples/chef/common/clusters/oven-mode/chef-oven-mode.cpp b/examples/chef/common/clusters/oven-mode/chef-oven-mode.cpp new file mode 100644 index 0000000000..6e113a9259 --- /dev/null +++ b/examples/chef/common/clusters/oven-mode/chef-oven-mode.cpp @@ -0,0 +1,135 @@ +/* + * + * Copyright (c) 2025 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include "chef-oven-mode.h" +#include +#include +#include +#include +#include + +#ifdef MATTER_DM_PLUGIN_OVEN_MODE_SERVER + +using namespace chip; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::ModeBase; +using chip::Protocols::InteractionModel::Status; +template +using List = chip::app::DataModel::List; +using ModeTagStructType = chip::app::Clusters::detail::Structs::ModeTagStruct::Type; + +namespace ChefOvenMode { + +constexpr size_t kOvenModeTableSize = MATTER_DM_OVEN_MODE_CLUSTER_SERVER_ENDPOINT_COUNT; +static_assert(kOvenModeTableSize <= kEmberInvalidEndpointIndex, "OvenMode table size error"); + +std::unique_ptr gDelegateTable[kOvenModeTableSize]; +std::unique_ptr gInstanceTable[kOvenModeTableSize]; + +/** + * Initializes OvenMode cluster for the app (all endpoints). + */ +void InitChefOvenModeCluster() +{ + const uint16_t endpointCount = emberAfEndpointCount(); + + for (uint16_t endpointIndex = 0; endpointIndex < endpointCount; endpointIndex++) + { + EndpointId endpointId = emberAfEndpointFromIndex(endpointIndex); + if (endpointId == kInvalidEndpointId) + { + continue; + } + + // Check if endpoint has OvenMode cluster enabled + uint16_t epIndex = + emberAfGetClusterServerEndpointIndex(endpointId, OvenMode::Id, MATTER_DM_OVEN_MODE_CLUSTER_SERVER_ENDPOINT_COUNT); + if (epIndex >= kOvenModeTableSize) + continue; + + gDelegateTable[epIndex] = std::make_unique(); + gDelegateTable[epIndex]->Init(); + + uint32_t featureMap = 0; + VerifyOrDieWithMsg(OvenMode::Attributes::FeatureMap::Get(endpointId, &featureMap) == Status::Success, DeviceLayer, + "Failed to read OvenMode feature map for endpoint %d", endpointId); + gInstanceTable[epIndex] = + std::make_unique(gDelegateTable[epIndex].get(), endpointId, OvenMode::Id, featureMap); + gInstanceTable[epIndex]->Init(); + + ChipLogProgress(DeviceLayer, "Endpoint %d OvenMode Initialized.", endpointId); + } +} +} // namespace ChefOvenMode + +CHIP_ERROR OvenMode::ChefDelegate::Init() +{ + return CHIP_NO_ERROR; +} + +void OvenMode::ChefDelegate::HandleChangeToMode(uint8_t NewMode, ModeBase::Commands::ChangeToModeResponse::Type & response) +{ + EndpointId endpointId = mInstance->GetEndpointId(); + ChipLogDetail(DeviceLayer, "HandleChangeToMode: Endpoint %d", endpointId); + response.status = to_underlying(ModeBase::StatusCode::kSuccess); +} + +CHIP_ERROR OvenMode::ChefDelegate::GetModeLabelByIndex(uint8_t modeIndex, chip::MutableCharSpan & label) +{ + EndpointId endpointId = mInstance->GetEndpointId(); + ChipLogDetail(DeviceLayer, "GetModeLabelByIndex: Endpoint %d", endpointId); + if (modeIndex >= MATTER_ARRAY_SIZE(kModeOptions)) + { + return CHIP_ERROR_PROVIDER_LIST_EXHAUSTED; + } + return chip::CopyCharSpanToMutableCharSpan(kModeOptions[modeIndex].label, label); +} + +CHIP_ERROR OvenMode::ChefDelegate::GetModeValueByIndex(uint8_t modeIndex, uint8_t & value) +{ + EndpointId endpointId = mInstance->GetEndpointId(); + ChipLogDetail(DeviceLayer, "GetModeValueByIndex: Endpoint %d", endpointId); + if (modeIndex >= MATTER_ARRAY_SIZE(kModeOptions)) + { + return CHIP_ERROR_PROVIDER_LIST_EXHAUSTED; + } + value = kModeOptions[modeIndex].mode; + return CHIP_NO_ERROR; +} + +CHIP_ERROR OvenMode::ChefDelegate::GetModeTagsByIndex(uint8_t modeIndex, List & tags) +{ + EndpointId endpointId = mInstance->GetEndpointId(); + ChipLogDetail(DeviceLayer, "GetModeTagsByIndex: Endpoint %d", endpointId); + if (modeIndex >= MATTER_ARRAY_SIZE(kModeOptions)) + { + return CHIP_ERROR_PROVIDER_LIST_EXHAUSTED; + } + + if (tags.size() < kModeOptions[modeIndex].modeTags.size()) + { + return CHIP_ERROR_INVALID_ARGUMENT; + } + + std::copy(kModeOptions[modeIndex].modeTags.begin(), kModeOptions[modeIndex].modeTags.end(), tags.begin()); + tags.reduce_size(kModeOptions[modeIndex].modeTags.size()); + + return CHIP_NO_ERROR; +} + +#endif // MATTER_DM_PLUGIN_OVEN_MODE_SERVER diff --git a/examples/chef/common/clusters/oven-mode/chef-oven-mode.h b/examples/chef/common/clusters/oven-mode/chef-oven-mode.h new file mode 100644 index 0000000000..38486843f0 --- /dev/null +++ b/examples/chef/common/clusters/oven-mode/chef-oven-mode.h @@ -0,0 +1,111 @@ +/* + * + * Copyright (c) 2025 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include +#include +#include +#include + +#pragma once + +#ifdef MATTER_DM_PLUGIN_OVEN_MODE_SERVER + +namespace chip { +namespace app { +namespace Clusters { +namespace OvenMode { + +const uint8_t ModeBake = 0; +const uint8_t ModeConvection = 1; +const uint8_t ModeGrill = 2; +const uint8_t ModeRoast = 3; +const uint8_t ModeClean = 4; +const uint8_t ModeConvectionBake = 5; +const uint8_t ModeConvectionRoast = 6; +const uint8_t ModeWarming = 7; +const uint8_t ModeProofing = 8; + +class ChefDelegate : public ModeBase::Delegate +{ +private: + using ModeTagStructType = detail::Structs::ModeTagStruct::Type; + ModeTagStructType ModeTagsBake[1] = { { .value = to_underlying(ModeTag::kBake) } }; + ModeTagStructType ModeTagsConvection[1] = { { .value = to_underlying(ModeTag::kConvection) } }; + ModeTagStructType ModeTagsGrill[1] = { { .value = to_underlying(ModeTag::kGrill) } }; + ModeTagStructType ModeTagsRoast[1] = { { .value = to_underlying(ModeTag::kRoast) } }; + ModeTagStructType ModeTagsClean[1] = { { .value = to_underlying(ModeTag::kClean) } }; + ModeTagStructType ModeTagsConvectionBake[1] = { { .value = to_underlying(ModeTag::kConvectionBake) } }; + ModeTagStructType ModeTagsConvectionRoast[1] = { { .value = to_underlying(ModeTag::kConvectionRoast) } }; + ModeTagStructType ModeTagsWarming[1] = { { .value = to_underlying(ModeTag::kWarming) } }; + ModeTagStructType ModeTagsProofing[1] = { { .value = to_underlying(ModeTag::kProofing) } }; + + const detail::Structs::ModeOptionStruct::Type kModeOptions[9] = { + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Bake"), + .mode = ModeBake, + .modeTags = DataModel::List(ModeTagsBake) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Convection"), + .mode = ModeConvection, + .modeTags = DataModel::List(ModeTagsConvection) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Grill"), + .mode = ModeGrill, + .modeTags = DataModel::List(ModeTagsGrill) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Roast"), + .mode = ModeRoast, + .modeTags = DataModel::List(ModeTagsRoast) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Clean"), + .mode = ModeClean, + .modeTags = DataModel::List(ModeTagsClean) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Convection Bake"), + .mode = ModeConvectionBake, + .modeTags = DataModel::List(ModeTagsConvectionBake) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Convection Roast"), + .mode = ModeConvectionRoast, + .modeTags = DataModel::List(ModeTagsConvectionRoast) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Warming"), + .mode = ModeWarming, + .modeTags = DataModel::List(ModeTagsWarming) }, + detail::Structs::ModeOptionStruct::Type{ .label = CharSpan::fromCharString("Proofing"), + .mode = ModeProofing, + .modeTags = DataModel::List(ModeTagsProofing) }, + }; + +public: + CHIP_ERROR Init() override; + + CHIP_ERROR GetModeLabelByIndex(uint8_t modeIndex, MutableCharSpan & label) override; + + CHIP_ERROR GetModeValueByIndex(uint8_t modeIndex, uint8_t & value) override; + + CHIP_ERROR GetModeTagsByIndex(uint8_t modeIndex, DataModel::List & modeTags) override; + + void HandleChangeToMode(uint8_t NewMode, ModeBase::Commands::ChangeToModeResponse::Type & response) override; + + ~ChefDelegate() = default; + ChefDelegate() = default; +}; + +} // namespace OvenMode +} // namespace Clusters +} // namespace app +} // namespace chip + +namespace ChefOvenMode { +void InitChefOvenModeCluster(); +} // namespace ChefOvenMode + +#endif // MATTER_DM_PLUGIN_OVEN_MODE_SERVER diff --git a/examples/chef/common/stubs.cpp b/examples/chef/common/stubs.cpp index 663881ba65..bacad11351 100644 --- a/examples/chef/common/stubs.cpp +++ b/examples/chef/common/stubs.cpp @@ -85,6 +85,10 @@ const Clusters::Descriptor::Structs::SemanticTagStruct::Type freezerTagList[] #include "window-covering/chef-window-covering.h" #endif // MATTER_DM_PLUGIN_WINDOW_COVERING_SERVER +#ifdef MATTER_DM_PLUGIN_OVEN_MODE_SERVER +#include "oven-mode/chef-oven-mode.h" +#endif // MATTER_DM_PLUGIN_OVEN_MODE_SERVER + Protocols::InteractionModel::Status emberAfExternalAttributeReadCallback(EndpointId endpoint, ClusterId clusterId, const EmberAfAttributeMetadata * attributeMetadata, uint8_t * buffer, uint16_t maxReadLength) @@ -364,6 +368,11 @@ void ApplicationInit() ChipLogProgress(NotSpecified, "Initializing WindowCovering cluster delegate."); ChefWindowCovering::InitChefWindowCoveringCluster(); #endif // MATTER_DM_PLUGIN_WINDOW_COVERING_SERVER + +#ifdef MATTER_DM_PLUGIN_OVEN_MODE_SERVER + ChipLogProgress(NotSpecified, "Initializing OvenMode cluster."); + ChefOvenMode::InitChefOvenModeCluster(); +#endif // MATTER_DM_PLUGIN_OVEN_MODE_SERVER } void ApplicationShutdown() diff --git a/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter b/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter index a8cb610fb3..9cc62e51ce 100644 --- a/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter +++ b/examples/chef/devices/icd_rootnode_contactsensor_ed3b19ec55.matter @@ -1434,7 +1434,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1460,14 +1460,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1489,7 +1489,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1508,7 +1508,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1520,8 +1520,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1539,21 +1539,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1567,7 +1567,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1576,9 +1576,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 391c73a2c9..f494aab1cb 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -1639,7 +1639,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1665,14 +1665,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1694,7 +1694,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1713,7 +1713,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1725,8 +1725,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1744,21 +1744,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1772,7 +1772,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1781,9 +1781,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter index e2d379f86c..b40160ccf2 100644 --- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter +++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter @@ -1311,7 +1311,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1337,14 +1337,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1366,7 +1366,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1385,7 +1385,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1397,8 +1397,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1416,21 +1416,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1444,7 +1444,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1453,9 +1453,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter index 1bfafe92db..416d45abb4 100644 --- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter +++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter @@ -1125,7 +1125,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1151,14 +1151,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1180,7 +1180,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1199,7 +1199,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1211,8 +1211,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1230,21 +1230,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1258,7 +1258,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1267,9 +1267,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter index 1f8af33938..cd6081d9b1 100644 --- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter +++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter @@ -1498,7 +1498,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1524,14 +1524,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1553,7 +1553,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1572,7 +1572,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1584,8 +1584,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1603,21 +1603,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1631,7 +1631,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1640,9 +1640,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter index a24ad5b84b..b0cfc02b09 100644 --- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter +++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter @@ -1436,7 +1436,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1462,14 +1462,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1491,7 +1491,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1510,7 +1510,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1522,8 +1522,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1541,21 +1541,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1569,7 +1569,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1578,9 +1578,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter index 4bb8b5d8e2..9c08c3a337 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter @@ -1513,7 +1513,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1539,14 +1539,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1568,7 +1568,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1587,7 +1587,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1599,8 +1599,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1618,21 +1618,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1646,7 +1646,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1655,9 +1655,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2142,7 +2142,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap index e47824f768..aa83333b3b 100644 --- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap +++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter index 284f754353..0c82c345c4 100644 --- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter +++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter @@ -1498,7 +1498,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1524,14 +1524,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1553,7 +1553,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1572,7 +1572,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1584,8 +1584,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1603,21 +1603,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1631,7 +1631,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1640,9 +1640,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index 66a3dd57e8..35cf35dfa8 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -1596,7 +1596,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1622,14 +1622,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1651,7 +1651,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1670,7 +1670,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1682,8 +1682,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1701,21 +1701,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1729,7 +1729,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1738,9 +1738,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter b/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter index 5e76dbf65a..6613c88d05 100644 --- a/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter +++ b/examples/chef/devices/rootnode_contactsensor_lightsensor_occupancysensor_temperaturesensor_pressuresensor_flowsensor_humiditysensor_airqualitysensor_powersource_367e7cea91.matter @@ -1382,7 +1382,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1408,14 +1408,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1437,7 +1437,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1456,7 +1456,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1468,8 +1468,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1487,21 +1487,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1515,7 +1515,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1524,9 +1524,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index c4901e847b..81ab6e77bf 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter index 70584d38a2..7da02c9c24 100644 --- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter +++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter index aa95dae318..5947d8c1c9 100644 --- a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter +++ b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter @@ -1193,7 +1193,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1219,14 +1219,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1248,7 +1248,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1267,7 +1267,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1279,8 +1279,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1298,21 +1298,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1326,7 +1326,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1335,9 +1335,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index 22d1f06468..018c9bcbc4 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -1498,7 +1498,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1524,14 +1524,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1553,7 +1553,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1572,7 +1572,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1584,8 +1584,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1603,21 +1603,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1631,7 +1631,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1640,9 +1640,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2470,7 +2470,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap index 3fdf688873..b31cb17324 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index 4827155462..6610bee502 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2182,7 +2182,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap index f1bfab36f7..c6be050852 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index a88c720c33..78c9595be3 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -1388,7 +1388,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1414,14 +1414,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1443,7 +1443,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1462,7 +1462,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1474,8 +1474,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1493,21 +1493,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1521,7 +1521,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1530,9 +1530,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index f71eb35924..fee069ecfa 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter index 23a0f88e79..5c7a003a02 100644 --- a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter +++ b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter @@ -1363,7 +1363,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1389,14 +1389,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1418,7 +1418,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1437,7 +1437,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1449,8 +1449,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1468,21 +1468,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1496,7 +1496,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1505,9 +1505,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter index ab47b3925c..c6b3353f40 100644 --- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter +++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter @@ -1363,7 +1363,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1389,14 +1389,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1418,7 +1418,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1437,7 +1437,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1449,8 +1449,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1468,21 +1468,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1496,7 +1496,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1505,9 +1505,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 0cb9128f26..cdcd56af4b 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter b/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter index 0ca0e7a375..1ec32ed1ce 100644 --- a/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter +++ b/examples/chef/devices/rootnode_heatpump_87ivjRAECh.matter @@ -1324,7 +1324,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1350,14 +1350,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1379,7 +1379,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1398,7 +1398,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1410,8 +1410,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1429,21 +1429,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1457,7 +1457,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1466,9 +1466,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index f689613e7d..9fb887b007 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter b/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter index 10d19da2a7..fe12a737f2 100644 --- a/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter +++ b/examples/chef/devices/rootnode_laundrydryer_01796fe396.matter @@ -1193,7 +1193,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1219,14 +1219,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1248,7 +1248,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1267,7 +1267,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1279,8 +1279,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1298,21 +1298,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1326,7 +1326,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1335,9 +1335,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter index 10af26d38c..969ec35116 100644 --- a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter +++ b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter @@ -1126,7 +1126,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1152,14 +1152,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1181,7 +1181,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1200,7 +1200,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1212,8 +1212,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1231,21 +1231,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1259,7 +1259,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1268,9 +1268,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index cf7fa80e57..86de372285 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1679,7 +1679,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.zap b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.zap index 730d061e2c..6cb331fd80 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.zap +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 9e48af26b4..1ce3d410c8 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 5ea09c93ae..1edf9ce2aa 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1854,7 +1854,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap index 7d494cb702..455a5d0f74 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter index fd59d60f4d..9c0e558fc7 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.matter +++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter @@ -1534,7 +1534,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1560,14 +1560,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1589,7 +1589,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1608,7 +1608,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1620,8 +1620,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1639,21 +1639,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1667,7 +1667,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1676,9 +1676,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1886,7 +1886,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 0x0001; handle command ArmFailSafe; diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.zap b/examples/chef/devices/rootnode_onofflight_samplemei.zap index 95cb467975..d1dc959dde 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.zap +++ b/examples/chef/devices/rootnode_onofflight_samplemei.zap @@ -1061,7 +1061,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index eb220b3e15..8ba9da0798 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -1409,7 +1409,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1435,14 +1435,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1464,7 +1464,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1483,7 +1483,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1495,8 +1495,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1514,21 +1514,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1542,7 +1542,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1551,9 +1551,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index 25369fa9a1..e2c956880b 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -1409,7 +1409,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1435,14 +1435,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1464,7 +1464,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1483,7 +1483,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1495,8 +1495,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1514,21 +1514,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1542,7 +1542,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1551,9 +1551,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index b6f88098b7..80c15bcb14 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter index 7645c6604b..b6efb2e4c5 100644 --- a/examples/chef/devices/rootnode_pump_5f904818cc.matter +++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter @@ -1099,7 +1099,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1125,14 +1125,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1154,7 +1154,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1173,7 +1173,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1185,8 +1185,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1204,21 +1204,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1232,7 +1232,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1241,9 +1241,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.matter b/examples/chef/devices/rootnode_pump_a811bb33a0.matter index dafa2e8aad..52dabb7fa9 100644 --- a/examples/chef/devices/rootnode_pump_a811bb33a0.matter +++ b/examples/chef/devices/rootnode_pump_a811bb33a0.matter @@ -1099,7 +1099,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1125,14 +1125,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1154,7 +1154,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1173,7 +1173,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1185,8 +1185,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1204,21 +1204,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1232,7 +1232,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1241,9 +1241,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter b/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter index 45c00b132a..d11a263fdb 100644 --- a/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter +++ b/examples/chef/devices/rootnode_rainsensor_a7aa5d7738.matter @@ -1307,7 +1307,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1333,14 +1333,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1362,7 +1362,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1381,7 +1381,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1393,8 +1393,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1412,21 +1412,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1440,7 +1440,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1449,9 +1449,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter index bc8c7678c8..746dc40ae1 100644 --- a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter +++ b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter @@ -1054,7 +1054,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1080,14 +1080,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1109,7 +1109,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1128,7 +1128,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1140,8 +1140,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1159,21 +1159,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1187,7 +1187,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1196,9 +1196,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter index ac9bc592c3..d9221438a1 100644 --- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter +++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter @@ -1384,7 +1384,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1410,14 +1410,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1439,7 +1439,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1458,7 +1458,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1470,8 +1470,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1489,21 +1489,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1517,7 +1517,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1526,9 +1526,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2097,6 +2097,7 @@ endpoint 1 { handle command Pause; handle command Resume; handle command OperationalCommandResponse; + handle command GoHome; } } diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap index 243d63af39..c403b8424c 100644 --- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap +++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap @@ -2956,6 +2956,14 @@ "source": "server", "isIncoming": 0, "isEnabled": 1 + }, + { + "name": "GoHome", + "code": 128, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter index 2b8814a76f..fe4e45510a 100644 --- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter +++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter @@ -1197,7 +1197,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1223,14 +1223,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1252,7 +1252,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1271,7 +1271,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1283,8 +1283,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1302,21 +1302,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1330,7 +1330,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1339,9 +1339,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter index 5255bc8de4..df0a5d900d 100644 --- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter +++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter @@ -1384,7 +1384,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1410,14 +1410,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1439,7 +1439,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1458,7 +1458,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1470,8 +1470,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1489,21 +1489,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1517,7 +1517,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1526,9 +1526,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index 8c8a6dc2d0..22b392a5fe 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -1457,7 +1457,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1483,14 +1483,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1512,7 +1512,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1531,7 +1531,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1543,8 +1543,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1562,21 +1562,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1590,7 +1590,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1599,9 +1599,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index fd0c641e2c..0b481ef454 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 22d28729d6..e2539aea39 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -1398,7 +1398,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1424,14 +1424,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1453,7 +1453,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1472,7 +1472,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1484,8 +1484,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1503,21 +1503,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1531,7 +1531,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1540,9 +1540,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter b/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter index b10c3021db..aae12a47dd 100644 --- a/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter +++ b/examples/chef/devices/rootnode_waterfreezedetector_dd94a13a16.matter @@ -1307,7 +1307,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1333,14 +1333,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1362,7 +1362,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1381,7 +1381,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1393,8 +1393,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1412,21 +1412,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1440,7 +1440,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1449,9 +1449,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter index 2a05a812ac..f148c437d7 100644 --- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter +++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter @@ -1384,7 +1384,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1410,14 +1410,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1439,7 +1439,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1458,7 +1458,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1470,8 +1470,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1489,21 +1489,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1517,7 +1517,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1526,9 +1526,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter index a25e889db8..d733db9044 100644 --- a/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter +++ b/examples/chef/devices/rootnode_watervalve_6bb39f1f67.matter @@ -1324,7 +1324,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1350,14 +1350,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1379,7 +1379,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1398,7 +1398,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1410,8 +1410,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1429,21 +1429,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1457,7 +1457,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1466,9 +1466,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index d6d2bf8ef1..ff8e6ad312 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -1337,7 +1337,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1363,14 +1363,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1392,7 +1392,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1411,7 +1411,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1423,8 +1423,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1442,21 +1442,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1470,7 +1470,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1479,9 +1479,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/chef/esp32/main/CMakeLists.txt b/examples/chef/esp32/main/CMakeLists.txt index 3a439b7c60..97044addae 100644 --- a/examples/chef/esp32/main/CMakeLists.txt +++ b/examples/chef/esp32/main/CMakeLists.txt @@ -48,6 +48,7 @@ set(SRC_DIRS_LIST "${CHEF}/common/clusters/low-power/" "${CHEF}/common/clusters/media-input/" "${CHEF}/common/clusters/media-playback/" + "${CHEF}/common/clusters/oven-mode/" "${CHEF}/common/clusters/refrigerator-and-temperature-controlled-cabinet-mode/" "${CHEF}/common/clusters/resource-monitoring/" "${CHEF}/common/clusters/switch/" diff --git a/examples/chef/linux/BUILD.gn b/examples/chef/linux/BUILD.gn index 3dc0934dea..d70a042316 100644 --- a/examples/chef/linux/BUILD.gn +++ b/examples/chef/linux/BUILD.gn @@ -60,6 +60,7 @@ executable("${sample_name}") { "${project_dir}/common/clusters/low-power/LowPowerManager.cpp", "${project_dir}/common/clusters/media-input/MediaInputManager.cpp", "${project_dir}/common/clusters/media-playback/MediaPlaybackManager.cpp", + "${project_dir}/common/clusters/oven-mode/chef-oven-mode.cpp", "${project_dir}/common/clusters/refrigerator-and-temperature-controlled-cabinet-mode/tcc-mode.cpp", "${project_dir}/common/clusters/resource-monitoring/chef-resource-monitoring-delegates.cpp", "${project_dir}/common/clusters/switch/SwitchEventHandler.cpp", diff --git a/examples/chef/nrfconnect/CMakeLists.txt b/examples/chef/nrfconnect/CMakeLists.txt index 20fcc2cdf4..e1c286f937 100644 --- a/examples/chef/nrfconnect/CMakeLists.txt +++ b/examples/chef/nrfconnect/CMakeLists.txt @@ -97,6 +97,7 @@ target_sources(app PRIVATE ${CHEF}/common/clusters/low-power/LowPowerManager.cpp ${CHEF}/common/clusters/media-input/MediaInputManager.cpp ${CHEF}/common/clusters/media-playback/MediaPlaybackManager.cpp + ${CHEF}/common/clusters/oven-mode/chef-oven-mode.cpp ${CHEF}/common/clusters/refrigerator-and-temperature-controlled-cabinet-mode/tcc-mode.cpp ${CHEF}/common/clusters/resource-monitoring/chef-resource-monitoring-delegates.cpp ${CHEF}/common/clusters/switch/SwitchEventHandler.cpp diff --git a/examples/closure-app/closure-common/closure-app.matter b/examples/closure-app/closure-common/closure-app.matter index a8726098cf..f844dd919d 100644 --- a/examples/closure-app/closure-common/closure-app.matter +++ b/examples/closure-app/closure-common/closure-app.matter @@ -1856,7 +1856,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1882,14 +1882,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1911,7 +1911,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1930,7 +1930,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1942,8 +1942,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1961,21 +1961,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1989,7 +1989,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1998,9 +1998,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter index f48224fa58..4e310b139d 100644 --- a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter +++ b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.matter @@ -1499,7 +1499,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1525,14 +1525,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1554,7 +1554,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1573,7 +1573,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1585,8 +1585,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1604,21 +1604,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1632,7 +1632,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1641,9 +1641,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -2043,7 +2043,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; handle command ArmFailSafe; diff --git a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.zap b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.zap index f7e49f345b..3b1027f3e3 100644 --- a/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.zap +++ b/examples/contact-sensor-app/bouffalolab/data_model/contact-sensor-app.zap @@ -1323,7 +1323,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter index 3762d9898f..10e236aa06 100644 --- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter +++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter @@ -1601,7 +1601,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1627,14 +1627,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1656,7 +1656,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1675,7 +1675,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1687,8 +1687,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1706,21 +1706,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1734,7 +1734,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1743,9 +1743,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1973,7 +1973,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 6; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; handle command ArmFailSafe; diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap index cf62a82b14..2d0f02e8eb 100644 --- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap +++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.zap @@ -1201,7 +1201,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "6", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/contact-sensor-app/nxp/mcxw71/README.md b/examples/contact-sensor-app/nxp/mcxw71/README.md index d5b1927722..75b7938a42 100644 --- a/examples/contact-sensor-app/nxp/mcxw71/README.md +++ b/examples/contact-sensor-app/nxp/mcxw71/README.md @@ -41,13 +41,14 @@ operation by corrupting packages and OTA will not work. The user actions are summarized below: -| button | action | state | output | -| ------ | ----------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| SW2 | short press | not commissioned | Enable BLE advertising | -| SW2 | short press | commissioned + device is LIT | Enable Active Mode | -| SW2 | long press | NA | Initiate a factory reset (can be cancelled by pressing the button again within the factory reset timeout limit - 6 seconds by default) | -| SW3 | short press | NA | Toggle attribute `StateValue` value | -| SW3 | long press | NA | Clean soft reset of the device (takes into account proper Matter shutdown procedure) | +| button | action | state | output | +| ------ | ------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| SW2 | short press | not commissioned | Enable BLE advertising | +| SW2 | short press | commissioned + device is LIT | Enable Active Mode | +| SW2 | long press | NA | Initiate a factory reset (can be cancelled by pressing the button again within the factory reset timeout limit - 6 seconds by default) | +| SW2 | double press | commissioned + device is LIT + supports DSLS | Enable / Disable SIT Mode | +| SW3 | short press | NA | Toggle attribute `StateValue` value | +| SW3 | long press | NA | Clean soft reset of the device (takes into account proper Matter shutdown procedure) | ## Building diff --git a/examples/contact-sensor-app/nxp/mcxw71/args.gni b/examples/contact-sensor-app/nxp/mcxw71/args.gni index 629f209c90..fcffe044d3 100644 --- a/examples/contact-sensor-app/nxp/mcxw71/args.gni +++ b/examples/contact-sensor-app/nxp/mcxw71/args.gni @@ -31,6 +31,7 @@ chip_with_lwip = false chip_enable_icd_server = true chip_enable_icd_lit = false +chip_enable_icd_dsls = false chip_persist_subscriptions = true chip_subscription_timeout_resumption = true diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter index 6bfb6ea59b..c199b2a69c 100644 --- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter @@ -1405,7 +1405,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1431,14 +1431,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1460,7 +1460,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1479,7 +1479,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1491,8 +1491,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1510,21 +1510,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1538,7 +1538,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1547,9 +1547,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter index efc59d7c9a..4f3fa5c92a 100644 --- a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter +++ b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter @@ -1405,7 +1405,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1431,14 +1431,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1460,7 +1460,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1479,7 +1479,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1491,8 +1491,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1510,21 +1510,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1538,7 +1538,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1547,9 +1547,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter index 2b8e28d51c..e596f79539 100644 --- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter +++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter @@ -1202,7 +1202,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1228,14 +1228,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1257,7 +1257,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1276,7 +1276,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1288,8 +1288,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1307,21 +1307,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1335,7 +1335,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1344,9 +1344,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter b/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter index 7f3f76b3d3..388d0772d2 100644 --- a/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter +++ b/examples/dishwasher-app/silabs/data_model/dishwasher-thread-app.matter @@ -1513,7 +1513,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1539,14 +1539,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1568,7 +1568,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1587,7 +1587,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1599,8 +1599,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1618,21 +1618,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1646,7 +1646,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1655,9 +1655,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter b/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter index 3c3e11a8cd..772937727a 100644 --- a/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter +++ b/examples/dishwasher-app/silabs/data_model/dishwasher-wifi-app.matter @@ -1424,7 +1424,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1450,14 +1450,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1479,7 +1479,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1498,7 +1498,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1510,8 +1510,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1529,21 +1529,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1557,7 +1557,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1566,9 +1566,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/energy-management-app/energy-management-common/energy-management-app.matter b/examples/energy-management-app/energy-management-common/energy-management-app.matter index 0576b6cfa6..cca45eb0b3 100644 --- a/examples/energy-management-app/energy-management-common/energy-management-app.matter +++ b/examples/energy-management-app/energy-management-common/energy-management-app.matter @@ -1501,7 +1501,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1527,14 +1527,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1556,7 +1556,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1575,7 +1575,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1587,8 +1587,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1606,21 +1606,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1634,7 +1634,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1643,9 +1643,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter index 70fa0d59a6..2f4a999ac8 100644 --- a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter +++ b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter @@ -1495,7 +1495,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1521,14 +1521,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1550,7 +1550,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1569,7 +1569,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1581,8 +1581,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1600,21 +1600,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1628,7 +1628,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1637,9 +1637,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/fabric-sync/bridge/fabric-bridge.matter b/examples/fabric-sync/bridge/fabric-bridge.matter index 70fa0d59a6..2f4a999ac8 100644 --- a/examples/fabric-sync/bridge/fabric-bridge.matter +++ b/examples/fabric-sync/bridge/fabric-bridge.matter @@ -1495,7 +1495,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1521,14 +1521,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1550,7 +1550,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1569,7 +1569,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1581,8 +1581,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1600,21 +1600,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1628,7 +1628,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1637,9 +1637,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/fan-control-app/silabs/data_model/fan-control-thread-app.matter b/examples/fan-control-app/silabs/data_model/fan-control-thread-app.matter index c1b7714b9a..855feb083e 100644 --- a/examples/fan-control-app/silabs/data_model/fan-control-thread-app.matter +++ b/examples/fan-control-app/silabs/data_model/fan-control-thread-app.matter @@ -1496,7 +1496,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1522,14 +1522,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1551,7 +1551,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1570,7 +1570,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1582,8 +1582,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1601,21 +1601,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1629,7 +1629,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1638,9 +1638,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/fan-control-app/silabs/data_model/fan-control-thread-app.zap b/examples/fan-control-app/silabs/data_model/fan-control-thread-app.zap index 2caa3af29c..0da7ff5e44 100644 --- a/examples/fan-control-app/silabs/data_model/fan-control-thread-app.zap +++ b/examples/fan-control-app/silabs/data_model/fan-control-thread-app.zap @@ -1827,7 +1827,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1843,7 +1843,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1859,7 +1859,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1875,7 +1875,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1891,7 +1891,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1907,7 +1907,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1923,7 +1923,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1939,7 +1939,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1955,7 +1955,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1971,7 +1971,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1987,7 +1987,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2003,7 +2003,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2019,7 +2019,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2035,7 +2035,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2051,7 +2051,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2067,7 +2067,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2083,7 +2083,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2099,7 +2099,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2115,7 +2115,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2131,7 +2131,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.matter b/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.matter index b0b921ab26..387bd626d0 100644 --- a/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.matter +++ b/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.matter @@ -1407,7 +1407,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1433,14 +1433,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1462,7 +1462,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1481,7 +1481,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1493,8 +1493,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1512,21 +1512,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1540,7 +1540,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1549,9 +1549,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.zap b/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.zap index 31f174ad87..51e7dc0ce6 100644 --- a/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.zap +++ b/examples/fan-control-app/silabs/data_model/fan-control-wifi-app.zap @@ -1,6 +1,6 @@ { "fileFormat": 2, - "featureLevel": 103, + "featureLevel": 106, "creator": "zap", "keyValuePairs": [ { @@ -41,14 +41,16 @@ "code": 22, "profileId": 259, "label": "MA-rootdevice", - "name": "MA-rootdevice" + "name": "MA-rootdevice", + "deviceTypeOrder": 0 }, "deviceTypes": [ { "code": 22, "profileId": 259, "label": "MA-rootdevice", - "name": "MA-rootdevice" + "name": "MA-rootdevice", + "deviceTypeOrder": 0 } ], "deviceVersions": [ @@ -747,24 +749,6 @@ "isIncoming": 0, "isEnabled": 1 } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } ] }, { @@ -1826,7 +1810,7 @@ ] }, { - "name": "WiFi Network Diagnostics", + "name": "Wi-Fi Network Diagnostics", "code": 54, "mfgCode": null, "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", @@ -2710,14 +2694,16 @@ "code": 43, "profileId": 259, "label": "MA-fan", - "name": "MA-fan" + "name": "MA-fan", + "deviceTypeOrder": 0 }, "deviceTypes": [ { "code": 43, "profileId": 259, "label": "MA-fan", - "name": "MA-fan" + "name": "MA-fan", + "deviceTypeOrder": 0 } ], "deviceVersions": [ @@ -2767,7 +2753,7 @@ "singleton": 0, "bounded": 0, "defaultValue": "0x0000", - "reportable": 0, + "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 @@ -2783,7 +2769,7 @@ "singleton": 0, "bounded": 0, "defaultValue": "0x0", - "reportable": 0, + "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 @@ -2820,22 +2806,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -2987,7 +2957,7 @@ "singleton": 0, "bounded": 0, "defaultValue": "", - "reportable": 0, + "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 @@ -3024,22 +2994,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3125,7 +3079,7 @@ "singleton": 0, "bounded": 0, "defaultValue": null, - "reportable": 0, + "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 @@ -3141,7 +3095,7 @@ "singleton": 0, "bounded": 0, "defaultValue": null, - "reportable": 0, + "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 @@ -3157,7 +3111,7 @@ "singleton": 0, "bounded": 0, "defaultValue": null, - "reportable": 0, + "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 @@ -3194,22 +3148,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3502,22 +3440,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, diff --git a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter index 714f60e1ab..f77712524d 100644 --- a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter +++ b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter @@ -1529,7 +1529,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1555,14 +1555,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1584,7 +1584,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1603,7 +1603,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1615,8 +1615,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1634,21 +1634,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1662,7 +1662,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1671,9 +1671,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter b/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter index f02a2f22de..1bd3367937 100644 --- a/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/icd-lit-light-switch-app.matter @@ -1948,7 +1948,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1974,14 +1974,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2003,7 +2003,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2022,7 +2022,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2034,8 +2034,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2053,21 +2053,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2081,7 +2081,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2090,9 +2090,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index f34dda3d81..704948b93d 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -2073,7 +2073,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2099,14 +2099,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2128,7 +2128,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2147,7 +2147,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2159,8 +2159,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2178,21 +2178,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2206,7 +2206,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2215,9 +2215,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter index d8e09c0431..654db94327 100644 --- a/examples/light-switch-app/qpg/zap/switch.matter +++ b/examples/light-switch-app/qpg/zap/switch.matter @@ -2065,7 +2065,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2091,14 +2091,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2120,7 +2120,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2139,7 +2139,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2151,8 +2151,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2170,21 +2170,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2198,7 +2198,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2207,9 +2207,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_11.matter b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_11.matter index d40f291845..15bc4c2340 100644 --- a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_11.matter +++ b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_11.matter @@ -1813,7 +1813,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1839,14 +1839,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1868,7 +1868,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1887,7 +1887,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1899,8 +1899,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1918,21 +1918,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1946,7 +1946,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1955,9 +1955,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_2.matter b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_2.matter index 22059b3eb2..56d43e8920 100644 --- a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_2.matter +++ b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_2.matter @@ -1932,7 +1932,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1958,14 +1958,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1987,7 +1987,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2006,7 +2006,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2018,8 +2018,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2037,21 +2037,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2065,7 +2065,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2074,9 +2074,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_8.matter b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_8.matter index 08b55b1a04..7e4d123a2c 100644 --- a/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_8.matter +++ b/examples/light-switch-app/realtek_bee/data_model/light-switch-app-1_to_8.matter @@ -1932,7 +1932,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1958,14 +1958,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1987,7 +1987,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2006,7 +2006,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2018,8 +2018,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2037,21 +2037,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2065,7 +2065,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2074,9 +2074,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter index e954f097e0..5010c7432c 100644 --- a/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter +++ b/examples/lighting-app-data-mode-no-unique-id/lighting-common/lighting-app.matter @@ -1854,7 +1854,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1880,14 +1880,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1909,7 +1909,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1928,7 +1928,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1940,8 +1940,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1959,21 +1959,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1987,7 +1987,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1996,9 +1996,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter index d5a5df0e86..2423a90771 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter @@ -1555,7 +1555,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1581,14 +1581,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1610,7 +1610,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1629,7 +1629,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1641,8 +1641,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1660,21 +1660,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1688,7 +1688,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1697,9 +1697,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter index b89fcabf2b..59d12121d2 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter @@ -1679,7 +1679,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1705,14 +1705,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1734,7 +1734,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1753,7 +1753,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1765,8 +1765,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1784,21 +1784,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1812,7 +1812,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1821,9 +1821,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter index 05938f3075..f5793c6a5c 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter @@ -1590,7 +1590,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1616,14 +1616,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1645,7 +1645,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1664,7 +1664,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1676,8 +1676,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1695,21 +1695,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1723,7 +1723,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1732,9 +1732,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index 96f5043902..9249293d9b 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1815,7 +1815,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1841,14 +1841,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1870,7 +1870,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1889,7 +1889,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1901,8 +1901,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1920,21 +1920,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1948,7 +1948,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1957,9 +1957,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter index 74d342e4a4..0bd0d496ce 100644 --- a/examples/lighting-app/nxp/zap/lighting-on-off.matter +++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter @@ -1632,7 +1632,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1658,14 +1658,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1687,7 +1687,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1706,7 +1706,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1718,8 +1718,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1737,21 +1737,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1765,7 +1765,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1774,9 +1774,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter index 126b4c1ab4..f7be37ba4d 100644 --- a/examples/lighting-app/qpg/zap/light.matter +++ b/examples/lighting-app/qpg/zap/light.matter @@ -1679,7 +1679,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1705,14 +1705,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1734,7 +1734,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1753,7 +1753,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1765,8 +1765,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1784,21 +1784,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1812,7 +1812,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1821,9 +1821,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/realtek_bee/data_model/lighting-app.matter b/examples/lighting-app/realtek_bee/data_model/lighting-app.matter index 558204dc4a..27d508dd73 100644 --- a/examples/lighting-app/realtek_bee/data_model/lighting-app.matter +++ b/examples/lighting-app/realtek_bee/data_model/lighting-app.matter @@ -1915,7 +1915,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1941,14 +1941,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1970,7 +1970,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1989,7 +1989,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2001,8 +2001,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2020,21 +2020,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2048,7 +2048,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2057,9 +2057,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter index 7c31e9413d..e6ee9b4f0f 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter @@ -1595,7 +1595,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1621,14 +1621,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1650,7 +1650,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1669,7 +1669,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1681,8 +1681,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1700,21 +1700,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1728,7 +1728,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1737,9 +1737,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter index 314382bbd1..720f3cfcf6 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter @@ -1849,7 +1849,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1875,14 +1875,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1904,7 +1904,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1923,7 +1923,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1935,8 +1935,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1954,21 +1954,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1982,7 +1982,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1991,9 +1991,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter index 6801ff2bbc..e7c43c2da3 100644 --- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter +++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter @@ -1664,7 +1664,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1690,14 +1690,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1719,7 +1719,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1738,7 +1738,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1750,8 +1750,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1769,21 +1769,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1797,7 +1797,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1806,9 +1806,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index be36c3c5a4..06471540e3 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -1809,7 +1809,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1835,14 +1835,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1864,7 +1864,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1883,7 +1883,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1895,8 +1895,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1914,21 +1914,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1942,7 +1942,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1951,9 +1951,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter index 4a8d44e788..e45533b19f 100644 --- a/examples/lock-app/nxp/zap/lock-app.matter +++ b/examples/lock-app/nxp/zap/lock-app.matter @@ -1422,7 +1422,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1448,14 +1448,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1477,7 +1477,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1496,7 +1496,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1508,8 +1508,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1527,21 +1527,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1555,7 +1555,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1564,9 +1564,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter index 24c7fc6261..b93f1a5a88 100644 --- a/examples/lock-app/qpg/zap/lock.matter +++ b/examples/lock-app/qpg/zap/lock.matter @@ -1482,7 +1482,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1508,14 +1508,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1537,7 +1537,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1556,7 +1556,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1568,8 +1568,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1587,21 +1587,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1615,7 +1615,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1624,9 +1624,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/lock-app/silabs/data_model/lock-app.matter b/examples/lock-app/silabs/data_model/lock-app.matter index 6e0281d6f5..cb721470bd 100644 --- a/examples/lock-app/silabs/data_model/lock-app.matter +++ b/examples/lock-app/silabs/data_model/lock-app.matter @@ -1809,7 +1809,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1835,14 +1835,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1864,7 +1864,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1883,7 +1883,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1895,8 +1895,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1914,21 +1914,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1942,7 +1942,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1951,9 +1951,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index f94453a635..2cd60c143f 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -687,7 +687,7 @@ cluster DiagnosticLogs = 50 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -713,14 +713,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -742,7 +742,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -761,7 +761,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -773,8 +773,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -792,21 +792,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -820,7 +820,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -829,9 +829,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } endpoint 0 { diff --git a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter index fe26c9611a..2d8f6c490b 100644 --- a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter +++ b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter @@ -1122,7 +1122,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1148,14 +1148,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1177,7 +1177,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1196,7 +1196,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1208,8 +1208,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1227,21 +1227,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1255,7 +1255,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1264,9 +1264,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.matter b/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.matter index 098d00c1a3..bc381748b6 100644 --- a/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.matter +++ b/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.matter @@ -1419,7 +1419,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1445,14 +1445,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1474,7 +1474,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1493,7 +1493,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1505,8 +1505,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1524,21 +1524,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1552,7 +1552,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1561,9 +1561,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.zap b/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.zap index f294cc3ddb..f72af0609e 100644 --- a/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.zap +++ b/examples/multi-sensor-app/silabs/data_model/multi-sensor-thread-app.zap @@ -27,7 +27,7 @@ }, { "pathRelativity": "relativeToZap", - "path": "../../../src/app/zap-templates/app-templates.json", + "path": "../../../../src/app/zap-templates/app-templates.json", "type": "gen-templates-json", "category": "matter", "version": "chip-v1" @@ -289,22 +289,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -1249,22 +1233,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -1573,22 +1541,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3131,22 +3083,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3431,22 +3367,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3651,22 +3571,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4018,10 +3922,10 @@ "side": "server", "type": "OperatingModeEnum", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -4075,22 +3979,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4114,10 +4002,10 @@ "side": "server", "type": "bitmap32", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "7", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -4262,22 +4150,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4432,22 +4304,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4586,22 +4442,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4773,22 +4613,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4943,22 +4767,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -5113,22 +4921,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -5300,22 +5092,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -5470,22 +5246,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -5640,22 +5400,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, diff --git a/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.matter b/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.matter index 481e4ac8c8..78a8a8e8c5 100644 --- a/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.matter +++ b/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.matter @@ -1330,7 +1330,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1356,14 +1356,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1385,7 +1385,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1404,7 +1404,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1416,8 +1416,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1435,21 +1435,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1463,7 +1463,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1472,9 +1472,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.zap b/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.zap index 15e0c0bb8e..a5a7ef1caa 100644 --- a/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.zap +++ b/examples/multi-sensor-app/silabs/data_model/multi-sensor-wifi-app.zap @@ -1,6 +1,6 @@ { "fileFormat": 2, - "featureLevel": 104, + "featureLevel": 106, "creator": "zap", "keyValuePairs": [ { @@ -17,13 +17,6 @@ } ], "package": [ - { - "pathRelativity": "relativeToZap", - "path": "../../../../src/app/zap-templates/app-templates.json", - "type": "gen-templates-json", - "category": "matter", - "version": "chip-v1" - }, { "pathRelativity": "relativeToZap", "path": "../../../../src/app/zap-templates/zcl/zcl.json", @@ -31,6 +24,13 @@ "category": "matter", "version": 1, "description": "Matter SDK ZCL data" + }, + { + "pathRelativity": "relativeToZap", + "path": "../../../../src/app/zap-templates/app-templates.json", + "type": "gen-templates-json", + "category": "matter", + "version": "chip-v1" } ], "endpointTypes": [ @@ -81,7 +81,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -145,7 +145,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -161,23 +161,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -193,7 +177,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -209,7 +193,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -225,7 +209,7 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1255,22 +1239,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -2878,22 +2846,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3048,22 +3000,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3202,22 +3138,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3389,22 +3309,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3559,22 +3463,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3729,22 +3617,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -3916,22 +3788,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4086,22 +3942,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -4256,22 +4096,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, diff --git a/examples/network-manager-app/network-manager-common/network-manager-app.matter b/examples/network-manager-app/network-manager-common/network-manager-app.matter index 372b37842e..1d225fc22d 100644 --- a/examples/network-manager-app/network-manager-common/network-manager-app.matter +++ b/examples/network-manager-app/network-manager-common/network-manager-app.matter @@ -1236,7 +1236,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1262,14 +1262,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1291,7 +1291,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1310,7 +1310,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1322,8 +1322,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1341,21 +1341,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1369,7 +1369,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1378,9 +1378,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.matter b/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.matter index c5a21d1c62..7d51a3221c 100644 --- a/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.matter +++ b/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.matter @@ -1770,7 +1770,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1796,14 +1796,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1825,7 +1825,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1844,7 +1844,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1856,8 +1856,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1875,21 +1875,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1903,7 +1903,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1912,9 +1912,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.zap b/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.zap index acc2c0c71d..e534ba1855 100644 --- a/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.zap +++ b/examples/onoff-plug-app/silabs/data_model/onoff-plug-app.zap @@ -1,6 +1,6 @@ { "fileFormat": 2, - "featureLevel": 104, + "featureLevel": 106, "creator": "zap", "keyValuePairs": [ { @@ -4761,22 +4761,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter index 7525a1023b..a78361005d 100644 --- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter +++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter @@ -1152,7 +1152,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1178,14 +1178,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1207,7 +1207,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1226,7 +1226,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1238,8 +1238,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1257,21 +1257,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1285,7 +1285,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1294,9 +1294,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter index 71b07c00a6..bffa081004 100644 --- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter +++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter @@ -1304,7 +1304,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1330,14 +1330,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1359,7 +1359,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1378,7 +1378,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1390,8 +1390,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1409,21 +1409,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1437,7 +1437,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1446,9 +1446,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index e78001b81e..45ac050e91 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -2880,7 +2880,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2906,14 +2906,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2935,7 +2935,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2954,7 +2954,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2966,8 +2966,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2985,21 +2985,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -3013,7 +3013,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -3022,14 +3022,14 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -3055,14 +3055,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -3084,7 +3084,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -3103,7 +3103,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -3115,8 +3115,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -3134,21 +3134,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -3162,7 +3162,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -3171,9 +3171,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index e15ddbdb5b..48321db363 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -2837,7 +2837,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2863,14 +2863,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2892,7 +2892,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2911,7 +2911,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2923,8 +2923,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2942,21 +2942,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2970,7 +2970,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2979,14 +2979,14 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -3012,14 +3012,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -3041,7 +3041,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -3060,7 +3060,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -3072,8 +3072,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -3091,21 +3091,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -3119,7 +3119,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -3128,9 +3128,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/platform/silabs/provision/ProvisionStorageFlash.cpp b/examples/platform/silabs/provision/ProvisionStorageFlash.cpp index bd396087c6..8f43420aab 100644 --- a/examples/platform/silabs/provision/ProvisionStorageFlash.cpp +++ b/examples/platform/silabs/provision/ProvisionStorageFlash.cpp @@ -29,7 +29,7 @@ #include #endif // SL_MATTER_ENABLE_OTA_ENCRYPTION -#if !SL_MATTER_GN_BUILD +#if !(SL_MATTER_GN_BUILD || defined(SL_PROVISION_GENERATOR)) #include #endif diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 2ee4a1a5f6..a77a093761 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -1539,7 +1539,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1565,14 +1565,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1594,7 +1594,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1613,7 +1613,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1625,8 +1625,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1644,21 +1644,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1672,7 +1672,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1681,9 +1681,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.matter b/examples/pump-app/silabs/data_model/pump-thread-app.matter index 93684003c2..15699e9dc6 100644 --- a/examples/pump-app/silabs/data_model/pump-thread-app.matter +++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter @@ -1539,7 +1539,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1565,14 +1565,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1594,7 +1594,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1613,7 +1613,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1625,8 +1625,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1644,21 +1644,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1672,7 +1672,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1681,9 +1681,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.matter b/examples/pump-app/silabs/data_model/pump-wifi-app.matter index 93684003c2..15699e9dc6 100644 --- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter +++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter @@ -1539,7 +1539,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1565,14 +1565,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1594,7 +1594,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1613,7 +1613,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1625,8 +1625,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1644,21 +1644,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1672,7 +1672,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1681,9 +1681,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index 9df06369bc..460b2918b7 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -1414,7 +1414,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1440,14 +1440,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1469,7 +1469,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1488,7 +1488,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1500,8 +1500,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1519,21 +1519,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1547,7 +1547,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1556,9 +1556,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter index d39e61808e..bae48e81ba 100644 --- a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter +++ b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter @@ -1054,7 +1054,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1080,14 +1080,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1109,7 +1109,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1128,7 +1128,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1140,8 +1140,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1159,21 +1159,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1187,7 +1187,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1196,9 +1196,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter b/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter index f9dcc36015..03d1ffd1c7 100644 --- a/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter +++ b/examples/refrigerator-app/silabs/data_model/refrigerator-thread-app.matter @@ -1393,7 +1393,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1419,14 +1419,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1448,7 +1448,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1467,7 +1467,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1479,8 +1479,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1498,21 +1498,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1526,7 +1526,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1535,9 +1535,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter b/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter index 50bd62e496..fa4918dacd 100644 --- a/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter +++ b/examples/refrigerator-app/silabs/data_model/refrigerator-wifi-app.matter @@ -1304,7 +1304,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1330,14 +1330,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1359,7 +1359,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1378,7 +1378,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1390,8 +1390,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1409,21 +1409,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1437,7 +1437,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1446,9 +1446,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/rvc-app/rvc-common/rvc-app.matter b/examples/rvc-app/rvc-common/rvc-app.matter index 0ce5a1ff3e..453db3aada 100644 --- a/examples/rvc-app/rvc-common/rvc-app.matter +++ b/examples/rvc-app/rvc-common/rvc-app.matter @@ -1065,7 +1065,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1091,14 +1091,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1120,7 +1120,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1139,7 +1139,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1151,8 +1151,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1170,21 +1170,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1198,7 +1198,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1207,9 +1207,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter index 48996f4349..9cfbd34a04 100644 --- a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter +++ b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter @@ -1741,7 +1741,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1767,14 +1767,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1796,7 +1796,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1815,7 +1815,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1827,8 +1827,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1846,21 +1846,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1874,7 +1874,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1883,9 +1883,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter index 46f9a89704..a8f2cae55e 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter @@ -1334,7 +1334,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1360,14 +1360,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1389,7 +1389,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1408,7 +1408,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1420,8 +1420,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1439,21 +1439,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1467,7 +1467,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1476,9 +1476,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1694,7 +1694,7 @@ endpoint 0 { callback attribute regulatoryConfig; callback attribute locationCapability; callback attribute supportsConcurrentConnection; - ram attribute featureMap default = 2; + ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; handle command ArmFailSafe; diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap index 110f2a7bec..6774a26cf3 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.zap @@ -1119,7 +1119,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/template/silabs/template_DataModel_config/sl_template.matter b/examples/template/silabs/template_DataModel_config/sl_template.matter index 205535c65d..defecaa65f 100644 --- a/examples/template/silabs/template_DataModel_config/sl_template.matter +++ b/examples/template/silabs/template_DataModel_config/sl_template.matter @@ -1859,7 +1859,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1885,14 +1885,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1914,7 +1914,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1933,7 +1933,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1945,8 +1945,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1964,21 +1964,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1992,7 +1992,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2001,9 +2001,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/template/silabs/template_DataModel_config/sl_template.zap b/examples/template/silabs/template_DataModel_config/sl_template.zap index 7db4fe4c11..a1dbd9a585 100644 --- a/examples/template/silabs/template_DataModel_config/sl_template.zap +++ b/examples/template/silabs/template_DataModel_config/sl_template.zap @@ -1,6 +1,6 @@ { "fileFormat": 2, - "featureLevel": 102, + "featureLevel": 106, "creator": "zap", "keyValuePairs": [ { @@ -41,14 +41,16 @@ "code": 22, "profileId": 259, "label": "MA-rootdevice", - "name": "MA-rootdevice" + "name": "MA-rootdevice", + "deviceTypeOrder": 0 }, "deviceTypes": [ { "code": 22, "profileId": 259, "label": "MA-rootdevice", - "name": "MA-rootdevice" + "name": "MA-rootdevice", + "deviceTypeOrder": 0 } ], "deviceVersions": [ @@ -715,24 +717,6 @@ "isIncoming": 0, "isEnabled": 1 } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } ] }, { @@ -2816,7 +2800,7 @@ ] }, { - "name": "WiFi Network Diagnostics", + "name": "Wi-Fi Network Diagnostics", "code": 54, "mfgCode": null, "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", @@ -3904,14 +3888,16 @@ "code": 257, "profileId": 259, "label": "MA-dimmablelight", - "name": "MA-dimmablelight" + "name": "MA-dimmablelight", + "deviceTypeOrder": 0 }, "deviceTypes": [ { "code": 257, "profileId": 259, "label": "MA-dimmablelight", - "name": "MA-dimmablelight" + "name": "MA-dimmablelight", + "deviceTypeOrder": 0 } ], "deviceVersions": [ @@ -4961,22 +4947,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": null, - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "AttributeList", "code": 65531, @@ -5290,7 +5260,7 @@ "code": 8, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "ColorModeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -5306,7 +5276,7 @@ "code": 15, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "OptionsBitmap", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -5354,7 +5324,7 @@ "code": 16385, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "EnhancedColorModeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -5450,7 +5420,7 @@ "code": 16394, "mfgCode": null, "side": "server", - "type": "bitmap16", + "type": "ColorCapabilitiesBitmap", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -5622,10 +5592,10 @@ "side": "server", "type": "bitmap32", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": null, "reportable": 1, "minInterval": 1, "maxInterval": 65534, diff --git a/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter b/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter index 841f4b129d..1dd1d512b6 100644 --- a/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter +++ b/examples/terms-and-conditions-app/terms-and-conditions-common/terms-and-conditions-app.matter @@ -1150,7 +1150,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1176,14 +1176,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1205,7 +1205,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1224,7 +1224,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1236,8 +1236,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1255,21 +1255,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1283,7 +1283,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1292,9 +1292,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thermostat/nxp/zap/thermostat_matter_br.matter b/examples/thermostat/nxp/zap/thermostat_matter_br.matter index 49f6f1bb4e..041c05257c 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_br.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_br.matter @@ -1482,7 +1482,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1508,14 +1508,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1537,7 +1537,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1556,7 +1556,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1568,8 +1568,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1587,21 +1587,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1615,7 +1615,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1624,9 +1624,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index 8f74a3ba57..33bae449f3 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -1405,7 +1405,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1431,14 +1431,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1460,7 +1460,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1479,7 +1479,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1491,8 +1491,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1510,21 +1510,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1538,7 +1538,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1547,9 +1547,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index 6230c430f8..14df574616 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -1316,7 +1316,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1342,14 +1342,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1371,7 +1371,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1390,7 +1390,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1402,8 +1402,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1421,21 +1421,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1449,7 +1449,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1458,9 +1458,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter index 1c18b43f39..b8b2722952 100644 --- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter +++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter @@ -1579,7 +1579,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1605,14 +1605,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1634,7 +1634,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1653,7 +1653,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1665,8 +1665,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1684,21 +1684,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1712,7 +1712,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1721,9 +1721,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 9259985801..82b9d5b063 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -1759,7 +1759,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1785,14 +1785,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1814,7 +1814,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1833,7 +1833,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1845,8 +1845,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1864,21 +1864,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1892,7 +1892,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1901,9 +1901,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/thread-br-app/esp32/README.md b/examples/thread-br-app/esp32/README.md index 2578a106ab..3fdcfa5899 100644 --- a/examples/thread-br-app/esp32/README.md +++ b/examples/thread-br-app/esp32/README.md @@ -11,11 +11,13 @@ guides to get started. --- -- [OpenThread Border Router Board](#openthread-border-router-board) -- [OpenThread RCP](#openthread-rcp) -- [OpenThread CLI](#openthread-cli) -- [Setup Thread Network](#setup-thread-network) -- [Commissioning Thread End Devices](#commissioning-thread-end-devices) +- [Matter ESP32 Thread Border Router Example](#matter-esp32-thread-border-router-example) + - [OpenThread Border Router Board](#openthread-border-router-board) + - [OpenThread RCP](#openthread-rcp) + - [OpenThread CLI](#openthread-cli) + - [Setup Thread Network](#setup-thread-network) + - [Commissioning Thread End Devices](#commissioning-thread-end-devices) + - [Generate OTA Firmware For BR](#generate-ota-firmware-for-br) --- @@ -92,3 +94,9 @@ the Thread network. ``` ./chip-tool pairing ble-wifi 2 hex: ``` + +### Generate OTA Firmware For BR + +After enable the option `CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW` and +`CONFIG_CHIP_OTA_IMAGE_BUILD` in menuconfig, will generate OTA image with rcp +firmware, named `ota_with_rcp_image_ota.bin` in build folder. diff --git a/examples/thread-br-app/esp32/partitions.csv b/examples/thread-br-app/esp32/partitions.csv index 745321df37..2b951b15d1 100644 --- a/examples/thread-br-app/esp32/partitions.csv +++ b/examples/thread-br-app/esp32/partitions.csv @@ -3,6 +3,6 @@ nvs, data, nvs, , 0xC000, otadata, data, ota, , 0x2000, phy_init, data, phy, , 0x1000, -ota_0, app, ota_0, , 1800K, -ota_1, app, ota_1, , 1800K, -rcp_fw, data, spiffs, , 300K, +ota_0, app, ota_0, , 1600k, +ota_1, app, ota_1, , 1600k, +rcp_fw, data, spiffs, , 640k, diff --git a/examples/thread-br-app/esp32/sdkconfig.defaults b/examples/thread-br-app/esp32/sdkconfig.defaults index 498081c21f..e4780664e7 100644 --- a/examples/thread-br-app/esp32/sdkconfig.defaults +++ b/examples/thread-br-app/esp32/sdkconfig.defaults @@ -31,6 +31,7 @@ CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=7200 CONFIG_ESP_MAIN_TASK_STACK_SIZE=5120 CONFIG_ESP_TIMER_TASK_STACK_SIZE=5120 +CONFIG_CHIP_TASK_STACK_SIZE=9216 # USB console for Thread border board CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y @@ -69,9 +70,27 @@ CONFIG_THREAD_NETWORK_COMMISSIONING_DRIVER=n # Auto update RCP firmware CONFIG_AUTO_UPDATE_RCP=y +CONFIG_ENABLE_OTA_REQUESTOR=y +CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW=y # Use platform mDNS CONFIG_USE_MINIMAL_MDNS=n -# Enable Matter shell -CONFIG_ENABLE_CHIP_SHELL=y +# Reduce flash size +CONFIG_ENABLE_CHIP_SHELL=n +CONFIG_OPENTHREAD_CLI=n +CONFIG_NEWLIB_NANO_FORMAT=y + +CONFIG_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BTDM_CTRL_BLE_MAX_CONN=1 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=n +CONFIG_BT_NIMBLE_ROLE_OBSERVER=n + +CONFIG_EVENT_LOGGING_CRIT_BUFFER_SIZE=1024 + +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y + +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y +CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y +CONFIG_ESP_ERR_TO_NAME_LOOKUP=n diff --git a/examples/thread-br-app/thread-br-common/thread-br-app.matter b/examples/thread-br-app/thread-br-common/thread-br-app.matter index 035c36d52b..ea426d6950 100644 --- a/examples/thread-br-app/thread-br-common/thread-br-app.matter +++ b/examples/thread-br-app/thread-br-common/thread-br-app.matter @@ -496,6 +496,160 @@ cluster BasicInformation = 40 { command MfgSpecificPing(): DefaultSuccess = 0; } +/** Provides an interface for providing OTA software updates */ +cluster OtaSoftwareUpdateProvider = 41 { + revision 1; // NOTE: Default/not specifically set + + enum ApplyUpdateActionEnum : enum8 { + kProceed = 0; + kAwaitNextAction = 1; + kDiscontinue = 2; + } + + enum DownloadProtocolEnum : enum8 { + kBDXSynchronous = 0; + kBDXAsynchronous = 1; + kHTTPS = 2; + kVendorSpecific = 3; + } + + enum StatusEnum : enum8 { + kUpdateAvailable = 0; + kBusy = 1; + kNotAvailable = 2; + kDownloadProtocolNotSupported = 3; + } + + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct QueryImageRequest { + vendor_id vendorID = 0; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; + } + + response struct QueryImageResponse = 1 { + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; + } + + request struct ApplyUpdateRequestRequest { + octet_string<32> updateToken = 0; + int32u newVersion = 1; + } + + response struct ApplyUpdateResponse = 3 { + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; + } + + request struct NotifyUpdateAppliedRequest { + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; + } + + /** Determine availability of a new Software Image */ + command QueryImage(QueryImageRequest): QueryImageResponse = 0; + /** Determine next action to take for a downloaded Software Image */ + command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2; + /** Notify OTA Provider that an update was applied */ + command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4; +} + +/** Provides an interface for downloading and applying OTA software updates */ +cluster OtaSoftwareUpdateRequestor = 42 { + revision 1; // NOTE: Default/not specifically set + + enum AnnouncementReasonEnum : enum8 { + kSimpleAnnouncement = 0; + kUpdateAvailable = 1; + kUrgentUpdateAvailable = 2; + } + + enum ChangeReasonEnum : enum8 { + kUnknown = 0; + kSuccess = 1; + kFailure = 2; + kTimeOut = 3; + kDelayByProvider = 4; + } + + enum UpdateStateEnum : enum8 { + kUnknown = 0; + kIdle = 1; + kQuerying = 2; + kDelayedOnQuery = 3; + kDownloading = 4; + kApplying = 5; + kDelayedOnApply = 6; + kRollingBack = 7; + kDelayedOnUserConsent = 8; + } + + fabric_scoped struct ProviderLocation { + node_id providerNodeID = 1; + endpoint_no endpoint = 2; + fabric_idx fabricIndex = 254; + } + + info event StateTransition = 0 { + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; + } + + critical event VersionApplied = 1 { + int32u softwareVersion = 0; + int16u productID = 1; + } + + info event DownloadError = 2 { + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; + } + + attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0; + readonly attribute boolean updatePossible = 1; + readonly attribute UpdateStateEnum updateState = 2; + readonly attribute nullable int8u updateStateProgress = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct AnnounceOTAProviderRequest { + node_id providerNodeID = 0; + vendor_id vendorID = 1; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; + endpoint_no endpoint = 4; + } + + /** Announce the presence of an OTA Provider */ + command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0; +} + /** This cluster is used to manage global aspects of the Commissioning flow. */ cluster GeneralCommissioning = 48 { revision 1; // NOTE: Default/not specifically set @@ -1117,7 +1271,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1143,14 +1297,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1172,7 +1326,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1191,7 +1345,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1203,8 +1357,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1222,21 +1376,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1250,7 +1404,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1259,9 +1413,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ @@ -1426,6 +1580,7 @@ cluster ThreadBorderRouterManagement = 1106 { endpoint 0 { device type ma_rootdevice = 22, version 1; + binding cluster OtaSoftwareUpdateProvider; server cluster Descriptor { callback attribute deviceTypeList; @@ -1481,6 +1636,23 @@ endpoint 0 { ram attribute clusterRevision default = 3; } + server cluster OtaSoftwareUpdateRequestor { + emits event StateTransition; + emits event VersionApplied; + emits event DownloadError; + callback attribute defaultOTAProviders; + ram attribute updatePossible default = true; + ram attribute updateState default = 0; + ram attribute updateStateProgress; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; + } + server cluster GeneralCommissioning { ram attribute breadcrumb default = 0x0000000000000000; callback attribute basicCommissioningInfo; diff --git a/examples/thread-br-app/thread-br-common/thread-br-app.zap b/examples/thread-br-app/thread-br-common/thread-br-app.zap index ba281bf592..17902190fb 100644 --- a/examples/thread-br-app/thread-br-common/thread-br-app.zap +++ b/examples/thread-br-app/thread-br-common/thread-br-app.zap @@ -772,6 +772,243 @@ } ] }, + { + "name": "OTA Software Update Provider", + "code": 41, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", + "side": "client", + "enabled": 1, + "commands": [ + { + "name": "QueryImage", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "QueryImageResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NotifyUpdateApplied", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + } + ] + }, + { + "name": "OTA Software Update Requestor", + "code": 42, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "AnnounceOTAProvider", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "DefaultOTAProviders", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": null, + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdatePossible", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "true", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdateState", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "UpdateStateEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdateStateProgress", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": null, + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": null, + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": null, + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ], + "events": [ + { + "name": "StateTransition", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "VersionApplied", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "DownloadError", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } + ] + }, { "name": "General Commissioning", "code": 48, diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index eaccc1dd6f..32cac21475 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -1994,7 +1994,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2020,14 +2020,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2049,7 +2049,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2068,7 +2068,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2080,8 +2080,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2099,21 +2099,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2127,7 +2127,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2136,14 +2136,14 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2169,14 +2169,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2198,7 +2198,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2217,7 +2217,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2229,8 +2229,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2248,21 +2248,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2276,7 +2276,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2285,9 +2285,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 9ad6cd0273..de25cdeeb5 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -1572,7 +1572,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1598,14 +1598,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1627,7 +1627,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1646,7 +1646,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1658,8 +1658,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1677,21 +1677,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1705,7 +1705,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1714,9 +1714,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter index 0fa3cdd7a8..d514ce605d 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter @@ -1962,7 +1962,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1988,14 +1988,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2017,7 +2017,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2036,7 +2036,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2048,8 +2048,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2067,21 +2067,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2095,7 +2095,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2104,9 +2104,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter b/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter index e36fe72716..2368f2d2de 100644 --- a/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter +++ b/examples/water-leak-detector-app/water-leak-detector-common/water-leak-detector-app.matter @@ -1324,7 +1324,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1350,14 +1350,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1379,7 +1379,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1398,7 +1398,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1410,8 +1410,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1429,21 +1429,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1457,7 +1457,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1466,9 +1466,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter index 74da57387d..548d9d9c0f 100644 --- a/examples/window-app/common/window-app.matter +++ b/examples/window-app/common/window-app.matter @@ -1839,7 +1839,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -1865,14 +1865,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -1894,7 +1894,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -1913,7 +1913,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -1925,8 +1925,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -1944,21 +1944,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -1972,7 +1972,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -1981,9 +1981,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/integrations/docker/images/base/chip-build/version b/integrations/docker/images/base/chip-build/version index 00a1a53cfb..d19b189a8c 100644 --- a/integrations/docker/images/base/chip-build/version +++ b/integrations/docker/images/base/chip-build/version @@ -1 +1 @@ -123 : [Tizen] Add arm64 target - Docker part +125 : [Tizen] Fix Tizen SDK installer when more than one CPU is selected diff --git a/integrations/docker/images/chip-cert-bins/Dockerfile b/integrations/docker/images/chip-cert-bins/Dockerfile index 7914409322..7493806066 100644 --- a/integrations/docker/images/chip-cert-bins/Dockerfile +++ b/integrations/docker/images/chip-cert-bins/Dockerfile @@ -306,9 +306,20 @@ RUN pip install --break-system-packages -r /tmp/requirements.txt && rm /tmp/requ COPY --from=chip-build-cert-bins /root/connectedhomeip/src/python_testing/requirements.txt /tmp/requirements.txt RUN pip install --break-system-packages -r /tmp/requirements.txt && rm /tmp/requirements.txt +# Stage 3.2: Setup the Mock Server +COPY --from=chip-build-cert-bins /root/connectedhomeip/integrations/mock_server mock_server + # PIP requires MASON package compilation, which seems to require a JDK RUN set -x && DEBIAN_FRONTEND=noninteractive apt-get update; apt-get install -fy openjdk-8-jdk +# TODO: remove this dependency conflict workaround --> issue: #37975 +# python3-gi is being installed as a dependency by 'openjdk-8-jdk'. python3-gi is not wanted since it installs PyGObject 3.48.2 (which we are not using), +# This issue showed up when we pinned pygobject==3.50.0 in the chip-repl in https://github.com/project-chip/connectedhomeip/pull/37948 +# having pygobject ==3.50.0 being installed through pip creates a conflict, and pip can not unintstall the PyGObject (python3-gi's version) because the system APT installed it +# Error log: +# ERROR: Cannot uninstall 'PyGObject'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. +RUN apt-get remove -y python3-gi + RUN pip install --break-system-packages --no-cache-dir \ python_lib/obj/src/python_testing/matter_testing_infrastructure/chip-testing._build_wheel/chip_testing-*.whl \ python_lib/controller/python/chip*.whl diff --git a/integrations/docker/images/stage-2/chip-build-nxp/Dockerfile b/integrations/docker/images/stage-2/chip-build-nxp/Dockerfile index 9d5f3e79e8..264fa89d83 100644 --- a/integrations/docker/images/stage-2/chip-build-nxp/Dockerfile +++ b/integrations/docker/images/stage-2/chip-build-nxp/Dockerfile @@ -13,7 +13,7 @@ WORKDIR /opt/nxp/ ARG NXP_SDK_EXAMPLE_PATH=nxp_matter_support/github_sdk/sdk_next/repo/mcuxsdk/examples RUN set -x \ - && git clone --branch release/v1.4.0.1 https://github.com/NXP/nxp_matter_support.git \ + && git clone --branch matter-sdk-25-03-pvw2-support https://github.com/NXP/nxp_matter_support.git \ && pip3 install --break-system-packages -U --no-cache-dir west \ && ./nxp_matter_support/scripts/update_nxp_sdk.py \ && cd $NXP_SDK_EXAMPLE_PATH \ diff --git a/integrations/docker/images/stage-2/chip-build-tizen/tizen-sdk-installer/install.sh b/integrations/docker/images/stage-2/chip-build-tizen/tizen-sdk-installer/install.sh index 59119bba2e..1ebfd2340e 100755 --- a/integrations/docker/images/stage-2/chip-build-tizen/tizen-sdk-installer/install.sh +++ b/integrations/docker/images/stage-2/chip-build-tizen/tizen-sdk-installer/install.sh @@ -171,15 +171,24 @@ function install_tizen_sdk_common() { PKG_ARR=( "7.0-iot-things-add-ons_*_ubuntu-64.zip") download "$URL" "${PKG_ARR[@]}" + + info "Installing Tizen Studio CLI..." + + unzip -o '*.zip' + cp -rf data/* "$TIZEN_SDK_ROOT" + + # Cleanup + rm -rf -- * + } # Function for installing Tizen SDK (arm). function install_tizen_sdk_arm() { - TIZEN_SDK_SYSROOT="$TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/tizen/rootstraps/tizen-$TIZEN_VERSION-device.core" + SYSROOT="$TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/tizen/rootstraps/tizen-$TIZEN_VERSION-device.core" # Get toolchain - info "Downloading Tizen toolchain..." + info "Downloading Tizen ARM toolchain..." # Download URL="http://download.tizen.org/sdk/tizenstudio/official/binary/" @@ -189,7 +198,7 @@ function install_tizen_sdk_arm() { download "$URL" "${PKG_ARR[@]}" # Get Tizen sysroot - info "Downloading Tizen sysroot..." + info "Downloading Tizen ARM sysroot..." # Base sysroot # Different versions of Tizen have different rootstrap versions @@ -218,7 +227,7 @@ function install_tizen_sdk_arm() { # Unified packages URL="http://download.tizen.org/releases/milestone/TIZEN/Tizen-$TIZEN_VERSION/Tizen-$TIZEN_VERSION-Unified/latest/repos/standard/packages/armv7l/" PKG_ARR=( - 'app-core-common-*.rpm' + 'app-core-common-*.armv7l.rpm' 'aul-0*.armv7l.rpm' 'aul-devel-*.armv7l.rpm' 'bluetooth-frwk-0*.armv7l.rpm' @@ -263,31 +272,34 @@ function install_tizen_sdk_arm() { PKG_ARR=() download "$URL" "${PKG_ARR[@]}" - # Install all - info "Installing Tizen SDK..." + info "Installing Tizen ARM SDK..." unzip -o '*.zip' cp -rf data/* "$TIZEN_SDK_ROOT" unrpm *.rpm - cp -rf lib usr "$TIZEN_SDK_SYSROOT" + cp -rf lib usr "$SYSROOT" # Make symbolic links relative - find "$TIZEN_SDK_SYSROOT/usr/lib" -maxdepth 1 -type l | while IFS= read -r LNK; do + find "$SYSROOT/usr/lib" -maxdepth 1 -type l | while IFS= read -r LNK; do ln -sf "$(basename "$(readlink "$LNK")")" "$LNK" done - ln -sf ../../lib/libcap.so.2 "$TIZEN_SDK_SYSROOT/usr/lib/libcap.so" - ln -sf openssl3.pc "$TIZEN_SDK_SYSROOT/usr/lib/pkgconfig/openssl.pc" + ln -sf ../../lib/libcap.so.2 "$SYSROOT/usr/lib/libcap.so" + ln -sf openssl3.pc "$SYSROOT/usr/lib/pkgconfig/openssl.pc" + + # Cleanup + rm -rf -- * + } # Function for installing Tizen SDK (arm64). function install_tizen_sdk_arm64() { - TIZEN_SDK_SYSROOT="$TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/tizen/rootstraps/tizen-$TIZEN_VERSION-device64.core" + SYSROOT="$TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/tizen/rootstraps/tizen-$TIZEN_VERSION-device64.core" # Get toolchain - info "Downloading Tizen toolchain..." + info "Downloading Tizen ARM64 toolchain..." # Download URL="http://download.tizen.org/sdk/tizenstudio/official/binary/" @@ -297,7 +309,7 @@ function install_tizen_sdk_arm64() { download "$URL" "${PKG_ARR[@]}" # Get Tizen sysroot - info "Downloading Tizen sysroot..." + info "Downloading Tizen ARM64 sysroot..." # Base sysroot # Different versions of Tizen have different rootstrap versions @@ -326,7 +338,7 @@ function install_tizen_sdk_arm64() { # Unified packages URL="http://download.tizen.org/releases/milestone/TIZEN/Tizen-$TIZEN_VERSION/Tizen-$TIZEN_VERSION-Unified/latest/repos/standard/packages/aarch64/" PKG_ARR=( - 'app-core-common-*.rpm' + 'app-core-common-*.aarch64.rpm' 'aul-0*.aarch64.rpm' 'aul-devel-*.aarch64.rpm' 'bluetooth-frwk-0*.aarch64.rpm' @@ -372,25 +384,31 @@ function install_tizen_sdk_arm64() { PKG_ARR=() download "$URL" "${PKG_ARR[@]}" - # Install all - info "Installing Tizen SDK..." + info "Installing Tizen ARM64 SDK..." unzip -o '*.zip' cp -rf data/* "$TIZEN_SDK_ROOT" + info "Installing Tizen ARM64 sysroot..." + unrpm *.rpm - cp -rf lib64 usr "$TIZEN_SDK_SYSROOT" + cp -rf lib64 usr "$SYSROOT" # Make symbolic links relative - find "$TIZEN_SDK_SYSROOT/usr/lib64" -maxdepth 1 -type l | while IFS= read -r LNK; do + find "$SYSROOT/usr/lib64" -maxdepth 1 -type l | while IFS= read -r LNK; do ln -sf "$(basename "$(readlink "$LNK")")" "$LNK" done - ln -sf ../../lib64/libcap.so.2 "$TIZEN_SDK_SYSROOT/usr/lib64/libcap.so" - ln -sf openssl3.pc "$TIZEN_SDK_SYSROOT/usr/lib64/pkgconfig/openssl.pc" + ln -sf ../../lib64/libcap.so.2 "$SYSROOT/usr/lib64/libcap.so" + ln -sf openssl3.pc "$SYSROOT/usr/lib64/pkgconfig/openssl.pc" + + # Cleanup + rm -rf -- * + } function install_tizen_sdk_finalize() { + # Install secret tool or not if ("$SECRET_TOOL"); then info "Overriding secret tool..." diff --git a/ruff.toml b/pyproject.toml similarity index 64% rename from ruff.toml rename to pyproject.toml index 2195539eb0..72c86685e1 100644 --- a/ruff.toml +++ b/pyproject.toml @@ -1,3 +1,13 @@ +[tool.autopep8] +max_line_length = 132 + +[tool.isort] +line_length = 132 +known_first_party = "matter" + +[tool.ruff] +line-length = 132 +target-version = "py310" exclude = [ ".environment", ".git", @@ -10,12 +20,9 @@ exclude = [ # TODO(#37698) "docs/development_controllers/chip-repl/*.ipynb", ] -target-version = "py310" - -line-length = 132 -[lint] +[tool.ruff.lint] select = ["E4", "E7", "E9", "F"] ignore = [ - "E721" # We use it for good reasons + "E721", # We use it for good reasons ] diff --git a/scripts/backwards_compatibility_checker.py b/scripts/backwards_compatibility_checker.py index ac5f2f0949..f6ef28d52e 100755 --- a/scripts/backwards_compatibility_checker.py +++ b/scripts/backwards_compatibility_checker.py @@ -26,13 +26,13 @@ _has_coloredlogs = False try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ImportError: import os sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'py_matter_idl'))) - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser -from matter_idl.backwards_compatibility import is_backwards_compatible +from matter.idl.backwards_compatibility import is_backwards_compatible # Supported log levels, mapping string values required for argument # parsing into logging constants diff --git a/scripts/codegen.py b/scripts/codegen.py index 1f679ea614..0ef4570078 100755 --- a/scripts/codegen.py +++ b/scripts/codegen.py @@ -25,15 +25,15 @@ _has_coloredlogs = False try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ImportError: import os sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'py_matter_idl'))) - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser # isort: off -from matter_idl.generators import FileSystemGeneratorStorage, GeneratorStorage -from matter_idl.generators.registry import CodeGenerator, GENERATORS +from matter.idl.generators import FileSystemGeneratorStorage, GeneratorStorage +from matter.idl.generators.registry import CodeGenerator, GENERATORS class ListGeneratedFilesStorage(GeneratorStorage): diff --git a/scripts/idl_lint.py b/scripts/idl_lint.py index e7217c9567..f21a33793a 100755 --- a/scripts/idl_lint.py +++ b/scripts/idl_lint.py @@ -21,13 +21,13 @@ import coloredlogs try: - from matter_idl import matter_idl_parser + from matter.idl import matter_idl_parser except ImportError: sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'py_matter_idl'))) - from matter_idl import matter_idl_parser + from matter.idl import matter_idl_parser # isort: off -import matter_idl.lint +import matter.idl.lint # Supported log levels, mapping string values required for argument @@ -64,7 +64,7 @@ def main(log_level, rules, idl_path): lint_rules = [] logging.info("Loading rules from %s" % rules) - lint_rules.extend(matter_idl.lint.CreateParser(rules).parse()) + lint_rules.extend(matter.idl.lint.CreateParser(rules).parse()) logging.info("Parsing idl from %s" % idl_path) idl_tree = matter_idl_parser.CreateParser().parse(open(idl_path, "rt").read(), file_name=idl_path) diff --git a/scripts/py_matter_idl/BUILD.gn b/scripts/py_matter_idl/BUILD.gn index c0493e8fb7..02676081ea 100644 --- a/scripts/py_matter_idl/BUILD.gn +++ b/scripts/py_matter_idl/BUILD.gn @@ -29,37 +29,37 @@ pw_python_package("matter_idl") { inputs = matter_idl_generator_templates inputs += [ # Dependency grammar - "matter_idl/matter_grammar.lark", + "matter/idl/matter_grammar.lark", - #marker file to indicate to mypy that matter_idl is type-annotated - "matter_idl/py.typed", + # Marker file to indicate to mypy that matter_idl is type-annotated + "matter/idl/py.typed", # Unit test data - "matter_idl/tests/available_tests.yaml", - "matter_idl/tests/inputs/cluster_struct_attribute.matter", - "matter_idl/tests/inputs/global_struct_attribute.matter", - "matter_idl/tests/inputs/optional_argument.matter", - "matter_idl/tests/inputs/several_clusters.matter", - "matter_idl/tests/inputs/simple_attribute.matter", - "matter_idl/tests/outputs/several_clusters/java/ChipClusters.java", - "matter_idl/tests/outputs/several_clusters/java/ChipEventStructs.java", - "matter_idl/tests/outputs/several_clusters/java/ChipStructs.java", - "matter_idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java", - "matter_idl/tests/outputs/several_clusters/java/ClusterIDMapping.java", - "matter_idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java", + "matter/idl/tests/available_tests.yaml", + "matter/idl/tests/inputs/cluster_struct_attribute.matter", + "matter/idl/tests/inputs/global_struct_attribute.matter", + "matter/idl/tests/inputs/optional_argument.matter", + "matter/idl/tests/inputs/several_clusters.matter", + "matter/idl/tests/inputs/simple_attribute.matter", + "matter/idl/tests/outputs/several_clusters/java/ChipClusters.java", + "matter/idl/tests/outputs/several_clusters/java/ChipEventStructs.java", + "matter/idl/tests/outputs/several_clusters/java/ChipStructs.java", + "matter/idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java", + "matter/idl/tests/outputs/several_clusters/java/ClusterIDMapping.java", + "matter/idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java", ] sources = matter_idl_generator_sources tests = [ - "matter_idl/test_backwards_compatibility.py", - "matter_idl/test_case_conversion.py", - "matter_idl/test_data_model_xml.py", - "matter_idl/test_matter_idl_parser.py", - "matter_idl/test_generators.py", - "matter_idl/test_idl_generator.py", - "matter_idl/test_supported_types.py", - "matter_idl/test_zapxml.py", + "matter/idl/test_backwards_compatibility.py", + "matter/idl/test_case_conversion.py", + "matter/idl/test_data_model_xml.py", + "matter/idl/test_matter_idl_parser.py", + "matter/idl/test_generators.py", + "matter/idl/test_idl_generator.py", + "matter/idl/test_supported_types.py", + "matter/idl/test_zapxml.py", ] # TODO: at a future time consider enabling all (* or missing) here to get diff --git a/scripts/py_matter_idl/examples/README.md b/scripts/py_matter_idl/examples/README.md index 5897d53e1e..7fffd26793 100644 --- a/scripts/py_matter_idl/examples/README.md +++ b/scripts/py_matter_idl/examples/README.md @@ -16,7 +16,7 @@ scripts/py_matter_idl/examples/matter_idl_plugin: `--generator custom::` argument and package name like `--option package:com.example.matter.proto` -``` +```shell # From top-of-tree in this example ./scripts/codegen.py \ --generator custom:./scripts/py_matter_idl/examples:matter_idl_plugin \ diff --git a/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py b/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py index 26463550e6..cfc237b302 100644 --- a/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py +++ b/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py @@ -14,8 +14,8 @@ import os -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.matter_idl_types import Cluster, Command, Field, Idl +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.matter_idl_types import Cluster, Command, Field, Idl def toUpperSnakeCase(s): diff --git a/scripts/py_matter_idl/files.gni b/scripts/py_matter_idl/files.gni index d3709a1bac..608872a472 100644 --- a/scripts/py_matter_idl/files.gni +++ b/scripts/py_matter_idl/files.gni @@ -3,56 +3,56 @@ import("//build_overrides/chip.gni") # Templates used for generation matter_idl_generator_templates = [ - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/application/CallbackStubSource.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/application/ClusterInitCallbackSource.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/idl/MatterIdl.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/ChipEventStructs.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/ChipStructs.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/ClusterIDMapping.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/ClusterReadMapping.jinja", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/ClusterWriteMapping.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/CallbackStubSource.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterInitCallbackSource.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/idl/MatterIdl.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/ChipEventStructs.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/ChipStructs.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/ClusterIDMapping.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/ClusterReadMapping.jinja", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/ClusterWriteMapping.jinja", ] matter_idl_generator_sources = [ - "${chip_root}/scripts/py_matter_idl/matter_idl/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/backwards_compatibility.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/derivation.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cluster_selection.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/application/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/filters.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/idl/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/java/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/registry.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/generators/type_definitions.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/lint/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/lint/lint_rules_parser.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/lint/type_definitions.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/matter_idl_parser.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/matter_idl_types.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_backwards_compatibility.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_data_model_xml.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_generators.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_matter_idl_parser.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_zapxml.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/__init__.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/base.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/context.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/handlers.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/parsing.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml_parser.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/backwards_compatibility.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/base.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/context.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/derivation.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/handlers.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/parsing.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cluster_selection.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/application/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/filters.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/idl/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/java/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/registry.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/generators/type_definitions.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/lint/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/lint/lint_rules_parser.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/lint/type_definitions.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/matter_idl_parser.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/matter_idl_types.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/test_backwards_compatibility.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/test_data_model_xml.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/test_generators.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/test_matter_idl_parser.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/test_zapxml.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/handlers/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/handlers/base.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/handlers/context.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/handlers/handlers.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml/handlers/parsing.py", + "${chip_root}/scripts/py_matter_idl/matter/idl/zapxml_parser.py", ] # All the files that the matter idl infrastructure will use diff --git a/scripts/py_matter_idl/matter/__init__.py b/scripts/py_matter_idl/matter/__init__.py new file mode 100644 index 0000000000..22eabfa8ca --- /dev/null +++ b/scripts/py_matter_idl/matter/__init__.py @@ -0,0 +1,17 @@ +# Copyright (c) 2025 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. + +# NOTE: This file is not part of the matter-idl package. It is here to allow +# using matter.idl module from the scripts directory without requiring +# matter-idl package installation. diff --git a/scripts/py_matter_idl/matter_idl/README.md b/scripts/py_matter_idl/matter/idl/README.md similarity index 99% rename from scripts/py_matter_idl/matter_idl/README.md rename to scripts/py_matter_idl/matter/idl/README.md index 602e8565fa..63f7d37294 100644 --- a/scripts/py_matter_idl/matter_idl/README.md +++ b/scripts/py_matter_idl/matter/idl/README.md @@ -174,7 +174,7 @@ endpoint 0 { ## Parsing of IDLs -IDL parsing is done within the `matter_idl` python package (this is the current +IDL parsing is done within the `matter-idl` python package (this is the current directory of this README). Most of the heavy lifting is done by the lark using [matter_grammar.lark](./matter_grammar.lark), which is then turned into an AST: diff --git a/scripts/py_matter_idl/matter_idl/__init__.py b/scripts/py_matter_idl/matter/idl/__init__.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/__init__.py rename to scripts/py_matter_idl/matter/idl/__init__.py diff --git a/scripts/py_matter_idl/matter_idl/backwards_compatibility.py b/scripts/py_matter_idl/matter/idl/backwards_compatibility.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/backwards_compatibility.py rename to scripts/py_matter_idl/matter/idl/backwards_compatibility.py index f7db4edf93..e613350548 100644 --- a/scripts/py_matter_idl/matter_idl/backwards_compatibility.py +++ b/scripts/py_matter_idl/matter/idl/backwards_compatibility.py @@ -17,7 +17,7 @@ import logging from typing import Callable, Dict, List, Optional, Protocol, TypeVar -from matter_idl.matter_idl_types import ApiMaturity, Attribute, Bitmap, Cluster, Command, Enum, Event, Field, Idl, Struct +from matter.idl.matter_idl_types import ApiMaturity, Attribute, Bitmap, Cluster, Command, Enum, Event, Field, Idl, Struct class Compatibility(enum.Enum): diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py b/scripts/py_matter_idl/matter/idl/data_model_xml/__init__.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/__init__.py index fb0a0cf8d5..c5ae7ac85b 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/__init__.py @@ -18,8 +18,8 @@ from dataclasses import dataclass from typing import List, Optional, Union -from matter_idl.data_model_xml.handlers import Context, DataModelXmlHandler -from matter_idl.matter_idl_types import Idl +from matter.idl.data_model_xml.handlers import Context, DataModelXmlHandler +from matter.idl.matter_idl_types import Idl class ParseHandler(xml.sax.handler.ContentHandler): @@ -31,7 +31,7 @@ class ParseHandler(xml.sax.handler.ContentHandler): - sets up parsing location within the context - keeps track of ParsePath - Overall converts a python SAX handler into matter_idl.zapxml.handlers + Overall converts a python SAX handler into matter.idl.zapxml.handlers """ def __init__(self, include_meta_data=True): diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/__init__.py similarity index 97% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/__init__.py index b1ece298a9..045136d806 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/__init__.py @@ -15,7 +15,7 @@ import logging from xml.sax.xmlreader import AttributesImpl -from matter_idl.matter_idl_types import Idl +from matter.idl.matter_idl_types import Idl from .base import BaseHandler from .context import Context diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/base.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/base.py diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/context.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/context.py index 195f3eae7a..402e09318f 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/context.py @@ -16,7 +16,7 @@ import xml.sax.xmlreader from typing import List, Optional -from matter_idl.matter_idl_types import Cluster, Idl, ParseMetaData +from matter.idl.matter_idl_types import Cluster, Idl, ParseMetaData class IdlPostProcessor: diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/derivation.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/derivation.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/derivation.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/derivation.py index 79ddb29974..e63d7c7cd7 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/derivation.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/derivation.py @@ -17,7 +17,7 @@ import logging from typing import Iterable, Optional, Protocol, TypeVar -from matter_idl.matter_idl_types import Attribute, AttributeQuality, Bitmap, Cluster, Command, Enum, Event, Idl, Struct +from matter.idl.matter_idl_types import Attribute, AttributeQuality, Bitmap, Cluster, Command, Enum, Event, Idl, Struct from .context import Context, IdlPostProcessor from .parsing import NormalizeName diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/handlers.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/handlers.py index 858ec6a19f..82e214ff1e 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/handlers.py @@ -17,7 +17,7 @@ from typing import Optional from xml.sax.xmlreader import AttributesImpl -from matter_idl.matter_idl_types import (ApiMaturity, Attribute, AttributeQuality, Bitmap, Cluster, Command, CommandQuality, +from matter.idl.matter_idl_types import (ApiMaturity, Attribute, AttributeQuality, Bitmap, Cluster, Command, CommandQuality, ConstantEntry, DataType, Enum, Field, FieldQuality, Idl, Struct, StructTag) from .base import BaseHandler, HandledDepth diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/parsing.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py rename to scripts/py_matter_idl/matter/idl/data_model_xml/handlers/parsing.py index 608e526f61..86b9f0b086 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml/handlers/parsing.py @@ -18,8 +18,8 @@ from typing import Optional from xml.sax.xmlreader import AttributesImpl -from matter_idl.generators.type_definitions import GetDataTypeSizeInBits, IsSignedDataType -from matter_idl.matter_idl_types import AccessPrivilege, Attribute, Command, ConstantEntry, DataType, Event, EventPriority, Field +from matter.idl.generators.type_definitions import GetDataTypeSizeInBits, IsSignedDataType +from matter.idl.matter_idl_types import AccessPrivilege, Attribute, Command, ConstantEntry, DataType, Event, EventPriority, Field LOGGER = logging.getLogger('data-model-xml-data-parsing') diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml_parser.py b/scripts/py_matter_idl/matter/idl/data_model_xml_parser.py similarity index 91% rename from scripts/py_matter_idl/matter_idl/data_model_xml_parser.py rename to scripts/py_matter_idl/matter/idl/data_model_xml_parser.py index e0878572d0..c124b1ba30 100755 --- a/scripts/py_matter_idl/matter_idl/data_model_xml_parser.py +++ b/scripts/py_matter_idl/matter/idl/data_model_xml_parser.py @@ -14,23 +14,22 @@ # limitations under the License. import logging -import os import sys +from pathlib import Path from typing import Optional import click try: - from matter_idl.data_model_xml import ParseSource, ParseXmls + from matter.idl.data_model_xml import ParseSource, ParseXmls except ImportError: - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.data_model_xml import ParseSource, ParseXmls + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.data_model_xml import ParseSource, ParseXmls -from matter_idl.generators import GeneratorStorage -from matter_idl.generators.idl import IdlGenerator -from matter_idl.matter_idl_parser import CreateParser -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import GeneratorStorage +from matter.idl.generators.idl import IdlGenerator +from matter.idl.matter_idl_parser import CreateParser +from matter.idl.matter_idl_types import Idl class InMemoryStorage(GeneratorStorage): @@ -126,7 +125,7 @@ def main(log_level, no_print, output, compare, compare_output, filenames): such as using: \b - ./scripts/py_matter_idl/matter_idl/data_model_xml_parser.py \\ + ./scripts/py_matter_idl/matter/idl/data_model_xml_parser.py \\ --compare src/controller/data_model/controller-clusters.matter \\ --compare-output out/orig.matter \\ --output out/from_xml.matter \\ diff --git a/scripts/py_matter_idl/matter_idl/generators/__init__.py b/scripts/py_matter_idl/matter/idl/generators/__init__.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/generators/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/__init__.py index 7cb9d54b94..1bb70cb936 100644 --- a/scripts/py_matter_idl/matter_idl/generators/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/__init__.py @@ -18,7 +18,8 @@ from typing import Dict, Optional import jinja2 -from matter_idl.matter_idl_types import Idl + +from matter.idl.matter_idl_types import Idl from .filters import RegisterCommonFilters diff --git a/scripts/py_matter_idl/matter_idl/generators/cluster_selection.py b/scripts/py_matter_idl/matter/idl/generators/cluster_selection.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/generators/cluster_selection.py rename to scripts/py_matter_idl/matter/idl/generators/cluster_selection.py index f1cab2518d..df10beeeb0 100644 --- a/scripts/py_matter_idl/matter_idl/generators/cluster_selection.py +++ b/scripts/py_matter_idl/matter/idl/generators/cluster_selection.py @@ -16,7 +16,7 @@ from typing import List -from matter_idl.matter_idl_types import Cluster, Idl +from matter.idl.matter_idl_types import Cluster, Idl def server_side_clusters(idl: Idl) -> List[Cluster]: diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/__init__.py b/scripts/py_matter_idl/matter/idl/generators/cpp/__init__.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/cpp/__init__.py diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/application/CallbackStubSource.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/application/CallbackStubSource.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/application/CallbackStubSource.jinja rename to scripts/py_matter_idl/matter/idl/generators/cpp/application/CallbackStubSource.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/application/ClusterInitCallbackSource.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterInitCallbackSource.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/application/ClusterInitCallbackSource.jinja rename to scripts/py_matter_idl/matter/idl/generators/cpp/application/ClusterInitCallbackSource.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja rename to scripts/py_matter_idl/matter/idl/generators/cpp/application/PluginApplicationCallbacksHeader.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/application/__init__.py b/scripts/py_matter_idl/matter/idl/generators/cpp/application/__init__.py similarity index 92% rename from scripts/py_matter_idl/matter_idl/generators/cpp/application/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/cpp/application/__init__.py index c000b18a02..6161907e53 100644 --- a/scripts/py_matter_idl/matter_idl/generators/cpp/application/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/cpp/application/__init__.py @@ -14,9 +14,9 @@ import os -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.generators.cluster_selection import server_side_clusters -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.generators.cluster_selection import server_side_clusters +from matter.idl.matter_idl_types import Idl class CppApplicationGenerator(CodeGenerator): diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja rename to scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_cpp.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja b/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja rename to scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/TLVMetaData_h.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/__init__.py b/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/__init__.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/__init__.py index 7b46053d46..e3dfa6a7bf 100644 --- a/scripts/py_matter_idl/matter_idl/generators/cpp/tlvmeta/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/cpp/tlvmeta/__init__.py @@ -16,8 +16,8 @@ from dataclasses import dataclass from typing import Generator, List, Optional -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.matter_idl_types import Cluster, Field, Idl, StructTag +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.matter_idl_types import Cluster, Field, Idl, StructTag @dataclass diff --git a/scripts/py_matter_idl/matter_idl/generators/filters.py b/scripts/py_matter_idl/matter/idl/generators/filters.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/filters.py rename to scripts/py_matter_idl/matter/idl/generators/filters.py diff --git a/scripts/py_matter_idl/matter_idl/generators/idl/MatterIdl.jinja b/scripts/py_matter_idl/matter/idl/generators/idl/MatterIdl.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/idl/MatterIdl.jinja rename to scripts/py_matter_idl/matter/idl/generators/idl/MatterIdl.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/idl/README.md b/scripts/py_matter_idl/matter/idl/generators/idl/README.md similarity index 94% rename from scripts/py_matter_idl/matter_idl/generators/idl/README.md rename to scripts/py_matter_idl/matter/idl/generators/idl/README.md index c19b428482..eb4c0a4bfb 100644 --- a/scripts/py_matter_idl/matter_idl/generators/idl/README.md +++ b/scripts/py_matter_idl/matter/idl/generators/idl/README.md @@ -26,7 +26,7 @@ A XML parser will use this code generator to output a human readable view of the parsed data: ``` -./scripts/py_matter_idl/matter_idl/zapxml_parser.py \ +./scripts/py_matter_idl/matter/idl/zapxml_parser.py \ ./src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml \ ./src/app/zap-templates/zcl/data-model/chip/global-attributes.xm ``` diff --git a/scripts/py_matter_idl/matter_idl/generators/idl/__init__.py b/scripts/py_matter_idl/matter/idl/generators/idl/__init__.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/generators/idl/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/idl/__init__.py index 3bf1714bba..4c51633f0c 100644 --- a/scripts/py_matter_idl/matter_idl/generators/idl/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/idl/__init__.py @@ -15,8 +15,8 @@ import os from typing import Union -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.matter_idl_types import (AccessPrivilege, ApiMaturity, Attribute, AttributeQuality, AttributeStorage, Command, +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.matter_idl_types import (AccessPrivilege, ApiMaturity, Attribute, AttributeQuality, AttributeStorage, Command, CommandQuality, Event, EventPriority, EventQuality, FieldQuality, Idl, StructQuality, StructTag) diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipClusters_java.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipClusters_java.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipEventStructs.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipEventStructs.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipEventStructs.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipEventStructs.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipEventStructs_java.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipEventStructs_java.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipEventStructs_java.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipEventStructs_java.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipStructFiles_gni.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipStructFiles_gni.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipStructFiles_gni.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipStructFiles_gni.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipStructs.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipStructs.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipStructs.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipStructs.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipStructs_java.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ChipStructs_java.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ChipStructs_java.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ChipStructs_java.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ClusterIDMapping.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ClusterIDMapping.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ClusterIDMapping.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ClusterIDMapping.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ClusterInfoMapping_java.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ClusterInfoMapping_java.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ClusterInfoMapping_java.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ClusterInfoMapping_java.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ClusterReadMapping.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ClusterReadMapping.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ClusterReadMapping.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ClusterReadMapping.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ClusterWriteMapping.jinja b/scripts/py_matter_idl/matter/idl/generators/java/ClusterWriteMapping.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/java/ClusterWriteMapping.jinja rename to scripts/py_matter_idl/matter/idl/generators/java/ClusterWriteMapping.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py b/scripts/py_matter_idl/matter/idl/generators/java/__init__.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/generators/java/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/java/__init__.py index d21107653d..fc4c8c8d8f 100644 --- a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/java/__init__.py @@ -19,11 +19,11 @@ import os from typing import List, Optional, Set -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.generators.filters import upfirst -from matter_idl.generators.type_definitions import (BasicInteger, BasicString, FundamentalType, IdlBitmapType, IdlEnumType, IdlType, +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.generators.filters import upfirst +from matter.idl.generators.type_definitions import (BasicInteger, BasicString, FundamentalType, IdlBitmapType, IdlEnumType, IdlType, ParseDataType, TypeLookupContext) -from matter_idl.matter_idl_types import (Attribute, Cluster, Command, DataType, Field, FieldQuality, Idl, Struct, StructQuality, +from matter.idl.matter_idl_types import (Attribute, Cluster, Command, DataType, Field, FieldQuality, Idl, Struct, StructQuality, StructTag) diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/MatterClusters.jinja b/scripts/py_matter_idl/matter/idl/generators/kotlin/MatterClusters.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/kotlin/MatterClusters.jinja rename to scripts/py_matter_idl/matter/idl/generators/kotlin/MatterClusters.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/MatterEventStructs.jinja b/scripts/py_matter_idl/matter/idl/generators/kotlin/MatterEventStructs.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/kotlin/MatterEventStructs.jinja rename to scripts/py_matter_idl/matter/idl/generators/kotlin/MatterEventStructs.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/MatterFiles_gni.jinja b/scripts/py_matter_idl/matter/idl/generators/kotlin/MatterFiles_gni.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/kotlin/MatterFiles_gni.jinja rename to scripts/py_matter_idl/matter/idl/generators/kotlin/MatterFiles_gni.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/MatterStructs.jinja b/scripts/py_matter_idl/matter/idl/generators/kotlin/MatterStructs.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/kotlin/MatterStructs.jinja rename to scripts/py_matter_idl/matter/idl/generators/kotlin/MatterStructs.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py b/scripts/py_matter_idl/matter/idl/generators/kotlin/__init__.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/kotlin/__init__.py index 405f505a09..a99576153d 100644 --- a/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/kotlin/__init__.py @@ -19,11 +19,11 @@ import os from typing import List, Optional, Set -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.generators.filters import upfirst -from matter_idl.generators.type_definitions import (BasicInteger, BasicString, FundamentalType, IdlBitmapType, IdlEnumType, IdlType, +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.generators.filters import upfirst +from matter.idl.generators.type_definitions import (BasicInteger, BasicString, FundamentalType, IdlBitmapType, IdlEnumType, IdlType, ParseDataType, TypeLookupContext) -from matter_idl.matter_idl_types import (Attribute, Cluster, Command, DataType, Field, FieldQuality, Idl, Struct, StructQuality, +from matter.idl.matter_idl_types import (Attribute, Cluster, Command, DataType, Field, FieldQuality, Idl, Struct, StructQuality, StructTag) diff --git a/scripts/py_matter_idl/matter_idl/generators/markdown/__init__.py b/scripts/py_matter_idl/matter/idl/generators/markdown/__init__.py similarity index 91% rename from scripts/py_matter_idl/matter_idl/generators/markdown/__init__.py rename to scripts/py_matter_idl/matter/idl/generators/markdown/__init__.py index 3acb05110c..b328a4eab2 100644 --- a/scripts/py_matter_idl/matter_idl/generators/markdown/__init__.py +++ b/scripts/py_matter_idl/matter/idl/generators/markdown/__init__.py @@ -13,8 +13,8 @@ # limitations under the License. import os -from matter_idl.generators import CodeGenerator, GeneratorStorage -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import CodeGenerator, GeneratorStorage +from matter.idl.matter_idl_types import Idl class SummaryMarkdownGenerator(CodeGenerator): diff --git a/scripts/py_matter_idl/matter_idl/generators/markdown/clusters_markdown.jinja b/scripts/py_matter_idl/matter/idl/generators/markdown/clusters_markdown.jinja similarity index 100% rename from scripts/py_matter_idl/matter_idl/generators/markdown/clusters_markdown.jinja rename to scripts/py_matter_idl/matter/idl/generators/markdown/clusters_markdown.jinja diff --git a/scripts/py_matter_idl/matter_idl/generators/registry.py b/scripts/py_matter_idl/matter/idl/generators/registry.py similarity index 89% rename from scripts/py_matter_idl/matter_idl/generators/registry.py rename to scripts/py_matter_idl/matter/idl/generators/registry.py index e1851964d3..492c9cdcbb 100644 --- a/scripts/py_matter_idl/matter_idl/generators/registry.py +++ b/scripts/py_matter_idl/matter/idl/generators/registry.py @@ -15,12 +15,12 @@ import enum import importlib -from matter_idl.generators.cpp.application import CppApplicationGenerator -from matter_idl.generators.cpp.tlvmeta import TLVMetaDataGenerator -from matter_idl.generators.idl import IdlGenerator -from matter_idl.generators.java import JavaClassGenerator, JavaJNIGenerator -from matter_idl.generators.kotlin import KotlinClassGenerator -from matter_idl.generators.markdown import SummaryMarkdownGenerator +from matter.idl.generators.cpp.application import CppApplicationGenerator +from matter.idl.generators.cpp.tlvmeta import TLVMetaDataGenerator +from matter.idl.generators.idl import IdlGenerator +from matter.idl.generators.java import JavaClassGenerator, JavaJNIGenerator +from matter.idl.generators.kotlin import KotlinClassGenerator +from matter.idl.generators.markdown import SummaryMarkdownGenerator class CodeGenerator(enum.Enum): diff --git a/scripts/py_matter_idl/matter_idl/generators/type_definitions.py b/scripts/py_matter_idl/matter/idl/generators/type_definitions.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/generators/type_definitions.py rename to scripts/py_matter_idl/matter/idl/generators/type_definitions.py index 4f9fa56779..620b7dcfd1 100644 --- a/scripts/py_matter_idl/matter_idl/generators/type_definitions.py +++ b/scripts/py_matter_idl/matter/idl/generators/type_definitions.py @@ -17,8 +17,8 @@ from dataclasses import dataclass from typing import Optional, Union -from matter_idl import matter_idl_types # to explicitly say 'Enum' -from matter_idl.matter_idl_types import DataType +from matter.idl import matter_idl_types # to explicitly say 'Enum' +from matter.idl.matter_idl_types import DataType def ToPowerOfTwo(bits: int) -> int: diff --git a/scripts/py_matter_idl/matter_idl/lint/__init__.py b/scripts/py_matter_idl/matter/idl/lint/__init__.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/lint/__init__.py rename to scripts/py_matter_idl/matter/idl/lint/__init__.py diff --git a/scripts/py_matter_idl/matter_idl/lint/lint_rules_grammar.lark b/scripts/py_matter_idl/matter/idl/lint/lint_rules_grammar.lark similarity index 100% rename from scripts/py_matter_idl/matter_idl/lint/lint_rules_grammar.lark rename to scripts/py_matter_idl/matter/idl/lint/lint_rules_grammar.lark diff --git a/scripts/py_matter_idl/matter_idl/lint/lint_rules_parser.py b/scripts/py_matter_idl/matter/idl/lint/lint_rules_parser.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/lint/lint_rules_parser.py rename to scripts/py_matter_idl/matter/idl/lint/lint_rules_parser.py index 6723c0956d..70e9ffb3c2 100755 --- a/scripts/py_matter_idl/matter_idl/lint/lint_rules_parser.py +++ b/scripts/py_matter_idl/matter/idl/lint/lint_rules_parser.py @@ -11,14 +11,14 @@ from lark.visitors import Discard, Transformer, v_args try: - from matter_idl.lint.type_definitions import AttributeRequirement + from matter.idl.lint.type_definitions import AttributeRequirement except ImportError: import sys sys.path.append(os.path.join(os.path.abspath( os.path.dirname(__file__)), "..", "..")) - from matter_idl.lint.type_definitions import AttributeRequirement + from matter.idl.lint.type_definitions import AttributeRequirement -from matter_idl.lint.type_definitions import (ClusterAttributeDeny, ClusterCommandRequirement, ClusterRequirement, +from matter.idl.lint.type_definitions import (ClusterAttributeDeny, ClusterCommandRequirement, ClusterRequirement, ClusterValidationRule, RequiredAttributesRule, RequiredCommandsRule) diff --git a/scripts/py_matter_idl/matter_idl/lint/type_definitions.py b/scripts/py_matter_idl/matter/idl/lint/type_definitions.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/lint/type_definitions.py rename to scripts/py_matter_idl/matter/idl/lint/type_definitions.py index 17af58562f..06a419a5bb 100644 --- a/scripts/py_matter_idl/matter_idl/lint/type_definitions.py +++ b/scripts/py_matter_idl/matter/idl/lint/type_definitions.py @@ -16,7 +16,7 @@ from dataclasses import dataclass, field from typing import List, MutableMapping, Optional, Union -from matter_idl.matter_idl_types import Idl, ParseMetaData +from matter.idl.matter_idl_types import Idl, ParseMetaData class MissingIdlError(Exception): diff --git a/scripts/py_matter_idl/matter_idl/matter_grammar.lark b/scripts/py_matter_idl/matter/idl/matter_grammar.lark similarity index 100% rename from scripts/py_matter_idl/matter_idl/matter_grammar.lark rename to scripts/py_matter_idl/matter/idl/matter_grammar.lark diff --git a/scripts/py_matter_idl/matter_idl/matter_idl_parser.py b/scripts/py_matter_idl/matter/idl/matter_idl_parser.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/matter_idl_parser.py rename to scripts/py_matter_idl/matter/idl/matter_idl_parser.py index e071d008d1..5d086f11ad 100755 --- a/scripts/py_matter_idl/matter_idl/matter_idl_parser.py +++ b/scripts/py_matter_idl/matter/idl/matter_idl_parser.py @@ -3,6 +3,8 @@ import dataclasses import functools import logging +import sys +from pathlib import Path from typing import Dict, Optional, Set from lark import Lark @@ -10,16 +12,12 @@ from lark.visitors import Transformer, v_args try: - from matter_idl.matter_idl_types import AccessPrivilege + from matter.idl.matter_idl_types import AccessPrivilege except ModuleNotFoundError: - import os - import sys - sys.path.append(os.path.dirname( - os.path.dirname(os.path.abspath(__file__)))) + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.matter_idl_types import AccessPrivilege - from matter_idl.matter_idl_types import AccessPrivilege - -from matter_idl.matter_idl_types import (ApiMaturity, Attribute, AttributeInstantiation, AttributeOperation, AttributeQuality, +from matter.idl.matter_idl_types import (ApiMaturity, Attribute, AttributeInstantiation, AttributeOperation, AttributeQuality, AttributeStorage, Bitmap, Cluster, Command, CommandInstantiation, CommandQuality, ConstantEntry, DataType, DeviceType, Endpoint, Enum, Event, EventPriority, EventQuality, Field, FieldQuality, Idl, ParseMetaData, ServerClusterInstantiation, Struct, StructQuality, diff --git a/scripts/py_matter_idl/matter_idl/matter_idl_types.py b/scripts/py_matter_idl/matter/idl/matter_idl_types.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/matter_idl_types.py rename to scripts/py_matter_idl/matter/idl/matter_idl_types.py diff --git a/scripts/py_matter_idl/matter_idl/py.typed b/scripts/py_matter_idl/matter/idl/py.typed similarity index 100% rename from scripts/py_matter_idl/matter_idl/py.typed rename to scripts/py_matter_idl/matter/idl/py.typed diff --git a/scripts/py_matter_idl/matter_idl/test_backwards_compatibility.py b/scripts/py_matter_idl/matter/idl/test_backwards_compatibility.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/test_backwards_compatibility.py rename to scripts/py_matter_idl/matter/idl/test_backwards_compatibility.py index 43a273fa1f..2b3947ffca 100755 --- a/scripts/py_matter_idl/matter_idl/test_backwards_compatibility.py +++ b/scripts/py_matter_idl/matter/idl/test_backwards_compatibility.py @@ -14,21 +14,19 @@ # limitations under the License. import logging +import sys import unittest from enum import Flag, auto +from pathlib import Path try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ImportError: - import os - import sys + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.matter_idl_parser import CreateParser - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.matter_idl_parser import CreateParser - -from matter_idl.backwards_compatibility import CompatibilityChecker, is_backwards_compatible -from matter_idl.matter_idl_types import Idl +from matter.idl.backwards_compatibility import CompatibilityChecker, is_backwards_compatible +from matter.idl.matter_idl_types import Idl class Compatibility(Flag): diff --git a/scripts/py_matter_idl/matter_idl/test_case_conversion.py b/scripts/py_matter_idl/matter/idl/test_case_conversion.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/test_case_conversion.py rename to scripts/py_matter_idl/matter/idl/test_case_conversion.py index 7d8381530a..87524c8f67 100644 --- a/scripts/py_matter_idl/matter_idl/test_case_conversion.py +++ b/scripts/py_matter_idl/matter/idl/test_case_conversion.py @@ -1,7 +1,7 @@ import unittest -import matter_idl.generators.filters as case_convert +import matter.idl.generators.filters as case_convert ''' This file contains tests for checking five of the case conversion functions, notably: snake_case, CONSTANT_CASE, spinal-case, PascalCase and camelCase. diff --git a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py b/scripts/py_matter_idl/matter/idl/test_data_model_xml.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/test_data_model_xml.py rename to scripts/py_matter_idl/matter/idl/test_data_model_xml.py index 7a606cc2ec..1bd60ed3f8 100755 --- a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py +++ b/scripts/py_matter_idl/matter/idl/test_data_model_xml.py @@ -14,24 +14,22 @@ # limitations under the License. import io +import sys import unittest from difflib import unified_diff +from pathlib import Path from typing import List, Optional, Union try: - from matter_idl.data_model_xml import ParseSource, ParseXmls + from matter.idl.data_model_xml import ParseSource, ParseXmls except ImportError: - import os - import sys + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.data_model_xml import ParseSource, ParseXmls - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.data_model_xml import ParseSource, ParseXmls - -from matter_idl.generators import GeneratorStorage -from matter_idl.generators.idl import IdlGenerator -from matter_idl.matter_idl_parser import CreateParser -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import GeneratorStorage +from matter.idl.generators.idl import IdlGenerator +from matter.idl.matter_idl_parser import CreateParser +from matter.idl.matter_idl_types import Idl class GeneratorContentStorage(GeneratorStorage): diff --git a/scripts/py_matter_idl/matter_idl/test_generators.py b/scripts/py_matter_idl/matter/idl/test_generators.py similarity index 91% rename from scripts/py_matter_idl/matter_idl/test_generators.py rename to scripts/py_matter_idl/matter/idl/test_generators.py index 31f95bbdff..d209406e78 100755 --- a/scripts/py_matter_idl/matter_idl/test_generators.py +++ b/scripts/py_matter_idl/matter/idl/test_generators.py @@ -18,23 +18,22 @@ import sys import unittest from dataclasses import dataclass, field +from pathlib import Path from typing import List import yaml try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ImportError: + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.matter_idl_parser import CreateParser - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.matter_idl_parser import CreateParser - -from matter_idl.generators import GeneratorStorage -from matter_idl.generators.cpp.application import CppApplicationGenerator -from matter_idl.generators.cpp.tlvmeta import TLVMetaDataGenerator -from matter_idl.generators.java import JavaClassGenerator, JavaJNIGenerator -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import GeneratorStorage +from matter.idl.generators.cpp.application import CppApplicationGenerator +from matter.idl.generators.cpp.tlvmeta import TLVMetaDataGenerator +from matter.idl.generators.java import JavaClassGenerator, JavaJNIGenerator +from matter.idl.matter_idl_types import Idl TESTS_DIR = os.path.join(os.path.dirname(__file__), "tests") REGENERATE_GOLDEN_IMAGES = False @@ -126,7 +125,7 @@ def _create_generator(self, storage: GeneratorStorage, idl: Idl): return TLVMetaDataGenerator(storage, idl, table_name="clusters_meta") if self.generator_name.lower() == 'custom-example-proto': sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '../examples'))) + os.path.join(os.path.dirname(__file__), '../../examples'))) from matter_idl_plugin import CustomGenerator return CustomGenerator(storage, idl, package='com.matter.example.proto') else: diff --git a/scripts/py_matter_idl/matter_idl/test_idl_generator.py b/scripts/py_matter_idl/matter/idl/test_idl_generator.py similarity index 91% rename from scripts/py_matter_idl/matter_idl/test_idl_generator.py rename to scripts/py_matter_idl/matter/idl/test_idl_generator.py index b030f8b838..bdc3a3acec 100755 --- a/scripts/py_matter_idl/matter_idl/test_idl_generator.py +++ b/scripts/py_matter_idl/matter/idl/test_idl_generator.py @@ -18,19 +18,18 @@ import sys import unittest from difflib import unified_diff +from pathlib import Path from typing import List, Optional try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ImportError: + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.matter_idl_parser import CreateParser - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.matter_idl_parser import CreateParser - -from matter_idl.generators import GeneratorStorage -from matter_idl.generators.idl import IdlGenerator -from matter_idl.matter_idl_types import Idl +from matter.idl.generators import GeneratorStorage +from matter.idl.generators.idl import IdlGenerator +from matter.idl.matter_idl_types import Idl class TestCaseStorage(GeneratorStorage): @@ -50,7 +49,7 @@ def write_new_data(self, relative_path: str, content: str): def ReadMatterIdl(repo_path: str) -> str: - path = os.path.join(os.path.dirname(__file__), "../../..", repo_path) + path = os.path.join(os.path.dirname(__file__), "../../../..", repo_path) with open(path, "rt") as stream: return stream.read() diff --git a/scripts/py_matter_idl/matter_idl/test_matter_idl_parser.py b/scripts/py_matter_idl/matter/idl/test_matter_idl_parser.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/test_matter_idl_parser.py rename to scripts/py_matter_idl/matter/idl/test_matter_idl_parser.py index ab79c279b0..de1785198f 100755 --- a/scripts/py_matter_idl/matter_idl/test_matter_idl_parser.py +++ b/scripts/py_matter_idl/matter/idl/test_matter_idl_parser.py @@ -14,24 +14,22 @@ # See the License for the specific language governing permissions and # limitations under the License. +import sys from difflib import unified_diff +from pathlib import Path try: - from matter_idl.matter_idl_parser import CreateParser + from matter.idl.matter_idl_parser import CreateParser except ModuleNotFoundError: - import os - import sys - sys.path.append(os.path.dirname( - os.path.dirname(os.path.abspath(__file__)))) - - from matter_idl.matter_idl_parser import CreateParser + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.matter_idl_parser import CreateParser import unittest from typing import Optional -from matter_idl.generators import GeneratorStorage -from matter_idl.generators.idl import IdlGenerator -from matter_idl.matter_idl_types import (AccessPrivilege, ApiMaturity, Attribute, AttributeInstantiation, AttributeQuality, +from matter.idl.generators import GeneratorStorage +from matter.idl.generators.idl import IdlGenerator +from matter.idl.matter_idl_types import (AccessPrivilege, ApiMaturity, Attribute, AttributeInstantiation, AttributeQuality, AttributeStorage, Bitmap, Cluster, Command, CommandInstantiation, CommandQuality, ConstantEntry, DataType, DeviceType, Endpoint, Enum, Event, EventPriority, EventQuality, Field, FieldQuality, Idl, ParseMetaData, ServerClusterInstantiation, Struct, StructTag) diff --git a/scripts/py_matter_idl/matter_idl/test_supported_types.py b/scripts/py_matter_idl/matter/idl/test_supported_types.py similarity index 90% rename from scripts/py_matter_idl/matter_idl/test_supported_types.py rename to scripts/py_matter_idl/matter/idl/test_supported_types.py index f6eec7cf84..68c76790d5 100755 --- a/scripts/py_matter_idl/matter_idl/test_supported_types.py +++ b/scripts/py_matter_idl/matter/idl/test_supported_types.py @@ -14,20 +14,19 @@ # limitations under the License. import os +import sys import unittest import xml.etree.ElementTree as ET +from pathlib import Path try: - from matter_idl.generators.type_definitions import ParseDataType + from matter.idl.generators.type_definitions import ParseDataType except ImportError: - import sys + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.generators.type_definitions import ParseDataType - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.generators.type_definitions import ParseDataType - -from matter_idl.generators.type_definitions import BasicInteger, TypeLookupContext -from matter_idl.matter_idl_types import DataType, Idl +from matter.idl.generators.type_definitions import BasicInteger, TypeLookupContext +from matter.idl.matter_idl_types import DataType, Idl class TestSupportedTypes(unittest.TestCase): @@ -40,7 +39,7 @@ def testAllTypesSupported(self): # ALL types defined in chip-types.xml should be understandable # by the generator type parsing path = "src/app/zap-templates/zcl/data-model/chip/chip-types.xml" - path = os.path.join(os.path.dirname(__file__), "../../..", path) + path = os.path.join(os.path.dirname(__file__), "../../../..", path) dom = ET.parse(path).getroot() # Format we expect: diff --git a/scripts/py_matter_idl/matter_idl/test_zapxml.py b/scripts/py_matter_idl/matter/idl/test_zapxml.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/test_zapxml.py rename to scripts/py_matter_idl/matter/idl/test_zapxml.py index 2bf4338d20..9aa93be95c 100755 --- a/scripts/py_matter_idl/matter_idl/test_zapxml.py +++ b/scripts/py_matter_idl/matter/idl/test_zapxml.py @@ -14,20 +14,18 @@ # limitations under the License. import io +import sys import unittest +from pathlib import Path from typing import List, Union try: - from matter_idl.zapxml import ParseSource, ParseXmls + from matter.idl.zapxml import ParseSource, ParseXmls except ImportError: - import os - import sys + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.zapxml import ParseSource, ParseXmls - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.zapxml import ParseSource, ParseXmls - -from matter_idl.matter_idl_types import (AccessPrivilege, Attribute, AttributeQuality, Bitmap, Cluster, Command, ConstantEntry, +from matter.idl.matter_idl_types import (AccessPrivilege, Attribute, AttributeQuality, Bitmap, Cluster, Command, ConstantEntry, DataType, Enum, Event, EventPriority, EventQuality, Field, FieldQuality, Idl, Struct, StructQuality, StructTag) diff --git a/scripts/py_matter_idl/matter_idl/tests/available_tests.yaml b/scripts/py_matter_idl/matter/idl/tests/available_tests.yaml similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/available_tests.yaml rename to scripts/py_matter_idl/matter/idl/tests/available_tests.yaml diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/cluster_struct_attribute.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/cluster_struct_attribute.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/cluster_struct_attribute.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/cluster_struct_attribute.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/cluster_with_commands.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/cluster_with_commands.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/cluster_with_commands.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/cluster_with_commands.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/global_struct_attribute.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/global_struct_attribute.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/global_struct_attribute.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/global_struct_attribute.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/large_all_clusters_app.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/large_all_clusters_app.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/large_all_clusters_app.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/large_all_clusters_app.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/large_lighting_app.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/large_lighting_app.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/large_lighting_app.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/large_lighting_app.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/optional_argument.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/optional_argument.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/optional_argument.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/optional_argument.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/several_clusters.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/several_clusters.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/several_clusters.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/several_clusters.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/inputs/simple_attribute.matter b/scripts/py_matter_idl/matter/idl/tests/inputs/simple_attribute.matter similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/inputs/simple_attribute.matter rename to scripts/py_matter_idl/matter/idl/tests/inputs/simple_attribute.matter diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.h b/scripts/py_matter_idl/matter/idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.h similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.h rename to scripts/py_matter_idl/matter/idl/tests/outputs/cluster_struct_attribute/cpp-tlvmeta/clusters_meta.h diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.h b/scripts/py_matter_idl/matter/idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.h similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.h rename to scripts/py_matter_idl/matter/idl/tests/outputs/cluster_with_commands/cpp-tlvmeta/clusters_meta.h diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/PluginApplicationCallbacks.h b/scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/PluginApplicationCallbacks.h similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/PluginApplicationCallbacks.h rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/PluginApplicationCallbacks.h diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/callback-stub.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/callback-stub.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/callback-stub.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/callback-stub.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/cluster-init-callback.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/cluster-init-callback.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_all_clusters_app/cpp-app/cluster-init-callback.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_all_clusters_app/cpp-app/cluster-init-callback.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/PluginApplicationCallbacks.h b/scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/PluginApplicationCallbacks.h similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/PluginApplicationCallbacks.h rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/PluginApplicationCallbacks.h diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/callback-stub.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/callback-stub.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/callback-stub.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/callback-stub.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/cluster-init-callback.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/cluster-init-callback.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/large_lighting_app/cpp-app/cluster-init-callback.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/large_lighting_app/cpp-app/cluster-init-callback.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/proto/first_cluster.proto b/scripts/py_matter_idl/matter/idl/tests/outputs/proto/first_cluster.proto similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/proto/first_cluster.proto rename to scripts/py_matter_idl/matter/idl/tests/outputs/proto/first_cluster.proto diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/proto/second_cluster.proto b/scripts/py_matter_idl/matter/idl/tests/outputs/proto/second_cluster.proto similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/proto/second_cluster.proto rename to scripts/py_matter_idl/matter/idl/tests/outputs/proto/second_cluster.proto diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/proto/third_cluster.proto b/scripts/py_matter_idl/matter/idl/tests/outputs/proto/third_cluster.proto similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/proto/third_cluster.proto rename to scripts/py_matter_idl/matter/idl/tests/outputs/proto/third_cluster.proto diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/PluginApplicationCallbacks.h b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/PluginApplicationCallbacks.h similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/PluginApplicationCallbacks.h rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/PluginApplicationCallbacks.h diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/callback-stub.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/callback-stub.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/callback-stub.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/callback-stub.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/cluster-init-callback.cpp b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/cluster-init-callback.cpp similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/cpp-app/cluster-init-callback.cpp rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/cpp-app/cluster-init-callback.cpp diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipClusters.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipClusters.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipEventStructs.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipEventStructs.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipEventStructs.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipEventStructs.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipStructs.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipStructs.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipStructs.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ChipStructs.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterIDMapping.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterIDMapping.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterIDMapping.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterIDMapping.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterInfoMapping.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterReadMapping.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterReadMapping.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterReadMapping.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterReadMapping.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/ClusterWriteMapping.java diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/SecondClusterFabricDescriptorStruct.kt b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/SecondClusterFabricDescriptorStruct.kt similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/SecondClusterFabricDescriptorStruct.kt rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/SecondClusterFabricDescriptorStruct.kt diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/files.gni b/scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/files.gni similarity index 100% rename from scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/files.gni rename to scripts/py_matter_idl/matter/idl/tests/outputs/several_clusters/java/files.gni diff --git a/scripts/py_matter_idl/matter_idl/zapxml/__init__.py b/scripts/py_matter_idl/matter/idl/zapxml/__init__.py similarity index 95% rename from scripts/py_matter_idl/matter_idl/zapxml/__init__.py rename to scripts/py_matter_idl/matter/idl/zapxml/__init__.py index 606abc6c9b..0116aebaf3 100644 --- a/scripts/py_matter_idl/matter_idl/zapxml/__init__.py +++ b/scripts/py_matter_idl/matter/idl/zapxml/__init__.py @@ -18,8 +18,8 @@ from dataclasses import dataclass from typing import List, Optional, Union -from matter_idl.matter_idl_types import Idl -from matter_idl.zapxml.handlers import Context, ZapXmlHandler +from matter.idl.matter_idl_types import Idl +from matter.idl.zapxml.handlers import Context, ZapXmlHandler class ParseHandler(xml.sax.handler.ContentHandler): @@ -31,7 +31,7 @@ class ParseHandler(xml.sax.handler.ContentHandler): - sets up parsing location within the context - keeps track of ParsePath - Overall converts a python SAX handler into matter_idl.zapxml.handlers + Overall converts a python SAX handler into matter.idl.zapxml.handlers """ def __init__(self, include_meta_data=True): diff --git a/scripts/py_matter_idl/matter_idl/zapxml/handlers/__init__.py b/scripts/py_matter_idl/matter/idl/zapxml/handlers/__init__.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/zapxml/handlers/__init__.py rename to scripts/py_matter_idl/matter/idl/zapxml/handlers/__init__.py index 3745954a19..f20f86fbc5 100644 --- a/scripts/py_matter_idl/matter_idl/zapxml/handlers/__init__.py +++ b/scripts/py_matter_idl/matter/idl/zapxml/handlers/__init__.py @@ -12,12 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. +from matter.idl.matter_idl_types import Idl + from .base import BaseHandler from .context import Context from .handlers import ConfiguratorHandler -from matter_idl.matter_idl_types import Idl - class ZapXmlHandler(BaseHandler): """Handles the top level (/) of a zap xml file. diff --git a/scripts/py_matter_idl/matter_idl/zapxml/handlers/base.py b/scripts/py_matter_idl/matter/idl/zapxml/handlers/base.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/zapxml/handlers/base.py rename to scripts/py_matter_idl/matter/idl/zapxml/handlers/base.py diff --git a/scripts/py_matter_idl/matter_idl/zapxml/handlers/context.py b/scripts/py_matter_idl/matter/idl/zapxml/handlers/context.py similarity index 98% rename from scripts/py_matter_idl/matter_idl/zapxml/handlers/context.py rename to scripts/py_matter_idl/matter/idl/zapxml/handlers/context.py index 230016e1eb..afb634d455 100644 --- a/scripts/py_matter_idl/matter_idl/zapxml/handlers/context.py +++ b/scripts/py_matter_idl/matter/idl/zapxml/handlers/context.py @@ -16,7 +16,7 @@ import xml.sax.xmlreader from typing import List, Optional -from matter_idl.matter_idl_types import Attribute, Idl, ParseMetaData +from matter.idl.matter_idl_types import Attribute, Idl, ParseMetaData class IdlPostProcessor: diff --git a/scripts/py_matter_idl/matter_idl/zapxml/handlers/handlers.py b/scripts/py_matter_idl/matter/idl/zapxml/handlers/handlers.py similarity index 99% rename from scripts/py_matter_idl/matter_idl/zapxml/handlers/handlers.py rename to scripts/py_matter_idl/matter/idl/zapxml/handlers/handlers.py index a303f263f1..1c10873a12 100644 --- a/scripts/py_matter_idl/matter_idl/zapxml/handlers/handlers.py +++ b/scripts/py_matter_idl/matter/idl/zapxml/handlers/handlers.py @@ -15,7 +15,7 @@ import logging from typing import Any, Optional -from matter_idl.matter_idl_types import (Attribute, Bitmap, Cluster, Command, CommandQuality, ConstantEntry, DataType, Enum, Event, +from matter.idl.matter_idl_types import (Attribute, Bitmap, Cluster, Command, CommandQuality, ConstantEntry, DataType, Enum, Event, EventPriority, EventQuality, Field, FieldQuality, Idl, Struct, StructQuality, StructTag) from .base import BaseHandler, HandledDepth @@ -357,7 +357,7 @@ def EndProcessing(self): class FeaturesHandler(BaseHandler): - """Handles .../features + """Handles .../features Attaches a "Feature" bitmap to the given structure """ diff --git a/scripts/py_matter_idl/matter_idl/zapxml/handlers/parsing.py b/scripts/py_matter_idl/matter/idl/zapxml/handlers/parsing.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/zapxml/handlers/parsing.py rename to scripts/py_matter_idl/matter/idl/zapxml/handlers/parsing.py index 30ca8a5956..3a8de98ca7 100644 --- a/scripts/py_matter_idl/matter_idl/zapxml/handlers/parsing.py +++ b/scripts/py_matter_idl/matter/idl/zapxml/handlers/parsing.py @@ -14,8 +14,8 @@ from typing import Optional -from matter_idl.generators.type_definitions import GetDataTypeSizeInBits, IsSignedDataType -from matter_idl.matter_idl_types import AccessPrivilege, Attribute, AttributeQuality, DataType, Field, FieldQuality +from matter.idl.generators.type_definitions import GetDataTypeSizeInBits, IsSignedDataType +from matter.idl.matter_idl_types import AccessPrivilege, Attribute, AttributeQuality, DataType, Field, FieldQuality def ParseInt(value: str, data_type: Optional[DataType] = None) -> int: diff --git a/scripts/py_matter_idl/matter_idl/zapxml_parser.py b/scripts/py_matter_idl/matter/idl/zapxml_parser.py similarity index 88% rename from scripts/py_matter_idl/matter_idl/zapxml_parser.py rename to scripts/py_matter_idl/matter/idl/zapxml_parser.py index 1f9593cd2a..49f496af5d 100755 --- a/scripts/py_matter_idl/matter_idl/zapxml_parser.py +++ b/scripts/py_matter_idl/matter/idl/zapxml_parser.py @@ -15,23 +15,22 @@ # limitations under the License. import logging -import os +import sys +from pathlib import Path from typing import Optional try: - from matter_idl.zapxml import ParseSource, ParseXmls + from matter.idl.zapxml import ParseSource, ParseXmls except ImportError: - import sys - - sys.path.append(os.path.abspath( - os.path.join(os.path.dirname(__file__), '..'))) - from matter_idl.zapxml import ParseSource, ParseXmls + sys.path.append(str(Path(__file__).resolve().parent / ".." / "..")) + from matter.idl.zapxml import ParseSource, ParseXmls if __name__ == '__main__': import click - from matter_idl.generators import GeneratorStorage - from matter_idl.generators.idl import IdlGenerator + + from matter.idl.generators import GeneratorStorage + from matter.idl.generators.idl import IdlGenerator class InMemoryStorage(GeneratorStorage): def __init__(self): diff --git a/scripts/py_matter_idl/setup.cfg b/scripts/py_matter_idl/setup.cfg index 25f7f6d3bf..f128be6f71 100644 --- a/scripts/py_matter_idl/setup.cfg +++ b/scripts/py_matter_idl/setup.cfg @@ -13,29 +13,22 @@ # limitations under the License. [metadata] -name = matter_idl -version = 0.0.1 -author = Project CHIP Authors -description = Parse matter idl files +name = matter-idl +version = 1.0.0 +description = Parse matter IDL files [options] -packages = find: -zip_safe = False -install_requires= - lark - jinja2 +packages = find_namespace: +include_package_data = True +install_requires = + lark + jinja2 + +[options.packages.find] +include = matter.idl* [options.package_data] -matter_idl = - lint/lint_rules_grammar.lark - matter_grammar.lark - generators/cpp/application/CallbackStubSource.jinja - generators/cpp/application/ClusterInitCallbackSource.jinja - generators/cpp/application/PluginApplicationCallbacksHeader.jinja - generators/cpp/tlvmeta/TLVMetaData_cpp.jinja - generators/cpp/tlvmeta/TLVMetaData_h.jinja - generators/idl/MatterIdl.jinja - generators/java/ClusterIDMapping.jinja - generators/java/ClusterReadMapping.jinja - generators/java/ClusterWriteMapping.jinja - py.typed +* = + *.lark + *.jinja + *.typed diff --git a/scripts/py_matter_yamltests/matter_yamltests/definitions.py b/scripts/py_matter_yamltests/matter_yamltests/definitions.py index bc77e913dd..38120fdc08 100644 --- a/scripts/py_matter_yamltests/matter_yamltests/definitions.py +++ b/scripts/py_matter_yamltests/matter_yamltests/definitions.py @@ -18,9 +18,9 @@ import io from typing import List, Optional -from matter_idl.matter_idl_types import (Attribute, Bitmap, Cluster, Command, Enum, Event, FieldQuality, Struct, StructQuality, +from matter.idl.matter_idl_types import (Attribute, Bitmap, Cluster, Command, Enum, Event, FieldQuality, Struct, StructQuality, StructTag) -from matter_idl.zapxml import ParseSource, ParseXmls +from matter.idl.zapxml import ParseSource, ParseXmls from .pseudo_clusters.pseudo_clusters import PseudoClusters diff --git a/scripts/setup/requirements.build.txt b/scripts/setup/requirements.build.txt index 794e60f27a..816fe99a64 100644 --- a/scripts/setup/requirements.build.txt +++ b/scripts/setup/requirements.build.txt @@ -1,7 +1,7 @@ # Minimal requirements for building stand-alone CHIP applications. # # The list of Python packages required to perform a minimal CHIP -# application build should be kept as small as possible. +# application build should be kept as small as possible. # Ideally, core build scripts should depend only on the standard library. @@ -9,6 +9,6 @@ click click-option-group -# scripts/py_matter_idl/matter_idl +# scripts/py_matter_idl/matter/idl jinja2 lark diff --git a/scripts/tests/chiptest/yamltest_with_chip_repl_tester.py b/scripts/tests/chiptest/yamltest_with_chip_repl_tester.py index 70f9215f54..41d8deeafe 100644 --- a/scripts/tests/chiptest/yamltest_with_chip_repl_tester.py +++ b/scripts/tests/chiptest/yamltest_with_chip_repl_tester.py @@ -31,9 +31,9 @@ # isort: on -# ensure matter IDL is availale for import, otherwise set relative paths +# ensure matter IDL is available for import, otherwise set relative paths try: - from matter_idl import matter_idl_types + from matter.idl import matter_idl_types except ImportError: SCRIPT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')) import sys @@ -41,7 +41,7 @@ sys.path.append(os.path.join(SCRIPT_PATH, 'py_matter_idl')) sys.path.append(os.path.join(SCRIPT_PATH, 'py_matter_yamltests')) - from matter_idl import matter_idl_types + from matter.idl import matter_idl_types __ALL__ = (matter_idl_types) diff --git a/scripts/tests/chipyaml/relative_importer.py b/scripts/tests/chipyaml/relative_importer.py index 7e3cb5aab9..fac9909fa8 100644 --- a/scripts/tests/chipyaml/relative_importer.py +++ b/scripts/tests/chipyaml/relative_importer.py @@ -29,7 +29,7 @@ sys.path.append(os.path.join(SCRIPT_PATH, 'tests')) try: - import matter_idl # noqa: F401 + import matter.idl # noqa: F401 except ModuleNotFoundError: sys.path.append(os.path.join(SCRIPT_PATH, 'py_matter_idl')) diff --git a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h index 35bef46efe..3d536c3f54 100644 --- a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h +++ b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h @@ -551,7 +551,7 @@ #define GENERATED_DEFAULTS_COUNT (28) // This is an array of EmberAfAttributeMinMaxValue structures. -#define GENERATED_MIN_MAX_DEFAULT_COUNT 53 +#define GENERATED_MIN_MAX_DEFAULT_COUNT 54 #define GENERATED_MIN_MAX_DEFAULTS \ { \ \ @@ -574,6 +574,9 @@ /* Endpoint: 1, Cluster: Smoke CO Alarm (server) */ \ { (uint16_t) 0x1, (uint16_t) 0x0, (uint16_t) 0x2 }, /* SmokeSensitivityLevel */ \ \ + /* Endpoint: 1, Cluster: Boolean State Configuration (server) */ \ + { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x9 }, /* CurrentSensitivityLevel */ \ + \ /* Endpoint: 1, Cluster: Valve Configuration and Control (server) */ \ { (uint16_t) 0x64, (uint16_t) 0x1, (uint16_t) 0x64 }, /* DefaultOpenLevel */ \ \ @@ -1350,8 +1353,9 @@ { ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Boolean State Configuration (server) */ \ - { ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(INT8U), \ - ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* CurrentSensitivityLevel */ \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(7), 0x00000000, 1, ZAP_TYPE(INT8U), \ + ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | \ + ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* CurrentSensitivityLevel */ \ { ZAP_SIMPLE_DEFAULT(3), 0x00000001, 1, ZAP_TYPE(INT8U), 0 }, /* SupportedSensitivityLevels */ \ { ZAP_SIMPLE_DEFAULT(2), 0x00000002, 1, ZAP_TYPE(INT8U), 0 }, /* DefaultSensitivityLevel */ \ { ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(BITMAP8), 0 }, /* AlarmsActive */ \ @@ -1373,7 +1377,7 @@ { ZAP_SIMPLE_DEFAULT(0xFF), 0x00000005, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* TargetState */ \ { ZAP_SIMPLE_DEFAULT(0xFF), 0x00000006, 1, ZAP_TYPE(PERCENT), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CurrentLevel */ \ { ZAP_SIMPLE_DEFAULT(0xFF), 0x00000007, 1, ZAP_TYPE(PERCENT), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* TargetLevel */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(7), 0x00000008, 1, ZAP_TYPE(PERCENT), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(8), 0x00000008, 1, ZAP_TYPE(PERCENT), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* DefaultOpenLevel */ \ { ZAP_SIMPLE_DEFAULT(0), 0x00000009, 2, ZAP_TYPE(BITMAP16), 0 }, /* ValveFault */ \ { ZAP_SIMPLE_DEFAULT(1), 0x0000000A, 1, ZAP_TYPE(INT8U), 0 }, /* LevelStep */ \ @@ -1472,7 +1476,7 @@ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* NextChargeRequiredEnergy */ \ { ZAP_EMPTY_DEFAULT(), 0x00000026, 1, ZAP_TYPE(PERCENT), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* NextChargeTargetSoC */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(8), 0x00000027, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(9), 0x00000027, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ApproximateEVEfficiency */ \ { ZAP_EMPTY_DEFAULT(), 0x00000040, 4, ZAP_TYPE(INT32U), \ @@ -1548,7 +1552,7 @@ ZAP_ATTRIBUTE_MASK(TOKENIZE) }, /* InstalledOpenLimitTilt */ \ { ZAP_SIMPLE_DEFAULT(0xFFFF), 0x00000013, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(TOKENIZE) }, /* InstalledClosedLimitTilt */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(9), 0x00000017, 1, ZAP_TYPE(BITMAP8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(10), 0x00000017, 1, ZAP_TYPE(BITMAP8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Mode */ \ { ZAP_SIMPLE_DEFAULT(0x00), 0x0000001A, 2, ZAP_TYPE(BITMAP16), 0 }, /* SafetyStatus */ \ { ZAP_SIMPLE_DEFAULT(0x17), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ @@ -1578,9 +1582,9 @@ { ZAP_EMPTY_DEFAULT(), 0x00000016, 3, ZAP_TYPE(INT24U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Power */ \ { ZAP_SIMPLE_DEFAULT(0x00000000), 0x00000017, 4, ZAP_TYPE(INT32U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LifetimeEnergyConsumed */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(10), 0x00000020, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(11), 0x00000020, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OperationMode */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(11), 0x00000021, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(12), 0x00000021, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ControlMode */ \ { ZAP_SIMPLE_DEFAULT(0x1F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ @@ -1591,23 +1595,23 @@ { ZAP_SIMPLE_DEFAULT(0x0BB8), 0x00000004, 2, ZAP_TYPE(TEMPERATURE), 0 }, /* AbsMaxHeatSetpointLimit */ \ { ZAP_SIMPLE_DEFAULT(0x0640), 0x00000005, 2, ZAP_TYPE(TEMPERATURE), 0 }, /* AbsMinCoolSetpointLimit */ \ { ZAP_SIMPLE_DEFAULT(0x0C80), 0x00000006, 2, ZAP_TYPE(TEMPERATURE), 0 }, /* AbsMaxCoolSetpointLimit */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(12), 0x00000011, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(13), 0x00000011, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OccupiedCoolingSetpoint */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(13), 0x00000012, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(14), 0x00000012, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OccupiedHeatingSetpoint */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(14), 0x00000015, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(15), 0x00000015, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MinHeatSetpointLimit */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(15), 0x00000016, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(16), 0x00000016, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MaxHeatSetpointLimit */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(16), 0x00000017, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(17), 0x00000017, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MinCoolSetpointLimit */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(17), 0x00000018, 2, ZAP_TYPE(TEMPERATURE), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(18), 0x00000018, 2, ZAP_TYPE(TEMPERATURE), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MaxCoolSetpointLimit */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(18), 0x00000019, 1, ZAP_TYPE(INT8S), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(19), 0x00000019, 1, ZAP_TYPE(INT8S), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MinSetpointDeadBand */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(19), 0x0000001B, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(20), 0x0000001B, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ControlSequenceOfOperation */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(20), 0x0000001C, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(21), 0x0000001C, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* SystemMode */ \ { ZAP_EMPTY_DEFAULT(), 0x00000048, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PresetTypes */ \ { ZAP_EMPTY_DEFAULT(), 0x00000049, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ScheduleTypes */ \ @@ -1626,33 +1630,33 @@ { ZAP_SIMPLE_DEFAULT(6), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fan Control (server) */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(21), 0x00000000, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(22), 0x00000000, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* FanMode */ \ { ZAP_SIMPLE_DEFAULT(0x02), 0x00000001, 1, ZAP_TYPE(ENUM8), 0 }, /* FanModeSequence */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(22), 0x00000002, 1, ZAP_TYPE(PERCENT), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(23), 0x00000002, 1, ZAP_TYPE(PERCENT), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PercentSetting */ \ { ZAP_SIMPLE_DEFAULT(0x00), 0x00000003, 1, ZAP_TYPE(PERCENT), 0 }, /* PercentCurrent */ \ { ZAP_SIMPLE_DEFAULT(100), 0x00000004, 1, ZAP_TYPE(INT8U), 0 }, /* SpeedMax */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(23), 0x00000005, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(24), 0x00000005, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SpeedSetting */ \ { ZAP_SIMPLE_DEFAULT(0x00), 0x00000006, 1, ZAP_TYPE(INT8U), 0 }, /* SpeedCurrent */ \ { ZAP_SIMPLE_DEFAULT(0x03), 0x00000007, 1, ZAP_TYPE(BITMAP8), 0 }, /* RockSupport */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(24), 0x00000008, 1, ZAP_TYPE(BITMAP8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(25), 0x00000008, 1, ZAP_TYPE(BITMAP8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* RockSetting */ \ { ZAP_SIMPLE_DEFAULT(0x03), 0x00000009, 1, ZAP_TYPE(BITMAP8), 0 }, /* WindSupport */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(25), 0x0000000A, 1, ZAP_TYPE(BITMAP8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(26), 0x0000000A, 1, ZAP_TYPE(BITMAP8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* WindSetting */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(26), 0x0000000B, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(27), 0x0000000B, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* AirflowDirection */ \ { ZAP_SIMPLE_DEFAULT(0x3F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ { ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(27), 0x00000000, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(28), 0x00000000, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* TemperatureDisplayMode */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(28), 0x00000001, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(29), 0x00000001, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* KeypadLockout */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(29), 0x00000002, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(30), 0x00000002, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ScheduleProgrammingVisibility */ \ { ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ { ZAP_SIMPLE_DEFAULT(2), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ @@ -1688,25 +1692,25 @@ { ZAP_EMPTY_DEFAULT(), 0x00000028, 2, ZAP_TYPE(INT16U), 0 }, /* Primary6X */ \ { ZAP_EMPTY_DEFAULT(), 0x00000029, 2, ZAP_TYPE(INT16U), 0 }, /* Primary6Y */ \ { ZAP_EMPTY_DEFAULT(), 0x0000002A, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Primary6Intensity */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(30), 0x00000030, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(31), 0x00000030, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* WhitePointX */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(31), 0x00000031, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(32), 0x00000031, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* WhitePointY */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(32), 0x00000032, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(33), 0x00000032, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointRX */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(33), 0x00000033, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(34), 0x00000033, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointRY */ \ { ZAP_EMPTY_DEFAULT(), 0x00000034, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointRIntensity */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(34), 0x00000036, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(35), 0x00000036, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointGX */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(35), 0x00000037, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(36), 0x00000037, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointGY */ \ { ZAP_EMPTY_DEFAULT(), 0x00000038, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointGIntensity */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(36), 0x0000003A, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(37), 0x0000003A, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointBX */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(37), 0x0000003B, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(38), 0x0000003B, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointBY */ \ { ZAP_EMPTY_DEFAULT(), 0x0000003C, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointBIntensity */ \ @@ -1721,7 +1725,7 @@ { ZAP_SIMPLE_DEFAULT(0x009A), 0x0000400B, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMinMireds */ \ { ZAP_SIMPLE_DEFAULT(0x01C6), 0x0000400C, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMaxMireds */ \ { ZAP_EMPTY_DEFAULT(), 0x0000400D, 2, ZAP_TYPE(INT16U), 0 }, /* CoupleColorTempToLevelMinMireds */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(38), 0x00004010, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(39), 0x00004010, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpColorTemperatureMireds */ \ { ZAP_SIMPLE_DEFAULT(0x1F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ @@ -1731,13 +1735,13 @@ { ZAP_SIMPLE_DEFAULT(0x01), 0x00000000, 1, ZAP_TYPE(INT8U), 0 }, /* PhysicalMinLevel */ \ { ZAP_SIMPLE_DEFAULT(0xFE), 0x00000001, 1, ZAP_TYPE(INT8U), 0 }, /* PhysicalMaxLevel */ \ { ZAP_SIMPLE_DEFAULT(0x00), 0x00000002, 1, ZAP_TYPE(BITMAP8), 0 }, /* BallastStatus */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(39), 0x00000010, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(40), 0x00000010, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MinLevel */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(40), 0x00000011, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(41), 0x00000011, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* MaxLevel */ \ { ZAP_EMPTY_DEFAULT(), 0x00000014, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* IntrinsicBallastFactor */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(41), 0x00000015, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(42), 0x00000015, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BallastFactorAdjustment */ \ { ZAP_EMPTY_DEFAULT(), 0x00000020, 1, ZAP_TYPE(INT8U), 0 }, /* LampQuantity */ \ @@ -1747,7 +1751,7 @@ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LampRatedHours */ \ { ZAP_SIMPLE_DEFAULT(0x000000), 0x00000033, 3, ZAP_TYPE(INT24U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LampBurnHours */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(42), 0x00000034, 1, ZAP_TYPE(BITMAP8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(43), 0x00000034, 1, ZAP_TYPE(BITMAP8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* LampAlarmMode */ \ { ZAP_SIMPLE_DEFAULT(0xFFFFFF), 0x00000035, 3, ZAP_TYPE(INT24U), \ ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LampBurnHoursTripPoint */ \ @@ -2032,7 +2036,7 @@ \ /* Endpoint: 1, Cluster: Chime (server) */ \ { ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* InstalledChimeSounds */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(43), 0x00000001, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(44), 0x00000001, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* SelectedChime */ \ { ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(BOOLEAN), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Enabled */ \ @@ -2085,13 +2089,13 @@ { ZAP_EMPTY_DEFAULT(), 0x00000024, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* enum_attr */ \ { ZAP_EMPTY_DEFAULT(), 0x00000025, 0, ZAP_TYPE(STRUCT), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* struct_attr */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(44), 0x00000026, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(45), 0x00000026, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int8u */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(45), 0x00000027, 1, ZAP_TYPE(INT8S), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(46), 0x00000027, 1, ZAP_TYPE(INT8S), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int8s */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(46), 0x00000028, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(47), 0x00000028, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int16u */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(47), 0x00000029, 2, ZAP_TYPE(INT16S), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(48), 0x00000029, 2, ZAP_TYPE(INT16S), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int16s */ \ { ZAP_EMPTY_DEFAULT(), 0x0000002A, 0, ZAP_TYPE(ARRAY), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* list_long_octet_string */ \ @@ -2162,16 +2166,16 @@ { ZAP_EMPTY_DEFAULT(), 0x00004025, 0, ZAP_TYPE(STRUCT), \ ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_struct */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(48), 0x00004026, 1, ZAP_TYPE(INT8U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(49), 0x00004026, 1, ZAP_TYPE(INT8U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int8u */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(49), 0x00004027, 1, ZAP_TYPE(INT8S), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(50), 0x00004027, 1, ZAP_TYPE(INT8S), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int8s */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(50), 0x00004028, 2, ZAP_TYPE(INT16U), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(51), 0x00004028, 2, ZAP_TYPE(INT16U), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int16u */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(51), 0x00004029, 2, ZAP_TYPE(INT16S), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(52), 0x00004029, 2, ZAP_TYPE(INT16S), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \ ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int16s */ \ { ZAP_EMPTY_DEFAULT(), 0x0000402A, 1, ZAP_TYPE(INT8U), \ @@ -2196,7 +2200,7 @@ { ZAP_SIMPLE_DEFAULT(1), 0x00004000, 1, ZAP_TYPE(BOOLEAN), 0 }, /* GlobalSceneControl */ \ { ZAP_SIMPLE_DEFAULT(0), 0x00004001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnTime */ \ { ZAP_SIMPLE_DEFAULT(0), 0x00004002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OffWaitTime */ \ - { ZAP_MIN_MAX_DEFAULTS_INDEX(52), 0x00004003, 1, ZAP_TYPE(ENUM8), \ + { ZAP_MIN_MAX_DEFAULTS_INDEX(53), 0x00004003, 1, ZAP_TYPE(ENUM8), \ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpOnOff */ \ { ZAP_SIMPLE_DEFAULT(0x0001), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \ { ZAP_SIMPLE_DEFAULT(6), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \ diff --git a/src/app/InteractionModelEngine.cpp b/src/app/InteractionModelEngine.cpp index 73e1f338a9..e0c8bce864 100644 --- a/src/app/InteractionModelEngine.cpp +++ b/src/app/InteractionModelEngine.cpp @@ -2185,14 +2185,10 @@ bool InteractionModelEngine::HasSubscriptionsToResume() void InteractionModelEngine::DecrementNumSubscriptionsToResume() { VerifyOrReturn(mNumOfSubscriptionsToResume > 0); -#if CHIP_CONFIG_ENABLE_ICD_CIP && !CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION - VerifyOrDie(mICDManager); -#endif // CHIP_CONFIG_ENABLE_ICD_CIP && !CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION - mNumOfSubscriptionsToResume--; #if CHIP_CONFIG_ENABLE_ICD_CIP && !CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION - if (!mNumOfSubscriptionsToResume) + if (mICDManager && !mNumOfSubscriptionsToResume) { mICDManager->SetBootUpResumeSubscriptionExecuted(); } diff --git a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp index ffc6a98003..837ac4d88f 100644 --- a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp +++ b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp @@ -1195,3 +1195,21 @@ bool emberAfOperationalCredentialsClusterAddTrustedRootCertificateCallback( commandObj->AddStatus(commandPath, finalStatus); return true; } + +bool emberAfOperationalCredentialsClusterSetVIDVerificationStatementCallback( + app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, + const Commands::SetVIDVerificationStatement::DecodableType & commandData) +{ + (void) commandData; + commandObj->AddStatus(commandPath, Status::UnsupportedCommand); + return true; +} + +bool emberAfOperationalCredentialsClusterSignVIDVerificationRequestCallback( + app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, + const Commands::SignVIDVerificationRequest::DecodableType & commandData) +{ + (void) commandData; + commandObj->AddStatus(commandPath, Status::UnsupportedCommand); + return true; +} diff --git a/src/app/data-model-provider/Context.h b/src/app/data-model-provider/Context.h index e5dc725f71..92f3c5ff4b 100644 --- a/src/app/data-model-provider/Context.h +++ b/src/app/data-model-provider/Context.h @@ -31,9 +31,9 @@ namespace DataModel { /// as well as fetching current state (via actionContext) struct InteractionModelContext { - EventsGenerator * eventsGenerator; - ProviderChangeListener * dataModelChangeListener; - ActionContext * actionContext; + EventsGenerator * eventsGenerator = nullptr; + ProviderChangeListener * dataModelChangeListener = nullptr; + ActionContext * actionContext = nullptr; }; } // namespace DataModel diff --git a/src/app/data-model-provider/Provider.h b/src/app/data-model-provider/Provider.h index d810dd815a..74240162e9 100644 --- a/src/app/data-model-provider/Provider.h +++ b/src/app/data-model-provider/Provider.h @@ -118,7 +118,7 @@ class Provider : public ProviderMetadataTree CommandHandler * handler) = 0; protected: - InteractionModelContext mContext = { nullptr }; + InteractionModelContext mContext = {}; }; } // namespace DataModel diff --git a/src/app/server/Dnssd.cpp b/src/app/server/Dnssd.cpp index bce567f95f..f595907dce 100644 --- a/src/app/server/Dnssd.cpp +++ b/src/app/server/Dnssd.cpp @@ -149,8 +149,11 @@ CHIP_ERROR DnssdServer::SetEphemeralDiscriminator(Optional discriminat template void DnssdServer::AddICDKeyToAdvertisement(AdvertisingParams & advParams) { - VerifyOrDieWithMsg(mICDManager != nullptr, Discovery, - "Invalid pointer to the ICDManager which is required for the LIT operating mode"); + if (mICDManager == nullptr) + { + ChipLogError(Discovery, "Invalid pointer to the ICDManager which is required for adding Dnssd advertisement key"); + return; + } Dnssd::ICDModeAdvertise ICDModeToAdvertise = Dnssd::ICDModeAdvertise::kNone; // Only advertise the ICD key if the device can operate as a LIT diff --git a/src/app/tests/suites/TestOperationalCredentialsCluster.yaml b/src/app/tests/suites/TestOperationalCredentialsCluster.yaml index 7bc03fb52a..c079f1d34f 100644 --- a/src/app/tests/suites/TestOperationalCredentialsCluster.yaml +++ b/src/app/tests/suites/TestOperationalCredentialsCluster.yaml @@ -130,3 +130,25 @@ tests: values: - name: "FabricIndex" value: 1 + + # Not yet implemented! + - label: "Check SetVIDVerificationStatement not implemented" + command: "SetVIDVerificationStatement" + arguments: + values: + - name: "VendorID" + value: 0xfff1 + response: + error: UNSUPPORTED_COMMAND + + # Not yet implemented! + - label: "Check SignVIDVerificationRequest not implemented" + command: "SignVIDVerificationRequest" + arguments: + values: + - name: "FabricIndex" + value: 1 + - name: "ClientChallenge" + value: "hex:00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff" + response: + error: UNSUPPORTED_COMMAND diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml index d9b3749884..0b16949d33 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml @@ -97,10 +97,12 @@ tests: PICS: MCORE.IDM.S.Attribute_W.DataType_Bool verification: | The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. - + Note: If the DUT does not implement or support a mandatory writable boolean attribute, or if the only available writable boolean + attribute is the InterfaceEnabled attribute in the Network Commissioning cluster, mark this test step as 'Not Applicable'. + The mandatory writable 'InterfaceEnabled' attribute is of type boolean. However, its behavior is undefined if it is set to 'false' + on the same interface that is being used to write the value, which would be required for this test ./chip-tool basicinformation write local-config-disabled 1 1 0 - - On TH(chip-tool), verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified. + On TH(chip-tool), verify that DUT sends a WriteResponseMessage with the status set to Success for the data sent in the above command and verify by sending a ReadRequestMessage to read the value that was modified. [1686227392.013866][93552:93554] CHIP:DMG: WriteClient moving to [ResponseRe] [1686227392.013876][93552:93554] CHIP:DMG: WriteResponseMessage = [1686227392.013879][93552:93554] CHIP:DMG: { diff --git a/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml index a301b4eacf..260505d6f3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml @@ -1,6 +1,6 @@ - + + - @@ -37,7 +42,6 @@ limitations under the License. true This cluster is used to configure a boolean sensor. - @@ -57,8 +61,7 @@ limitations under the License. - - + @@ -68,12 +71,12 @@ limitations under the License. - + - + @@ -81,12 +84,12 @@ limitations under the License. - + - + @@ -94,7 +97,7 @@ limitations under the License. - + @@ -102,13 +105,12 @@ limitations under the License. - + - This command is used to suppress the specified alarm mode. - + @@ -116,7 +118,7 @@ limitations under the License. This command is used to enable or disable the specified alarm mode. - + @@ -126,9 +128,9 @@ limitations under the License. - This event SHALL be generated when any bits in the AlarmsActive and/or AlarmsSuppressed attributes change. - - + This event SHALL be generated after any bits in the AlarmsActive and/or AlarmsSuppressed attributes change. + + @@ -139,8 +141,9 @@ limitations under the License. This event SHALL be generated when the device registers or clears a fault. - + + diff --git a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml index b44126b7fa..a3e6280149 100644 --- a/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml +++ b/src/app/zap-templates/zcl/data-model/chip/matter-devices.xml @@ -857,6 +857,7 @@ limitations under the License. 0x010F Simple Endpoint + On/Off Plug-in Unit @@ -887,6 +888,7 @@ limitations under the License. 0x0110 Simple Endpoint + Dimmable Plug-in Unit diff --git a/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml index b2b5e1c432..437c016038 100644 --- a/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml @@ -16,15 +16,14 @@ limitations under the License. --> - - + - + @@ -43,9 +42,9 @@ limitations under the License. - - - + + + @@ -60,140 +59,133 @@ limitations under the License. 0x003E OPERATIONAL_CREDENTIALS_CLUSTER This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. - - + true + true + + + NOCs - - - - - - - - - - - - - - - - + Fabrics + SupportedFabrics + CommissionedFabrics + TrustedRootCertificates + CurrentFabricIndex Sender is requesting attestation information from the receiver. - + - + An attestation information confirmation from the server. - - + + Sender is requesting a device attestation certificate from the receiver. - + - + A device attestation certificate (DAC) or product attestation intermediate (PAI) certificate from the server. - + Sender is requesting a certificate signing request (CSR) from the receiver. - - + + - + A certificate signing request (CSR) from the server. - - + + Sender is requesting to add the new node operational certificates. - - - - - + + + + + - Sender is requesting to update the node operational certificates. - - + This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. + + - - Response to AddNOC or UpdateNOC commands. - - - + + Response to several commands in this cluster. + + + This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. - + - + This command is used by Administrative Nodes to remove a given fabric index and delete all associated fabric-scoped data. - + - + This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. - + - + This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). - - + + - + This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. - + - - This command SHALL contain the response of the SignVidVerificationRequest. + + This command SHALL contain the response of the SignVIDVerificationRequest. - + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 1e49b6ae66..1e8f92d963 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -2671,7 +2671,7 @@ cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ cluster OperationalCredentials = 62 { - revision 1; // NOTE: Default/not specifically set + revision 2; enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; @@ -2697,14 +2697,14 @@ cluster OperationalCredentials = 62 { fabric_id fabricID = 3; node_id nodeID = 4; char_string<32> label = 5; - optional octet_string<85> vidVerificationStatement = 6; + optional octet_string<85> VIDVerificationStatement = 6; fabric_idx fabricIndex = 254; } fabric_scoped struct NOCStruct { - octet_string noc = 1; - nullable octet_string icac = 2; - optional octet_string vvsc = 3; + octet_string<400> noc = 1; + nullable octet_string<400> icac = 2; + optional octet_string<400> vvsc = 3; fabric_idx fabricIndex = 254; } @@ -2726,7 +2726,7 @@ cluster OperationalCredentials = 62 { } response struct AttestationResponse = 1 { - octet_string<900> attestationElements = 0; + octet_string attestationElements = 0; octet_string<64> attestationSignature = 1; } @@ -2745,7 +2745,7 @@ cluster OperationalCredentials = 62 { response struct CSRResponse = 5 { octet_string NOCSRElements = 0; - octet_string attestationSignature = 1; + octet_string<64> attestationSignature = 1; } request struct AddNOCRequest { @@ -2757,8 +2757,8 @@ cluster OperationalCredentials = 62 { } request struct UpdateNOCRequest { - octet_string NOCValue = 0; - optional octet_string ICACValue = 1; + octet_string<400> NOCValue = 0; + optional octet_string<400> ICACValue = 1; } response struct NOCResponse = 8 { @@ -2776,21 +2776,21 @@ cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - octet_string rootCACertificate = 0; + octet_string<400> rootCACertificate = 0; } - request struct SetVidVerificationStatementRequest { + request struct SetVIDVerificationStatementRequest { optional vendor_id vendorID = 0; - optional octet_string vidVerificationStatement = 1; - optional octet_string vvsc = 2; + optional octet_string<85> VIDVerificationStatement = 1; + optional octet_string<400> vvsc = 2; } - request struct SignVidVerificationRequestRequest { + request struct SignVIDVerificationRequestRequest { fabric_idx fabricIndex = 0; octet_string<32> clientChallenge = 1; } - response struct SignVidVerificationResponse = 14 { + response struct SignVIDVerificationResponse = 14 { fabric_idx fabricIndex = 0; int8u fabricBindingVersion = 1; octet_string signature = 2; @@ -2804,7 +2804,7 @@ cluster OperationalCredentials = 62 { command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; /** Sender is requesting to add the new node operational certificates. */ command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; - /** Sender is requesting to update the node operational certificates. */ + /** This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; /** This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. */ fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; @@ -2813,9 +2813,9 @@ cluster OperationalCredentials = 62 { /** This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. */ command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; /** This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ - fabric command access(invoke: administer) SetVidVerificationStatement(SetVidVerificationStatementRequest): DefaultSuccess = 12; + fabric command access(invoke: administer) SetVIDVerificationStatement(SetVIDVerificationStatementRequest): DefaultSuccess = 12; /** This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ - command access(invoke: administer) SignVidVerificationRequest(SignVidVerificationRequestRequest): SignVidVerificationResponse = 13; + command access(invoke: administer) SignVIDVerificationRequest(SignVIDVerificationRequestRequest): SignVIDVerificationResponse = 13; } /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java index bee736a8b5..5ed1ec8aad 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java @@ -16117,11 +16117,11 @@ public void onResponse(StructType invokeStructValue) { }}, commandId, commandArgs, timedInvokeTimeoutMs); } - public void setVidVerificationStatement(DefaultClusterCallback callback, Optional vendorID, Optional vidVerificationStatement, Optional vvsc) { - setVidVerificationStatement(callback, vendorID, vidVerificationStatement, vvsc, 0); + public void setVIDVerificationStatement(DefaultClusterCallback callback, Optional vendorID, Optional VIDVerificationStatement, Optional vvsc) { + setVIDVerificationStatement(callback, vendorID, VIDVerificationStatement, vvsc, 0); } - public void setVidVerificationStatement(DefaultClusterCallback callback, Optional vendorID, Optional vidVerificationStatement, Optional vvsc, int timedInvokeTimeoutMs) { + public void setVIDVerificationStatement(DefaultClusterCallback callback, Optional vendorID, Optional VIDVerificationStatement, Optional vvsc, int timedInvokeTimeoutMs) { final long commandId = 12L; ArrayList elements = new ArrayList<>(); @@ -16129,9 +16129,9 @@ public void setVidVerificationStatement(DefaultClusterCallback callback, Optiona BaseTLVType vendorIDtlvValue = vendorID.map((nonOptionalvendorID) -> new UIntType(nonOptionalvendorID)).orElse(new EmptyType()); elements.add(new StructElement(vendorIDFieldID, vendorIDtlvValue)); - final long vidVerificationStatementFieldID = 1L; - BaseTLVType vidVerificationStatementtlvValue = vidVerificationStatement.map((nonOptionalvidVerificationStatement) -> new ByteArrayType(nonOptionalvidVerificationStatement)).orElse(new EmptyType()); - elements.add(new StructElement(vidVerificationStatementFieldID, vidVerificationStatementtlvValue)); + final long VIDVerificationStatementFieldID = 1L; + BaseTLVType VIDVerificationStatementtlvValue = VIDVerificationStatement.map((nonOptionalVIDVerificationStatement) -> new ByteArrayType(nonOptionalVIDVerificationStatement)).orElse(new EmptyType()); + elements.add(new StructElement(VIDVerificationStatementFieldID, VIDVerificationStatementtlvValue)); final long vvscFieldID = 2L; BaseTLVType vvsctlvValue = vvsc.map((nonOptionalvvsc) -> new ByteArrayType(nonOptionalvvsc)).orElse(new EmptyType()); @@ -16145,11 +16145,11 @@ public void onResponse(StructType invokeStructValue) { }}, commandId, commandArgs, timedInvokeTimeoutMs); } - public void signVidVerificationRequest(SignVidVerificationResponseCallback callback, Integer fabricIndex, byte[] clientChallenge) { - signVidVerificationRequest(callback, fabricIndex, clientChallenge, 0); + public void signVIDVerificationRequest(SignVIDVerificationResponseCallback callback, Integer fabricIndex, byte[] clientChallenge) { + signVIDVerificationRequest(callback, fabricIndex, clientChallenge, 0); } - public void signVidVerificationRequest(SignVidVerificationResponseCallback callback, Integer fabricIndex, byte[] clientChallenge, int timedInvokeTimeoutMs) { + public void signVIDVerificationRequest(SignVIDVerificationResponseCallback callback, Integer fabricIndex, byte[] clientChallenge, int timedInvokeTimeoutMs) { final long commandId = 13L; ArrayList elements = new ArrayList<>(); @@ -16209,7 +16209,7 @@ public interface NOCResponseCallback extends BaseClusterCallback { void onSuccess(Integer statusCode, Optional fabricIndex, Optional debugText); } - public interface SignVidVerificationResponseCallback extends BaseClusterCallback { + public interface SignVIDVerificationResponseCallback extends BaseClusterCallback { void onSuccess(Integer fabricIndex, Integer fabricBindingVersion, byte[] signature); } diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java index b2716814fa..e4f910a820 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java @@ -3077,7 +3077,7 @@ public static class OperationalCredentialsClusterFabricDescriptorStruct { public Long fabricID; public Long nodeID; public String label; - public Optional vidVerificationStatement; + public Optional VIDVerificationStatement; public Integer fabricIndex; private static final long ROOT_PUBLIC_KEY_ID = 1L; private static final long VENDOR_ID_ID = 2L; @@ -3093,7 +3093,7 @@ public OperationalCredentialsClusterFabricDescriptorStruct( Long fabricID, Long nodeID, String label, - Optional vidVerificationStatement, + Optional VIDVerificationStatement, Integer fabricIndex ) { this.rootPublicKey = rootPublicKey; @@ -3101,7 +3101,7 @@ public OperationalCredentialsClusterFabricDescriptorStruct( this.fabricID = fabricID; this.nodeID = nodeID; this.label = label; - this.vidVerificationStatement = vidVerificationStatement; + this.VIDVerificationStatement = VIDVerificationStatement; this.fabricIndex = fabricIndex; } @@ -3112,7 +3112,7 @@ public StructType encodeTlv() { values.add(new StructElement(FABRIC_ID_ID, new UIntType(fabricID))); values.add(new StructElement(NODE_ID_ID, new UIntType(nodeID))); values.add(new StructElement(LABEL_ID, new StringType(label))); - values.add(new StructElement(VID_VERIFICATION_STATEMENT_ID, vidVerificationStatement.map((nonOptionalvidVerificationStatement) -> new ByteArrayType(nonOptionalvidVerificationStatement)).orElse(new EmptyType()))); + values.add(new StructElement(VID_VERIFICATION_STATEMENT_ID, VIDVerificationStatement.map((nonOptionalVIDVerificationStatement) -> new ByteArrayType(nonOptionalVIDVerificationStatement)).orElse(new EmptyType()))); values.add(new StructElement(FABRIC_INDEX_ID, new UIntType(fabricIndex))); return new StructType(values); @@ -3127,7 +3127,7 @@ public static OperationalCredentialsClusterFabricDescriptorStruct decodeTlv(Base Long fabricID = null; Long nodeID = null; String label = null; - Optional vidVerificationStatement = Optional.empty(); + Optional VIDVerificationStatement = Optional.empty(); Integer fabricIndex = null; for (StructElement element: ((StructType)tlvValue).value()) { if (element.contextTagNum() == ROOT_PUBLIC_KEY_ID) { @@ -3158,7 +3158,7 @@ public static OperationalCredentialsClusterFabricDescriptorStruct decodeTlv(Base } else if (element.contextTagNum() == VID_VERIFICATION_STATEMENT_ID) { if (element.value(BaseTLVType.class).type() == TLVType.ByteArray) { ByteArrayType castingValue = element.value(ByteArrayType.class); - vidVerificationStatement = Optional.of(castingValue.value(byte[].class)); + VIDVerificationStatement = Optional.of(castingValue.value(byte[].class)); } } else if (element.contextTagNum() == FABRIC_INDEX_ID) { if (element.value(BaseTLVType.class).type() == TLVType.UInt) { @@ -3173,7 +3173,7 @@ public static OperationalCredentialsClusterFabricDescriptorStruct decodeTlv(Base fabricID, nodeID, label, - vidVerificationStatement, + VIDVerificationStatement, fabricIndex ); } @@ -3197,8 +3197,8 @@ public String toString() { output.append("\tlabel: "); output.append(label); output.append("\n"); - output.append("\tvidVerificationStatement: "); - output.append(vidVerificationStatement.isPresent() ? Arrays.toString(vidVerificationStatement.get()) : ""); + output.append("\tVIDVerificationStatement: "); + output.append(VIDVerificationStatement.isPresent() ? Arrays.toString(VIDVerificationStatement.get()) : ""); output.append("\n"); output.append("\tfabricIndex: "); output.append(fabricIndex); diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java index c95a454fbe..71a361e045 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java @@ -4714,8 +4714,8 @@ public enum Command { UpdateFabricLabel(9L), RemoveFabric(10L), AddTrustedRootCertificate(11L), - SetVidVerificationStatement(12L), - SignVidVerificationRequest(13L),; + SetVIDVerificationStatement(12L), + SignVIDVerificationRequest(13L),; private final long id; Command(long id) { this.id = id; @@ -4869,34 +4869,34 @@ public static AddTrustedRootCertificateCommandField value(int id) throws NoSuchF } throw new NoSuchFieldError(); } - }public enum SetVidVerificationStatementCommandField {VendorID(0),VidVerificationStatement(1),Vvsc(2),; + }public enum SetVIDVerificationStatementCommandField {VendorID(0),VIDVerificationStatement(1),Vvsc(2),; private final int id; - SetVidVerificationStatementCommandField(int id) { + SetVIDVerificationStatementCommandField(int id) { this.id = id; } public int getID() { return id; } - public static SetVidVerificationStatementCommandField value(int id) throws NoSuchFieldError { - for (SetVidVerificationStatementCommandField field : SetVidVerificationStatementCommandField.values()) { + public static SetVIDVerificationStatementCommandField value(int id) throws NoSuchFieldError { + for (SetVIDVerificationStatementCommandField field : SetVIDVerificationStatementCommandField.values()) { if (field.getID() == id) { return field; } } throw new NoSuchFieldError(); } - }public enum SignVidVerificationRequestCommandField {FabricIndex(0),ClientChallenge(1),; + }public enum SignVIDVerificationRequestCommandField {FabricIndex(0),ClientChallenge(1),; private final int id; - SignVidVerificationRequestCommandField(int id) { + SignVIDVerificationRequestCommandField(int id) { this.id = id; } public int getID() { return id; } - public static SignVidVerificationRequestCommandField value(int id) throws NoSuchFieldError { - for (SignVidVerificationRequestCommandField field : SignVidVerificationRequestCommandField.values()) { + public static SignVIDVerificationRequestCommandField value(int id) throws NoSuchFieldError { + for (SignVIDVerificationRequestCommandField field : SignVIDVerificationRequestCommandField.values()) { if (field.getID() == id) { return field; } diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java index dc2153aa2d..a2da53fa6f 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java @@ -5222,7 +5222,7 @@ public void onError(Exception error) { } } - public static class DelegatedOperationalCredentialsClusterSignVidVerificationResponseCallback implements ChipClusters.OperationalCredentialsCluster.SignVidVerificationResponseCallback, DelegatedClusterCallback { + public static class DelegatedOperationalCredentialsClusterSignVIDVerificationResponseCallback implements ChipClusters.OperationalCredentialsCluster.SignVIDVerificationResponseCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override public void setCallbackDelegate(ClusterCommandCallback callback) { @@ -26180,44 +26180,44 @@ public Map> getCommandMap() { ); operationalCredentialsClusterInteractionInfoMap.put("addTrustedRootCertificate", operationalCredentialsaddTrustedRootCertificateInteractionInfo); - Map operationalCredentialssetVidVerificationStatementCommandParams = new LinkedHashMap(); + Map operationalCredentialssetVIDVerificationStatementCommandParams = new LinkedHashMap(); - CommandParameterInfo operationalCredentialssetVidVerificationStatementvendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Optional.class, Integer.class); - operationalCredentialssetVidVerificationStatementCommandParams.put("vendorID",operationalCredentialssetVidVerificationStatementvendorIDCommandParameterInfo); + CommandParameterInfo operationalCredentialssetVIDVerificationStatementvendorIDCommandParameterInfo = new CommandParameterInfo("vendorID", Optional.class, Integer.class); + operationalCredentialssetVIDVerificationStatementCommandParams.put("vendorID",operationalCredentialssetVIDVerificationStatementvendorIDCommandParameterInfo); - CommandParameterInfo operationalCredentialssetVidVerificationStatementvidVerificationStatementCommandParameterInfo = new CommandParameterInfo("vidVerificationStatement", Optional.class, byte[].class); - operationalCredentialssetVidVerificationStatementCommandParams.put("vidVerificationStatement",operationalCredentialssetVidVerificationStatementvidVerificationStatementCommandParameterInfo); + CommandParameterInfo operationalCredentialssetVIDVerificationStatementVIDVerificationStatementCommandParameterInfo = new CommandParameterInfo("VIDVerificationStatement", Optional.class, byte[].class); + operationalCredentialssetVIDVerificationStatementCommandParams.put("VIDVerificationStatement",operationalCredentialssetVIDVerificationStatementVIDVerificationStatementCommandParameterInfo); - CommandParameterInfo operationalCredentialssetVidVerificationStatementvvscCommandParameterInfo = new CommandParameterInfo("vvsc", Optional.class, byte[].class); - operationalCredentialssetVidVerificationStatementCommandParams.put("vvsc",operationalCredentialssetVidVerificationStatementvvscCommandParameterInfo); - InteractionInfo operationalCredentialssetVidVerificationStatementInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialssetVIDVerificationStatementvvscCommandParameterInfo = new CommandParameterInfo("vvsc", Optional.class, byte[].class); + operationalCredentialssetVIDVerificationStatementCommandParams.put("vvsc",operationalCredentialssetVIDVerificationStatementvvscCommandParameterInfo); + InteractionInfo operationalCredentialssetVIDVerificationStatementInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { ((ChipClusters.OperationalCredentialsCluster) cluster) - .setVidVerificationStatement((DefaultClusterCallback) callback + .setVIDVerificationStatement((DefaultClusterCallback) callback , (Optional) commandArguments.get("vendorID") , (Optional) - commandArguments.get("vidVerificationStatement") + commandArguments.get("VIDVerificationStatement") , (Optional) commandArguments.get("vvsc") ); }, () -> new DelegatedDefaultClusterCallback(), - operationalCredentialssetVidVerificationStatementCommandParams + operationalCredentialssetVIDVerificationStatementCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("setVidVerificationStatement", operationalCredentialssetVidVerificationStatementInteractionInfo); + operationalCredentialsClusterInteractionInfoMap.put("setVIDVerificationStatement", operationalCredentialssetVIDVerificationStatementInteractionInfo); - Map operationalCredentialssignVidVerificationRequestCommandParams = new LinkedHashMap(); + Map operationalCredentialssignVIDVerificationRequestCommandParams = new LinkedHashMap(); - CommandParameterInfo operationalCredentialssignVidVerificationRequestfabricIndexCommandParameterInfo = new CommandParameterInfo("fabricIndex", Integer.class, Integer.class); - operationalCredentialssignVidVerificationRequestCommandParams.put("fabricIndex",operationalCredentialssignVidVerificationRequestfabricIndexCommandParameterInfo); + CommandParameterInfo operationalCredentialssignVIDVerificationRequestfabricIndexCommandParameterInfo = new CommandParameterInfo("fabricIndex", Integer.class, Integer.class); + operationalCredentialssignVIDVerificationRequestCommandParams.put("fabricIndex",operationalCredentialssignVIDVerificationRequestfabricIndexCommandParameterInfo); - CommandParameterInfo operationalCredentialssignVidVerificationRequestclientChallengeCommandParameterInfo = new CommandParameterInfo("clientChallenge", byte[].class, byte[].class); - operationalCredentialssignVidVerificationRequestCommandParams.put("clientChallenge",operationalCredentialssignVidVerificationRequestclientChallengeCommandParameterInfo); - InteractionInfo operationalCredentialssignVidVerificationRequestInteractionInfo = new InteractionInfo( + CommandParameterInfo operationalCredentialssignVIDVerificationRequestclientChallengeCommandParameterInfo = new CommandParameterInfo("clientChallenge", byte[].class, byte[].class); + operationalCredentialssignVIDVerificationRequestCommandParams.put("clientChallenge",operationalCredentialssignVIDVerificationRequestclientChallengeCommandParameterInfo); + InteractionInfo operationalCredentialssignVIDVerificationRequestInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { ((ChipClusters.OperationalCredentialsCluster) cluster) - .signVidVerificationRequest((ChipClusters.OperationalCredentialsCluster.SignVidVerificationResponseCallback) callback + .signVIDVerificationRequest((ChipClusters.OperationalCredentialsCluster.SignVIDVerificationResponseCallback) callback , (Integer) commandArguments.get("fabricIndex") @@ -26226,10 +26226,10 @@ public Map> getCommandMap() { ); }, - () -> new DelegatedOperationalCredentialsClusterSignVidVerificationResponseCallback(), - operationalCredentialssignVidVerificationRequestCommandParams + () -> new DelegatedOperationalCredentialsClusterSignVIDVerificationResponseCallback(), + operationalCredentialssignVIDVerificationRequestCommandParams ); - operationalCredentialsClusterInteractionInfoMap.put("signVidVerificationRequest", operationalCredentialssignVidVerificationRequestInteractionInfo); + operationalCredentialsClusterInteractionInfoMap.put("signVIDVerificationRequest", operationalCredentialssignVIDVerificationRequestInteractionInfo); commandMap.put("operationalCredentials", operationalCredentialsClusterInteractionInfoMap); diff --git a/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt index e5ff8f1608..2144b12743 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt +++ b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt @@ -29,7 +29,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( val fabricID: ULong, val nodeID: ULong, val label: String, - val vidVerificationStatement: Optional, + val VIDVerificationStatement: Optional, val fabricIndex: UInt, ) { override fun toString(): String = buildString { @@ -39,7 +39,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( append("\tfabricID : $fabricID\n") append("\tnodeID : $nodeID\n") append("\tlabel : $label\n") - append("\tvidVerificationStatement : $vidVerificationStatement\n") + append("\tVIDVerificationStatement : $VIDVerificationStatement\n") append("\tfabricIndex : $fabricIndex\n") append("}\n") } @@ -52,9 +52,9 @@ class OperationalCredentialsClusterFabricDescriptorStruct( put(ContextSpecificTag(TAG_FABRIC_ID), fabricID) put(ContextSpecificTag(TAG_NODE_ID), nodeID) put(ContextSpecificTag(TAG_LABEL), label) - if (vidVerificationStatement.isPresent) { - val optvidVerificationStatement = vidVerificationStatement.get() - put(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT), optvidVerificationStatement) + if (VIDVerificationStatement.isPresent) { + val optVIDVerificationStatement = VIDVerificationStatement.get() + put(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT), optVIDVerificationStatement) } put(ContextSpecificTag(TAG_FABRIC_INDEX), fabricIndex) endStructure() @@ -80,7 +80,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( val fabricID = tlvReader.getULong(ContextSpecificTag(TAG_FABRIC_ID)) val nodeID = tlvReader.getULong(ContextSpecificTag(TAG_NODE_ID)) val label = tlvReader.getString(ContextSpecificTag(TAG_LABEL)) - val vidVerificationStatement = + val VIDVerificationStatement = if (tlvReader.isNextTag(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT))) { Optional.of(tlvReader.getByteArray(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT))) } else { @@ -96,7 +96,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( fabricID, nodeID, label, - vidVerificationStatement, + VIDVerificationStatement, fabricIndex, ) } diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/OperationalCredentialsCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/OperationalCredentialsCluster.kt index 92c39cc520..f00aa18985 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/clusters/OperationalCredentialsCluster.kt +++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/OperationalCredentialsCluster.kt @@ -55,7 +55,7 @@ class OperationalCredentialsCluster( class NOCResponse(val statusCode: UByte, val fabricIndex: UByte?, val debugText: String?) - class SignVidVerificationResponse( + class SignVIDVerificationResponse( val fabricIndex: UByte, val fabricBindingVersion: UByte, val signature: ByteArray, @@ -666,9 +666,9 @@ class OperationalCredentialsCluster( logger.log(Level.FINE, "Invoke command succeeded: ${response}") } - suspend fun setVidVerificationStatement( + suspend fun setVIDVerificationStatement( vendorID: UShort?, - vidVerificationStatement: ByteArray?, + VIDVerificationStatement: ByteArray?, vvsc: ByteArray?, timedInvokeTimeout: Duration? = null, ) { @@ -681,10 +681,10 @@ class OperationalCredentialsCluster( vendorID?.let { tlvWriter.put(ContextSpecificTag(TAG_VENDOR_ID_REQ), vendorID) } val TAG_VID_VERIFICATION_STATEMENT_REQ: Int = 1 - vidVerificationStatement?.let { + VIDVerificationStatement?.let { tlvWriter.put( ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT_REQ), - vidVerificationStatement, + VIDVerificationStatement, ) } @@ -703,11 +703,11 @@ class OperationalCredentialsCluster( logger.log(Level.FINE, "Invoke command succeeded: ${response}") } - suspend fun signVidVerificationRequest( + suspend fun signVIDVerificationRequest( fabricIndex: UByte, clientChallenge: ByteArray, timedInvokeTimeout: Duration? = null, - ): SignVidVerificationResponse { + ): SignVIDVerificationResponse { val commandId: UInt = 13u val tlvWriter = TlvWriter() @@ -773,7 +773,7 @@ class OperationalCredentialsCluster( tlvReader.exitContainer() - return SignVidVerificationResponse( + return SignVIDVerificationResponse( fabricIndex_decoded, fabricBindingVersion_decoded, signature_decoded, diff --git a/src/controller/java/generated/java/matter/controller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt b/src/controller/java/generated/java/matter/controller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt index fb9038728b..91f916dcc1 100644 --- a/src/controller/java/generated/java/matter/controller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt +++ b/src/controller/java/generated/java/matter/controller/cluster/structs/OperationalCredentialsClusterFabricDescriptorStruct.kt @@ -29,7 +29,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( val fabricID: ULong, val nodeID: ULong, val label: String, - val vidVerificationStatement: Optional, + val VIDVerificationStatement: Optional, val fabricIndex: UByte, ) { override fun toString(): String = buildString { @@ -39,7 +39,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( append("\tfabricID : $fabricID\n") append("\tnodeID : $nodeID\n") append("\tlabel : $label\n") - append("\tvidVerificationStatement : $vidVerificationStatement\n") + append("\tVIDVerificationStatement : $VIDVerificationStatement\n") append("\tfabricIndex : $fabricIndex\n") append("}\n") } @@ -52,9 +52,9 @@ class OperationalCredentialsClusterFabricDescriptorStruct( put(ContextSpecificTag(TAG_FABRIC_ID), fabricID) put(ContextSpecificTag(TAG_NODE_ID), nodeID) put(ContextSpecificTag(TAG_LABEL), label) - if (vidVerificationStatement.isPresent) { - val optvidVerificationStatement = vidVerificationStatement.get() - put(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT), optvidVerificationStatement) + if (VIDVerificationStatement.isPresent) { + val optVIDVerificationStatement = VIDVerificationStatement.get() + put(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT), optVIDVerificationStatement) } put(ContextSpecificTag(TAG_FABRIC_INDEX), fabricIndex) endStructure() @@ -80,7 +80,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( val fabricID = tlvReader.getULong(ContextSpecificTag(TAG_FABRIC_ID)) val nodeID = tlvReader.getULong(ContextSpecificTag(TAG_NODE_ID)) val label = tlvReader.getString(ContextSpecificTag(TAG_LABEL)) - val vidVerificationStatement = + val VIDVerificationStatement = if (tlvReader.isNextTag(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT))) { Optional.of(tlvReader.getByteArray(ContextSpecificTag(TAG_VID_VERIFICATION_STATEMENT))) } else { @@ -96,7 +96,7 @@ class OperationalCredentialsClusterFabricDescriptorStruct( fabricID, nodeID, label, - vidVerificationStatement, + VIDVerificationStatement, fabricIndex, ) } diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index 6e4a0ad8c7..7bcd82532a 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -9950,23 +9950,23 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR jninewElement_0_nodeID, newElement_0_nodeID); jobject newElement_0_label; LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.label, newElement_0_label)); - jobject newElement_0_vidVerificationStatement; - if (!entry_0.vidVerificationStatement.HasValue()) + jobject newElement_0_VIDVerificationStatement; + if (!entry_0.VIDVerificationStatement.HasValue()) { - chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_vidVerificationStatement); + chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_VIDVerificationStatement); } else { - jobject newElement_0_vidVerificationStatementInsideOptional; - jbyteArray newElement_0_vidVerificationStatementInsideOptionalByteArray = - env->NewByteArray(static_cast(entry_0.vidVerificationStatement.Value().size())); - env->SetByteArrayRegion(newElement_0_vidVerificationStatementInsideOptionalByteArray, 0, - static_cast(entry_0.vidVerificationStatement.Value().size()), - reinterpret_cast(entry_0.vidVerificationStatement.Value().data())); - newElement_0_vidVerificationStatementInsideOptional = - newElement_0_vidVerificationStatementInsideOptionalByteArray; - chip::JniReferences::GetInstance().CreateOptional(newElement_0_vidVerificationStatementInsideOptional, - newElement_0_vidVerificationStatement); + jobject newElement_0_VIDVerificationStatementInsideOptional; + jbyteArray newElement_0_VIDVerificationStatementInsideOptionalByteArray = + env->NewByteArray(static_cast(entry_0.VIDVerificationStatement.Value().size())); + env->SetByteArrayRegion(newElement_0_VIDVerificationStatementInsideOptionalByteArray, 0, + static_cast(entry_0.VIDVerificationStatement.Value().size()), + reinterpret_cast(entry_0.VIDVerificationStatement.Value().data())); + newElement_0_VIDVerificationStatementInsideOptional = + newElement_0_VIDVerificationStatementInsideOptionalByteArray; + chip::JniReferences::GetInstance().CreateOptional(newElement_0_VIDVerificationStatementInsideOptional, + newElement_0_VIDVerificationStatement); } jobject newElement_0_fabricIndex; std::string newElement_0_fabricIndexClassName = "java/lang/Integer"; @@ -10002,7 +10002,7 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR newElement_0 = env->NewObject(fabricDescriptorStructStructClass_1, fabricDescriptorStructStructCtor_1, newElement_0_rootPublicKey, newElement_0_vendorID, newElement_0_fabricID, - newElement_0_nodeID, newElement_0_label, newElement_0_vidVerificationStatement, + newElement_0_nodeID, newElement_0_label, newElement_0_VIDVerificationStatement, newElement_0_fabricIndex); } chip::JniReferences::GetInstance().AddToList(value, newElement_0); diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index c3cf449411..a2997e96d9 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -3335,16 +3335,16 @@ class ChipClusters: }, 0x0000000C: { "commandId": 0x0000000C, - "commandName": "SetVidVerificationStatement", + "commandName": "SetVIDVerificationStatement", "args": { "vendorID": "int", - "vidVerificationStatement": "bytes", + "VIDVerificationStatement": "bytes", "vvsc": "bytes", }, }, 0x0000000D: { "commandId": 0x0000000D, - "commandName": "SignVidVerificationRequest", + "commandName": "SignVIDVerificationRequest", "args": { "fabricIndex": "int", "clientChallenge": "bytes", diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 7fc36b2c64..5c7896e0b7 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -12349,7 +12349,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="fabricID", Tag=3, Type=uint), ClusterObjectFieldDescriptor(Label="nodeID", Tag=4, Type=uint), ClusterObjectFieldDescriptor(Label="label", Tag=5, Type=str), - ClusterObjectFieldDescriptor(Label="vidVerificationStatement", Tag=6, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="VIDVerificationStatement", Tag=6, Type=typing.Optional[bytes]), ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint), ]) @@ -12358,7 +12358,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: fabricID: 'uint' = 0 nodeID: 'uint' = 0 label: 'str' = "" - vidVerificationStatement: 'typing.Optional[bytes]' = None + VIDVerificationStatement: 'typing.Optional[bytes]' = None fabricIndex: 'uint' = 0 @dataclass @@ -12592,7 +12592,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: rootCACertificate: bytes = b"" @dataclass - class SetVidVerificationStatement(ClusterCommand): + class SetVIDVerificationStatement(ClusterCommand): cluster_id: typing.ClassVar[int] = 0x0000003E command_id: typing.ClassVar[int] = 0x0000000C is_client: typing.ClassVar[bool] = True @@ -12603,20 +12603,20 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ ClusterObjectFieldDescriptor(Label="vendorID", Tag=0, Type=typing.Optional[uint]), - ClusterObjectFieldDescriptor(Label="vidVerificationStatement", Tag=1, Type=typing.Optional[bytes]), + ClusterObjectFieldDescriptor(Label="VIDVerificationStatement", Tag=1, Type=typing.Optional[bytes]), ClusterObjectFieldDescriptor(Label="vvsc", Tag=2, Type=typing.Optional[bytes]), ]) vendorID: typing.Optional[uint] = None - vidVerificationStatement: typing.Optional[bytes] = None + VIDVerificationStatement: typing.Optional[bytes] = None vvsc: typing.Optional[bytes] = None @dataclass - class SignVidVerificationRequest(ClusterCommand): + class SignVIDVerificationRequest(ClusterCommand): cluster_id: typing.ClassVar[int] = 0x0000003E command_id: typing.ClassVar[int] = 0x0000000D is_client: typing.ClassVar[bool] = True - response_type: typing.ClassVar[str] = 'SignVidVerificationResponse' + response_type: typing.ClassVar[str] = 'SignVIDVerificationResponse' @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: @@ -12630,7 +12630,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: clientChallenge: bytes = b"" @dataclass - class SignVidVerificationResponse(ClusterCommand): + class SignVIDVerificationResponse(ClusterCommand): cluster_id: typing.ClassVar[int] = 0x0000003E command_id: typing.ClassVar[int] = 0x0000000E is_client: typing.ClassVar[bool] = False diff --git a/src/controller/python/chip/yaml/format_converter.py b/src/controller/python/chip/yaml/format_converter.py index 1be051155b..6c7eb54d9a 100644 --- a/src/controller/python/chip/yaml/format_converter.py +++ b/src/controller/python/chip/yaml/format_converter.py @@ -22,7 +22,8 @@ from chip.clusters.Types import Nullable, NullValue from chip.tlv import float32, uint from chip.yaml.errors import ValidationError -from matter_idl import matter_idl_types + +from matter.idl import matter_idl_types @dataclass diff --git a/src/controller/python/chip/yaml/runner.py b/src/controller/python/chip/yaml/runner.py index 44318f8cbe..1c39690204 100644 --- a/src/controller/python/chip/yaml/runner.py +++ b/src/controller/python/chip/yaml/runner.py @@ -31,9 +31,10 @@ from chip.exceptions import ChipStackError from chip.yaml.data_model_lookup import DataModelLookup from chip.yaml.errors import ActionCreationError, UnexpectedActionCreationError -from matter_idl.generators.filters import to_pascal_case, to_snake_case from matter_yamltests.pseudo_clusters.pseudo_clusters import get_default_pseudo_clusters +from matter.idl.generators.filters import to_pascal_case, to_snake_case + from .data_model_lookup import PreDefinedDataModelLookup _PSEUDO_CLUSTERS = get_default_pseudo_clusters() diff --git a/src/darwin/Framework/CHIP/MTRDiagnosticLogsDownloader.mm b/src/darwin/Framework/CHIP/MTRDiagnosticLogsDownloader.mm index 0b5b04bd5c..64d6bbbf78 100644 --- a/src/darwin/Framework/CHIP/MTRDiagnosticLogsDownloader.mm +++ b/src/darwin/Framework/CHIP/MTRDiagnosticLogsDownloader.mm @@ -57,6 +57,7 @@ @interface MTRDownload : NSObject - (instancetype)initWithType:(MTRDiagnosticLogType)type fabricIndex:(NSNumber *)fabricIndex nodeID:(NSNumber *)nodeID + timeout:(NSTimeInterval)timeout queue:(dispatch_queue_t)queue completion:(void (^)(NSURL * _Nullable url, NSError * _Nullable error))completion done:(void (^)(MTRDownload * finishedDownload))done; @@ -69,8 +70,14 @@ - (BOOL)matches:(NSString *)fileDesignator - (void)checkInteractionModelResponse:(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable)response error:(NSError * _Nullable)error; +// TODO: The lifetime management for these objects is very odd. Nothing +// _really_ prevents a BDX transfer starting after a failure: call, for example. +// We should move more of the state into a single place that will know the exact +// state of the object. - (void)success; -- (void)failure:(NSError * _Nullable)error; +- (void)failure:(NSError *)error; +- (void)cancelTimeoutTimer; +- (void)abort:(NSError *)error; @end @interface MTRDownloads : NSObject @@ -83,6 +90,7 @@ - (MTRDownload * _Nullable)get:(NSString *)fileDesignator - (MTRDownload * _Nullable)add:(MTRDiagnosticLogType)type fabricIndex:(NSNumber *)fabricIndex nodeID:(NSNumber *)nodeID + timeout:(NSTimeInterval)timeout queue:(dispatch_queue_t)queue completion:(void (^)(NSURL * _Nullable url, NSError * _Nullable error))completion done:(void (^)(MTRDownload * finishedDownload))done; @@ -141,22 +149,38 @@ - (void)handleBDXTransferSessionEndForFileDesignator:(NSString *)fileDesignator CHIP_ERROR OnTransferEnd(chip::bdx::BDXTransferProxy * transfer, CHIP_ERROR error) override; CHIP_ERROR OnTransferData(chip::bdx::BDXTransferProxy * transfer, const chip::ByteSpan & data) override; - CHIP_ERROR StartBDXTransferTimeout(MTRDownload * download, uint16_t timeoutInSeconds); - void CancelBDXTransferTimeout(MTRDownload * download); - private: - static void OnTransferTimeout(chip::System::Layer * layer, void * context); MTRDiagnosticLogsDownloader * __weak mDelegate; }; @implementation MTRDownload + +static void OnTransferTimeout(chip::System::Layer * layer, void * context) +{ + assertChipStackLockedByCurrentThread(); + + auto * download = (__bridge MTRDownload *) context; + VerifyOrReturn(nil != download); + + auto * controller = [[MTRDeviceControllerFactory sharedInstance] runningControllerForFabricIndex:download.fabricIndex.unsignedCharValue]; + + MTR_LOG("%@ Diagnostic log transfer timed out for %016llX-%016llX (%llu), abortHandler: %@", download, + controller.compressedFabricID.unsignedLongLongValue, download.nodeID.unsignedLongLongValue, + download.nodeID.unsignedLongLongValue, download.abortHandler); + + [download abort:[MTRError errorForCHIPErrorCode:CHIP_ERROR_TIMEOUT]]; +} + - (instancetype)initWithType:(MTRDiagnosticLogType)type fabricIndex:(NSNumber *)fabricIndex nodeID:(NSNumber *)nodeID + timeout:(NSTimeInterval)timeout queue:(dispatch_queue_t)queue completion:(void (^)(NSURL * _Nullable url, NSError * _Nullable error))completion done:(void (^)(MTRDownload * finishedDownload))done; { + assertChipStackLockedByCurrentThread(); + self = [super init]; if (self) { auto * fileDesignator = [self _toFileDesignatorString:type nodeID:nodeID]; @@ -184,6 +208,22 @@ - (instancetype)initWithType:(MTRDiagnosticLogType)type _fileURL = fileURL; _fileHandle = nil; _finalize = bdxTransferDone; + + if (timeout <= 0) { + timeout = 0; + } else if (timeout > UINT16_MAX) { + MTR_LOG("Warning: timeout is too large. It will be truncated to UINT16_MAX."); + timeout = UINT16_MAX; + } + + if (timeout > 0) { + CHIP_ERROR timerStartErr = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds16(static_cast(timeout)), + OnTransferTimeout, (__bridge void *) self); + if (timerStartErr != CHIP_NO_ERROR) { + MTR_LOG_ERROR("Failed to start timer for diagnostic log download timeout"); + return nil; + } + } } return self; } @@ -259,7 +299,7 @@ - (BOOL)matches:(NSString *)fileDesignator return [_fileDesignator isEqualToString:fileDesignator] && [_fabricIndex isEqualToNumber:fabricIndex] && [_nodeID isEqualToNumber:nodeID]; } -- (void)failure:(NSError * _Nullable)error +- (void)failure:(NSError *)error { MTR_LOG("%@ Diagnostic log transfer failure: %@", self, error); _finalize(error); @@ -270,6 +310,29 @@ - (void)success _finalize(nil); } +- (void)cancelTimeoutTimer +{ + assertChipStackLockedByCurrentThread(); + chip::DeviceLayer::SystemLayer().CancelTimer(OnTransferTimeout, (__bridge void *) self); +} + +- (void)abort:(NSError *)error +{ + assertChipStackLockedByCurrentThread(); + + [self cancelTimeoutTimer]; + + // If there is no abortHandler, it means that the BDX transfer has not + // started, so we can just call failure: directly. + // + // If there is an abortHandler, we need to call it to abort the transfer. + if (self.abortHandler == nil) { + [self failure:error]; + } else { + self.abortHandler(error); + } +} + - (NSURL *)_toFileURL:(MTRDiagnosticLogType)type nodeID:(NSNumber *)nodeID { auto * dateFormatter = [[NSDateFormatter alloc] init]; @@ -344,13 +407,14 @@ - (MTRDownload * _Nullable)get:(NSString *)fileDesignator fabricIndex:(NSNumber - (MTRDownload * _Nullable)add:(MTRDiagnosticLogType)type fabricIndex:(NSNumber *)fabricIndex nodeID:(NSNumber *)nodeID + timeout:(NSTimeInterval)timeout queue:(dispatch_queue_t)queue completion:(void (^)(NSURL * _Nullable url, NSError * _Nullable error))completion done:(void (^)(MTRDownload * finishedDownload))done { assertChipStackLockedByCurrentThread(); - auto download = [[MTRDownload alloc] initWithType:type fabricIndex:fabricIndex nodeID:nodeID queue:queue completion:completion done:done]; + auto download = [[MTRDownload alloc] initWithType:type fabricIndex:fabricIndex nodeID:nodeID timeout:timeout queue:queue completion:completion done:done]; VerifyOrReturnValue(nil != download, nil); [_downloads addObject:download]; @@ -367,7 +431,10 @@ - (void)abortDownloadsForController:(MTRDeviceController_Concrete *)controller continue; } - [download failure:[MTRError errorForCHIPErrorCode:CHIP_ERROR_CANCELLED]]; + [download abort:[MTRError errorForCHIPErrorCode:CHIP_ERROR_CANCELLED]]; + // Remove directly instead of waiting for the async bits to catch up, + // since those async bits might run after controller shutdown finishes + // and then not be able to dispatch the async task to do the removal. [self remove:download]; } } @@ -376,6 +443,7 @@ - (void)remove:(MTRDownload *)download { assertChipStackLockedByCurrentThread(); + [download cancelTimeoutTimer]; [_downloads removeObject:download]; } @end @@ -423,29 +491,15 @@ - (void)downloadLogFromNodeWithID:(NSNumber *)nodeID // any existing ones so we can start this new one. [self abortDownloadsForController:controller]; - uint16_t timeoutInSeconds = 0; - if (timeout <= 0) { - timeoutInSeconds = 0; - } else if (timeout > UINT16_MAX) { - MTR_LOG("Warning: timeout is too large. It will be truncated to UINT16_MAX."); - timeoutInSeconds = UINT16_MAX; - } else { - timeoutInSeconds = static_cast(timeout); - } - // This block is always called when a download is finished. auto done = ^(MTRDownload * finishedDownload) { [controller asyncDispatchToMatterQueue:^() { [self->_downloads remove:finishedDownload]; - - if (timeoutInSeconds > 0) { - self->_bridge->CancelBDXTransferTimeout(finishedDownload); - } } errorHandler:nil]; }; auto fabricIndex = @(controller.fabricIndex); - auto download = [_downloads add:type fabricIndex:fabricIndex nodeID:nodeID queue:queue completion:completion done:done]; + auto download = [_downloads add:type fabricIndex:fabricIndex nodeID:nodeID timeout:timeout queue:queue completion:completion done:done]; VerifyOrReturn(nil != download, dispatch_async(queue, ^{ completion(nil, [MTRError errorForCHIPErrorCode:CHIP_ERROR_INTERNAL]); })); @@ -463,11 +517,6 @@ - (void)downloadLogFromNodeWithID:(NSNumber *)nodeID [cluster retrieveLogsRequestWithParams:params expectedValues:nil expectedValueInterval:nil completion:interactionModelDone]; - if (timeoutInSeconds > 0) { - auto err = _bridge->StartBDXTransferTimeout(download, timeoutInSeconds); - VerifyOrReturn(CHIP_NO_ERROR == err, [download failure:[MTRError errorForCHIPErrorCode:err]]); - } - MTR_LOG("%@ Started log download attempt for node %016llX-%016llX (%llu)", download, controller.compressedFabricID.unsignedLongLongValue, nodeID.unsignedLongLongValue, nodeID.unsignedLongLongValue); } @@ -648,40 +697,3 @@ - (void)handleBDXTransferSessionEndForFileDesignator:(NSString *)fileDesignator completion:completionHandler]; return CHIP_NO_ERROR; } - -CHIP_ERROR DiagnosticLogsDownloaderBridge::StartBDXTransferTimeout(MTRDownload * download, uint16_t timeoutInSeconds) -{ - assertChipStackLockedByCurrentThread(); - return chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds16(timeoutInSeconds), OnTransferTimeout, (__bridge void *) download); -} - -void DiagnosticLogsDownloaderBridge::CancelBDXTransferTimeout(MTRDownload * download) -{ - assertChipStackLockedByCurrentThread(); - chip::DeviceLayer::SystemLayer().CancelTimer(OnTransferTimeout, (__bridge void *) download); -} - -void DiagnosticLogsDownloaderBridge::OnTransferTimeout(chip::System::Layer * layer, void * context) -{ - assertChipStackLockedByCurrentThread(); - - auto * download = (__bridge MTRDownload *) context; - VerifyOrReturn(nil != download); - - auto * controller = [[MTRDeviceControllerFactory sharedInstance] runningControllerForFabricIndex:download.fabricIndex.unsignedCharValue]; - - MTR_LOG("%@ Diagnostic log transfer timed out for %016llX-%016llX (%llu), abortHandler: %@", download, - controller.compressedFabricID.unsignedLongLongValue, download.nodeID.unsignedLongLongValue, - download.nodeID.unsignedLongLongValue, download.abortHandler); - - // If there is no abortHandler, it means that the BDX transfer has not started. - // When a BDX transfer has started we need to abort the transfer and we would error out - // at next poll. We would end up calling OnTransferEnd and eventually [download failure:error]. - // But if the transfer has not started we would stop right now. - auto error = [MTRError errorForCHIPErrorCode:CHIP_ERROR_TIMEOUT]; - if (download.abortHandler == nil) { - [download failure:error]; - } else { - download.abortHandler(error); - } -} diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm index e5ec912604..e8acacc49c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm @@ -4657,8 +4657,8 @@ static id _Nullable DecodeAttributeValueForOperationalCredentialsCluster(Attribu *aError = err; return nil; } - if (entry_0.vidVerificationStatement.HasValue()) { - newElement_0.vidVerificationStatement = AsData(entry_0.vidVerificationStatement.Value()); + if (entry_0.VIDVerificationStatement.HasValue()) { + newElement_0.vidVerificationStatement = AsData(entry_0.VIDVerificationStatement.Value()); } else { newElement_0.vidVerificationStatement = nil; } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 2b2696ed00..48e42993b7 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -3729,7 +3729,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) /** * Command UpdateNOC * - * Sender is requesting to update the node operational certificates. + * This command SHALL replace the NOC and optional associated ICAC (if present) scoped under the accessing fabric upon successful validation of all arguments and preconditions. */ - (void)updateNOCWithParams:(MTROperationalCredentialsClusterUpdateNOCParams *)params completion:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** @@ -3751,19 +3751,19 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** - * Command SetVidVerificationStatement + * Command SetVIDVerificationStatement * * This command SHALL be used to update any of the accessing fabric's associated VendorID, VidVerificatioNStatement or VVSC (Vendor Verification Signing Certificate). */ -- (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVidVerificationStatementParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; -- (void)setVidVerificationStatementWithCompletion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVIDVerificationStatementParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setVIDVerificationStatementWithCompletion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; /** - * Command SignVidVerificationRequest + * Command SignVIDVerificationRequest * * This command SHALL be used to request that the server authenticate the fabric associated with the FabricIndex given. */ -- (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVidVerificationRequestParams *)params completion:(void (^)(MTROperationalCredentialsClusterSignVidVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)signVIDVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVIDVerificationRequestParams *)params completion:(void (^)(MTROperationalCredentialsClusterSignVIDVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)readAttributeNOCsWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeNOCsWithParams:(MTRSubscribeParams *)params diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm index e7385b69df..18f4eaad2b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm @@ -31220,14 +31220,14 @@ - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAdd queue:self.callbackQueue completion:responseHandler]; } -- (void)setVidVerificationStatementWithCompletion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithCompletion:(MTRStatusCompletion)completion { - [self setVidVerificationStatementWithParams:nil completion:completion]; + [self setVIDVerificationStatementWithParams:nil completion:completion]; } -- (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVidVerificationStatementParams * _Nullable)params completion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVIDVerificationStatementParams * _Nullable)params completion:(MTRStatusCompletion)completion { if (params == nil) { - params = [[MTROperationalCredentialsClusterSetVidVerificationStatementParams + params = [[MTROperationalCredentialsClusterSetVIDVerificationStatementParams alloc] init]; } @@ -31237,7 +31237,7 @@ - (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterS auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; - using RequestType = OperationalCredentials::Commands::SetVidVerificationStatement::Type; + using RequestType = OperationalCredentials::Commands::SetVIDVerificationStatement::Type; [self.device _invokeKnownCommandWithEndpointID:self.endpointID clusterID:@(RequestType::GetClusterId()) commandID:@(RequestType::GetCommandId()) @@ -31248,10 +31248,10 @@ - (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterS queue:self.callbackQueue completion:responseHandler]; } -- (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVidVerificationRequestParams *)params completion:(void (^)(MTROperationalCredentialsClusterSignVidVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion +- (void)signVIDVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVIDVerificationRequestParams *)params completion:(void (^)(MTROperationalCredentialsClusterSignVIDVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { - params = [[MTROperationalCredentialsClusterSignVidVerificationRequestParams + params = [[MTROperationalCredentialsClusterSignVIDVerificationRequestParams alloc] init]; } @@ -31261,14 +31261,14 @@ - (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSi auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; - using RequestType = OperationalCredentials::Commands::SignVidVerificationRequest::Type; + using RequestType = OperationalCredentials::Commands::SignVIDVerificationRequest::Type; [self.device _invokeKnownCommandWithEndpointID:self.endpointID clusterID:@(RequestType::GetClusterId()) commandID:@(RequestType::GetCommandId()) commandPayload:params timedInvokeTimeout:timedInvokeTimeoutMs serverSideProcessingTimeout:params.serverSideProcessingTimeout - responseClass:MTROperationalCredentialsClusterSignVidVerificationResponseParams.class + responseClass:MTROperationalCredentialsClusterSignVIDVerificationResponseParams.class queue:self.callbackQueue completion:responseHandler]; } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h index e4ad3dc9e0..911051bb72 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h @@ -6283,9 +6283,9 @@ typedef NS_ENUM(uint32_t, MTRCommandIDType) { MTRCommandIDTypeClusterOperationalCredentialsCommandUpdateFabricLabelID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000009, MTRCommandIDTypeClusterOperationalCredentialsCommandRemoveFabricID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x0000000A, MTRCommandIDTypeClusterOperationalCredentialsCommandAddTrustedRootCertificateID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x0000000B, - MTRCommandIDTypeClusterOperationalCredentialsCommandSetVidVerificationStatementID MTR_PROVISIONALLY_AVAILABLE = 0x0000000C, - MTRCommandIDTypeClusterOperationalCredentialsCommandSignVidVerificationRequestID MTR_PROVISIONALLY_AVAILABLE = 0x0000000D, - MTRCommandIDTypeClusterOperationalCredentialsCommandSignVidVerificationResponseID MTR_PROVISIONALLY_AVAILABLE = 0x0000000E, + MTRCommandIDTypeClusterOperationalCredentialsCommandSetVIDVerificationStatementID MTR_PROVISIONALLY_AVAILABLE = 0x0000000C, + MTRCommandIDTypeClusterOperationalCredentialsCommandSignVIDVerificationRequestID MTR_PROVISIONALLY_AVAILABLE = 0x0000000D, + MTRCommandIDTypeClusterOperationalCredentialsCommandSignVIDVerificationResponseID MTR_PROVISIONALLY_AVAILABLE = 0x0000000E, // Cluster GroupKeyManagement deprecated command id names MTRClusterGroupKeyManagementCommandKeySetWriteID diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm index 46bf6003e0..26c6bf8358 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterNames.mm @@ -9386,12 +9386,12 @@ result = @"AddTrustedRootCertificate"; break; - case MTRCommandIDTypeClusterOperationalCredentialsCommandSetVidVerificationStatementID: - result = @"SetVidVerificationStatement"; + case MTRCommandIDTypeClusterOperationalCredentialsCommandSetVIDVerificationStatementID: + result = @"SetVIDVerificationStatement"; break; - case MTRCommandIDTypeClusterOperationalCredentialsCommandSignVidVerificationRequestID: - result = @"SignVidVerificationRequest"; + case MTRCommandIDTypeClusterOperationalCredentialsCommandSignVIDVerificationRequestID: + result = @"SignVIDVerificationRequest"; break; default: @@ -11868,8 +11868,8 @@ result = @"NOCResponse"; break; - case MTRCommandIDTypeClusterOperationalCredentialsCommandSignVidVerificationResponseID: - result = @"SignVidVerificationResponse"; + case MTRCommandIDTypeClusterOperationalCredentialsCommandSignVIDVerificationResponseID: + result = @"SignVIDVerificationResponse"; break; default: diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h index 96550a0482..a5885aeca1 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h @@ -1724,10 +1724,10 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) - (void)updateFabricLabelWithParams:(MTROperationalCredentialsClusterUpdateFabricLabelParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)removeFabricWithParams:(MTROperationalCredentialsClusterRemoveFabricParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); -- (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVidVerificationStatementParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; -- (void)setVidVerificationStatementWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVIDVerificationStatementParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; +- (void)setVIDVerificationStatementWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; -- (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVidVerificationRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterSignVidVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; +- (void)signVIDVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVIDVerificationRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterSignVIDVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (NSDictionary * _Nullable)readAttributeNOCsWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm index ad98e5cb65..b989dbf41e 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm @@ -5283,14 +5283,14 @@ - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAdd completion:responseHandler]; } -- (void)setVidVerificationStatementWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { - [self setVidVerificationStatementWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; + [self setVIDVerificationStatementWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; } -- (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVidVerificationStatementParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion +- (void)setVIDVerificationStatementWithParams:(MTROperationalCredentialsClusterSetVIDVerificationStatementParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { - params = [[MTROperationalCredentialsClusterSetVidVerificationStatementParams + params = [[MTROperationalCredentialsClusterSetVIDVerificationStatementParams alloc] init]; } @@ -5300,7 +5300,7 @@ - (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterS auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; - using RequestType = OperationalCredentials::Commands::SetVidVerificationStatement::Type; + using RequestType = OperationalCredentials::Commands::SetVIDVerificationStatement::Type; [self.device _invokeKnownCommandWithEndpointID:self.endpointID clusterID:@(RequestType::GetClusterId()) commandID:@(RequestType::GetCommandId()) @@ -5314,10 +5314,10 @@ - (void)setVidVerificationStatementWithParams:(MTROperationalCredentialsClusterS completion:responseHandler]; } -- (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVidVerificationRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterSignVidVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion +- (void)signVIDVerificationRequestWithParams:(MTROperationalCredentialsClusterSignVIDVerificationRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterSignVIDVerificationResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { - params = [[MTROperationalCredentialsClusterSignVidVerificationRequestParams + params = [[MTROperationalCredentialsClusterSignVIDVerificationRequestParams alloc] init]; } @@ -5327,7 +5327,7 @@ - (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSi auto * timedInvokeTimeoutMs = params.timedInvokeTimeoutMs; - using RequestType = OperationalCredentials::Commands::SignVidVerificationRequest::Type; + using RequestType = OperationalCredentials::Commands::SignVIDVerificationRequest::Type; [self.device _invokeKnownCommandWithEndpointID:self.endpointID clusterID:@(RequestType::GetClusterId()) commandID:@(RequestType::GetCommandId()) @@ -5336,7 +5336,7 @@ - (void)signVidVerificationRequestWithParams:(MTROperationalCredentialsClusterSi expectedValueInterval:expectedValueIntervalMs timedInvokeTimeout:timedInvokeTimeoutMs serverSideProcessingTimeout:params.serverSideProcessingTimeout - responseClass:MTROperationalCredentialsClusterSignVidVerificationResponseParams.class + responseClass:MTROperationalCredentialsClusterSignVIDVerificationResponseParams.class queue:self.callbackQueue completion:responseHandler]; } diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h index d82ad81c19..4a7ae82d7c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h @@ -3555,7 +3555,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end MTR_PROVISIONALLY_AVAILABLE -@interface MTROperationalCredentialsClusterSetVidVerificationStatementParams : NSObject +@interface MTROperationalCredentialsClusterSetVIDVerificationStatementParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable vendorID MTR_PROVISIONALLY_AVAILABLE; @@ -3589,7 +3589,7 @@ MTR_PROVISIONALLY_AVAILABLE @end MTR_PROVISIONALLY_AVAILABLE -@interface MTROperationalCredentialsClusterSignVidVerificationRequestParams : NSObject +@interface MTROperationalCredentialsClusterSignVIDVerificationRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_PROVISIONALLY_AVAILABLE; @@ -3621,7 +3621,7 @@ MTR_PROVISIONALLY_AVAILABLE @end MTR_PROVISIONALLY_AVAILABLE -@interface MTROperationalCredentialsClusterSignVidVerificationResponseParams : NSObject +@interface MTROperationalCredentialsClusterSignVIDVerificationResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_PROVISIONALLY_AVAILABLE; @@ -3630,7 +3630,7 @@ MTR_PROVISIONALLY_AVAILABLE @property (nonatomic, copy) NSData * _Nonnull signature MTR_PROVISIONALLY_AVAILABLE; /** - * Initialize an MTROperationalCredentialsClusterSignVidVerificationResponseParams with a response-value dictionary + * Initialize an MTROperationalCredentialsClusterSignVIDVerificationResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm index 09525a1dbb..1c0b4af77c 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm @@ -9421,7 +9421,7 @@ - (NSData * _Nonnull)rootCertificate return self.rootCACertificate; } @end -@implementation MTROperationalCredentialsClusterSetVidVerificationStatementParams +@implementation MTROperationalCredentialsClusterSetVIDVerificationStatementParams - (instancetype)init { if (self = [super init]) { @@ -9439,7 +9439,7 @@ - (instancetype)init - (id)copyWithZone:(NSZone * _Nullable)zone; { - auto other = [[MTROperationalCredentialsClusterSetVidVerificationStatementParams alloc] init]; + auto other = [[MTROperationalCredentialsClusterSetVIDVerificationStatementParams alloc] init]; other.vendorID = self.vendorID; other.vidVerificationStatement = self.vidVerificationStatement; @@ -9458,11 +9458,11 @@ - (NSString *)description @end -@implementation MTROperationalCredentialsClusterSetVidVerificationStatementParams (InternalMethods) +@implementation MTROperationalCredentialsClusterSetVIDVerificationStatementParams (InternalMethods) - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader { - chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Type encodableStruct; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Type encodableStruct; ListFreer listFreer; { if (self.vendorID != nil) { @@ -9472,7 +9472,7 @@ - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader } { if (self.vidVerificationStatement != nil) { - auto & definedValue_0 = encodableStruct.vidVerificationStatement.Emplace(); + auto & definedValue_0 = encodableStruct.VIDVerificationStatement.Emplace(); definedValue_0 = AsByteSpan(self.vidVerificationStatement); } } @@ -9521,7 +9521,7 @@ - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader } @end -@implementation MTROperationalCredentialsClusterSignVidVerificationRequestParams +@implementation MTROperationalCredentialsClusterSignVIDVerificationRequestParams - (instancetype)init { if (self = [super init]) { @@ -9537,7 +9537,7 @@ - (instancetype)init - (id)copyWithZone:(NSZone * _Nullable)zone; { - auto other = [[MTROperationalCredentialsClusterSignVidVerificationRequestParams alloc] init]; + auto other = [[MTROperationalCredentialsClusterSignVIDVerificationRequestParams alloc] init]; other.fabricIndex = self.fabricIndex; other.clientChallenge = self.clientChallenge; @@ -9555,11 +9555,11 @@ - (NSString *)description @end -@implementation MTROperationalCredentialsClusterSignVidVerificationRequestParams (InternalMethods) +@implementation MTROperationalCredentialsClusterSignVIDVerificationRequestParams (InternalMethods) - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader { - chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Type encodableStruct; + chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Type encodableStruct; ListFreer listFreer; { encodableStruct.fabricIndex = self.fabricIndex.unsignedCharValue; @@ -9606,7 +9606,7 @@ - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader } @end -@implementation MTROperationalCredentialsClusterSignVidVerificationResponseParams +@implementation MTROperationalCredentialsClusterSignVIDVerificationResponseParams - (instancetype)init { if (self = [super init]) { @@ -9622,7 +9622,7 @@ - (instancetype)init - (id)copyWithZone:(NSZone * _Nullable)zone; { - auto other = [[MTROperationalCredentialsClusterSignVidVerificationResponseParams alloc] init]; + auto other = [[MTROperationalCredentialsClusterSignVIDVerificationResponseParams alloc] init]; other.fabricIndex = self.fabricIndex; other.fabricBindingVersion = self.fabricBindingVersion; @@ -9644,7 +9644,7 @@ - (nullable instancetype)initWithResponseValue:(NSDictionary *)r return nil; } - using DecodableType = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType; + using DecodableType = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType; chip::System::PacketBufferHandle buffer = [MTRBaseDevice _responseDataForCommand:responseValue clusterID:DecodableType::GetClusterId() commandID:DecodableType::GetCommandId() @@ -9679,9 +9679,9 @@ - (nullable instancetype)initWithResponseValue:(NSDictionary *)r @end -@implementation MTROperationalCredentialsClusterSignVidVerificationResponseParams (InternalMethods) +@implementation MTROperationalCredentialsClusterSignVIDVerificationResponseParams (InternalMethods) -- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType &)decodableStruct +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType &)decodableStruct { { self.fabricIndex = [NSNumber numberWithUnsignedChar:decodableStruct.fabricIndex]; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h index b186ab5b0d..6fdaf3fa5d 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloads_Internal.h @@ -616,21 +616,21 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface MTROperationalCredentialsClusterSetVidVerificationStatementParams (InternalMethods) +@interface MTROperationalCredentialsClusterSetVIDVerificationStatementParams (InternalMethods) - (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; @end -@interface MTROperationalCredentialsClusterSignVidVerificationRequestParams (InternalMethods) +@interface MTROperationalCredentialsClusterSignVIDVerificationRequestParams (InternalMethods) - (NSDictionary * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error; @end -@interface MTROperationalCredentialsClusterSignVidVerificationResponseParams (InternalMethods) +@interface MTROperationalCredentialsClusterSignVIDVerificationResponseParams (InternalMethods) -- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType &)decodableStruct; +- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType &)decodableStruct; @end diff --git a/src/platform/BUILD.gn b/src/platform/BUILD.gn index df94628600..193d119506 100644 --- a/src/platform/BUILD.gn +++ b/src/platform/BUILD.gn @@ -149,7 +149,7 @@ if (chip_device_platform != "none" && chip_device_platform != "external") { chip_device_platform == "tizen" || chip_device_platform == "android" || chip_device_platform == "webos" || chip_device_platform == "bl602" || chip_device_platform == "bl702" || chip_device_platform == "bl702l" || - chip_device_platform == "bl616") { + chip_device_platform == "bl616" || chip_device_platform == "esp32") { defines += [ "CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE=${chip_enable_ble}" ] } diff --git a/src/platform/ESP32/BLEManagerImpl.h b/src/platform/ESP32/BLEManagerImpl.h index 6e71b1990a..db6d99c953 100644 --- a/src/platform/ESP32/BLEManagerImpl.h +++ b/src/platform/ESP32/BLEManagerImpl.h @@ -24,11 +24,7 @@ */ #pragma once -#include - -#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE - -#include "sdkconfig.h" +#include #include @@ -117,6 +113,7 @@ struct BLEScanConfig }; #endif // CONFIG_ENABLE_ESP32_BLE_CONTROLLER + /** * Concrete implementation of the BLEManager singleton object for the ESP32 platform. */ @@ -124,12 +121,10 @@ class BLEManagerImpl final : public BLEManager, private Ble::BleLayer, private Ble::BlePlatformDelegate, #ifdef CONFIG_ENABLE_ESP32_BLE_CONTROLLER - private Ble::BleApplicationDelegate, private Ble::BleConnectionDelegate, - private ChipDeviceScannerDelegate -#else - private Ble::BleApplicationDelegate + private ChipDeviceScannerDelegate, #endif // CONFIG_ENABLE_ESP32_BLE_CONTROLLER + private Ble::BleApplicationDelegate { public: BLEManagerImpl() {} @@ -142,6 +137,9 @@ class BLEManagerImpl final : public BLEManager, CHIP_ERROR ConfigureScanResponseData(ByteSpan data); void ClearScanResponseData(void); +#ifdef CONFIG_BT_NIMBLE_ENABLED + CHIP_ERROR ConfigureExtraServices(std::vector & extGattSvcs, bool afterMatterSvc); +#endif private: chip::Optional mScanResponse; @@ -240,6 +238,12 @@ class BLEManagerImpl final : public BLEManager, BLEAdvConfig mBLEAdvConfig; #endif // CONFIG_ENABLE_ESP32_BLE_CONTROLLER #ifdef CONFIG_BT_NIMBLE_ENABLED +#ifdef CONFIG_BT_NIMBLE_EXT_ADV + static constexpr size_t kMaxMatterAdvDataLen = 31; + static constexpr uint8_t kMatterAdvInstance = 0; + uint8_t mMatterAdvData[kMaxMatterAdvDataLen]; + uint16_t mMatterAdvDataLen = 0; +#endif uint16_t mSubscribedConIds[kMaxConnections]; #endif // CONFIG_BT_NIMBLE_ENABLED @@ -278,6 +282,7 @@ class BLEManagerImpl final : public BLEManager, esp_gatt_if_t mAppIf; #elif defined(CONFIG_BT_NIMBLE_ENABLED) uint16_t mNumGAPCons; + std::vector mGattSvcs; #endif // CONFIG_BT_BLUEDROID_ENABLED uint16_t mServiceAttrHandle; uint16_t mRXCharAttrHandle; @@ -347,7 +352,7 @@ class BLEManagerImpl final : public BLEManager, static void bleprph_host_task(void * param); static void bleprph_on_sync(void); static void bleprph_on_reset(int); - static const struct ble_gatt_svc_def CHIPoBLEGATTAttrs[]; + static const struct ble_gatt_svc_def CHIPoBLEGATTSvc; static int ble_svr_gap_event(struct ble_gap_event * event, void * arg); static int gatt_svr_chr_access(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt * ctxt, void * arg); @@ -423,5 +428,3 @@ inline bool BLEManagerImpl::_IsAdvertising(void) } // namespace Internal } // namespace DeviceLayer } // namespace chip - -#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE diff --git a/src/platform/ESP32/BUILD.gn b/src/platform/ESP32/BUILD.gn index a1128c54b4..0695b77579 100644 --- a/src/platform/ESP32/BUILD.gn +++ b/src/platform/ESP32/BUILD.gn @@ -100,33 +100,29 @@ static_library("ESP32") { ] } - if (chip_enable_chipoble) { - sources += [ - "BLEManagerImpl.h", - "ChipDeviceScanner.h", - ] - } - - if (chip_enable_ble_controller) { - sources += [ "ChipDeviceScanner.h" ] - } - - if (chip_bt_nimble_enabled) { - sources += [ "nimble/BLEManagerImpl.cpp" ] + if (chip_enable_ble) { + sources += [ "BLEManagerImpl.h" ] if (chip_enable_ble_controller) { - sources += [ - "nimble/ChipDeviceScanner.cpp", - "nimble/blecent.h", - "nimble/misc.c", - "nimble/peer.c", - ] + sources += [ "ChipDeviceScanner.h" ] } - } - if (chip_bt_bluedroid_enabled) { - sources += [ "bluedroid/BLEManagerImpl.cpp" ] - if (chip_enable_ble_controller) { - sources += [ "bluedroid/ChipDeviceScanner.cpp" ] + if (chip_bt_nimble_enabled) { + sources += [ "nimble/BLEManagerImpl.cpp" ] + if (chip_enable_ble_controller) { + sources += [ + "nimble/ChipDeviceScanner.cpp", + "nimble/blecent.h", + "nimble/misc.c", + "nimble/peer.c", + ] + } + } + + if (chip_bt_bluedroid_enabled) { + sources += [ "bluedroid/BLEManagerImpl.cpp" ] + if (chip_enable_ble_controller) { + sources += [ "bluedroid/ChipDeviceScanner.cpp" ] + } } } diff --git a/src/platform/ESP32/CHIPDevicePlatformConfig.h b/src/platform/ESP32/CHIPDevicePlatformConfig.h index 6c3395e686..a8c431c333 100644 --- a/src/platform/ESP32/CHIPDevicePlatformConfig.h +++ b/src/platform/ESP32/CHIPDevicePlatformConfig.h @@ -96,12 +96,6 @@ #define CHIP_DEVICE_CONFIG_ICD_FAST_POLL_INTERVAL chip::System::Clock::Milliseconds32(CONFIG_ICD_FAST_POLL_INTERVAL_MS) #endif // CHIP_CONFIG_ENABLE_ICD_SERVER -#ifdef CONFIG_ENABLE_CHIPOBLE -#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE CONFIG_ENABLE_CHIPOBLE -#else -#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 0 -#endif // CONFIG_ENABLE_CHIPOBLE - #ifdef CONFIG_ENABLE_EXTENDED_DISCOVERY #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY CONFIG_ENABLE_EXTENDED_DISCOVERY #else diff --git a/src/platform/ESP32/ConfigurationManagerImpl.h b/src/platform/ESP32/ConfigurationManagerImpl.h index 1de94bbddd..db2e34f343 100644 --- a/src/platform/ESP32/ConfigurationManagerImpl.h +++ b/src/platform/ESP32/ConfigurationManagerImpl.h @@ -35,6 +35,7 @@ #include #endif +#include #include namespace chip { diff --git a/src/platform/ESP32/OTAImageProcessorImpl.cpp b/src/platform/ESP32/OTAImageProcessorImpl.cpp index 284f21c063..839b84134b 100644 --- a/src/platform/ESP32/OTAImageProcessorImpl.cpp +++ b/src/platform/ESP32/OTAImageProcessorImpl.cpp @@ -280,6 +280,36 @@ esp_err_t OTAImageProcessorImpl::DeltaOTAWriteCallback(const uint8_t * buf, size } #endif // CONFIG_ENABLE_DELTA_OTA +#if defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) +esp_err_t OTAImageProcessorImpl::ProcessRcpImage(const uint8_t * buffer, uint32_t bufLen) +{ + esp_err_t err = ESP_OK; + + if (!mRcpFirmwareDownloaded) + { + size_t rcpOtaReceivedLen = 0; + err = esp_rcp_ota_receive(this->mRcpOtaHandle, buffer, bufLen, &rcpOtaReceivedLen); + + if (esp_rcp_ota_get_state(this->mRcpOtaHandle) == ESP_RCP_OTA_STATE_FINISHED) + { + this->mBrFirmwareSize = esp_rcp_ota_get_subfile_size(this->mRcpOtaHandle, FILETAG_HOST_FIRMWARE); + err = esp_ota_write(this->mOTAUpdateHandle, buffer + rcpOtaReceivedLen, bufLen - rcpOtaReceivedLen); + this->mRcpFirmwareDownloaded = true; + } + } + else if (this->mBrFirmwareSize > 0) + { + err = esp_ota_write(this->mOTAUpdateHandle, buffer, bufLen); + } + else + { + err = ESP_FAIL; + } + + return err; +} +#endif + void OTAImageProcessorImpl::HandlePrepareDownload(intptr_t context) { auto * imageProcessor = reinterpret_cast(context); @@ -337,6 +367,16 @@ void OTAImageProcessorImpl::HandlePrepareDownload(intptr_t context) } #endif // CONFIG_ENABLE_ENCRYPTED_OTA +#if defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) + imageProcessor->mRcpOtaHandle = 0; + imageProcessor->mBrFirmwareSize = 0; + imageProcessor->mRcpFirmwareDownloaded = false; + if (esp_rcp_ota_begin(&imageProcessor->mRcpOtaHandle) != ESP_OK) + { + return; + } +#endif + imageProcessor->mHeaderParser.Init(); imageProcessor->mDownloader->OnPreparedForDownload(CHIP_NO_ERROR); PostOTAStateChangeEvent(DeviceLayer::kOtaDownloadInProgress); @@ -380,6 +420,12 @@ void OTAImageProcessorImpl::HandleFinalize(intptr_t context) err = esp_ota_end(imageProcessor->mOTAUpdateHandle); DeltaOTACleanUp(reinterpret_cast(imageProcessor)); +#elif defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) + esp_err_t err = esp_rcp_ota_end(imageProcessor->mRcpOtaHandle); + err |= esp_ota_end(imageProcessor->mOTAUpdateHandle); + imageProcessor->mRcpOtaHandle = 0; + imageProcessor->mBrFirmwareSize = 0; + imageProcessor->mRcpFirmwareDownloaded = false; #else esp_err_t err = esp_ota_end(imageProcessor->mOTAUpdateHandle); #endif // CONFIG_ENABLE_DELTA_OTA @@ -421,6 +467,16 @@ void OTAImageProcessorImpl::HandleAbort(intptr_t context) DeltaOTACleanUp(reinterpret_cast(imageProcessor)); #endif // CONFIG_ENABLE_DELTA_OTA +#if defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) + if (esp_rcp_ota_abort(imageProcessor->mRcpOtaHandle) != ESP_OK) + { + ESP_LOGE(TAG, "ESP RCP OTA abort failed"); + } + imageProcessor->mRcpOtaHandle = 0; + imageProcessor->mBrFirmwareSize = 0; + imageProcessor->mRcpFirmwareDownloaded = false; +#endif + if (esp_ota_abort(imageProcessor->mOTAUpdateHandle) != ESP_OK) { ESP_LOGE(TAG, "ESP OTA abort failed"); @@ -483,6 +539,8 @@ void OTAImageProcessorImpl::HandleProcessBlock(intptr_t context) // Apply the patch and writes that data to the passive partition. err = esp_delta_ota_feed_patch(imageProcessor->mDeltaOTAUpdateHandle, blockToWrite.data() + index, blockToWrite.size() - index); +#elif defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) + err = imageProcessor->ProcessRcpImage(blockToWrite.data(), blockToWrite.size()); #else err = esp_ota_write(imageProcessor->mOTAUpdateHandle, blockToWrite.data(), blockToWrite.size()); #endif // CONFIG_ENABLE_DELTA_OTA diff --git a/src/platform/ESP32/OTAImageProcessorImpl.h b/src/platform/ESP32/OTAImageProcessorImpl.h index 3414f90b42..ac607768e9 100644 --- a/src/platform/ESP32/OTAImageProcessorImpl.h +++ b/src/platform/ESP32/OTAImageProcessorImpl.h @@ -33,6 +33,12 @@ #define IMG_HEADER_LEN sizeof(esp_image_header_t) #endif // CONFIG_ENABLE_DELTA_OTA +#if defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) +#include "esp_check.h" +#include "esp_rcp_ota.h" +#include "esp_rcp_update.h" +#endif + namespace chip { class OTAImageProcessorImpl : public OTAImageProcessorInterface @@ -99,6 +105,13 @@ class OTAImageProcessorImpl : public OTAImageProcessorInterface bool mEncryptedOTAEnabled = false; esp_decrypt_handle_t mOTADecryptionHandle = nullptr; #endif // CONFIG_ENABLE_ENCRYPTED_OTA + +#if defined(CONFIG_AUTO_UPDATE_RCP) && defined(CONFIG_OPENTHREAD_BORDER_ROUTER) + esp_rcp_ota_handle_t mRcpOtaHandle; + bool mRcpFirmwareDownloaded; + uint32_t mBrFirmwareSize; + esp_err_t ProcessRcpImage(const uint8_t * buffer, uint32_t bufLen); +#endif }; } // namespace chip diff --git a/src/platform/ESP32/OpenthreadLauncher.cpp b/src/platform/ESP32/OpenthreadLauncher.cpp index 0ab3dadf68..99434675a6 100644 --- a/src/platform/ESP32/OpenthreadLauncher.cpp +++ b/src/platform/ESP32/OpenthreadLauncher.cpp @@ -156,7 +156,9 @@ static void update_rcp(void) { // Deinit uart to transfer UART to the serial loader esp_openthread_rcp_deinit(); - if (esp_rcp_update() == ESP_OK) + + esp_err_t err = esp_rcp_update(); + if (err == ESP_OK) { esp_rcp_mark_image_verified(true); } @@ -196,8 +198,18 @@ static void try_update_ot_rcp(const esp_openthread_platform_config_t * config) static void rcp_failure_handler(void) { esp_rcp_mark_image_unusable(); - try_update_ot_rcp(s_platform_config); - esp_rcp_reset(); + char internal_rcp_version[kRcpVersionMaxSize]; + if (esp_rcp_load_version_in_storage(internal_rcp_version, sizeof(internal_rcp_version)) == ESP_OK) + { + ESP_LOGI(TAG, "Internal RCP Version: %s", internal_rcp_version); + update_rcp(); + } + else + { + ESP_LOGI(TAG, "RCP firmware not found in storage, will reboot to try next image"); + esp_rcp_mark_image_verified(false); + esp_restart(); + } } #endif // CONFIG_OPENTHREAD_BORDER_ROUTER && CONFIG_AUTO_UPDATE_RCP diff --git a/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp b/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp index 43c3468393..476ba81f2b 100644 --- a/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp +++ b/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp @@ -23,17 +23,12 @@ * for the ESP32 platform. */ /* this file behaves like a config.h, comes first */ -#include - -#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE - #include "sdkconfig.h" +#include #ifdef CONFIG_ENABLE_ESP32_BLE_CONTROLLER #include #endif -#ifdef CONFIG_BT_BLUEDROID_ENABLED - #ifdef CONFIG_ENABLE_ESP32_BLE_CONTROLLER #include #endif @@ -2158,7 +2153,3 @@ void BLEManagerImpl::DriveBLEState(intptr_t arg) } // namespace Internal } // namespace DeviceLayer } // namespace chip - -#endif // CONFIG_BT_BLUEDROID_ENABLED - -#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE diff --git a/src/platform/ESP32/nimble/BLEManagerImpl.cpp b/src/platform/ESP32/nimble/BLEManagerImpl.cpp index 2c5bcb54c4..8c6a4f7d68 100644 --- a/src/platform/ESP32/nimble/BLEManagerImpl.cpp +++ b/src/platform/ESP32/nimble/BLEManagerImpl.cpp @@ -24,12 +24,6 @@ /* this file behaves like a config.h, comes first */ #include -#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE - -#include "sdkconfig.h" - -#ifdef CONFIG_BT_NIMBLE_ENABLED - #ifdef CONFIG_ENABLE_ESP32_BLE_CONTROLLER #include #endif // CONFIG_ENABLE_ESP32_BLE_CONTROLLER @@ -117,6 +111,7 @@ const ble_uuid128_t UUID_CHIPoBLEChar_C3 = { { BLE_UUID_TYPE_128 }, { 0x04, 0x8F, 0x21, 0x83, 0x8A, 0x74, 0x7D, 0xB8, 0xF2, 0x45, 0x72, 0x87, 0x38, 0x02, 0x63, 0x64 } }; #endif // CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING +const struct ble_gatt_svc_def kNullSvc = { 0 }; SemaphoreHandle_t semaphoreHandle = NULL; @@ -130,40 +125,33 @@ uint8_t own_addr_type = BLE_OWN_ADDR_RANDOM; ChipDeviceScanner & mDeviceScanner = Internal::ChipDeviceScanner::GetInstance(); #endif BLEManagerImpl BLEManagerImpl::sInstance; -const struct ble_gatt_svc_def BLEManagerImpl::CHIPoBLEGATTAttrs[] = { - { .type = BLE_GATT_SVC_TYPE_PRIMARY, - .uuid = (ble_uuid_t *) (&ShortUUID_CHIPoBLEService), - .characteristics = - (struct ble_gatt_chr_def[]){ - { - .uuid = (ble_uuid_t *) (&UUID128_CHIPoBLEChar_RX), - .access_cb = gatt_svr_chr_access, - .flags = BLE_GATT_CHR_F_WRITE, - .val_handle = &sInstance.mRXCharAttrHandle, - }, - { - .uuid = (ble_uuid_t *) (&UUID_CHIPoBLEChar_TX), - .access_cb = gatt_svr_chr_access, - .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_INDICATE, - .val_handle = &sInstance.mTXCharCCCDAttrHandle, - }, +const struct ble_gatt_svc_def BLEManagerImpl::CHIPoBLEGATTSvc = { .type = BLE_GATT_SVC_TYPE_PRIMARY, + .uuid = (ble_uuid_t *) (&ShortUUID_CHIPoBLEService), + .characteristics = (struct ble_gatt_chr_def[]){ + { + .uuid = (ble_uuid_t *) (&UUID128_CHIPoBLEChar_RX), + .access_cb = gatt_svr_chr_access, + .flags = BLE_GATT_CHR_F_WRITE, + .val_handle = &sInstance.mRXCharAttrHandle, + }, + { + .uuid = (ble_uuid_t *) (&UUID_CHIPoBLEChar_TX), + .access_cb = gatt_svr_chr_access, + .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_INDICATE, + .val_handle = &sInstance.mTXCharCCCDAttrHandle, + }, #if CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING - { - .uuid = (ble_uuid_t *) (&UUID_CHIPoBLEChar_C3), - .access_cb = gatt_svr_chr_access_additional_data, - .flags = BLE_GATT_CHR_F_READ, - .val_handle = &sInstance.mC3CharAttrHandle, - }, + { + .uuid = (ble_uuid_t *) (&UUID_CHIPoBLEChar_C3), + .access_cb = gatt_svr_chr_access_additional_data, + .flags = BLE_GATT_CHR_F_READ, + .val_handle = &sInstance.mC3CharAttrHandle, + }, #endif - { - 0, /* No more characteristics in this service */ - }, - } }, - - { - 0, /* No more services. */ - }, -}; + { + 0, /* No more characteristics in this service */ + }, + } }; #ifdef CONFIG_ENABLE_ESP32_BLE_CONTROLLER void BLEManagerImpl::HandleConnectFailed(CHIP_ERROR error) @@ -459,7 +447,7 @@ void BLEManagerImpl::HandlePlatformSpecificBLEEvent(const ChipDeviceEvent * apEv if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %" CHIP_ERROR_FORMAT, err.Format()); mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Disabled; } } @@ -583,7 +571,7 @@ CHIP_ERROR BLEManagerImpl::CloseConnection(BLE_CONNECTION_OBJECT conId) err = MapBLEError(ble_gap_terminate(conId, BLE_ERR_REM_USER_CONN_TERM)); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gap_terminate() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "ble_gap_terminate() failed: %" CHIP_ERROR_FORMAT, err.Format()); } #ifndef CONFIG_ENABLE_ESP32_BLE_CONTROLLER @@ -626,7 +614,7 @@ CHIP_ERROR BLEManagerImpl::SendIndication(BLE_CONNECTION_OBJECT conId, const Chi err = MapBLEError(ble_gattc_indicate_custom(conId, mTXCharCCCDAttrHandle, om)); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gattc_indicate_custom() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "ble_gattc_indicate_custom() failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } @@ -789,7 +777,7 @@ void BLEManagerImpl::DriveBLEState(void) err = ConfigureAdvertisingData(); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Configure Adv Data failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "Configure Adv Data failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } } @@ -799,7 +787,7 @@ void BLEManagerImpl::DriveBLEState(void) err = StartAdvertising(); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Start advertising failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "Start advertising failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } @@ -827,12 +815,18 @@ void BLEManagerImpl::DriveBLEState(void) { if (mFlags.Has(Flags::kAdvertising)) { +#ifdef CONFIG_BT_NIMBLE_EXT_ADV + if (ble_gap_ext_adv_active(kMatterAdvInstance)) + { + err = MapBLEError(ble_gap_ext_adv_stop(kMatterAdvInstance)); +#else if (ble_gap_adv_active()) { err = MapBLEError(ble_gap_adv_stop()); +#endif // CONFIG_BT_NIMBLE_EXT_ADV if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gap_adv_stop() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "BLE advertising stop failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } } @@ -867,7 +861,7 @@ void BLEManagerImpl::DriveBLEState(void) exit: if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %" CHIP_ERROR_FORMAT, err.Format()); mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Disabled; } } @@ -964,17 +958,22 @@ CHIP_ERROR BLEManagerImpl::InitESPBleLayer(void) ble_svc_gap_init(); ble_svc_gatt_init(); - err = MapBLEError(ble_gatts_count_cfg(CHIPoBLEGATTAttrs)); + if (mGattSvcs.size() == 0) + { + mGattSvcs.push_back(CHIPoBLEGATTSvc); + mGattSvcs.push_back(kNullSvc); + } + err = MapBLEError(ble_gatts_count_cfg(&mGattSvcs[0])); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gatts_count_cfg failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "ble_gatts_count_cfg failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } - err = MapBLEError(ble_gatts_add_svcs(CHIPoBLEGATTAttrs)); + err = MapBLEError(ble_gatts_add_svcs(&mGattSvcs[0])); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gatts_add_svcs failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "ble_gatts_add_svcs failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } } @@ -1054,6 +1053,208 @@ CHIP_ERROR BLEManagerImpl::DeinitBLE() extern "C" void ble_transport_ll_deinit(void) {} #endif +#ifdef CONFIG_BT_NIMBLE_EXT_ADV +CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) +{ + CHIP_ERROR err; + uint8_t index = 0; + + constexpr uint8_t kServiceDataTypeSize = 1; + + chip::Ble::ChipBLEDeviceIdentificationInfo deviceIdInfo; + + // If a custom device name has not been specified, generate a CHIP-standard name based on the + // bottom digits of the Chip device id. + uint16_t discriminator; + SuccessOrExit(err = GetCommissionableDataProvider()->GetSetupDiscriminator(discriminator)); + + if (!mFlags.Has(Flags::kUseCustomDeviceName)) + { + snprintf(mDeviceName, sizeof(mDeviceName), "%s%04u", CHIP_DEVICE_CONFIG_BLE_DEVICE_NAME_PREFIX, discriminator); + mDeviceName[kMaxDeviceNameLength] = 0; + } + + // Configure the BLE device name. + err = MapBLEError(ble_svc_gap_device_name_set(mDeviceName)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_svc_gap_device_name_set() failed: %" CHIP_ERROR_FORMAT, err.Format()); + ExitNow(); + } + + memset(mMatterAdvData, 0, sizeof(mMatterAdvData)); + mMatterAdvData[index++] = 0x02; // length + mMatterAdvData[index++] = CHIP_ADV_DATA_TYPE_FLAGS; // AD type : flags + mMatterAdvData[index++] = CHIP_ADV_DATA_FLAGS; // AD value + mMatterAdvData[index++] = kServiceDataTypeSize + sizeof(ESP32ChipServiceData); // length + mMatterAdvData[index++] = CHIP_ADV_DATA_TYPE_SERVICE_DATA; // AD type: (Service Data - 16-bit UUID) + mMatterAdvData[index++] = static_cast(ShortUUID_CHIPoBLEService.value & 0xFF); // AD value + mMatterAdvData[index++] = static_cast((ShortUUID_CHIPoBLEService.value >> 8) & 0xFF); // AD value + + err = ConfigurationMgr().GetBLEDeviceIdentificationInfo(deviceIdInfo); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "GetBLEDeviceIdentificationInfo(): %" CHIP_ERROR_FORMAT, err.Format()); + ExitNow(); + } + +#if CHIP_DEVICE_CONFIG_EXT_ADVERTISING + // Check for extended advertisement interval and redact VID/PID if past the initial period. + if (mFlags.Has(Flags::kExtAdvertisingEnabled)) + { + deviceIdInfo.SetVendorId(0); + deviceIdInfo.SetProductId(0); + deviceIdInfo.SetExtendedAnnouncementFlag(true); + } +#endif + +#if CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING + if (!mFlags.Has(Flags::kExtAdvertisingEnabled)) + { + deviceIdInfo.SetAdditionalDataFlag(true); + } + else + { + deviceIdInfo.SetAdditionalDataFlag(false); + } +#endif + + VerifyOrExit(index + sizeof(deviceIdInfo) <= sizeof(mMatterAdvData), err = CHIP_ERROR_OUTBOUND_MESSAGE_TOO_BIG); + memcpy(&mMatterAdvData[index], &deviceIdInfo, sizeof(deviceIdInfo)); + index = static_cast(index + sizeof(deviceIdInfo)); + + mMatterAdvDataLen = index; +exit: + return err; +} + +CHIP_ERROR BLEManagerImpl::StartAdvertising(void) +{ + CHIP_ERROR err; + ble_gap_ext_adv_params adv_params; + memset(&adv_params, 0, sizeof(adv_params)); + adv_params.scannable = 1; + adv_params.own_addr_type = own_addr_type; + adv_params.legacy_pdu = 1; + + mFlags.Clear(Flags::kAdvertisingRefreshNeeded); + + // Advertise connectable if we haven't reached the maximum number of connections. + size_t numCons = _NumConnections(); + bool connectable = (numCons < kMaxConnections); + adv_params.connectable = connectable; + + // Advertise in fast mode if it is connectable advertisement and + // the application has expressly requested fast advertising. + if (connectable && mFlags.Has(Flags::kFastAdvertisingEnabled)) + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MAX; + } + else + { +#if CHIP_DEVICE_CONFIG_EXT_ADVERTISING + if (!mFlags.Has(Flags::kExtAdvertisingEnabled)) + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; + } + else + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MAX; + } +#else + + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; + +#endif + } + + ChipLogProgress(DeviceLayer, "Configuring CHIPoBLE advertising (interval %" PRIu32 " ms, %sconnectable)", + (((uint32_t) adv_params.itvl_min) * 10) / 16, (connectable) ? "" : "non-"); + + { + if (ble_gap_ext_adv_active(kMatterAdvInstance)) + { + /* Advertising is already active. Stop and restart with the new parameters */ + ChipLogProgress(DeviceLayer, "Device already advertising, stop active advertisement and restart"); + err = MapBLEError(ble_gap_ext_adv_stop(kMatterAdvInstance)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_ext_adv_stop() failed: %" CHIP_ERROR_FORMAT ", cannot restart", err.Format()); + return err; + } + } + err = MapBLEError(ble_gap_ext_adv_configure(kMatterAdvInstance, &adv_params, NULL, ble_svr_gap_event, NULL)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_ext_adv_configure failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + + ble_addr_t addr; + + /* generate new non-resolvable private address */ + err = MapBLEError(ble_hs_id_gen_rnd(1, &addr)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_hs_id_gen_rnd failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + + /* Set generated address */ + err = MapBLEError(ble_gap_ext_adv_set_addr(kMatterAdvInstance, &addr)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_ext_adv_set_addr failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + + struct os_mbuf * data = os_msys_get_pkthdr(mMatterAdvDataLen, 0); + assert(data); + err = MapBLEError(os_mbuf_append(data, mMatterAdvData, mMatterAdvDataLen)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "os_mbuf_append failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + + err = MapBLEError(ble_gap_ext_adv_set_data(kMatterAdvInstance, data)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "os_mbuf_append failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + + if (mScanResponse.HasValue()) + { + uint16_t resp_size = static_cast(mScanResponse.Value().size()); + struct os_mbuf * resp_data = os_msys_get_pkthdr(resp_size, 0); + assert(resp_data); + err = MapBLEError(os_mbuf_append(resp_data, mScanResponse.Value().data(), resp_size)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "os_mbuf_append failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + err = MapBLEError(ble_gap_ext_adv_rsp_set_data(kMatterAdvInstance, resp_data)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_ext_adv_rsp_set_data failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + } + err = MapBLEError(ble_gap_ext_adv_start(kMatterAdvInstance, 0, 0)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_ext_adv_start() failed: %" CHIP_ERROR_FORMAT, err.Format()); + } + } + return err; +} +#else CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) { CHIP_ERROR err; @@ -1079,7 +1280,7 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) err = MapBLEError(ble_svc_gap_device_name_set(mDeviceName)); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_svc_gap_device_name_set() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "ble_svc_gap_device_name_set() failed: %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } @@ -1095,7 +1296,7 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) err = ConfigurationMgr().GetBLEDeviceIdentificationInfo(deviceIdInfo); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "GetBLEDeviceIdentificationInfo(): %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "GetBLEDeviceIdentificationInfo(): %" CHIP_ERROR_FORMAT, err.Format()); ExitNow(); } @@ -1128,7 +1329,7 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) err = MapBLEError(ble_gap_adv_set_data(advData, sizeof(advData))); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "ble_gap_adv_set_data failed: %s %d", ErrorStr(err), discriminator); + ChipLogError(DeviceLayer, "ble_gap_adv_set_data failed: %" CHIP_ERROR_FORMAT " %d", err.Format(), discriminator); ExitNow(); } @@ -1136,6 +1337,97 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) return err; } +CHIP_ERROR BLEManagerImpl::StartAdvertising(void) +{ + CHIP_ERROR err; + ble_gap_adv_params adv_params; + memset(&adv_params, 0, sizeof(adv_params)); + adv_params.disc_mode = BLE_GAP_DISC_MODE_GEN; + + mFlags.Clear(Flags::kAdvertisingRefreshNeeded); + + // Advertise connectable if we haven't reached the maximum number of connections. + size_t numCons = _NumConnections(); + bool connectable = (numCons < kMaxConnections); + adv_params.conn_mode = connectable ? BLE_GAP_CONN_MODE_UND : BLE_GAP_CONN_MODE_NON; + + // Advertise in fast mode if it is connectable advertisement and + // the application has expressly requested fast advertising. + if (connectable && mFlags.Has(Flags::kFastAdvertisingEnabled)) + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MAX; + } + else + { +#if CHIP_DEVICE_CONFIG_EXT_ADVERTISING + if (!mFlags.Has(Flags::kExtAdvertisingEnabled)) + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; + } + else + { + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MAX; + } +#else + + adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; + adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; + +#endif + } + + ChipLogProgress(DeviceLayer, "Configuring CHIPoBLE advertising (interval %" PRIu32 " ms, %sconnectable)", + (((uint32_t) adv_params.itvl_min) * 10) / 16, (connectable) ? "" : "non-"); + + { + if (ble_gap_adv_active()) + { + /* Advertising is already active. Stop and restart with the new parameters */ + ChipLogProgress(DeviceLayer, "Device already advertising, stop active advertisement and restart"); + err = MapBLEError(ble_gap_adv_stop()); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_adv_stop() failed: %" CHIP_ERROR_FORMAT ", cannot restart", err.Format()); + return err; + } + } +#ifdef CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY + else + { + err = MapBLEError(ble_hs_pvcy_rpa_config(NIMBLE_HOST_ENABLE_RPA)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "RPA not set: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + } +#endif + if (mScanResponse.HasValue()) + { + err = MapBLEError(ble_gap_adv_rsp_set_data(mScanResponse.Value().data(), mScanResponse.Value().size())); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ble_gap_adv_rsp_set_data failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + } + err = MapBLEError(ble_gap_adv_start(own_addr_type, NULL, BLE_HS_FOREVER, &adv_params, ble_svr_gap_event, NULL)); + if (err == CHIP_NO_ERROR) + { + return CHIP_NO_ERROR; + } + else + { + ChipLogError(DeviceLayer, "ble_gap_adv_start() failed: %" CHIP_ERROR_FORMAT, err.Format()); + return err; + } + } +} +#endif // CONFIG_BT_NIMBLE_EXT_ADV + CHIP_ERROR BLEManagerImpl::ConfigureScanResponseData(ByteSpan data) { if (data.empty() || data.size() > MAX_SCAN_RSP_DATA_LEN) @@ -1155,6 +1447,26 @@ void BLEManagerImpl::ClearScanResponseData(void) ChipLogDetail(DeviceLayer, "scan response data is cleared"); } +CHIP_ERROR BLEManagerImpl::ConfigureExtraServices(std::vector & extGattSvcs, bool afterMatterSvc) +{ + if (!mGattSvcs.empty()) + { + ChipLogError(DeviceLayer, "Cannot configure the extra GATT services"); + return CHIP_ERROR_INCORRECT_STATE; + } + if (afterMatterSvc) + { + mGattSvcs = extGattSvcs; + } + mGattSvcs.push_back(CHIPoBLEGATTSvc); + if (!afterMatterSvc) + { + mGattSvcs.insert(mGattSvcs.end(), extGattSvcs.begin(), extGattSvcs.end()); + } + mGattSvcs.push_back(kNullSvc); + return CHIP_NO_ERROR; +} + void BLEManagerImpl::HandleRXCharWrite(struct ble_gatt_char_context * param) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -1182,7 +1494,7 @@ void BLEManagerImpl::HandleRXCharWrite(struct ble_gatt_char_context * param) exit: if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "HandleRXCharWrite() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "HandleRXCharWrite() failed: %" CHIP_ERROR_FORMAT, err.Format()); } } @@ -1245,7 +1557,7 @@ void BLEManagerImpl::HandleTXCharCCCDWrite(struct ble_gap_event * gapEvent) exit: if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "HandleTXCharCCCDWrite() failed: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "HandleTXCharCCCDWrite() failed: %" CHIP_ERROR_FORMAT, err.Format()); // TODO: fail connection??? } @@ -1561,7 +1873,7 @@ int BLEManagerImpl::ble_svr_gap_event(struct ble_gap_event * event, void * arg) exit: if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %s", ErrorStr(err)); + ChipLogError(DeviceLayer, "Disabling CHIPoBLE service due to error: %" CHIP_ERROR_FORMAT, err.Format()); sInstance.mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Disabled; } @@ -1681,96 +1993,6 @@ int BLEManagerImpl::gatt_svr_chr_access(uint16_t conn_handle, uint16_t attr_hand return err; } -CHIP_ERROR BLEManagerImpl::StartAdvertising(void) -{ - CHIP_ERROR err; - ble_gap_adv_params adv_params; - memset(&adv_params, 0, sizeof(adv_params)); - adv_params.disc_mode = BLE_GAP_DISC_MODE_GEN; - - mFlags.Clear(Flags::kAdvertisingRefreshNeeded); - - // Advertise connectable if we haven't reached the maximum number of connections. - size_t numCons = _NumConnections(); - bool connectable = (numCons < kMaxConnections); - adv_params.conn_mode = connectable ? BLE_GAP_CONN_MODE_UND : BLE_GAP_CONN_MODE_NON; - - // Advertise in fast mode if it is connectable advertisement and - // the application has expressly requested fast advertising. - if (connectable && mFlags.Has(Flags::kFastAdvertisingEnabled)) - { - adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MIN; - adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL_MAX; - } - else - { -#if CHIP_DEVICE_CONFIG_EXT_ADVERTISING - if (!mFlags.Has(Flags::kExtAdvertisingEnabled)) - { - adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; - adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; - } - else - { - adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MIN; - adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING_INTERVAL_MAX; - } -#else - - adv_params.itvl_min = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MIN; - adv_params.itvl_max = CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL_MAX; - -#endif - } - - ChipLogProgress(DeviceLayer, "Configuring CHIPoBLE advertising (interval %" PRIu32 " ms, %sconnectable)", - (((uint32_t) adv_params.itvl_min) * 10) / 16, (connectable) ? "" : "non-"); - - { - if (ble_gap_adv_active()) - { - /* Advertising is already active. Stop and restart with the new parameters */ - ChipLogProgress(DeviceLayer, "Device already advertising, stop active advertisement and restart"); - err = MapBLEError(ble_gap_adv_stop()); - if (err != CHIP_NO_ERROR) - { - ChipLogError(DeviceLayer, "ble_gap_adv_stop() failed: %s, cannot restart", ErrorStr(err)); - return err; - } - } -#ifdef CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY - else - { - err = MapBLEError(ble_hs_pvcy_rpa_config(NIMBLE_HOST_ENABLE_RPA)); - if (err != CHIP_NO_ERROR) - { - ChipLogError(DeviceLayer, "RPA not set: %s", ErrorStr(err)); - return err; - } - } -#endif - if (mScanResponse.HasValue()) - { - err = MapBLEError(ble_gap_adv_rsp_set_data(mScanResponse.Value().data(), mScanResponse.Value().size())); - if (err != CHIP_NO_ERROR) - { - ChipLogError(DeviceLayer, "ble_gap_adv_rsp_set_data failed: %s", ErrorStr(err)); - return err; - } - } - err = MapBLEError(ble_gap_adv_start(own_addr_type, NULL, BLE_HS_FOREVER, &adv_params, ble_svr_gap_event, NULL)); - if (err == CHIP_NO_ERROR) - { - return CHIP_NO_ERROR; - } - else - { - ChipLogError(DeviceLayer, "ble_gap_adv_start() failed: %s", ErrorStr(err)); - return err; - } - } -} - void BLEManagerImpl::DriveBLEState(intptr_t arg) { sInstance.DriveBLEState(); @@ -1883,7 +2105,7 @@ void BLEManagerImpl::InitiateScan(BleScanState scanType) if (err != CHIP_NO_ERROR) { BleConnectionDelegate::OnConnectionError(mBLEScanConfig.mAppState, err); - ChipLogError(Ble, "Failed to initialize device scanner: %s", ErrorStr(err)); + ChipLogError(Ble, "Failed to initialize device scanner: %" CHIP_ERROR_FORMAT, err.Format()); return; } @@ -1893,7 +2115,7 @@ void BLEManagerImpl::InitiateScan(BleScanState scanType) if (err != CHIP_NO_ERROR) { mBLEScanConfig.mBleScanState = BleScanState::kNotScanning; - ChipLogError(Ble, "Failed to start a BLE scan: %s", chip::ErrorStr(err)); + ChipLogError(Ble, "Failed to start a BLE scan: %" CHIP_ERROR_FORMAT, err.Format()); BleConnectionDelegate::OnConnectionError(mBLEScanConfig.mAppState, err); return; } @@ -1931,7 +2153,3 @@ CHIP_ERROR BLEManagerImpl::CancelConnection() } // namespace Internal } // namespace DeviceLayer } // namespace chip - -#endif // CONFIG_BT_NIMBLE_ENABLED - -#endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE diff --git a/src/platform/nxp/common/ConnectivityManagerImpl.cpp b/src/platform/nxp/common/ConnectivityManagerImpl.cpp index 8e05270b85..599269ddcf 100644 --- a/src/platform/nxp/common/ConnectivityManagerImpl.cpp +++ b/src/platform/nxp/common/ConnectivityManagerImpl.cpp @@ -552,12 +552,24 @@ void ConnectivityManagerImpl::BrHandleStateChange() DeviceLayer::ConfigurationMgr().GetPrimaryMACAddress(mac); chip::Dnssd::MakeHostName(mHostname, sizeof(mHostname), mac); + BrInitAppLock(LockThreadStack, UnlockThreadStack); BrInitPlatform(ThreadStackMgrImpl().OTInstance(), extNetIfPtr, thrNetIfPtr); + BrUpdateLwipThrIf(); BrInitMdnsHost(mHostname); } } } +void ConnectivityManagerImpl::LockThreadStack() +{ + ThreadStackMgrImpl().LockThreadStack(); +} + +void ConnectivityManagerImpl::UnlockThreadStack() +{ + ThreadStackMgrImpl().UnlockThreadStack(); +} + Inet::InterfaceId ConnectivityManagerImpl::GetThreadInterface() { return sInstance.mThreadNetIf; diff --git a/src/platform/nxp/common/ConnectivityManagerImpl.h b/src/platform/nxp/common/ConnectivityManagerImpl.h index 61db71db72..2f03daf1ef 100644 --- a/src/platform/nxp/common/ConnectivityManagerImpl.h +++ b/src/platform/nxp/common/ConnectivityManagerImpl.h @@ -163,6 +163,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void UpdateInternetConnectivityState(void); #if CHIP_ENABLE_OPENTHREAD void BrHandleStateChange(); + static void LockThreadStack(); + static void UnlockThreadStack(); #endif /* CHIP_DEVICE_CONFIG_ENABLE_THREAD */ #endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */ diff --git a/src/platform/nxp/common/DiagnosticDataProviderImpl.cpp b/src/platform/nxp/common/DiagnosticDataProviderImpl.cpp index 1f7e7f9da0..08313af24e 100644 --- a/src/platform/nxp/common/DiagnosticDataProviderImpl.cpp +++ b/src/platform/nxp/common/DiagnosticDataProviderImpl.cpp @@ -363,12 +363,14 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiRssi(int8_t & rssi) CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiBeaconLostCount(uint32_t & beaconLostCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - beaconLostCount = stats.bcn_miss_cnt - mBeaconLostCount; + beaconLostCount = stats.sta_mgmt.beacons_miss; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -377,12 +379,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiBeaconLostCount(uint32_t & beaconL CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiBeaconRxCount(uint32_t & beaconRxCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - beaconRxCount = stats.bcn_rcv_cnt - mBeaconRxCount; + beaconRxCount = stats.sta_mgmt.beacons_rx; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -391,12 +394,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiBeaconRxCount(uint32_t & beaconRxC CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketMulticastRxCount(uint32_t & packetMulticastRxCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - packetMulticastRxCount = stats.mcast_rx_frame - mPacketMulticastRxCount; + packetMulticastRxCount = stats.multicast.tx; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -405,12 +409,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketMulticastRxCount(uint32_t & CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketMulticastTxCount(uint32_t & packetMulticastTxCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - packetMulticastTxCount = stats.mcast_tx_frame - mPacketMulticastTxCount; + packetMulticastTxCount = stats.multicast.tx; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -419,12 +424,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketMulticastTxCount(uint32_t & CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketUnicastTxCount(uint32_t & packetUnicastTxCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - packetUnicastTxCount = stats.tx_frame - mPacketUnicastTxCount; + packetUnicastTxCount = stats.unicast.tx; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -433,12 +439,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketUnicastTxCount(uint32_t & pa CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketUnicastRxCount(uint32_t & packetUnicastRxCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - packetUnicastRxCount = stats.rx_unicast_cnt - mPacketUnicastRxCount; + packetUnicastRxCount = stats.unicast.rx; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -447,12 +454,13 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiPacketUnicastRxCount(uint32_t & pa CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiOverrunCount(uint64_t & overrunCount) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_stats_t stats; + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_get_stats(&stats, bss_type); if (ret == WM_SUCCESS) { - overrunCount = (stats.tx_overrun_cnt + stats.rx_overrun_cnt) - mOverrunCount; + overrunCount = (stats.overrun.tx + stats.overrun.rx); return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ @@ -461,18 +469,11 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetWiFiOverrunCount(uint64_t & overrunCou CHIP_ERROR DiagnosticDataProviderImpl::ResetWiFiNetworkDiagnosticsCounts(void) { -#ifdef CONFIG_WIFI_GET_LOG - wlan_pkt_stats_t stats; - int ret = wlan_get_log(&stats); +#if CONFIG_WIFI_GET_LOG + wlan_bss_type bss_type = WLAN_BSS_TYPE_STA; + int ret = wlan_reset_stats(bss_type); if (ret == WM_SUCCESS) { - mPacketUnicastTxCount = stats.tx_frame; - mPacketMulticastTxCount = stats.mcast_tx_frame; - mPacketMulticastRxCount = stats.mcast_rx_frame; - mBeaconRxCount = stats.bcn_rcv_cnt; - mBeaconLostCount = stats.bcn_miss_cnt; - mPacketUnicastRxCount = stats.rx_unicast_cnt; - mOverrunCount = stats.tx_overrun_cnt + stats.rx_overrun_cnt; return CHIP_NO_ERROR; } #endif /* CONFIG_WIFI_GET_LOG */ diff --git a/src/platform/nxp/common/DiagnosticDataProviderImpl.h b/src/platform/nxp/common/DiagnosticDataProviderImpl.h index c4bc245a58..ebd39d4232 100644 --- a/src/platform/nxp/common/DiagnosticDataProviderImpl.h +++ b/src/platform/nxp/common/DiagnosticDataProviderImpl.h @@ -69,14 +69,6 @@ class DiagnosticDataProviderImpl : public DiagnosticDataProvider CHIP_ERROR ResetWiFiNetworkDiagnosticsCounts() override; CHIP_ERROR GetWiFiOverrunCount(uint64_t & overrunCount) override; CHIP_ERROR GetWiFiPacketUnicastRxCount(uint32_t & packetUnicastTxCount) override; - - uint32_t mBeaconRxCount = 0; - uint32_t mBeaconLostCount = 0; - uint32_t mPacketMulticastRxCount = 0; - uint32_t mPacketMulticastTxCount = 0; - uint32_t mPacketUnicastTxCount = 0; - uint32_t mPacketUnicastRxCount = 0; - uint64_t mOverrunCount = 0; #endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */ }; diff --git a/src/platform/nxp/common/ota/OTAFirmwareProcessor.cpp b/src/platform/nxp/common/ota/OTAFirmwareProcessor.cpp index a9015d8e18..b0e422221d 100644 --- a/src/platform/nxp/common/ota/OTAFirmwareProcessor.cpp +++ b/src/platform/nxp/common/ota/OTAFirmwareProcessor.cpp @@ -107,6 +107,8 @@ CHIP_ERROR OTAFirmwareProcessor::ApplyAction() CHIP_ERROR OTAFirmwareProcessor::AbortAction() { OTA_CancelImage(); + OTA_ServiceDeInit(); + Clear(); return CHIP_NO_ERROR; diff --git a/src/platform/nxp/common/ota/OTAImageProcessorImpl.cpp b/src/platform/nxp/common/ota/OTAImageProcessorImpl.cpp index 59af9449b9..462e4ff3b3 100644 --- a/src/platform/nxp/common/ota/OTAImageProcessorImpl.cpp +++ b/src/platform/nxp/common/ota/OTAImageProcessorImpl.cpp @@ -390,12 +390,13 @@ void OTAImageProcessorImpl::HandleApply(intptr_t context) ConfigurationManagerImpl().StoreSoftwareUpdateCompleted(); PlatformMgr().HandleServerShuttingDown(); - - // Set the necessary information to inform the SSBL that a new image is available - // and trigger the actual device reboot after some time, to take into account - // queued actions, e.g. sending events to a subscription + /* + * Set the necessary information to inform the SSBL/bootloader that a new image + * is available and trigger the actual device reboot after some time, to take + * into account queued actions, e.g. sending events to a subscription. + */ SystemLayer().StartTimer( - chip::System::Clock::Milliseconds32(CHIP_DEVICE_LAYER_OTA_REBOOT_DELAY), + chip::System::Clock::Milliseconds32(imageProcessor->mDelayBeforeRebootSec * 1000 + CHIP_DEVICE_LAYER_OTA_REBOOT_DELAY), [](chip::System::Layer *, void *) { OtaHookReset(); }, nullptr); } diff --git a/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp b/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp index 0a721a2dfd..64e475de9f 100644 --- a/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp @@ -339,7 +339,7 @@ CHIP_ERROR GetConnectedNetwork(Network & network) // we are able to fetch the wifi provision data and STA should be connected VerifyOrReturnError(WifiInterface::GetInstance().IsStationConnected(), CHIP_ERROR_NOT_CONNECTED); ReturnErrorOnFailure(WifiInterface::GetInstance().GetWifiCredentials(wifiConfig)); - VerifyOrReturnError(wifiConfig.ssidLength < NetworkCommissioning::kMaxNetworkIDLen, CHIP_ERROR_BUFFER_TOO_SMALL); + VerifyOrReturnError(wifiConfig.ssidLength <= NetworkCommissioning::kMaxNetworkIDLen, CHIP_ERROR_BUFFER_TOO_SMALL); network.connected = true; diff --git a/src/platform/silabs/wifi/rs911x/ncp/rsi_wlan_config.h b/src/platform/silabs/wifi/rs911x/ncp/rsi_wlan_config.h index 6e14347fac..22fb8065cc 100644 --- a/src/platform/silabs/wifi/rs911x/ncp/rsi_wlan_config.h +++ b/src/platform/silabs/wifi/rs911x/ncp/rsi_wlan_config.h @@ -38,21 +38,22 @@ //! opermode command paramaters /*=======================================================================*/ //! To set wlan feature select bit map -#define RSI_FEATURE_BIT_MAP (FEAT_SECURITY_OPEN) - +#define RSI_FEATURE_BIT_MAP (FEAT_SECURITY_OPEN | FEAT_SECURITY_PSK | FEAT_AGGREGATION | FEAT_ULP_GPIO_BASED_HANDSHAKE) //! TCP IP BYPASS feature check #define RSI_TCP_IP_BYPASS RSI_ENABLE -#define RSI_TCP_IP_FEATURE_BIT_MAP (TCP_IP_FEAT_BYPASS /*| TCP_IP_FEAT_EXTENSION_VALID*/) +#define RSI_TCP_IP_FEATURE_BIT_MAP (TCP_IP_FEAT_BYPASS | TCP_IP_FEAT_EXTENSION_VALID) +//! To set Extended custom feature select bit map //! To set Extended custom feature select bit map #if WIFI_ENABLE_SECURITY_WPA3_TRANSITION #define RSI_EXT_CUSTOM_FEATURE_BIT_MAP (EXT_FEAT_384K_MODE | EXT_FEAT_IEEE_80211W) -#else /* !WIFI_ENABLE_SECURITY_WPA3_TRANSITION */ +#else #define RSI_EXT_CUSTOM_FEATURE_BIT_MAP EXT_FEAT_384K_MODE #endif /* WIFI_ENABLE_SECURITY_WPA3_TRANSITION */ //! To set Extended TCPIP feature select bit map -#define RSI_EXT_TCPIP_FEATURE_BITMAP (/*EXT_FEAT_HTTP_OTAF_SUPPORT |*/ EXT_TCP_IP_SSL_16K_RECORD) +#define RSI_EXT_TCPIP_FEATURE_BITMAP (EXT_TCP_IP_SSL_16K_RECORD | CONFIG_FEAT_EXTENTION_VALID) +#define RSI_CONFIG_FEATURE_BITMAP RSI_FEAT_SLEEP_GPIO_SEL_BITMAP //! Extended custom feature is selected internally //! CCP -- EXT_FEAT_256K_MODE //! Wiseconnect -- EXT_FEAT_384K_MODE diff --git a/src/python_testing/TC_REFALM_2_2.py b/src/python_testing/TC_REFALM_2_2.py new file mode 100644 index 0000000000..cccaac641e --- /dev/null +++ b/src/python_testing/TC_REFALM_2_2.py @@ -0,0 +1,287 @@ +# +# Copyright (c) 2025 Project CHIP Authors +# All rights reserved. +# +# 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. +# + +# See https://github.com/project-chip/connectedhomeip/blob/master/docs/testing/python.md#defining-the-ci-test-arguments +# for details about the block below. +# +# === BEGIN CI TEST ARGUMENTS === +# test-runner-runs: +# run1: +# app: ${ALL_CLUSTERS_APP} +# factory-reset: true +# quiet: true +# app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json +# script-args: > +# --storage-path admin_storage.json +# --commissioning-method on-network +# --discriminator 1234 +# --passcode 20202021 +# --PICS src/app/tests/suites/certification/ci-pics-values +# --int-arg PIXIT.REFALM.AlarmThreshold:1 +# --trace-to json:${TRACE_TEST_JSON}.json +# --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto +# === END CI TEST ARGUMENTS === + +import json +import logging +import typing +from dataclasses import dataclass +from time import sleep +from typing import Any + +import chip.clusters as Clusters +from chip import ChipUtility +from chip.clusters.ClusterObjects import ClusterCommand, ClusterObjectDescriptor, ClusterObjectFieldDescriptor +from chip.interaction_model import InteractionModelError, Status +from chip.testing import matter_asserts +from chip.testing.matter_testing import EventChangeCallback, MatterBaseTest, TestStep, async_test_body, default_matter_test_main +from chip.tlv import uint +from mobly import asserts + +logger = logging.getLogger(__name__) + +# TODO(#37217) Refactor using generic method. +# Implement fake commands for the RefrigeratorAlarm Cluster +# These comands are Disallowed (X) in the spec. +# When running those commands must return 0x81 (UNSUPPORTED COMMAND) + + +@dataclass +class FakeReset(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000057 + command_id: typing.ClassVar[int] = 0x00000000 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[typing.Optional[str]] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="alarms", Tag=0, Type=uint), + ]) + + alarms: uint = 0 + + +@dataclass +class FakeModifyEnabledAlarms(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x00000057 + command_id: typing.ClassVar[int] = 0x00000001 + is_client: typing.ClassVar[bool] = True + response_type: typing.ClassVar[typing.Optional[str]] = None + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="mask", Tag=0, Type=uint), + ]) + + mask: uint = 0 + + +class TC_REFALM_2_2(MatterBaseTest): + """Implementation of test case TC_REFALM_2_2.""" + + def desc_TC_REFALM_2_2(self) -> str: + return "223.2.2. [TC-REFALM-2.2] Primary functionality with DUT as Server" + + def pics_TC_REFALM_2_2(self): + """Return PICS definitions asscociated with this test.""" + pics = [ + "REFALM.S" + ] + return pics + + def steps_TC_REFALM_2_2(self) -> list[TestStep]: + """Execute the test steps.""" + steps = [ + TestStep(1, "Commission DUT to TH (can be skipped if done in a preceding test)", is_commissioning=True), + TestStep(2, "Ensure that the door on the DUT is closed"), + TestStep(3, "TH reads from the DUT the State attribute", + "Verify that the DUT response contains a 32-bit value with bit 0 set to 0"), + TestStep(4, "Manually open the door on the DUT"), + TestStep(5, "Wait for the time defined in PIXIT.REFALM.AlarmThreshold"), + TestStep(6, "TH reads from the DUT the State attribute", + "Verify that the DUT response contains a 32-bit value with bit 0 set to 1"), + TestStep(7, "Ensure that the door on the DUT is closed"), + TestStep(8, "TH reads from the DUT the State attribute", + "Verify that the DUT response contains a 32-bit value with bit 0 set to 0"), + TestStep(9, "TH sends Reset command to the DUT", "Verify DUT responds w/ status UNSUPPORTED_COMMAND(0x81)"), + TestStep(10, "TH sends ModifyEnabledAlarms command to the DUT", + "Verify DUT responds w/ status UNSUPPORTED_COMMAND(0x81)"), + TestStep(11, "Set up subscription to the Notify event"), + TestStep(12, "Repeat steps 4 and then 5", + "After step 5 (repeated), receive a Notify event with the State attribute bit 0 set to 1."), + TestStep(13, "Repeat step 7", + "Receive a Notify event with the State attribute bit 0 set to 0."), + ] + + return steps + + async def _get_command_status(self, cmd: ClusterCommand): + """Return the status of the executed command. By default the status is 0x0 unless a different + status on InteractionModel is returned. For this test we consider the status 0x0 as not succesfull.""" + cmd_status = Status.Success + try: + await self.default_controller.SendCommand(nodeid=self.dut_node_id, endpoint=self.endpoint, payload=cmd) + except InteractionModelError as uc: + cmd_status = uc.status + return cmd_status + + def _ask_for_closed_door(self): + if self.is_pics_sdk_ci_only: + self._send_close_door_commnad() + else: + user_response = self.wait_for_user_input(prompt_msg="Ensure that the door on the DUT is closed. Enter 'y' or 'n' after completition", + default_value="y") + asserts.assert_equal(user_response.lower(), "y") + + def _ask_for_open_door(self): + if self.is_pics_sdk_ci_only: + self._send_open_door_command() + else: + user_response = self.wait_for_user_input(prompt_msg="Manually open the door on the DUT. Enter 'y' or 'n' after completition", + default_value="y") + asserts.assert_equal(user_response.lower(), "y") + + async def _read_refalm_state_attribute(self): + cluster = Clusters.Objects.RefrigeratorAlarm + return await self.read_single_attribute_check_success( + endpoint=self.endpoint, + cluster=cluster, + attribute=Clusters.RefrigeratorAlarm.Attributes.State + ) + + def _wait_thresshold(self): + """Wait the defined time at the PIXIT.REFALM.AlarmThreshold to trigger it.""" + logger.info(f"Sleeping for {self.refalm_threshold_seconds} seconds defined at PIXIT.REFALM.AlarmThreshold") + sleep(self.refalm_threshold_seconds) + + def _send_named_pipe_command(self, command_dict: dict[str, Any]): + app_pid = self.matter_test_config.app_pid + if app_pid == 0: + asserts.fail("The --app-pid flag must be set when usage of door state simulation named pipe is required (e.g. CI)") + + app_pipe = f"/tmp/chip_all_clusters_fifo_{app_pid}" + command = json.dumps(command_dict) + + # Sends an out-of-band command to the sample app + with open(app_pipe, "w") as outfile: + logging.info(f"Sending named pipe command to {app_pipe}: '{command}'") + outfile.write(command + "\n") + # Delay for pipe command to be processed (otherwise tests may be flaky). + sleep(0.1) + + def _send_open_door_command(self): + command_dict = {"Name": "SetRefrigeratorDoorStatus", "EndpointId": self.endpoint, + "DoorOpen": Clusters.RefrigeratorAlarm.Bitmaps.AlarmBitmap.kDoorOpen} + self._send_named_pipe_command(command_dict) + + def _send_close_door_commnad(self): + command_dict = {"Name": "SetRefrigeratorDoorStatus", "EndpointId": self.endpoint, "DoorOpen": 0} + self._send_named_pipe_command(command_dict) + + @async_test_body + async def test_TC_REFALM_2_2(self): + """Run the test steps.""" + self.endpoint = self.get_endpoint(default=1) + cluster = Clusters.RefrigeratorAlarm + logger.info(f"Default endpoint {self.endpoint}") + # Commision the device. + # Read required variables. + self.step(1) + asserts.assert_true('PIXIT.REFALM.AlarmThreshold' in self.matter_test_config.global_test_params, "PIXIT.REFALM.AlarmThreshold must be included on the command line in " + "the --int-arg flag as PIXIT.REFALM.AlarmThreshold: in seconds.") + self.refalm_threshold_seconds = self.matter_test_config.global_test_params['PIXIT.REFALM.AlarmThreshold'] + + # check is closed + self.step(2) + self._ask_for_closed_door() + + self.step(3) + # reads the state attribute , must be a bitMap32 ( list wich values are 32 bits) + device_state = await self._read_refalm_state_attribute() + logger.info(f"The device state is {device_state}") + matter_asserts.assert_valid_uint32(device_state, "State") + asserts.assert_equal(device_state, 0) + + # # open the door manually + self.step(4) + self._ask_for_open_door() + + # wait PIXIT.REFALM.AlarmThreshold (1s) + self.step(5) + self._wait_thresshold() + + # # read the status + self.step(6) + device_state = await self._read_refalm_state_attribute() + logger.info(f"The device state is {device_state}") + matter_asserts.assert_valid_uint32(device_state, "State") + asserts.assert_equal(device_state, 1) + + # # # ensure the door is closed + self.step(7) + self._ask_for_closed_door() + + # # read from the state attr + self.step(8) + device_status = await self._read_refalm_state_attribute() + logger.info(f"The device state is {device_state}") + asserts.assert_equal(device_status, 0) + matter_asserts.assert_valid_uint32(device_state, "State") + + self.step(9) + cmd_status = await self._get_command_status(cmd=FakeReset()) + asserts.assert_equal(Status.UnsupportedCommand, cmd_status, + msg=f"Command status is not {Status.UnsupportedCommand}, is {cmd_status}") + + self.step(10) + cmd_status = await self._get_command_status(cmd=FakeModifyEnabledAlarms()) + asserts.assert_equal(Status.UnsupportedCommand, cmd_status, + msg=f"Command status is not {Status.UnsupportedCommand}, is {cmd_status}") + + # Subscribe to Notify Event + self.step(11) + event_callback = EventChangeCallback(Clusters.RefrigeratorAlarm) + await event_callback.start(self.default_controller, + self.dut_node_id, + self.get_endpoint(1)) + + self.step(12) + # repeat step 4 and 5 + logger.info("Manually open the door on the DUT") + self._ask_for_open_door() + logger.info("Wait for the time defined in PIXIT.REFALM.AlarmThreshold") + self._wait_thresshold() + # Wait for the Notify event with the State value. + event_data = event_callback.wait_for_event_report(cluster.Events.Notify, timeout_sec=5) + logger.info(f"Event data {event_data}") + asserts.assert_equal(event_data.state, 1, "Unexpected value for State returned") + + self.step(13) + logger.info("Ensure that the door on the DUT is closed") + self._ask_for_closed_door() + # Wait for the Notify event with the State value. + event_data = event_callback.wait_for_event_report(cluster.Events.Notify, timeout_sec=5) + logger.info(f"Event data {event_data}") + asserts.assert_equal(event_data.state, 0, "Unexpected value for State returned") + + +if __name__ == "__main__": + default_matter_test_main() diff --git a/src/tools/PICS-generator/PICSGenerator.py b/src/tools/PICS-generator/PICSGenerator.py index 6cfb95803a..3e2bbe52a1 100644 --- a/src/tools/PICS-generator/PICSGenerator.py +++ b/src/tools/PICS-generator/PICSGenerator.py @@ -20,6 +20,7 @@ import pathlib import sys import xml.etree.ElementTree as ET +from pathlib import Path import chip.clusters as Clusters from pics_generator_support import map_cluster_name_to_pics_xml, pics_xml_file_list_loader @@ -28,7 +29,7 @@ # Add the path to python_testing folder, in order to be able to import from chip.testing.matter_testing sys.path.append(os.path.abspath(sys.path[0] + "/../../python_testing")) from chip.testing.matter_testing import MatterBaseTest, async_test_body, default_matter_test_main # noqa: E402 -from chip.testing.spec_parsing import build_xml_clusters # noqa: E402 +from chip.testing.spec_parsing import PrebuiltDataModelDirectory, build_xml_clusters # noqa: E402 console = None xml_clusters = None @@ -360,6 +361,7 @@ def cleanDirectory(pathToClean): parser = argparse.ArgumentParser() parser.add_argument('--pics-template', required=True) parser.add_argument('--pics-output', required=True) +parser.add_argument('--dm-xml') args, unknown = parser.parse_known_args() xmlTemplatePathStr = args.pics_template @@ -414,7 +416,10 @@ async def test_device_mapping(self): console = Console() global xml_clusters - xml_clusters, problems = build_xml_clusters() + if args.dm_xml: + xml_clusters, problems = build_xml_clusters(Path(f"{args.dm_xml}/clusters")) + else: + xml_clusters, problems = build_xml_clusters(PrebuiltDataModelDirectory.kMaster) # Run device mapping function await DeviceMapping(self.default_controller, self.dut_node_id, outputPathStr) diff --git a/src/tools/PICS-generator/README.md b/src/tools/PICS-generator/README.md index 312d790ca3..79579d5be2 100644 --- a/src/tools/PICS-generator/README.md +++ b/src/tools/PICS-generator/README.md @@ -86,6 +86,15 @@ If a device has already been commissioned, the tool can be executed like this: python3 PICSGenerator.py --pics-template --pics-output ``` +The tool can be used to validate against the available spec versions, this can +be done by providing the following tag in the command, if no path is provided it +will use the current scrape of Master. An example path is +"connectedhomeip/data_model/master". + +``` +python3 PICSGenerator.py --pics-template --dm +``` + # Updates for future releases Given each new release adds PICS files, to ensure the tool is able to map the @@ -102,3 +111,12 @@ To run the XMLPICSValidator, the following command can be used: ``` python3 XMLPICSValidator.py --pics-template ``` + +The tool can be used to validate against the available spec versions, this can +be done by providing the following tag in the command, if no path is provided it +will use the current scrape of Master. An example path is +"connectedhomeip/data_model/master". + +``` +python3 XMLPICSValidator.py --pics-template --dm +``` diff --git a/src/tools/PICS-generator/XMLPICSValidator.py b/src/tools/PICS-generator/XMLPICSValidator.py index 5fd170463d..b3a98d6747 100644 --- a/src/tools/PICS-generator/XMLPICSValidator.py +++ b/src/tools/PICS-generator/XMLPICSValidator.py @@ -18,15 +18,17 @@ import argparse import os import sys +from pathlib import Path from pics_generator_support import map_cluster_name_to_pics_xml, pics_xml_file_list_loader # Add the path to python_testing folder, in order to be able to import from matter_testing_support sys.path.append(os.path.abspath(sys.path[0] + "/../../python_testing")) -from chip.testing.spec_parsing import build_xml_clusters # noqa: E402 +from chip.testing.spec_parsing import PrebuiltDataModelDirectory, build_xml_clusters # noqa: E402 parser = argparse.ArgumentParser() parser.add_argument('--pics-template', required=True) +parser.add_argument('--dm-xml') args, unknown = parser.parse_known_args() xml_template_path_str = args.pics_template @@ -35,7 +37,11 @@ pics_xml_file_list = pics_xml_file_list_loader(xml_template_path_str, True) print("Build list of spec XML") -xml_clusters, problems = build_xml_clusters() +if args.dm_xml: + xml_clusters, problems = build_xml_clusters(Path(f"{args.dm_xml}/clusters")) +else: + xml_clusters, problems = build_xml_clusters(PrebuiltDataModelDirectory.kMaster) + for cluster in xml_clusters: pics_xml_file_name = map_cluster_name_to_pics_xml(xml_clusters[cluster].name, pics_xml_file_list) diff --git a/src/tools/PICS-generator/pics_generator_support.py b/src/tools/PICS-generator/pics_generator_support.py index 53e0248842..af585118ee 100644 --- a/src/tools/PICS-generator/pics_generator_support.py +++ b/src/tools/PICS-generator/pics_generator_support.py @@ -24,6 +24,7 @@ "OTA Software Update Requestor": "OTA Software Update", "On/Off": "On-Off", "GroupKeyManagement": "Group Communication", + "Wake On LAN": "Media Cluster", "Wake on LAN": "Media Cluster", "Low Power": "Media Cluster", "Keypad Input": "Media Cluster", diff --git a/third_party/libdatachannel/repo b/third_party/libdatachannel/repo index 59ce3806e4..a318f0736e 160000 --- a/third_party/libdatachannel/repo +++ b/third_party/libdatachannel/repo @@ -1 +1 @@ -Subproject commit 59ce3806e419d61a1f1466e6a8e8ac8de94e2922 +Subproject commit a318f0736ed09348cc4e7fe8c501d7cbc14646a9 diff --git a/third_party/nxp/nxp_matter_support b/third_party/nxp/nxp_matter_support index 2015d2224d..22d4c38827 160000 --- a/third_party/nxp/nxp_matter_support +++ b/third_party/nxp/nxp_matter_support @@ -1 +1 @@ -Subproject commit 2015d2224d794d5ca0089ef80a3a6a7cf989cb92 +Subproject commit 22d4c3882723878efe174cf747307b43f5e98bae diff --git a/third_party/openthread/ot-nxp b/third_party/openthread/ot-nxp index 7943bbc2f5..aa5a2fde14 160000 --- a/third_party/openthread/ot-nxp +++ b/third_party/openthread/ot-nxp @@ -1 +1 @@ -Subproject commit 7943bbc2f551dc365286610b9eb97c97657fdaf9 +Subproject commit aa5a2fde14200887ede9a436309e6cb91310f63a diff --git a/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn b/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn index 9af3193803..e5061dc710 100644 --- a/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn +++ b/third_party/openthread/platforms/nxp/rt/rt1060/BUILD.gn @@ -29,6 +29,7 @@ config("openthread_rt1060_config") { include_dirs = [ "${openthread_nxp_root}/src/common", "${openthread_nxp_root}/src/common/br", + "${openthread_nxp_root}/src/common/lwip", "${openthread_nxp_root}/src/common/spinel", "${openthread_nxp_root}/src/imx_rt/rt1060", "${openthread_nxp_root}/third_party/mbedtls/configs", @@ -57,11 +58,16 @@ config("openthread_rt1060_config") { "OT_APP_BR_LWIP_HOOKS_EN=1", "OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE=1", "OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_IDLE_TIMEOUT_SECONDS=60", + "OPENTHREAD_CONFIG_NAT64_PORT_TRANSLATION_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE=1", + "DISABLE_TCPIP_INIT=1", + "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", ] if (nxp_enable_matter_cli) { defines += [ - "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", "OT_APP_CLI_EPHEMERAL_KEY_ADDON=1", "OT_APP_CLI_LWIP_ADDON=1", ] @@ -105,6 +111,8 @@ source_set("libopenthread-rt1060") { "${openthread_nxp_root}/src/common/br/trel_plat.c", "${openthread_nxp_root}/src/common/br/udp_plat.c", "${openthread_nxp_root}/src/common/br/utils.c", + "${openthread_nxp_root}/src/common/lwip/ot_lwip.c", + "${openthread_nxp_root}/src/common/lwip/token_bucket.c", ] if (nxp_enable_matter_cli) { diff --git a/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn b/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn index 7e05e5607c..bd1f22bfbe 100644 --- a/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn +++ b/third_party/openthread/platforms/nxp/rt/rt1170/BUILD.gn @@ -28,6 +28,7 @@ config("openthread_rt1170_config") { include_dirs = [ "${openthread_nxp_root}/src/common", "${openthread_nxp_root}/src/common/br", + "${openthread_nxp_root}/src/common/lwip", "${openthread_nxp_root}/src/imx_rt/rt1170", "${openthread_nxp_root}/third_party/mbedtls/configs", "${openthread_root}/third_party/mbedtls", @@ -56,11 +57,16 @@ config("openthread_rt1170_config") { "OT_APP_BR_LWIP_HOOKS_EN=1", "OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE=1", "OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_IDLE_TIMEOUT_SECONDS=60", + "OPENTHREAD_CONFIG_NAT64_PORT_TRANSLATION_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE=1", + "DISABLE_TCPIP_INIT=1", + "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", ] if (nxp_enable_matter_cli) { defines += [ - "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", "OT_APP_CLI_EPHEMERAL_KEY_ADDON=1", "OT_APP_CLI_LWIP_ADDON=1", ] @@ -103,6 +109,8 @@ source_set("libopenthread-rt1170") { "${openthread_nxp_root}/src/common/br/trel_plat.c", "${openthread_nxp_root}/src/common/br/udp_plat.c", "${openthread_nxp_root}/src/common/br/utils.c", + "${openthread_nxp_root}/src/common/lwip/ot_lwip.c", + "${openthread_nxp_root}/src/common/lwip/token_bucket.c", ] if (nxp_enable_matter_cli) { diff --git a/third_party/openthread/platforms/nxp/rt/rw61x/BUILD.gn b/third_party/openthread/platforms/nxp/rt/rw61x/BUILD.gn index a4eca99214..33aa097aa4 100644 --- a/third_party/openthread/platforms/nxp/rt/rw61x/BUILD.gn +++ b/third_party/openthread/platforms/nxp/rt/rw61x/BUILD.gn @@ -30,6 +30,7 @@ config("openthread_rw61x_config") { include_dirs = [ "${openthread_nxp_root}/src/common", "${openthread_nxp_root}/src/common/br", + "${openthread_nxp_root}/src/common/lwip", "${openthread_nxp_root}/src/rw/rw612", "${openthread_nxp_root}/third_party/mbedtls/configs", "${openthread_root}/third_party/mbedtls", @@ -59,11 +60,16 @@ config("openthread_rw61x_config") { "OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE=1", "OT_APP_BR_LWIP_HOOKS_EN=1", "OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_IDLE_TIMEOUT_SECONDS=60", + "OPENTHREAD_CONFIG_NAT64_PORT_TRANSLATION_ENABLE=1", + "OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE=1", + "DISABLE_TCPIP_INIT=1", + "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", ] if (nxp_enable_matter_cli) { defines += [ - "OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE=1", "OT_APP_CLI_EPHEMERAL_KEY_ADDON=1", "OT_APP_CLI_LWIP_ADDON=1", ] @@ -101,6 +107,8 @@ source_set("libopenthread-rw61x") { "${openthread_nxp_root}/src/common/br/trel_plat.c", "${openthread_nxp_root}/src/common/br/udp_plat.c", "${openthread_nxp_root}/src/common/br/utils.c", + "${openthread_nxp_root}/src/common/lwip/ot_lwip.c", + "${openthread_nxp_root}/src/common/lwip/token_bucket.c", ] if (nxp_enable_matter_cli) { diff --git a/third_party/silabs/silabs_board.gni b/third_party/silabs/silabs_board.gni index eae9592927..40d1ff0d17 100644 --- a/third_party/silabs/silabs_board.gni +++ b/third_party/silabs/silabs_board.gni @@ -70,7 +70,7 @@ declare_args() { } # TODO - This needs to be removed once multiplexing issues resolved -if (use_SiWx917) { +if (use_SiWx917 || use_rs9116) { disable_lcd = true show_qr_code = false use_external_flash = false diff --git a/zzz_generated/app-common/app-common/zap-generated/callback.h b/zzz_generated/app-common/app-common/zap-generated/callback.h index 4c7bb5ef42..6223c02381 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -6070,17 +6070,17 @@ bool emberAfOperationalCredentialsClusterAddTrustedRootCertificateCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::DecodableType & commandData); /** - * @brief Operational Credentials Cluster SetVidVerificationStatement Command callback (from client) + * @brief Operational Credentials Cluster SetVIDVerificationStatement Command callback (from client) */ -bool emberAfOperationalCredentialsClusterSetVidVerificationStatementCallback( +bool emberAfOperationalCredentialsClusterSetVIDVerificationStatementCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::DecodableType & commandData); + const chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::DecodableType & commandData); /** - * @brief Operational Credentials Cluster SignVidVerificationRequest Command callback (from client) + * @brief Operational Credentials Cluster SignVIDVerificationRequest Command callback (from client) */ -bool emberAfOperationalCredentialsClusterSignVidVerificationRequestCallback( +bool emberAfOperationalCredentialsClusterSignVIDVerificationRequestCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, - const chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::DecodableType & commandData); + const chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::DecodableType & commandData); /** * @brief Group Key Management Cluster KeySetWrite Command callback (from client) */ diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp index feecccafdd..a95d99959d 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp @@ -8950,7 +8950,7 @@ CHIP_ERROR Type::DoEncode(TLV::TLVWriter & aWriter, TLV::Tag aTag, const Optiona encoder.Encode(to_underlying(Fields::kFabricID), fabricID); encoder.Encode(to_underlying(Fields::kNodeID), nodeID); encoder.Encode(to_underlying(Fields::kLabel), label); - encoder.Encode(to_underlying(Fields::kVidVerificationStatement), vidVerificationStatement); + encoder.Encode(to_underlying(Fields::kVIDVerificationStatement), VIDVerificationStatement); if (aAccessingFabricIndex.HasValue()) { encoder.Encode(to_underlying(Fields::kFabricIndex), fabricIndex); @@ -8993,9 +8993,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { err = DataModel::Decode(reader, label); } - else if (__context_tag == to_underlying(Fields::kVidVerificationStatement)) + else if (__context_tag == to_underlying(Fields::kVIDVerificationStatement)) { - err = DataModel::Decode(reader, vidVerificationStatement); + err = DataModel::Decode(reader, VIDVerificationStatement); } else if (__context_tag == to_underlying(Fields::kFabricIndex)) { @@ -9538,12 +9538,12 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } } } // namespace AddTrustedRootCertificate. -namespace SetVidVerificationStatement { +namespace SetVIDVerificationStatement { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; encoder.Encode(to_underlying(Fields::kVendorID), vendorID); - encoder.Encode(to_underlying(Fields::kVidVerificationStatement), vidVerificationStatement); + encoder.Encode(to_underlying(Fields::kVIDVerificationStatement), VIDVerificationStatement); encoder.Encode(to_underlying(Fields::kVvsc), vvsc); return encoder.Finalize(); } @@ -9566,9 +9566,9 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) { err = DataModel::Decode(reader, vendorID); } - else if (__context_tag == to_underlying(Fields::kVidVerificationStatement)) + else if (__context_tag == to_underlying(Fields::kVIDVerificationStatement)) { - err = DataModel::Decode(reader, vidVerificationStatement); + err = DataModel::Decode(reader, VIDVerificationStatement); } else if (__context_tag == to_underlying(Fields::kVvsc)) { @@ -9581,8 +9581,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SetVidVerificationStatement. -namespace SignVidVerificationRequest { +} // namespace SetVIDVerificationStatement. +namespace SignVIDVerificationRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; @@ -9620,8 +9620,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SignVidVerificationRequest. -namespace SignVidVerificationResponse { +} // namespace SignVIDVerificationRequest. +namespace SignVIDVerificationResponse { CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const { DataModel::WrappedStructEncoder encoder{ aWriter, aTag }; @@ -9664,7 +9664,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) ReturnErrorOnFailure(err); } } -} // namespace SignVidVerificationResponse. +} // namespace SignVIDVerificationResponse. } // namespace Commands namespace Attributes { @@ -36984,7 +36984,7 @@ bool CommandIsFabricScoped(ClusterId aCluster, CommandId aCommand) return true; case Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Id: return true; - case Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Id: + case Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Id: return true; default: return false; diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h index 2347d56220..422715abde 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h @@ -11747,7 +11747,7 @@ enum class Fields : uint8_t kFabricID = 3, kNodeID = 4, kLabel = 5, - kVidVerificationStatement = 6, + kVIDVerificationStatement = 6, kFabricIndex = 254, }; @@ -11759,7 +11759,7 @@ struct Type chip::FabricId fabricID = static_cast(0); chip::NodeId nodeID = static_cast(0); chip::CharSpan label; - Optional vidVerificationStatement; + Optional VIDVerificationStatement; chip::FabricIndex fabricIndex = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); @@ -11880,20 +11880,20 @@ struct Type; struct DecodableType; } // namespace AddTrustedRootCertificate -namespace SetVidVerificationStatement { +namespace SetVIDVerificationStatement { struct Type; struct DecodableType; -} // namespace SetVidVerificationStatement +} // namespace SetVIDVerificationStatement -namespace SignVidVerificationRequest { +namespace SignVIDVerificationRequest { struct Type; struct DecodableType; -} // namespace SignVidVerificationRequest +} // namespace SignVIDVerificationRequest -namespace SignVidVerificationResponse { +namespace SignVIDVerificationResponse { struct Type; struct DecodableType; -} // namespace SignVidVerificationResponse +} // namespace SignVIDVerificationResponse } // namespace Commands @@ -12312,11 +12312,11 @@ struct DecodableType CHIP_ERROR Decode(TLV::TLVReader & reader); }; }; // namespace AddTrustedRootCertificate -namespace SetVidVerificationStatement { +namespace SetVIDVerificationStatement { enum class Fields : uint8_t { kVendorID = 0, - kVidVerificationStatement = 1, + kVIDVerificationStatement = 1, kVvsc = 2, }; @@ -12324,11 +12324,11 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SetVidVerificationStatement::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetVIDVerificationStatement::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } Optional vendorID; - Optional vidVerificationStatement; + Optional VIDVerificationStatement; Optional vvsc; CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; @@ -12341,16 +12341,16 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SetVidVerificationStatement::Id; } + static constexpr CommandId GetCommandId() { return Commands::SetVIDVerificationStatement::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } Optional vendorID; - Optional vidVerificationStatement; + Optional VIDVerificationStatement; Optional vvsc; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SetVidVerificationStatement -namespace SignVidVerificationRequest { +}; // namespace SetVIDVerificationStatement +namespace SignVIDVerificationRequest { enum class Fields : uint8_t { kFabricIndex = 0, @@ -12361,7 +12361,7 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SignVidVerificationRequest::Id; } + static constexpr CommandId GetCommandId() { return Commands::SignVIDVerificationRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } chip::FabricIndex fabricIndex = static_cast(0); @@ -12369,7 +12369,7 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const; - using ResponseType = Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType; + using ResponseType = Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType; static constexpr bool MustUseTimedInvoke() { return false; } }; @@ -12377,15 +12377,15 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SignVidVerificationRequest::Id; } + static constexpr CommandId GetCommandId() { return Commands::SignVIDVerificationRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } chip::FabricIndex fabricIndex = static_cast(0); chip::ByteSpan clientChallenge; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SignVidVerificationRequest -namespace SignVidVerificationResponse { +}; // namespace SignVIDVerificationRequest +namespace SignVIDVerificationResponse { enum class Fields : uint8_t { kFabricIndex = 0, @@ -12397,7 +12397,7 @@ struct Type { public: // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand - static constexpr CommandId GetCommandId() { return Commands::SignVidVerificationResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::SignVIDVerificationResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } chip::FabricIndex fabricIndex = static_cast(0); @@ -12414,7 +12414,7 @@ struct Type struct DecodableType { public: - static constexpr CommandId GetCommandId() { return Commands::SignVidVerificationResponse::Id; } + static constexpr CommandId GetCommandId() { return Commands::SignVIDVerificationResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } chip::FabricIndex fabricIndex = static_cast(0); @@ -12422,7 +12422,7 @@ struct DecodableType chip::ByteSpan signature; CHIP_ERROR Decode(TLV::TLVReader & reader); }; -}; // namespace SignVidVerificationResponse +}; // namespace SignVIDVerificationResponse } // namespace Commands namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h index fab08815cd..833263aa0f 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h @@ -550,17 +550,17 @@ namespace AddTrustedRootCertificate { static constexpr CommandId Id = 0x0000000B; } // namespace AddTrustedRootCertificate -namespace SetVidVerificationStatement { +namespace SetVIDVerificationStatement { static constexpr CommandId Id = 0x0000000C; -} // namespace SetVidVerificationStatement +} // namespace SetVIDVerificationStatement -namespace SignVidVerificationRequest { +namespace SignVIDVerificationRequest { static constexpr CommandId Id = 0x0000000D; -} // namespace SignVidVerificationRequest +} // namespace SignVIDVerificationRequest -namespace SignVidVerificationResponse { +namespace SignVIDVerificationResponse { static constexpr CommandId Id = 0x0000000E; -} // namespace SignVidVerificationResponse +} // namespace SignVIDVerificationResponse } // namespace Commands } // namespace OperationalCredentials diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 412bb288cf..b2f1ef73a5 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -3672,8 +3672,8 @@ class AdministratorCommissioningRevokeCommissioning : public ClusterCommand | * UpdateFabricLabel | 0x09 | | * RemoveFabric | 0x0A | | * AddTrustedRootCertificate | 0x0B | -| * SetVidVerificationStatement | 0x0C | -| * SignVidVerificationRequest | 0x0D | +| * SetVIDVerificationStatement | 0x0C | +| * SignVIDVerificationRequest | 0x0D | |------------------------------------------------------------------------------| | Attributes: | | | * NOCs | 0x0000 | @@ -3999,16 +3999,16 @@ class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand }; /* - * Command SetVidVerificationStatement + * Command SetVIDVerificationStatement */ -class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand +class OperationalCredentialsSetVIDVerificationStatement : public ClusterCommand { public: - OperationalCredentialsSetVidVerificationStatement(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("set-vid-verification-statement", credsIssuerConfig) + OperationalCredentialsSetVIDVerificationStatement(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("set-vidverification-statement", credsIssuerConfig) { AddArgument("VendorID", 0, UINT16_MAX, &mRequest.vendorID); - AddArgument("VidVerificationStatement", &mRequest.vidVerificationStatement); + AddArgument("VIDVerificationStatement", &mRequest.VIDVerificationStatement); AddArgument("Vvsc", &mRequest.vvsc); ClusterCommand::AddArguments(); } @@ -4017,7 +4017,7 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; constexpr chip::CommandId commandId = - chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Id; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -4028,7 +4028,7 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; constexpr chip::CommandId commandId = - chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Id; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -4037,17 +4037,17 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand } private: - chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Type mRequest; }; /* - * Command SignVidVerificationRequest + * Command SignVIDVerificationRequest */ -class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand +class OperationalCredentialsSignVIDVerificationRequest : public ClusterCommand { public: - OperationalCredentialsSignVidVerificationRequest(CredentialIssuerCommands * credsIssuerConfig) : - ClusterCommand("sign-vid-verification-request", credsIssuerConfig) + OperationalCredentialsSignVIDVerificationRequest(CredentialIssuerCommands * credsIssuerConfig) : + ClusterCommand("sign-vidverification-request", credsIssuerConfig) { AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); AddArgument("ClientChallenge", &mRequest.clientChallenge); @@ -4057,7 +4057,7 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector endpointIds) override { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointIds.at(0)); @@ -4067,7 +4067,7 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on Group %u", clusterId, commandId, groupId); @@ -4076,7 +4076,7 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand } private: - chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Type mRequest; }; /*----------------------------------------------------------------------------*\ @@ -20309,8 +20309,8 @@ void registerClusterOperationalCredentials(Commands & commands, CredentialIssuer make_unique(credsIssuerConfig), // make_unique(credsIssuerConfig), // make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // - make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // + make_unique(credsIssuerConfig), // // // Attributes // diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp index 8e2b2cb59a..3b57f3dacf 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -2220,13 +2220,13 @@ ComplexArgumentParser::Setup(const char * label, ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.label, value["label"])); valueCopy.removeMember("label"); - if (value.isMember("vidVerificationStatement")) + if (value.isMember("VIDVerificationStatement")) { - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "vidVerificationStatement"); + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "VIDVerificationStatement"); ReturnErrorOnFailure( - ComplexArgumentParser::Setup(labelWithMember, request.vidVerificationStatement, value["vidVerificationStatement"])); + ComplexArgumentParser::Setup(labelWithMember, request.VIDVerificationStatement, value["VIDVerificationStatement"])); } - valueCopy.removeMember("vidVerificationStatement"); + valueCopy.removeMember("VIDVerificationStatement"); if (value.isMember("fabricIndex")) { @@ -2245,7 +2245,7 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::OperationalCredentials ComplexArgumentParser::Finalize(request.fabricID); ComplexArgumentParser::Finalize(request.nodeID); ComplexArgumentParser::Finalize(request.label); - ComplexArgumentParser::Finalize(request.vidVerificationStatement); + ComplexArgumentParser::Finalize(request.VIDVerificationStatement); ComplexArgumentParser::Finalize(request.fabricIndex); } diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index b1460efe2e..616aa49a1b 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -2016,10 +2016,10 @@ DataModelLogger::LogValue(const char * label, size_t indent, } } { - CHIP_ERROR err = LogValue("VidVerificationStatement", indent + 1, value.vidVerificationStatement); + CHIP_ERROR err = LogValue("VIDVerificationStatement", indent + 1, value.VIDVerificationStatement); if (err != CHIP_NO_ERROR) { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VidVerificationStatement'"); + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'VIDVerificationStatement'"); return err; } } @@ -9772,7 +9772,7 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType & value) + const OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("fabricIndex", indent + 1, value.fabricIndex)); @@ -20508,10 +20508,10 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("NOCResponse", 1, value); } - case OperationalCredentials::Commands::SignVidVerificationResponse::Id: { - OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType value; + case OperationalCredentials::Commands::SignVIDVerificationResponse::Id: { + OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); - return DataModelLogger::LogValue("SignVidVerificationResponse", 1, value); + return DataModelLogger::LogValue("SignVIDVerificationResponse", 1, value); } } break; diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h index c25ac8ad6b..0a4bcb747e 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -857,7 +857,7 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::DecodableType & value); + const chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadResponse::DecodableType & value); static CHIP_ERROR diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp index c45e1bed40..703ff665b3 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/EntryToText.cpp @@ -5052,10 +5052,10 @@ char const * AcceptedCommandIdToText(chip::ClusterId cluster, chip::CommandId id return "RemoveFabric"; case chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Id: return "AddTrustedRootCertificate"; - case chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Id: - return "SetVidVerificationStatement"; - case chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Id: - return "SignVidVerificationRequest"; + case chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Id: + return "SetVIDVerificationStatement"; + case chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Id: + return "SignVIDVerificationRequest"; default: return "Unknown"; } @@ -6181,8 +6181,8 @@ char const * GeneratedCommandIdToText(chip::ClusterId cluster, chip::CommandId i return "CSRResponse"; case chip::app::Clusters::OperationalCredentials::Commands::NOCResponse::Id: return "NOCResponse"; - case chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::Id: - return "SignVidVerificationResponse"; + case chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::Id: + return "SignVIDVerificationResponse"; default: return "Unknown"; } diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h index 1bada399ca..d2489b1a2b 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h @@ -39069,8 +39069,8 @@ class SubscribeAttributeAdministratorCommissioningClusterRevision : public Subsc | * UpdateFabricLabel | 0x09 | | * RemoveFabric | 0x0A | | * AddTrustedRootCertificate | 0x0B | -| * SetVidVerificationStatement | 0x0C | -| * SignVidVerificationRequest | 0x0D | +| * SetVIDVerificationStatement | 0x0C | +| * SignVIDVerificationRequest | 0x0D | |------------------------------------------------------------------------------| | Attributes: | | | * NOCs | 0x0000 | @@ -39532,18 +39532,18 @@ class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand { #if MTR_ENABLE_PROVISIONAL /* - * Command SetVidVerificationStatement + * Command SetVIDVerificationStatement */ -class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand { +class OperationalCredentialsSetVIDVerificationStatement : public ClusterCommand { public: - OperationalCredentialsSetVidVerificationStatement() - : ClusterCommand("set-vid-verification-statement") + OperationalCredentialsSetVIDVerificationStatement() + : ClusterCommand("set-vidverification-statement") { #if MTR_ENABLE_PROVISIONAL AddArgument("VendorID", 0, UINT16_MAX, &mRequest.vendorID); #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL - AddArgument("VidVerificationStatement", &mRequest.vidVerificationStatement); + AddArgument("VIDVerificationStatement", &mRequest.VIDVerificationStatement); #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL AddArgument("Vvsc", &mRequest.vvsc); @@ -39554,13 +39554,13 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL); __auto_type * cluster = [[MTRBaseClusterOperationalCredentials alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; - __auto_type * params = [[MTROperationalCredentialsClusterSetVidVerificationStatementParams alloc] init]; + __auto_type * params = [[MTROperationalCredentialsClusterSetVIDVerificationStatementParams alloc] init]; params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; #if MTR_ENABLE_PROVISIONAL if (mRequest.vendorID.HasValue()) { @@ -39570,8 +39570,8 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand } #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL - if (mRequest.vidVerificationStatement.HasValue()) { - params.vidVerificationStatement = [NSData dataWithBytes:mRequest.vidVerificationStatement.Value().data() length:mRequest.vidVerificationStatement.Value().size()]; + if (mRequest.VIDVerificationStatement.HasValue()) { + params.vidVerificationStatement = [NSData dataWithBytes:mRequest.VIDVerificationStatement.Value().data() length:mRequest.VIDVerificationStatement.Value().size()]; } else { params.vidVerificationStatement = nil; } @@ -39586,7 +39586,7 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand uint16_t repeatCount = mRepeatCount.ValueOr(1); uint16_t __block responsesNeeded = repeatCount; while (repeatCount--) { - [cluster setVidVerificationStatementWithParams:params completion: + [cluster setVIDVerificationStatementWithParams:params completion: ^(NSError * _Nullable error) { responsesNeeded--; if (error != nil) { @@ -39603,18 +39603,18 @@ class OperationalCredentialsSetVidVerificationStatement : public ClusterCommand } private: - chip::app::Clusters::OperationalCredentials::Commands::SetVidVerificationStatement::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::SetVIDVerificationStatement::Type mRequest; }; #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL /* - * Command SignVidVerificationRequest + * Command SignVIDVerificationRequest */ -class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand { +class OperationalCredentialsSignVIDVerificationRequest : public ClusterCommand { public: - OperationalCredentialsSignVidVerificationRequest() - : ClusterCommand("sign-vid-verification-request") + OperationalCredentialsSignVIDVerificationRequest() + : ClusterCommand("sign-vidverification-request") { #if MTR_ENABLE_PROVISIONAL AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex); @@ -39628,13 +39628,13 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand { CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override { constexpr chip::ClusterId clusterId = chip::app::Clusters::OperationalCredentials::Id; - constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Id; + constexpr chip::CommandId commandId = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Id; ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") command (0x%08" PRIX32 ") on endpoint %u", clusterId, commandId, endpointId); dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL_WITH_AUTORELEASE_POOL); __auto_type * cluster = [[MTRBaseClusterOperationalCredentials alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue]; - __auto_type * params = [[MTROperationalCredentialsClusterSignVidVerificationRequestParams alloc] init]; + __auto_type * params = [[MTROperationalCredentialsClusterSignVIDVerificationRequestParams alloc] init]; params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil; #if MTR_ENABLE_PROVISIONAL params.fabricIndex = [NSNumber numberWithUnsignedChar:mRequest.fabricIndex]; @@ -39645,18 +39645,18 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand { uint16_t repeatCount = mRepeatCount.ValueOr(1); uint16_t __block responsesNeeded = repeatCount; while (repeatCount--) { - [cluster signVidVerificationRequestWithParams:params completion: - ^(MTROperationalCredentialsClusterSignVidVerificationResponseParams * _Nullable values, NSError * _Nullable error) { + [cluster signVIDVerificationRequestWithParams:params completion: + ^(MTROperationalCredentialsClusterSignVIDVerificationResponseParams * _Nullable values, NSError * _Nullable error) { NSLog(@"Values: %@", values); if (error == nil) { - constexpr chip::CommandId responseId = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::Id; + constexpr chip::CommandId responseId = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::Id; RemoteDataModelLogger::LogCommandAsJSON(@(endpointId), @(clusterId), @(responseId), values); } responsesNeeded--; if (error != nil) { mError = error; LogNSError("Error", error); - constexpr chip::CommandId responseId = chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationResponse::Id; + constexpr chip::CommandId responseId = chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationResponse::Id; RemoteDataModelLogger::LogCommandErrorAsJSON(@(endpointId), @(clusterId), @(responseId), error); } if (responsesNeeded == 0) { @@ -39668,7 +39668,7 @@ class OperationalCredentialsSignVidVerificationRequest : public ClusterCommand { } private: - chip::app::Clusters::OperationalCredentials::Commands::SignVidVerificationRequest::Type mRequest; + chip::app::Clusters::OperationalCredentials::Commands::SignVIDVerificationRequest::Type mRequest; }; #endif // MTR_ENABLE_PROVISIONAL @@ -180366,10 +180366,10 @@ void registerClusterOperationalCredentials(Commands & commands) make_unique(), // make_unique(), // #if MTR_ENABLE_PROVISIONAL - make_unique(), // + make_unique(), // #endif // MTR_ENABLE_PROVISIONAL #if MTR_ENABLE_PROVISIONAL - make_unique(), // + make_unique(), // #endif // MTR_ENABLE_PROVISIONAL make_unique(Id), // make_unique(Id), //