diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 105deb8cce71aa..7017b312348065 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -16,7 +16,7 @@ "build": { "dockerfile": "Dockerfile", "args": { - "BUILD_VERSION": "0.5.18" + "BUILD_VERSION": "0.5.22" } }, "remoteUser": "vscode", diff --git a/.gitattributes b/.gitattributes index 11624448f0e668..01e7c0e597cea2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,4 +5,5 @@ # And some specific generated files src/controller/python/chip/clusters/CHIPClusters.cpp linguist-generated src/controller/python/chip/clusters/CHIPClusters.py linguist-generated +src/controller/python/chip/clusters/Objects.py linguist-generated src/darwin/Framework/CHIPTests/CHIPClustersTests.m linguist-generated diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt index 7e306fb9cba184..697b2469805f5c 100644 --- a/.github/.wordlist.txt +++ b/.github/.wordlist.txt @@ -28,8 +28,8 @@ AE aef algs alloc -Ameba ameba +Ameba amebad amebaiot AnnounceOTAProvider @@ -131,6 +131,7 @@ cgroup changeset characterised CharString +checkmark ChipBLEMgr CHIPCirqueTest CHIPCryptoPALHsm @@ -324,6 +325,7 @@ EndpointId endpointName eno entrypoint +enum env esd ESPPORT @@ -795,9 +797,9 @@ ScriptBinding SDC SDHC SDK +SDK's sdkconfig SDKs -SDK's SDKTARGETSYSROOT sdl segger @@ -875,6 +877,7 @@ TCP teardown Telink TemperatureMeasurement +testability TestArray TestCluster TestEmptyString diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml index f433b14cda4020..70dbb05603de52 100644 --- a/.github/workflows/android.yaml +++ b/.github/workflows/android.yaml @@ -25,7 +25,7 @@ concurrency: jobs: android: name: Build Android - timeout-minutes: 60 + timeout-minutes: 75 env: JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64/ @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-android:0.5.18 + image: connectedhomeip/chip-build-android:0.5.22 volumes: - "/tmp/log_output:/tmp/test_logs" diff --git a/.github/workflows/bloat_check.yaml b/.github/workflows/bloat_check.yaml index efcb65e75ade48..852d22462138e6 100644 --- a/.github/workflows/bloat_check.yaml +++ b/.github/workflows/bloat_check.yaml @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-latest container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 steps: - name: Checkout diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d3146cae769ec5..932daa5b8682cf 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -32,7 +32,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 volumes: - "/tmp/log_output:/tmp/test_logs" options: diff --git a/.github/workflows/cirque.yaml b/.github/workflows/cirque.yaml index 3de91429d03136..e0260f1e5f19c0 100644 --- a/.github/workflows/cirque.yaml +++ b/.github/workflows/cirque.yaml @@ -29,7 +29,7 @@ jobs: timeout-minutes: 60 env: - DOCKER_RUN_VERSION: 0.5.18 + DOCKER_RUN_VERSION: 0.5.22 GITHUB_CACHE_PATH: /tmp/cirque-cache/ runs-on: ubuntu-latest @@ -38,7 +38,7 @@ jobs: # need to run with privilege, which isn't supported by job.XXX.contaner # https://github.com/actions/container-action/issues/2 # container: -# image: connectedhomeip/chip-build-cirque:0.5.18 +# image: connectedhomeip/chip-build-cirque:0.5.22 # volumes: # - "/tmp:/tmp" # - "/dev/pts:/dev/pts" diff --git a/.github/workflows/docker_img.yaml b/.github/workflows/docker_img.yaml new file mode 100644 index 00000000000000..550337b523b505 --- /dev/null +++ b/.github/workflows/docker_img.yaml @@ -0,0 +1,48 @@ +# Copyright (c) 2020-2021 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. + +name: Docker CHIP images + +on: + push: + paths: + - 'integrations/docker/images/**' + pull_request: + paths: + - 'integrations/docker/images/**' + workflow_dispatch: + +jobs: + build_images: + name: Build Docker CHIP Build images + runs-on: ubuntu-latest + if: github.actor != 'restyled-io[bot]' + strategy: + fail-fast: false + matrix: + # TODO: Enables "-crosscompile" and "-vscode" images + img: ["", "-android", "-cirque", "-efr32", "-esp32", "-esp32-qemu", "-infineon", "-k32w", "-mbed-os", "-nrf-platform", "-telink", "-tizen"] + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build All images using project bash script + run: | + cd integrations/docker/images/chip-build${{ matrix.img }} + ./build.sh --latest + - name: Scan for vulnerabilities + uses: crazy-max/docker-scan-action@master + with: + image: connectedhomeip/chip-build${{ matrix.img }}:latest + annotations: true + diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml index 70716042c2d3e9..865efddb8e6d95 100644 --- a/.github/workflows/examples-esp32.yaml +++ b/.github/workflows/examples-esp32.yaml @@ -26,7 +26,7 @@ jobs: # TODO ESP32 https://github.com/project-chip/connectedhomeip/issues/1510 esp32: name: ESP32 - timeout-minutes: 70 + timeout-minutes: 85 env: BUILD_TYPE: esp32 diff --git a/.github/workflows/examples-infineon.yaml b/.github/workflows/examples-infineon.yaml index 87daa380c1a6c4..4448c2b16db4b0 100644 --- a/.github/workflows/examples-infineon.yaml +++ b/.github/workflows/examples-infineon.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-infineon:0.5.18 + image: connectedhomeip/chip-build-infineon:0.5.22 steps: - name: Checkout diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml index 340442fd39a703..5e7bf60301cf3b 100644 --- a/.github/workflows/examples-linux-standalone.yaml +++ b/.github/workflows/examples-linux-standalone.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" - "/tmp/output_binaries:/tmp/output_binaries" diff --git a/.github/workflows/examples-mbed.yaml b/.github/workflows/examples-mbed.yaml index 633d472a568fac..0c8a96c0b1aea0 100644 --- a/.github/workflows/examples-mbed.yaml +++ b/.github/workflows/examples-mbed.yaml @@ -40,7 +40,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-mbed-os:0.5.18 + image: connectedhomeip/chip-build-mbed-os:0.5.22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" - "/tmp/output_binaries:/tmp/output_binaries" @@ -82,6 +82,24 @@ jobs: examples/lighting-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-lighting-app-example.elf \ /tmp/bloat_reports/ + - name: Build pigweed-app example + timeout-minutes: 10 + run: | + scripts/examples/mbed_example.sh -a=pigweed-app -b=$APP_TARGET -p=$APP_PROFILE + .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ + mbed $APP_TARGET+$APP_PROFILE pigweed-app \ + examples/pigweed-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-pigweed-app-example.elf \ + /tmp/bloat_reports/ + + - name: Build all-clusters-app example + timeout-minutes: 10 + run: | + scripts/examples/mbed_example.sh -a=all-clusters-app -b=$APP_TARGET -p=$APP_PROFILE + .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ + mbed $APP_TARGET+$APP_PROFILE all-clusters-app \ + examples/all-clusters-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-all-clusters-app-example.elf \ + /tmp/bloat_reports/ + - name: Build unit tests timeout-minutes: 10 run: scripts/tests/mbed/mbed_unit_tests.sh -b=$APP_TARGET -p=$APP_PROFILE @@ -93,6 +111,8 @@ jobs: /tmp/output_binaries/$BUILD_TYPE-build/lock-app-$APP_TARGET-$APP_PROFILE.hex cp examples/lighting-app/mbed/build-$APP_TARGET/$APP_PROFILE/chip-mbed-lighting-app-example.hex \ /tmp/output_binaries/$BUILD_TYPE-build/lighting-app-$APP_TARGET-$APP_PROFILE.hex + cp examples/all-clusters-app/mbed/build-$APP_TARGET/$APP_PROFILE/chip-mbed-all-clusters-app-example.hex \ + /tmp/output_binaries/$BUILD_TYPE-build/all-clusters-app-$APP_TARGET-$APP_PROFILE.hex - name: Binary artifacts suffix id: outsuffix diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml index 53d0e1210d54d3..4238612e8cc87b 100644 --- a/.github/workflows/examples-nrfconnect.yaml +++ b/.github/workflows/examples-nrfconnect.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-nrf-platform:0.5.18 + image: connectedhomeip/chip-build-nrf-platform:0.5.22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" - "/tmp/output_binaries:/tmp/output_binaries" diff --git a/.github/workflows/examples-qpg.yaml b/.github/workflows/examples-qpg.yaml index 4ed10cc302a7fc..4a21cb8bfa1932 100644 --- a/.github/workflows/examples-qpg.yaml +++ b/.github/workflows/examples-qpg.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" - "/tmp/output_binaries:/tmp/output_binaries" diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml index 3ee931773fde7a..c929989dcb066b 100644 --- a/.github/workflows/examples-telink.yaml +++ b/.github/workflows/examples-telink.yaml @@ -35,7 +35,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-telink:0.5.18 + image: connectedhomeip/chip-build-telink:0.5.22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml index b0865f70ec1354..da1268203fa15d 100644 --- a/.github/workflows/examples-tizen.yaml +++ b/.github/workflows/examples-tizen.yaml @@ -28,7 +28,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: connectedhomeip/chip-build-tizen:0.5.18 + image: connectedhomeip/chip-build-tizen:0.5.22 options: --user root volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 357523f5f744ef..2275a09f65ca5f 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" @@ -84,7 +84,7 @@ jobs: # actually succeeded, because that just wastes space. rsync -a out/debug/standalone/ objdir-clone || true - name: Run Tests - timeout-minutes: 10 + timeout-minutes: 20 run: | scripts/tests/test_suites.sh - name: Run TV Tests diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml index db0ae53bfbe155..7d0c75a43e8a04 100644 --- a/.github/workflows/unit_integration_test.yaml +++ b/.github/workflows/unit_integration_test.yaml @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest container: - image: connectedhomeip/chip-build:0.5.18 + image: connectedhomeip/chip-build:0.5.22 volumes: - "/tmp/log_output:/tmp/test_logs" - "/tmp/happy_test_logs:/tmp/happy_test_logs" diff --git a/.github/workflows/zap_regeneration.yaml b/.github/workflows/zap_regeneration.yaml new file mode 100644 index 00000000000000..3bac2247f09da2 --- /dev/null +++ b/.github/workflows/zap_regeneration.yaml @@ -0,0 +1,55 @@ +# Copyright (c) 2020 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. + +name: ZAP - Regenerate + +on: + workflow_dispatch: + issue_comment: + types: [created] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} + cancel-in-progress: true + +jobs: + zap_regenerate: + name: ZAP - Regenerate + timeout-minutes: 60 + + runs-on: ubuntu-18.04 + if: (github.event.issue.pull_request != '' && contains(github.event.comment.body, '/regenerate')) || (github.event_name == 'workflow_dispatch') + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + #token: ${{ secrets.APPLE_PERSONAL_ACCESS_TOKEN }} + fetch-depth: 0 # otherwise, you will fail to push refs to dest repo + - name: Use Node.js 14.x + uses: actions/setup-node@v2 + with: + node-version: '14' + - name: Use Java + uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '11' + java-package: jre + - run: sudo apt-get update + - run: sudo apt-get install -fy --fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev python-autopep8 + - name: Rebase and regenerate + run: scripts/helpers/rebase_and_regenerate_zap.sh + env: + GITHUB_TOKEN: ${{ secrets.APPLE_PERSONAL_ACCESS_TOKEN }} diff --git a/.pullapprove.yml b/.pullapprove.yml index 027b944aa496bb..8c7a7d14db8ed5 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -4,46 +4,51 @@ version: 3 github_api_version: "shadow-cat-preview" ############################################################ -# Conditions +# Overrides ############################################################ -pullapprove_conditions: - ############################################################ - # License Checks - ############################################################ - - condition: "'*license/cla*' in statuses.successful" - unmet_status: "pending" - explanation: "CLA must be agreed to by all contributors" +overrides: + - if: "'hotfix' in labels" + status: success + explanation: "Hotfix label added, bypassing reviews" ############################################################ # Draft PRs ############################################################ - - condition: "'WIP' not in title" - unmet_status: "pending" - explanation: "Work in progress" + - if: "draft or 'WIP' in title" + status: pending + explanation: "PR is draft, pending review" + - if: "draft" + status: pending + explanation: "PR is draft, pending review" - - condition: "not draft" - unmet_status: "pending" - explanation: "Work in progress" + ############################################################ + # License Checks + ############################################################ + - if: "'*license/cla*' not in statuses.successful" + status: pending + explanation: "CLA must be agreed to by all contributors" ############################################################ # Conditions to Skip Review ############################################################ - - condition: "base.ref == 'master'" - unmet_status: "success" + - if: "base.ref != 'master'" + status: success explanation: "Review not required unless merging to master" ############################################################ - # Bypass reviews + # Required status checks ############################################################ - - "'hotfix' not in labels" + - if: "'*restyle*' not in statuses.successful" + status: failure + explanation: "Style must be inline before reviewing can be complete" ############################################################ - # Required status checks + # Fast tracking ############################################################ - - condition: "'*restyle*' in statuses.successful" - unmet_status: "failure" - explanation: "Style must be inline before reviewing can be complete" + - if: "'fast track' in labels" + status: success + explanation: "PR has been fast tracked, bypassing reviews" ############################################################ # Notifications @@ -91,14 +96,14 @@ groups: teams: [reviewers-comcast] reviews: request: 10 -# shared-reviewers-espressif: -# type: optional -# conditions: -# - files.include('*') -# reviewers: -# teams: [reviewers-espressif] -# reviews: -# request: 10 + # shared-reviewers-espressif: + # type: optional + # conditions: + # - files.include('*') + # reviewers: + # teams: [reviewers-espressif] + # reviews: + # request: 10 shared-reviewers-google: type: optional conditions: @@ -107,14 +112,14 @@ groups: teams: [reviewers-google] reviews: request: 10 -# shared-reviewers-lg: -# type: optional -# conditions: -# - files.include('*') -# reviewers: -# teams: [reviewers-lg] -# reviews: -# request: 10 + # shared-reviewers-lg: + # type: optional + # conditions: + # - files.include('*') + # reviewers: + # teams: [reviewers-lg] + # reviews: + # request: 10 shared-reviewers-nordic: type: optional conditions: diff --git a/.vscode/launch.json b/.vscode/launch.json index d5ab1d785b3f0f..ac398fc811a801 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -310,7 +310,12 @@ "type": "pickString", "id": "mbedApp", "description": "What mbed application do you want to use?", - "options": ["lock-app", "lighting-app"], + "options": [ + "lock-app", + "lighting-app", + "pigweed-app", + "all-clusters-app" + ], "default": "lock-app" }, { diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 74e1820cfdad07..f8bdee88c8a4cc 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -184,7 +184,12 @@ "type": "pickString", "id": "mbedApp", "description": "What mbed application do you want to use?", - "options": ["lock-app", "lighting-app"], + "options": [ + "lock-app", + "lighting-app", + "pigweed-app", + "all-clusters-app" + ], "default": "lock-app" }, { diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99e21627ac9422..a71219f560671b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -192,3 +192,79 @@ into master Documentation undergoes the same review process as code See the [Documentation Style Guide](https://github.com/project-chip/connectedhomeip/blob/master/docs/STYLE_GUIDE.md) for more information on how to author and format documentation for contribution. + +## Merge Processes + +Merges require at least 3 approvals from unique require-reviewers lists, and all +CI tests passing. + +### Shorter Reviews + +Development Lead & Vice Leads can merge a change with fewer then the required +approvals have been submitted. + +A separate "fast track" label will be created that will only require a single +checkbox to be set, this label shall only be set by the Development Lead, and/or +Vice Lead (unless they’re both unavailable, in which case a replacement can be +temporarily appointed) + +"Day" here means "business day" (i.e. PRs on friday do not get fast-tracked +faster). + +### Fast track types + +### Trivial changes + +Small changes or changes that do not affect the main functionality of the code +can be fast tracked immediately. Examples: + +- Adding/removing documentation (.md files) +- Adding tests (may include small reorganization/method adding/changes to + enable testability): + - certification tests + - stability tests + - integration tests + - functional tests + - Test scripts + - Additional tests following a pattern (e.g. YAML tests) +- Adding/updating/fixing tooling to aid in development +- Re-running code generation +- Code readability refactors: + - renaming enum/classes/structure members + - moving constant header location + - Obviously trivial build rule changes (e.g. adding missing files to build + rules) + - Changing comments + - Adding/removing includes (include what you need and only what you need + rules) +- Pulling new third-party repo files +- Platform vendors/maintainers adding platform features/logic/bug fixes to + their own platforms +- Most changes to existing docker files (pulling new versions, reorganizing) +- Most changes to new dockerfile version in workflows + +#### Fast track changes + +Larger functionality changes are allowed to be fast tracked with these +requirements/restrictions: + +- Require at least 1 day to have passed since the creation of the PR +- Require at least 1 checkmark from someone familiar with the code or problem + space + - This requirement shall be dropped after a PR is 3 days old with stale or + no feedback. +- Code is sufficiently covered by automated tests (or impossible to + automatically test with a very solid reason for this - e.g. changes to BLE + parameters cannot be automatically tested, but should have been manually + verified) + +Fast tracking these changes will involve resolving any obviously 'resolved' +comments (judgment call here: were they replied to or addressed) and merging the +change. + +Any "request for changes" marker will always be respected unless obviously +resolved (i.e. author marked "requesting changes because of X and X was done in +the PR") + +- This requirement shall be dropped after a PR is 3 days old with stale or no + feedback. diff --git a/config/mbed/CMakeLists.txt b/config/mbed/CMakeLists.txt index a78b78ea3b9156..671dd67033cd30 100644 --- a/config/mbed/CMakeLists.txt +++ b/config/mbed/CMakeLists.txt @@ -63,6 +63,10 @@ set(CHIP_CFLAG_EXCLUDES # Helper macros # ============================================================================== +macro(chip_gn_arg_import FILE) + string(APPEND CHIP_GN_ARGS "import(\"${FILE}\")\n") +endmacro() + macro(chip_gn_arg_string ARG STRING) string(APPEND CHIP_GN_ARGS "${ARG} = \"${STRING}\"\n") endmacro() @@ -95,6 +99,19 @@ macro(mbed_interface_library_named name) add_library(${name} INTERFACE) endmacro() +# Select gnu++ standard based on project configuration +macro(mbed_get_gnu_cpp_standard VAR) + if (CONFIG_STD_CPP11) + list(APPEND ${VAR} -std=gnu++11) + elseif (CONFIG_STD_CPP14) + list(APPEND ${VAR} -std=gnu++14) + elseif (CONFIG_STD_CPP17) + list(APPEND ${VAR} -std=gnu++17) + elseif (CONFIG_STD_CPP2A) + list(APPEND ${VAR} -std=gnu++20) + endif() +endmacro() + # ============================================================================== # Prepare CHIP configuration based on the project configuration # ============================================================================== @@ -111,10 +128,16 @@ foreach(NameAndValue ${ConfigContents}) set(${Name} "${Value}") endforeach() +if (CONFIG_CHIP_PW_RPC) + set(CONFIG_STD_CPP17 y) +endif() + if (NOT CHIP_ROOT) get_filename_component(CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../.. REALPATH) endif() +set(GN_ROOT_TARGET ${CHIP_ROOT}/config/mbed/chip-gn) + # Prepare compiler flags mbed_get_target_common_compile_flags(CHIP_CFLAGS mbed-core) @@ -165,6 +188,8 @@ if (CONFIG_CHIP_WITH_EXTERNAL_MBEDTLS) list(APPEND CHIP_CFLAGS ${CHIP_MBEDTLS_CFLAGS}) endif() +mbed_get_gnu_cpp_standard(CHIP_CFLAGS_CC) + list(APPEND CHIP_CFLAGS \"-D__LINUX_ERRNO_EXTENSIONS__=1\" ) @@ -196,6 +221,15 @@ if (CONFIG_CHIP_LIB_SHELL) list(APPEND CHIP_LIBRARIES -lCHIPShell) endif() +if (CONFIG_CHIP_PW_RPC) + list(APPEND CHIP_LIBRARIES -lPwRpc) + if (${APP_TARGET} MATCHES "pigweed-app") + set(CONFIG_CHIP_PW_RPC_ECHO_PROTO "y") + else() + set(CONFIG_CHIP_PW_RPC_ECHO_PROTO "n") + endif() +endif(CONFIG_CHIP_PW_RPC) + # Set up CHIP project configuration file set(CHIP_DEFAULT_CONFIG_FILE "<${CHIP_ROOT}/config/mbed/CHIPProjectConfig.h>") @@ -217,6 +251,9 @@ endif() # ============================================================================== # Generate configuration for CHIP GN build system # ============================================================================== +if (CONFIG_CHIP_PW_RPC) + chip_gn_arg_import("${GN_ROOT_TARGET}/lib/pw_rpc/pw_rpc.gni") +endif() chip_gn_arg_flags("target_cflags" ${CHIP_CFLAGS}) chip_gn_arg_lang_flags("target_cflags_c" ${CHIP_CFLAGS_C}) @@ -231,6 +268,10 @@ chip_gn_arg_bool ("chip_monolithic_tests" CONFIG_CHIP_BUILD_TEST chip_gn_arg_bool ("chip_build_libshell" CONFIG_CHIP_LIB_SHELL) chip_gn_arg_bool ("chip_with_platform_mbedtls" CONFIG_CHIP_WITH_EXTERNAL_MBEDTLS) chip_gn_arg_bool ("chip_bypass_rendezvous" CONFIG_CHIP_BYPASS_RENDEZVOUS) +chip_gn_arg_bool ("chip_build_pw_rpc_lib" CONFIG_CHIP_PW_RPC) +if (CONFIG_CHIP_PW_RPC) + chip_gn_arg_bool ("chip_build_pw_rpc_echo_proto" CONFIG_CHIP_PW_RPC_ECHO_PROTO) +endif(CONFIG_CHIP_PW_RPC) file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/args.gn CONTENT ${CHIP_GN_ARGS}) @@ -242,7 +283,7 @@ ExternalProject_Add( PREFIX ${CMAKE_CURRENT_BINARY_DIR} SOURCE_DIR ${CHIP_ROOT} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} - CONFIGURE_COMMAND gn --root=${CHIP_ROOT}/config/mbed/chip-gn gen --export-compile-commands --check --fail-on-unused-args ${CMAKE_CURRENT_BINARY_DIR} + CONFIGURE_COMMAND gn --root=${GN_ROOT_TARGET} gen --export-compile-commands --check --fail-on-unused-args ${CMAKE_CURRENT_BINARY_DIR} BUILD_COMMAND ninja INSTALL_COMMAND "" BUILD_BYPRODUCTS ${CHIP_LIBRARIES} @@ -291,6 +332,13 @@ if (CONFIG_MBED_BSD_SOCKET_TRACE) ) endif() +if (CONFIG_CHIP_PW_RPC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17" PARENT_SCOPE) + list(APPEND CHIP_DEFINES + CONFIG_CHIP_PW_RPC=1 + ) +endif() + target_include_directories(${APP_TARGET} PRIVATE ${CHIP_INCLUDES} ) @@ -298,3 +346,59 @@ target_include_directories(${APP_TARGET} PRIVATE target_compile_definitions(${APP_TARGET} PRIVATE ${CHIP_DEFINES} ) + + +if (CONFIG_CHIP_PW_RPC) + +set(PIGWEED_ROOT "${CHIP_ROOT}/third_party/pigweed/repo") + +target_sources(${APP_TARGET} PRIVATE + ${CHIP_ROOT}/examples/common/pigweed/RpcService.cpp + ${CHIP_ROOT}/examples/common/pigweed/mbed/PigweedLoggerMutex.cpp + ${MBED_COMMON}/util/PigweedLogger.cpp +) + +target_include_directories(${APP_TARGET} PRIVATE + ${PIGWEED_ROOT}/pw_sys_io/public + ${PIGWEED_ROOT}/pw_assert/public + ${PIGWEED_ROOT}/pw_assert_log/public + ${PIGWEED_ROOT}/pw_assert_log/public_overrides + ${PIGWEED_ROOT}/pw_bytes/public + ${PIGWEED_ROOT}/pw_checksum/public + ${PIGWEED_ROOT}/pw_containers/public + ${PIGWEED_ROOT}/pw_hdlc/public + ${PIGWEED_ROOT}/pw_log/public + ${PIGWEED_ROOT}/pw_log_basic/public + ${PIGWEED_ROOT}/pw_log_basic/public_overrides + ${PIGWEED_ROOT}/pw_span/public_overrides + ${PIGWEED_ROOT}/pw_span/public + ${PIGWEED_ROOT}/pw_polyfill/public + ${PIGWEED_ROOT}/pw_polyfill/standard_library_public + ${PIGWEED_ROOT}/pw_polyfill/public_overrides + ${PIGWEED_ROOT}/pw_rpc/public + ${PIGWEED_ROOT}/pw_rpc/nanopb/public + ${PIGWEED_ROOT}/pw_rpc/raw/public + ${PIGWEED_ROOT}/pw_protobuf/public + ${PIGWEED_ROOT}/pw_status/public + ${PIGWEED_ROOT}/pw_stream/public + ${PIGWEED_ROOT}/pw_result/public + ${PIGWEED_ROOT}/pw_varint/public + ${PIGWEED_ROOT}/pw_function/public + ${PIGWEED_ROOT}/pw_preprocessor/public + ${PIGWEED_ROOT}/pw_rpc/system_server/public + ${CHIP_ROOT}/third_party/nanopb/repo + + ${CHIP_ROOT}/examples/common + ${CHIP_ROOT}/examples//common/pigweed/mbed + ${MBED_COMMON}/pw_sys_io/public +) + +if (CONFIG_CHIP_PW_RPC_ECHO_PROTO) + target_include_directories(${APP_TARGET} PRIVATE + ${CMAKE_CURRENT_BINARY_DIR}/protocol_buffer/gen/third_party/connectedhomeip/third_party/pigweed/repo/pw_rpc/protos.proto_library/nanopb_rpc + ${CMAKE_CURRENT_BINARY_DIR}/protocol_buffer/gen/third_party/connectedhomeip/third_party/pigweed/repo/pw_rpc/protos.proto_library/nanopb + ${CMAKE_CURRENT_BINARY_DIR}/protocol_buffer/gen/third_party/connectedhomeip/third_party/pigweed/repo/pw_rpc/protos.proto_library/pwpb + ) +endif(CONFIG_CHIP_PW_RPC_ECHO_PROTO) + +endif(CONFIG_CHIP_PW_RPC) \ No newline at end of file diff --git a/config/mbed/chip-gn/BUILD.gn b/config/mbed/chip-gn/BUILD.gn index d26dd29af87965..28f56889a1bf46 100644 --- a/config/mbed/chip-gn/BUILD.gn +++ b/config/mbed/chip-gn/BUILD.gn @@ -19,6 +19,7 @@ import("//${chip_root}/build/chip/tests.gni") assert(current_os == "mbed") declare_args() { + chip_build_pw_rpc_lib = false chip_custom_build_cflags = [] } @@ -32,6 +33,10 @@ group("mbed") { if (chip_build_tests) { deps += [ "${chip_root}/src:tests" ] } + + if (chip_build_pw_rpc_lib) { + deps += [ "//lib/pw_rpc" ] + } } group("default") { diff --git a/config/mbed/chip-gn/lib/pw_rpc/BUILD.gn b/config/mbed/chip-gn/lib/pw_rpc/BUILD.gn new file mode 100644 index 00000000000000..062eea969476a7 --- /dev/null +++ b/config/mbed/chip-gn/lib/pw_rpc/BUILD.gn @@ -0,0 +1,45 @@ +# Copyright (c) 2020 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. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") +import("$dir_pw_build/target_types.gni") + +declare_args() { + chip_build_pw_rpc_echo_proto = false +} + +static_library("pw_rpc") { + output_name = "libPwRpc" + + public_configs = [ "${dir_pigweed}/pw_hdlc:default_config" ] + deps = [ + "$dir_pw_rpc:server", + "${chip_root}/examples/platform/mbed/pw_sys_io:pw_sys_io_mbed", + "${dir_pigweed}/pw_hdlc:pw_rpc", + dir_pw_assert, + dir_pw_hdlc, + dir_pw_log, + ] + + if (chip_build_pw_rpc_echo_proto) { + deps += [ "$dir_pw_rpc/nanopb:echo_service" ] + } + + deps += pw_build_LINK_DEPS + + output_dir = "${root_out_dir}/lib" + + complete_static_lib = true +} diff --git a/config/mbed/chip-gn/lib/pw_rpc/pw_rpc.gni b/config/mbed/chip-gn/lib/pw_rpc/pw_rpc.gni new file mode 100644 index 00000000000000..79a34c17f17346 --- /dev/null +++ b/config/mbed/chip-gn/lib/pw_rpc/pw_rpc.gni @@ -0,0 +1,32 @@ +# Copyright (c) 2021 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. + +import("//build_overrides/chip.gni") +import("//build_overrides/pigweed.gni") + +pw_log_BACKEND = "$dir_pw_log_basic" +pw_assert_BACKEND = "$dir_pw_assert_log" +pw_sys_io_BACKEND = + "${chip_root}/examples/platform/mbed/pw_sys_io:pw_sys_io_mbed" +pw_rpc_system_server_BACKEND = + "${chip_root}/examples/common/pigweed:system_rpc_server" + +pw_build_LINK_DEPS = [ + "$dir_pw_assert:impl", + "$dir_pw_log:impl", +] + +dir_pw_third_party_nanopb = "${chip_root}/third_party/nanopb/repo" + +chip_enable_pw_rpc = true diff --git a/config/mbed/mbed-util.cmake b/config/mbed/mbed-util.cmake index 48aea01d5fde80..adc1a2281dc107 100644 --- a/config/mbed/mbed-util.cmake +++ b/config/mbed/mbed-util.cmake @@ -136,4 +136,4 @@ function(convert_list_of_flags_to_string_of_flags ptr_list_of_flags string_of_fl # Set the output variable in the parent scope set(${string_of_flags} ${locally_scoped_string_of_flags} PARENT_SCOPE) -endfunction() \ No newline at end of file +endfunction() diff --git a/docs/guides/silabs_efr32_building.md b/docs/guides/silabs_efr32_building.md new file mode 100644 index 00000000000000..46792d545eceb5 --- /dev/null +++ b/docs/guides/silabs_efr32_building.md @@ -0,0 +1,20 @@ +# Building Silicon Labs EFR32 examples + +Developers can start prototyping with Matter today. Silicon Labs offers a number +of examples using Matter, such as +[smart locks](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/efr32), +[smart lights](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/efr32), +and +[window coverings](https://github.com/project-chip/connectedhomeip/tree/master/examples/window-app/efr32). +Matter simplifies the developer experience by maximizing the interoperability of +IoT devices across different vendors, so developers can focus on innovating. + +The full list of examples can be found +[here](https://github.com/project-chip/connectedhomeip/tree/master/examples). +The GitHub repository also includes tools for testing your Matter project. + +## Getting Started with Matter on EFR32 + +Developers can find more resources on +[Silicon Labs Matter Community Page](https://community.silabs.com/s/article/connected-home-over-ip-chip-faq?language=en_US) +. 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 93150f4b003e2e..4553f2f7e969e5 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 @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -836,7 +836,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -5535,6 +5535,133 @@ } ] }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LightSensorType", + "code": 4, + "mfgCode": null, + "side": "server", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFF", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, { "name": "Temperature Measurement", "code": 1026, @@ -7188,7 +7315,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, @@ -7743,7 +7870,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7758,7 +7885,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7773,7 +7900,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7788,7 +7915,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -9178,6 +9305,73 @@ } ] }, + { + "name": "Boolean State", + "code": 69, + "mfgCode": null, + "define": "BOOLEAN_STATE_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Boolean State", + "code": 69, + "mfgCode": null, + "define": "BOOLEAN_STATE_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [], + "attributes": [ + { + "name": "StateValue", + "code": 0, + "mfgCode": null, + "side": "server", + "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", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, { "name": "Door Lock", "code": 257, @@ -12279,6 +12473,133 @@ } ] }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [], + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LightSensorType", + "code": 4, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFF", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, { "name": "Temperature Measurement", "code": 1026, @@ -14531,6 +14852,14 @@ "source": "client", "incoming": 1, "outgoing": 0 + }, + { + "name": "TestEnumsRequest", + "code": 14, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 } ], "attributes": [ @@ -14582,6 +14911,14 @@ "source": "server", "incoming": 0, "outgoing": 1 + }, + { + "name": "TestEnumsResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 } ], "attributes": [ @@ -14945,6 +15282,21 @@ "maxInterval": 65534, "reportableChange": 0 }, + { + "name": "vendor_id", + "code": 34, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, @@ -15972,7 +16324,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/all-clusters-app/esp32/main/CMakeLists.txt b/examples/all-clusters-app/esp32/main/CMakeLists.txt index 0c065f96302331..1f831fa8103a78 100644 --- a/examples/all-clusters-app/esp32/main/CMakeLists.txt +++ b/examples/all-clusters-app/esp32/main/CMakeLists.txt @@ -57,9 +57,7 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/keypad-input-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/media-playback-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ota-provider" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/binary-input-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/target-navigator-server" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/temperature-measurement-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/thread_network_diagnostics_server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/tv-channel-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/scenes" @@ -72,8 +70,6 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/door-lock-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/occupancy-sensor-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ias-zone-server" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/relative-humidity-measurement-server" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/electrical-measurement-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ethernet_network_diagnostics_server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/wifi_network_diagnostics_server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/pump-configuration-and-control-server" diff --git a/examples/all-clusters-app/esp32/main/main.cpp b/examples/all-clusters-app/esp32/main/main.cpp index 89b713c9cc7130..573245f2dd7bbb 100644 --- a/examples/all-clusters-app/esp32/main/main.cpp +++ b/examples/all-clusters-app/esp32/main/main.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -66,7 +67,6 @@ #include #include -#include #if CONFIG_ENABLE_PW_RPC #include "Rpc.h" @@ -216,7 +216,7 @@ class EditAttributeListModel : public ListScreen::Model if (name == "Temperature") { // update the temp attribute here for hardcoded endpoint 1 - emberAfTemperatureMeasurementClusterSetMeasuredValueCallback(1, static_cast(n * 100)); + chip::app::Clusters::TemperatureMeasurement::Attributes::MeasuredValue::Set(1, static_cast(n * 100)); } value = buffer; } @@ -245,8 +245,7 @@ class EditAttributeListModel : public ListScreen::Model { // update the doorlock attribute here uint8_t attributeValue = value == "Closed" ? EMBER_ZCL_DOOR_LOCK_STATE_LOCKED : EMBER_ZCL_DOOR_LOCK_STATE_UNLOCKED; - emberAfWriteServerAttribute(DOOR_LOCK_SERVER_ENDPOINT, ZCL_DOOR_LOCK_CLUSTER_ID, ZCL_LOCK_STATE_ATTRIBUTE_ID, - (uint8_t *) &attributeValue, ZCL_INT8U_ATTRIBUTE_TYPE); + chip::app::Clusters::DoorLock::Attributes::LockState::Set(DOOR_LOCK_SERVER_ENDPOINT, attributeValue); } } } @@ -468,16 +467,14 @@ void SetupPretendDevices() AddCluster("Thermometer"); AddAttribute("Temperature", "21"); // write the temp attribute - emberAfTemperatureMeasurementClusterSetMeasuredValueCallback(1, static_cast(21 * 100)); + chip::app::Clusters::TemperatureMeasurement::Attributes::MeasuredValue::Set(1, static_cast(21 * 100)); AddDevice("Door Lock"); AddEndpoint("Default"); AddCluster("Lock"); AddAttribute("State", "Open"); // write the door lock state - uint8_t attributeValue = EMBER_ZCL_DOOR_LOCK_STATE_UNLOCKED; - emberAfWriteServerAttribute(DOOR_LOCK_SERVER_ENDPOINT, ZCL_DOOR_LOCK_CLUSTER_ID, ZCL_LOCK_STATE_ATTRIBUTE_ID, &attributeValue, - ZCL_INT8U_ATTRIBUTE_TYPE); + chip::app::Clusters::DoorLock::Attributes::LockState::Set(DOOR_LOCK_SERVER_ENDPOINT, EMBER_ZCL_DOOR_LOCK_STATE_UNLOCKED); AddDevice("Garage 1"); AddEndpoint("Door 1"); AddCluster("Door"); diff --git a/examples/all-clusters-app/mbed/.gitignore b/examples/all-clusters-app/mbed/.gitignore new file mode 100644 index 00000000000000..58f6e14fd6f5b2 --- /dev/null +++ b/examples/all-clusters-app/mbed/.gitignore @@ -0,0 +1,2 @@ +config/ +build-*/ diff --git a/examples/all-clusters-app/mbed/CMakeLists.txt b/examples/all-clusters-app/mbed/CMakeLists.txt new file mode 100644 index 00000000000000..4922a534d6bc39 --- /dev/null +++ b/examples/all-clusters-app/mbed/CMakeLists.txt @@ -0,0 +1,144 @@ +# Copyright (c) 2021 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.19.0) + +get_filename_component(CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../.. REALPATH) +get_filename_component(APP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/.. REALPATH) +get_filename_component(MBED_COMMON ${CHIP_ROOT}/examples/platform/mbed REALPATH) +get_filename_component(APP_UTIL ${CHIP_ROOT}/src/app/util REALPATH) +get_filename_component(APP_CLUSTERS ${CHIP_ROOT}/src/app/clusters REALPATH) +get_filename_component(GEN_DIR ${CHIP_ROOT}/zzz_generated/ REALPATH) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config.in + ${CMAKE_CURRENT_BINARY_DIR}/chip_build/config + @ONLY +) + +set(MBED_PATH $ENV{MBED_OS_PATH} CACHE INTERNAL "") +set(MBED_CONFIG_PATH ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "") +set(APP_TARGET chip-mbed-all-clusters-app-example) + +include(${MBED_PATH}/tools/cmake/app.cmake) + +project(${APP_TARGET}) + +add_subdirectory(${MBED_PATH} ./mbed_build) +add_subdirectory($ENV{MBED_OS_POSIX_SOCKET_PATH} ./mbed_os_posix_socket_build) + +add_executable(${APP_TARGET}) + +add_subdirectory(${CHIP_ROOT}/config/mbed ./chip_build) + +mbed_configure_app_target(${APP_TARGET}) + +target_include_directories(${APP_TARGET} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/main/include/ + ${APP_ROOT}/all-clusters-common + ${MBED_COMMON}/util/include + ${CHIP_ROOT}/src/app + ${CHIP_ROOT}/third_party/nlio/repo/include + ${GEN_DIR}/all-clusters-app + ${GEN_DIR}/ota-provider-app + ${GEN_DIR}/app-common +) + +target_sources(${APP_TARGET} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/main/main.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/main/AppTask.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/main/LowPowerManager.cpp + + ${MBED_COMMON}/util/LEDWidget.cpp + + ${GEN_DIR}/all-clusters-app/zap-generated/attribute-size.cpp + ${GEN_DIR}/all-clusters-app/zap-generated/callback-stub.cpp + ${GEN_DIR}/all-clusters-app/zap-generated/CHIPClientCallbacks.cpp + ${GEN_DIR}/all-clusters-app/zap-generated/CHIPClusters.cpp + ${GEN_DIR}/all-clusters-app/zap-generated/IMClusterCommandHandler.cpp + ${GEN_DIR}/app-common/app-common/zap-generated/attributes/Accessors.cpp + ${GEN_DIR}/app-common/app-common/zap-generated/cluster-objects.cpp + + ${CHIP_ROOT}/src/app/server/EchoHandler.cpp + ${CHIP_ROOT}/src/app/server/Dnssd.cpp + ${CHIP_ROOT}/src/app/server/OnboardingCodesUtil.cpp + ${CHIP_ROOT}/src/app/server/Server.cpp + ${CHIP_ROOT}/src/app/server/CommissioningWindowManager.cpp + + ${APP_UTIL}/DataModelHandler.cpp + ${APP_UTIL}/af-event.cpp + ${APP_UTIL}/af-main-common.cpp + ${APP_UTIL}/attribute-storage.cpp + ${APP_UTIL}/attribute-table.cpp + ${APP_UTIL}/attribute-size-util.cpp + ${APP_UTIL}/attribute-list-byte-span.cpp + ${APP_UTIL}/binding-table.cpp + ${APP_UTIL}/chip-message-send.cpp + ${APP_UTIL}/client-api.cpp + ${APP_UTIL}/ember-print.cpp + ${APP_UTIL}/ember-compatibility-functions.cpp + ${APP_UTIL}/message.cpp + ${APP_UTIL}/process-cluster-message.cpp + ${APP_UTIL}/process-global-message.cpp + ${APP_UTIL}/util.cpp + ${APP_UTIL}/error-mapping.cpp + + ${APP_CLUSTERS}/basic/basic.cpp + ${APP_CLUSTERS}/bindings/bindings.cpp + ${APP_CLUSTERS}/on-off-server/on-off-server.cpp + ${APP_CLUSTERS}/account-login-server/account-login-server.cpp + ${APP_CLUSTERS}/application-launcher-server/application-launcher-server.cpp + ${APP_CLUSTERS}/audio-output-server/audio-output-server.cpp + ${APP_CLUSTERS}/barrier-control-server/barrier-control-server.cpp + ${APP_CLUSTERS}/basic/basic.cpp + ${APP_CLUSTERS}/bindings/bindings.cpp + ${APP_CLUSTERS}/color-control-server/color-control-server.cpp + ${APP_CLUSTERS}/content-launch-server/content-launch-server.cpp + ${APP_CLUSTERS}/descriptor/descriptor.cpp + ${APP_CLUSTERS}/door-lock-server/door-lock-server-core.cpp + ${APP_CLUSTERS}/door-lock-server/door-lock-server-logging.cpp + ${APP_CLUSTERS}/door-lock-server/door-lock-server-schedule.cpp + ${APP_CLUSTERS}/door-lock-server/door-lock-server-user.cpp + ${APP_CLUSTERS}/general-commissioning-server/general-commissioning-server.cpp + ${APP_CLUSTERS}/groups-server/groups-server.cpp + ${APP_CLUSTERS}/ias-zone-server/ias-zone-server.cpp + ${APP_CLUSTERS}/keypad-input-server/keypad-input-server.cpp + ${APP_CLUSTERS}/level-control/level-control.cpp + ${APP_CLUSTERS}/low-power-server/low-power-server.cpp + ${APP_CLUSTERS}/media-input-server/media-input-server.cpp + ${APP_CLUSTERS}/media-playback-server/media-playback-server.cpp + ${APP_CLUSTERS}/network-commissioning/network-commissioning-ember.cpp + ${APP_CLUSTERS}/network-commissioning/network-commissioning.cpp + ${APP_CLUSTERS}/on-off-server/on-off-server.cpp + ${APP_CLUSTERS}/ota-provider/ota-provider.cpp + ${APP_CLUSTERS}/scenes/scenes.cpp + ${APP_CLUSTERS}/target-navigator-server/target-navigator-server.cpp + ${APP_CLUSTERS}/tv-channel-server/tv-channel-server.cpp + ${APP_CLUSTERS}/operational-credentials-server/operational-credentials-server.cpp + ${APP_CLUSTERS}/test-cluster-server/test-cluster-server.cpp + ${APP_CLUSTERS}/occupancy-sensor-server/occupancy-sensor-server.cpp + ${APP_CLUSTERS}/diagnostic-logs-server/diagnostic-logs-server.cpp + ${APP_CLUSTERS}/ethernet_network_diagnostics_server/ethernet_network_diagnostics_server.cpp + ${APP_CLUSTERS}/software_diagnostics_server/software_diagnostics_server.cpp + ${APP_CLUSTERS}/thread_network_diagnostics_server/thread_network_diagnostics_server.cpp + ${APP_CLUSTERS}/wifi_network_diagnostics_server/wifi_network_diagnostics_server.cpp + ${APP_CLUSTERS}/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp + ${APP_CLUSTERS}/administrator-commissioning-server/administrator-commissioning-server.cpp + ${APP_CLUSTERS}/identify-server/identify-server.cpp + ${APP_CLUSTERS}/window-covering-server/window-covering-server.cpp + ${APP_CLUSTERS}/general_diagnostics_server/general_diagnostics_server.cpp +) + +target_link_libraries(${APP_TARGET} mbed-os-posix-socket mbed-os mbed-ble mbed-events mbed-netsocket mbed-storage mbed-storage-kv-global-api mbed-mbedtls mbed-emac chip) + +if(MBED_TARGET STREQUAL "CY8CPROTO_062_4343W") + target_link_libraries(${APP_TARGET} mbed-cy-psoc6-common-network) +endif() + +mbed_set_post_build(${APP_TARGET}) + +option(VERBOSE_BUILD "Have a verbose build process") +if(VERBOSE_BUILD) + set(CMAKE_VERBOSE_MAKEFILE ON) +endif() diff --git a/examples/all-clusters-app/mbed/config.in b/examples/all-clusters-app/mbed/config.in new file mode 100644 index 00000000000000..2542a38c16f4c3 --- /dev/null +++ b/examples/all-clusters-app/mbed/config.in @@ -0,0 +1,5 @@ +CONFIG_CHIP_BUILD_TESTS=n +CONFIG_CHIP_WITH_EXTERNAL_MBEDTLS=y +CONFIG_CHIP_PROJECT_CONFIG=main/include/CHIPProjectConfig.h +CONFIG_CHIP_BYPASS_RENDEZVOUS=n +CONFIG_MBED_BSD_SOCKET_TRACE=n \ No newline at end of file diff --git a/examples/all-clusters-app/mbed/main/AppTask.cpp b/examples/all-clusters-app/mbed/main/AppTask.cpp new file mode 100644 index 00000000000000..97946f86ab6326 --- /dev/null +++ b/examples/all-clusters-app/mbed/main/AppTask.cpp @@ -0,0 +1,143 @@ +/* + * + * Copyright (c) 2021 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 "AppTask.h" +#include "LEDWidget.h" +#include + +#include +#include +#include +#include + +#include + +static LEDWidget sStatusLED(MBED_CONF_APP_SYSTEM_STATE_LED); + +static bool sIsWiFiStationProvisioned = false; +static bool sIsWiFiStationEnabled = false; +static bool sIsWiFiStationConnected = false; +static bool sIsPairedToAccount = false; +static bool sHaveBLEConnections = false; + +static events::EventQueue sAppEventQueue; + +using namespace ::chip::DeviceLayer; +using namespace ::chip::Credentials; + +AppTask AppTask::sAppTask; + +int AppTask::Init() +{ + // Register the callback to init the MDNS server when connectivity is available + PlatformMgr().AddEventHandler( + [](const ChipDeviceEvent * event, intptr_t arg) { + // Restart the server whenever an ip address is renewed + if (event->Type == DeviceEventType::kInternetConnectivityChange) + { + if (event->InternetConnectivityChange.IPv4 == kConnectivity_Established || + event->InternetConnectivityChange.IPv6 == kConnectivity_Established) + { + chip::app::DnssdServer::Instance().StartServer(); + } + } + }, + 0); + + // Start BLE advertising if needed + if (!CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART) + { + ChipLogProgress(NotSpecified, "Enabling BLE advertising."); + ConnectivityMgr().SetBLEAdvertisingEnabled(true); + } + + chip::DeviceLayer::ConnectivityMgrImpl().StartWiFiManagement(); + + // Init ZCL Data Model and start server + chip::Server::GetInstance().Init(); + + // Initialize device attestation config + SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider()); + ConfigurationMgr().LogDeviceConfig(); + // QR code will be used with CHIP Tool + PrintOnboardingCodes(chip::RendezvousInformationFlags(chip::RendezvousInformationFlag::kBLE)); + + return 0; +} + +int AppTask::StartApp() +{ + int ret = Init(); + if (ret) + { + ChipLogError(NotSpecified, "AppTask.Init() failed"); + return ret; + } + + ChipLogProgress(NotSpecified, "Mbed all-clusters-app example application run"); + + while (true) + { + sAppEventQueue.dispatch(100); + + // Collect connectivity and configuration state from the CHIP stack. Because the + // CHIP event loop is being run in a separate task, the stack must be locked + // while these values are queried. However we use a non-blocking lock request + // (TryLockChipStack()) to avoid blocking other UI activities when the CHIP + // task is busy (e.g. with a long crypto operation). + + if (PlatformMgr().TryLockChipStack()) + { + sIsWiFiStationProvisioned = ConnectivityMgr().IsWiFiStationProvisioned(); + sIsWiFiStationEnabled = ConnectivityMgr().IsWiFiStationEnabled(); + sIsWiFiStationConnected = ConnectivityMgr().IsWiFiStationConnected(); + sHaveBLEConnections = (ConnectivityMgr().NumBLEConnections() != 0); + PlatformMgr().UnlockChipStack(); + } + + // Update the status LED + // + // If system is connected to Wi-Fi station, keep the LED On constantly. + // + // If Wi-Fi is provisioned, but not connected to Wi-Fi station yet + // THEN blink the LED Off for a short period of time. + // + // If the system has ble connection(s) uptill the stage above, THEN blink the LEDs at an even + // rate of 100ms. + // + // Otherwise, blink the LED ON for a very short time. + if (sIsWiFiStationConnected) + { + sStatusLED.Set(true); + } + else if (sIsWiFiStationProvisioned && sIsWiFiStationEnabled && sIsPairedToAccount && !sIsWiFiStationConnected) + { + sStatusLED.Blink(950, 50); + } + else if (sHaveBLEConnections) + { + sStatusLED.Blink(100, 100); + } + else + { + sStatusLED.Blink(50, 950); + } + + sStatusLED.Animate(); + } +} diff --git a/src/app/clusters/power-source-server/power-source-server.h b/examples/all-clusters-app/mbed/main/LowPowerManager.cpp similarity index 83% rename from src/app/clusters/power-source-server/power-source-server.h rename to examples/all-clusters-app/mbed/main/LowPowerManager.cpp index b1c3ff853259a8..fc1a1f2b4dc950 100644 --- a/src/app/clusters/power-source-server/power-source-server.h +++ b/examples/all-clusters-app/mbed/main/LowPowerManager.cpp @@ -1,6 +1,7 @@ /* * - * Copyright (c) 2020 Project CHIP Authors + * Copyright (c) 2021 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. @@ -15,4 +16,7 @@ * limitations under the License. */ -#pragma once +bool lowPowerClusterSleep() +{ + return true; +} diff --git a/examples/all-clusters-app/mbed/main/include/AppTask.h b/examples/all-clusters-app/mbed/main/include/AppTask.h new file mode 100644 index 00000000000000..a1ee9761ae6a2a --- /dev/null +++ b/examples/all-clusters-app/mbed/main/include/AppTask.h @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2020 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. + */ + +#pragma once + +class AppTask +{ +public: + int StartApp(); + +private: + friend AppTask & GetAppTask(void); + + int Init(); + + static AppTask sAppTask; +}; + +inline AppTask & GetAppTask(void) +{ + return AppTask::sAppTask; +} diff --git a/examples/all-clusters-app/mbed/main/include/CHIPProjectConfig.h b/examples/all-clusters-app/mbed/main/include/CHIPProjectConfig.h new file mode 100644 index 00000000000000..896d53ec97a572 --- /dev/null +++ b/examples/all-clusters-app/mbed/main/include/CHIPProjectConfig.h @@ -0,0 +1,35 @@ +/* + * + * Copyright (c) 2020-2021 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. + */ + +/** + * @file + * Example project configuration file for CHIP. + * + * This is a place to put application or project-specific overrides + * to the default configuration values for general CHIP features. + * + */ + +#pragma once + +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 1 +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 1 + +// Use a default pairing code if one hasn't been provisioned in flash. +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021 +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00 diff --git a/examples/all-clusters-app/mbed/main/main.cpp b/examples/all-clusters-app/mbed/main/main.cpp new file mode 100644 index 00000000000000..f92a5faf85c5f0 --- /dev/null +++ b/examples/all-clusters-app/mbed/main/main.cpp @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2021 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 "AppTask.h" + +#include "mbedtls/platform.h" +#include +#include +#include +#include + +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::DeviceLayer; +using namespace ::chip::Logging::Platform; + +int main(int argc, char * argv[]) +{ + int ret = 0; + CHIP_ERROR err = CHIP_NO_ERROR; + + mbed_logging_init(); + + ChipLogProgress(NotSpecified, "Mbed all-clusters-app example application start"); + + ret = mbedtls_platform_setup(NULL); + if (ret) + { + ChipLogError(NotSpecified, "Mbed TLS platform initialization failed [%d]", ret); + goto exit; + } + + err = chip::Platform::MemoryInit(); + if (err != CHIP_NO_ERROR) + { + ChipLogError(NotSpecified, "Memory initalization failed: %s", err.AsString()); + ret = EXIT_FAILURE; + goto exit; + } + + err = PlatformMgr().InitChipStack(); + if (err != CHIP_NO_ERROR) + { + ChipLogError(NotSpecified, "Chip stack initalization failed: %s", err.AsString()); + ret = EXIT_FAILURE; + goto exit; + } + +#ifdef MBED_CONF_APP_BLE_DEVICE_NAME + err = ConnectivityMgr().SetBLEDeviceName(MBED_CONF_APP_BLE_DEVICE_NAME); + if (err != CHIP_NO_ERROR) + { + ChipLogError(NotSpecified, "Set BLE device name failed: %s", err.AsString()); + ret = EXIT_FAILURE; + goto exit; + } +#endif + + err = PlatformMgr().StartEventLoopTask(); + if (err != CHIP_NO_ERROR) + { + ChipLogError(NotSpecified, "Chip stack start failed: %s", err.AsString()); + ret = EXIT_FAILURE; + goto exit; + } + + ret = GetAppTask().StartApp(); + +exit: + ChipLogProgress(NotSpecified, "Exited with code %d", ret); + return ret; +} diff --git a/examples/all-clusters-app/mbed/mbed_app.json b/examples/all-clusters-app/mbed/mbed_app.json new file mode 100644 index 00000000000000..6271cbc091cf58 --- /dev/null +++ b/examples/all-clusters-app/mbed/mbed_app.json @@ -0,0 +1,43 @@ +{ + "macros": ["MBEDTLS_USER_CONFIG_FILE=\"chip_mbedtls_config.h\""], + "target_overrides": { + "*": { + "platform.stdio-baud-rate": 115200, + "lwip.ipv6-enabled": true, + "lwip.raw-socket-enabled": true, + "nsapi.default-wifi-security": "WPA_WPA2", + "nsapi.default-wifi-ssid": "\"YOUR_SSID\"", + "nsapi.default-wifi-password": "\"YOUR_PASSWORD\"", + "mbed-trace.max-level": "TRACE_LEVEL_DEBUG", + "mbed-trace.enable": true, + "target.printf_lib": "std" + }, + "CY8CPROTO_062_4343W": { + "target.network-default-interface-type": "WIFI", + "target.macros_add": [ + "MXCRYPTO_DISABLED", + "NL_ASSERT_LOG=NL_ASSERT_LOG_DEFAULT", + "NL_ASSERT_EXPECT_FLAGS=NL_ASSERT_FLAG_LOG", + "WHD_PRINT_DISABLE" + ] + } + }, + "config": { + "led-active-state": { + "help": "GPIO output to turn the LED on.", + "value": 0 + }, + "system-state-led": { + "help": "System status LED.", + "value": "LED1" + }, + "ble-device-name": { + "help": "Name used for BLE advertising.", + "value": "\"MBED-clusters\"" + }, + "use-gatt-indication-ack-hack": { + "help": "Fake a TX transfer confirmation. Send a 'kCHIPoBLEIndicateConfirm' event as soon as data is sent, without waiting for the actual ACK from the GATT client. This hack has to stay until we provide a fix in the Mbed OS repo.", + "value": 1 + } + } +} diff --git a/examples/bridge-app/bridge-common/bridge-app.zap b/examples/bridge-app/bridge-common/bridge-app.zap index 671d2b692abd56..582e06a5bf0db4 100644 --- a/examples/bridge-app/bridge-common/bridge-app.zap +++ b/examples/bridge-app/bridge-common/bridge-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 62, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -77,7 +77,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -92,7 +92,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -107,7 +107,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -122,7 +122,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -3240,7 +3240,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/chip-tool/commands/clusters/ModelCommand.h b/examples/chip-tool/commands/clusters/ModelCommand.h index 5b7dc2349f1305..c70d35477f80c4 100644 --- a/examples/chip-tool/commands/clusters/ModelCommand.h +++ b/examples/chip-tool/commands/clusters/ModelCommand.h @@ -46,7 +46,7 @@ class ModelCommand : public CHIPCommand /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 10; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(10); } virtual CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endPointId) = 0; diff --git a/examples/chip-tool/commands/common/CHIPCommand.cpp b/examples/chip-tool/commands/common/CHIPCommand.cpp index 37c3b907ef7df6..2f2a7449bccc75 100644 --- a/examples/chip-tool/commands/common/CHIPCommand.cpp +++ b/examples/chip-tool/commands/common/CHIPCommand.cpp @@ -77,7 +77,7 @@ CHIP_ERROR CHIPCommand::Run() ReturnLogErrorOnFailure(DeviceControllerFactory::GetInstance().SetupCommissioner(commissionerParams, mController)); chip::DeviceLayer::PlatformMgr().ScheduleWork(RunQueuedCommand, reinterpret_cast(this)); - ReturnLogErrorOnFailure(StartWaiting(GetWaitDurationInSeconds())); + ReturnLogErrorOnFailure(StartWaiting(GetWaitDuration())); Shutdown(); @@ -108,12 +108,12 @@ static void OnResponseTimeout(chip::System::Layer *, void * appState) } #endif // !CONFIG_USE_SEPARATE_EVENTLOOP -CHIP_ERROR CHIPCommand::StartWaiting(uint16_t seconds) +CHIP_ERROR CHIPCommand::StartWaiting(chip::System::Clock::Timeout duration) { #if CONFIG_USE_SEPARATE_EVENTLOOP // ServiceEvents() calls StartEventLoopTask(), which is paired with the StopEventLoopTask() below. ReturnLogErrorOnFailure(DeviceControllerFactory::GetInstance().ServiceEvents()); - auto waitingUntil = std::chrono::system_clock::now() + std::chrono::seconds(seconds); + auto waitingUntil = std::chrono::system_clock::now() + std::chrono::duration_cast(duration); { std::unique_lock lk(cvWaitingForResponseMutex); if (!cvWaitingForResponse.wait_until(lk, waitingUntil, [this]() { return !this->mWaitingForResponse; })) @@ -123,8 +123,7 @@ CHIP_ERROR CHIPCommand::StartWaiting(uint16_t seconds) } LogErrorOnFailure(chip::DeviceLayer::PlatformMgr().StopEventLoopTask()); #else - ReturnLogErrorOnFailure( - chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds32(seconds), OnResponseTimeout, this)); + ReturnLogErrorOnFailure(chip::DeviceLayer::SystemLayer().StartTimer(duration, OnResponseTimeout, this)); chip::DeviceLayer::PlatformMgr().RunEventLoop(); #endif // CONFIG_USE_SEPARATE_EVENTLOOP diff --git a/examples/chip-tool/commands/common/CHIPCommand.h b/examples/chip-tool/commands/common/CHIPCommand.h index 8680acb48c5375..eca1a8466e9220 100644 --- a/examples/chip-tool/commands/common/CHIPCommand.h +++ b/examples/chip-tool/commands/common/CHIPCommand.h @@ -57,7 +57,7 @@ class CHIPCommand : public Command virtual CHIP_ERROR RunCommand() = 0; // Get the wait duration, in seconds, before the command times out. - virtual uint16_t GetWaitDurationInSeconds() const = 0; + virtual chip::System::Clock::Timeout GetWaitDuration() const = 0; // Shut down the command, in case any work needs to be done after the event // loop has been stopped. @@ -72,7 +72,7 @@ class CHIPCommand : public Command CHIP_ERROR mCommandExitStatus = CHIP_ERROR_INTERNAL; chip::Controller::ExampleOperationalCredentialsIssuer mOpCredsIssuer; - CHIP_ERROR StartWaiting(uint16_t seconds); + CHIP_ERROR StartWaiting(chip::System::Clock::Timeout seconds); void StopWaiting(); #if CONFIG_USE_SEPARATE_EVENTLOOP diff --git a/examples/chip-tool/commands/discover/DiscoverCommand.h b/examples/chip-tool/commands/discover/DiscoverCommand.h index 778e7ed9afbabf..6e651a5fc94c8a 100644 --- a/examples/chip-tool/commands/discover/DiscoverCommand.h +++ b/examples/chip-tool/commands/discover/DiscoverCommand.h @@ -36,7 +36,7 @@ class DiscoverCommand : public CHIPCommand, public chip::Controller::DeviceAddre /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 30; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(30); } virtual CHIP_ERROR RunCommand(NodeId remoteId, uint64_t fabricId) = 0; diff --git a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h index 1a12e944c703a1..af4f61c21ccfc8 100644 --- a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h +++ b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h @@ -30,5 +30,5 @@ class DiscoverCommissionablesCommand : public CHIPCommand, public chip::Controll /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 30; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(30); } }; diff --git a/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.cpp b/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.cpp index 40b2d2ebad8f56..23e9b474a91dd5 100644 --- a/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.cpp +++ b/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.cpp @@ -41,5 +41,5 @@ void DiscoverCommissionersCommand::Shutdown() } ChipLogProgress(chipTool, "Total of %d commissioner(s) discovered in %" PRIu16 " sec", commissionerCount, - GetWaitDurationInSeconds()); + std::chrono::duration_cast(GetWaitDuration()).count()); } diff --git a/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.h b/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.h index 225fdeac5bb5ac..118ef7ac3a95fa 100644 --- a/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.h +++ b/examples/chip-tool/commands/discover/DiscoverCommissionersCommand.h @@ -28,7 +28,7 @@ class DiscoverCommissionersCommand : public CHIPCommand /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 3; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(3); } void Shutdown() override; private: diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h index 6dcfbdb1cfd98a..38eda6840f653e 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.h +++ b/examples/chip-tool/commands/pairing/PairingCommand.h @@ -149,7 +149,7 @@ class PairingCommand : public CHIPCommand, /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 120; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(120); } void Shutdown() override; /////////// DevicePairingDelegate Interface ///////// diff --git a/examples/chip-tool/commands/reporting/ReportingCommand.h b/examples/chip-tool/commands/reporting/ReportingCommand.h index 763a2054723deb..aba585685f81af 100644 --- a/examples/chip-tool/commands/reporting/ReportingCommand.h +++ b/examples/chip-tool/commands/reporting/ReportingCommand.h @@ -40,7 +40,7 @@ class ReportingCommand : public CHIPCommand /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return UINT16_MAX; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(UINT16_MAX); } virtual void AddReportCallbacks(NodeId remoteId, uint8_t endPointId) = 0; diff --git a/examples/chip-tool/commands/tests/TestCommand.cpp b/examples/chip-tool/commands/tests/TestCommand.cpp index c5d7b912b0c4b3..e8d19276ee61d9 100644 --- a/examples/chip-tool/commands/tests/TestCommand.cpp +++ b/examples/chip-tool/commands/tests/TestCommand.cpp @@ -47,9 +47,9 @@ void TestCommand::OnWaitForMsFn(chip::System::Layer * systemLayer, void * contex command->NextTest(); } -CHIP_ERROR TestCommand::WaitForMs(uint32_t ms) +CHIP_ERROR TestCommand::Wait(chip::System::Clock::Timeout duration) { - return chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(ms), OnWaitForMsFn, this); + return chip::DeviceLayer::SystemLayer().StartTimer(duration, OnWaitForMsFn, this); } CHIP_ERROR TestCommand::Log(const char * message) diff --git a/examples/chip-tool/commands/tests/TestCommand.h b/examples/chip-tool/commands/tests/TestCommand.h index bb5d2b82cb7632..ebc5194a9001a1 100644 --- a/examples/chip-tool/commands/tests/TestCommand.h +++ b/examples/chip-tool/commands/tests/TestCommand.h @@ -22,7 +22,9 @@ #include #include #include +#include #include +#include #include class TestCommand : public CHIPCommand @@ -38,12 +40,13 @@ class TestCommand : public CHIPCommand /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - uint16_t GetWaitDurationInSeconds() const override { return 30; } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(30); } virtual void NextTest() = 0; /////////// GlobalCommands Interface ///////// - CHIP_ERROR WaitForMs(uint32_t ms); + CHIP_ERROR Wait(chip::System::Clock::Timeout ms); + CHIP_ERROR WaitForMs(uint16_t ms) { return Wait(chip::System::Clock::Milliseconds32(ms)); } CHIP_ERROR Log(const char * message); protected: @@ -95,8 +98,11 @@ class TestCommand : public CHIPCommand return true; } - template - bool CheckValue(const char * itemName, T current, T expected) + + // Allow a different expected type from the actual value type, because if T + // is short the literal we are using is not short-typed. + template ::value, int> = 0> + bool CheckValue(const char * itemName, T current, U expected) { if (current != expected) { @@ -106,6 +112,13 @@ class TestCommand : public CHIPCommand return true; } + + template ::value, int> = 0> + bool CheckValue(const char * itemName, T current, U expected) + { + return CheckValue(itemName, to_underlying(current), expected); + } + bool CheckValueAsList(const char * itemName, uint64_t current, uint64_t expected); template @@ -161,6 +174,8 @@ class TestCommand : public CHIPCommand template bool CheckValueAsListLength(const char * itemName, chip::app::DataModel::DecodableList list, uint64_t expectedLength) { + // We don't just use list.ComputeSize(), because we want to check that + // all the values in the list correctly decode to our type too. auto iter = list.begin(); uint64_t count = 0; while (iter.Next()) diff --git a/examples/chip-tool/templates/commands.zapt b/examples/chip-tool/templates/commands.zapt index 635b955879b0c5..65d66564f6ec0a 100644 --- a/examples/chip-tool/templates/commands.zapt +++ b/examples/chip-tool/templates/commands.zapt @@ -134,21 +134,17 @@ static void OnCharStringAttributeResponse(void * context, const chip::CharSpan v {{#chip_client_clusters}} {{#chip_server_cluster_attributes}} {{#if isList}} -static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeResponse(void * context, const chip::app::DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & list) +static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeResponse(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} list) { ModelCommand * command = static_cast(context); size_t count = 0; - { - auto iter = list.begin(); - while (iter.Next()) { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -180,8 +176,7 @@ static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttri {{/if}} {{/if}} } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } {{/if}} @@ -254,8 +249,7 @@ public: {{#chip_cluster_command_non_expanded_arguments}} {{#if isArray}} {{! TODO Implement complex types parsing in order to properly set the request parameters }} - {{zapTypeToEncodableClusterObjectType type ns=parent.parent.name}} {{asLowerCamelCase label}}; - mRequest.{{asLowerCamelCase label}} = chip::Span<{{zapTypeToEncodableClusterObjectType type ns=parent.parent.name}}>(&{{asLowerCamelCase label}}, 1); + mRequest.{{asLowerCamelCase label}} = {{zapTypeToEncodableClusterObjectType type ns=parent.parent.name}}(); {{/if}} {{/chip_cluster_command_non_expanded_arguments}} @@ -340,7 +334,7 @@ public: private: chip::Callback::Callback * onSuccessCallback = new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - {{#if (isCharString type)}}chip::ByteSpan{{else}}{{chipType}}{{/if}} mValue; + {{chipType}} mValue; }; {{/if}} diff --git a/examples/chip-tool/templates/partials/test_cluster.zapt b/examples/chip-tool/templates/partials/test_cluster.zapt index ae5aa12d7c12fc..80f0ed1a2084cf 100644 --- a/examples/chip-tool/templates/partials/test_cluster.zapt +++ b/examples/chip-tool/templates/partials/test_cluster.zapt @@ -53,7 +53,7 @@ class {{filename}}: public TestCommand {{#*inline "successCallback"}}mOnSuccessCallback_{{index}}{{/inline}} {{#*inline "failureResponse"}}OnFailureCallback_{{index}}{{/inline}} {{#*inline "successResponse"}}OnSuccessCallback_{{index}}{{/inline}} - {{#*inline "successArguments"}}void * context{{#chip_tests_item_response_parameters}}, {{#if isList}}const chip::app::DataModel::DecodableList<{{/if}}{{zapTypeToDecodableClusterObjectType type ns=parent.cluster}}{{#if isList}}> &{{/if}} {{asLowerCamelCase name}}{{/chip_tests_item_response_parameters}}{{/inline}} + {{#*inline "successArguments"}}void * context{{#chip_tests_item_response_parameters}}, {{zapTypeToDecodableClusterObjectType type ns=parent.cluster isArgument=true}} {{asLowerCamelCase name}}{{/chip_tests_item_response_parameters}}{{/inline}} {{#*inline "failureArguments"}}void * context, uint8_t status{{/inline}} {{#chip_tests_items}} @@ -102,7 +102,7 @@ class {{filename}}: public TestCommand {{#*inline "failureResponse"}}OnFailureResponse_{{index}}{{/inline}} {{#*inline "successResponse"}}OnSuccessResponse_{{index}}{{/inline}} {{#*inline "failureArguments"}}uint8_t status{{/inline}} - {{#*inline "successArguments"}}{{#chip_tests_item_response_parameters}}{{#not_first}}, {{/not_first}}{{#if isList}}const chip::app::DataModel::DecodableList<{{/if}}{{#if isArray}}const chip::app::DataModel::DecodableList<{{/if}}{{zapTypeToDecodableClusterObjectType type ns=parent.cluster}}{{#if isList}}>& {{/if}}{{#if isArray}}>& {{/if}} {{asLowerCamelCase name}}{{/chip_tests_item_response_parameters}}{{/inline}} + {{#*inline "successArguments"}}{{#chip_tests_item_response_parameters}}{{#not_first}}, {{/not_first}}{{zapTypeToDecodableClusterObjectType type ns=parent.cluster isArgument=true}} {{asLowerCamelCase name}}{{/chip_tests_item_response_parameters}}{{/inline}} CHIP_ERROR {{>testCommand}}() { @@ -128,7 +128,18 @@ class {{filename}}: public TestCommand {{#if async}}ReturnErrorOnFailure({{else}}return {{/if}}cluster.InvokeCommand(request, this, success, failure){{#if async}}){{/if}}; {{else}} {{#chip_tests_item_parameters}} - {{chipType}} {{asLowerCamelCase name}}Argument = {{#if (isString type)}}chip::ByteSpan(chip::Uint8::from_const_char("{{definedValue}}"), strlen("{{definedValue}}")){{else}}{{definedValue}}{{asTypeLiteralSuffix type}}{{/if}}; + {{chipType}} {{asLowerCamelCase name}}Argument = + {{#if (isOctetString type)}} + chip::ByteSpan(chip::Uint8::from_const_char("{{definedValue}}"), strlen("{{definedValue}}")) + {{else if (isCharString type)}} + chip::CharSpan("{{definedValue}}", strlen("{{definedValue}}")) + {{else}} + {{#if_chip_enum type}} + static_cast<{{chipType}}>({{definedValue}}{{asTypeLiteralSuffix type}}) + {{else}} + {{definedValue}}{{asTypeLiteralSuffix type}} + {{/if_chip_enum}} + {{/if}}; {{/chip_tests_item_parameters}} {{~#*inline "commandName"}}{{asUpperCamelCase commandName}}{{#if isAttribute}}Attribute{{asUpperCamelCase attribute}}{{/if}}{{/inline}} diff --git a/examples/chip-tool/templates/partials/test_cluster_command_value.zapt b/examples/chip-tool/templates/partials/test_cluster_command_value.zapt index fc15e210e0cb50..f9808323bf1cbf 100644 --- a/examples/chip-tool/templates/partials/test_cluster_command_value.zapt +++ b/examples/chip-tool/templates/partials/test_cluster_command_value.zapt @@ -1,6 +1,7 @@ {{#if isArray}} - {{zapTypeToEncodableClusterObjectType type ns=ns}} {{asLowerCamelCase label}}List[{{definedValue.length}}]; + {{! forceNotList=true because we really want the type of a single item here }} + {{zapTypeToEncodableClusterObjectType type ns=ns forceNotList=true}} {{asLowerCamelCase label}}List[{{definedValue.length}}]; {{#each definedValue}} {{>commandValue ns=../ns container=(concat (asLowerCamelCase ../label) "List[" @index "]") definedValue=. type=../type ignore=true}} {{/each}} @@ -19,7 +20,7 @@ {{else}} {{container}}{{#unless ignore}}.{{asLowerCamelCase label}}{{/unless}} = - {{#if_is_enum type}} + {{#if_chip_enum type}} static_cast<{{zapTypeToEncodableClusterObjectType type ns=ns}}>({{definedValue}}); {{else if (isCharString type)}} chip::Span("{{definedValue}}", strlen("{{definedValue}}")); @@ -31,6 +32,6 @@ {{else}} {{definedValue}}{{asTypeLiteralSuffix type}}; {{/if_is_bitmap}} - {{/if_is_enum}} + {{/if_chip_enum}} {{/if_is_struct}} {{/if}} diff --git a/examples/chip-tool/templates/tests.js b/examples/chip-tool/templates/tests.js index c71a538b4560ab..dc8a2dd28a8f49 100644 --- a/examples/chip-tool/templates/tests.js +++ b/examples/chip-tool/templates/tests.js @@ -23,6 +23,7 @@ function getTests() const ColorControl = [ 'Test_TC_CC_1_1', + 'Test_TC_CC_2_1', 'Test_TC_CC_3_1', 'Test_TC_CC_3_2', 'Test_TC_CC_3_3', @@ -130,6 +131,7 @@ function getTests() 'TestDelayCommands', 'TestLogCommands', 'TestDescriptorCluster', + 'TestBasicInformation', 'TestOperationalCredentialsCluster', ]; diff --git a/examples/common/pigweed/BUILD.gn b/examples/common/pigweed/BUILD.gn index 879bd38ce4eba7..7555da42ac8344 100644 --- a/examples/common/pigweed/BUILD.gn +++ b/examples/common/pigweed/BUILD.gn @@ -28,6 +28,14 @@ if (chip_enable_pw_rpc) { import("//build_overrides/pigweed.gni") import("$dir_pw_protobuf_compiler/proto.gni") + pw_proto_library("echo_service") { + sources = [ "$dir_pw_rpc/echo.proto" ] + inputs = [ "$dir_pw_rpc/echo.options" ] + deps = [ "$dir_pw_protobuf:common_protos" ] + strip_prefix = "$dir_pw_rpc" + prefix = "echo_service" + } + pw_proto_library("device_service") { sources = [ "protos/device_service.proto" ] inputs = [ "protos/device_service.options" ] diff --git a/examples/common/pigweed/mbed/PigweedLoggerMutex.cpp b/examples/common/pigweed/mbed/PigweedLoggerMutex.cpp new file mode 100644 index 00000000000000..5061d53e768a6d --- /dev/null +++ b/examples/common/pigweed/mbed/PigweedLoggerMutex.cpp @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2021 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 "PigweedLoggerMutex.h" + +namespace chip { +namespace rpc { + +PigweedLoggerMutex logger_mutex; + +} // namespace rpc +} // namespace chip diff --git a/examples/common/pigweed/mbed/PigweedLoggerMutex.h b/examples/common/pigweed/mbed/PigweedLoggerMutex.h new file mode 100644 index 00000000000000..25f687baab96d8 --- /dev/null +++ b/examples/common/pigweed/mbed/PigweedLoggerMutex.h @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2021 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. + */ + +#pragma once + +#include "PigweedLogger.h" +#include "pigweed/RpcService.h" +#include "rtos/Mutex.h" + +namespace chip { +namespace rpc { +class PigweedLoggerMutex : public chip::rpc::Mutex +{ + +public: + void Lock() override + { + rtos::Mutex * mutex = PigweedLogger::GetSemaphore(); + if (mutex) + { + mutex->lock(); + } + } + void Unlock() override + { + rtos::Mutex * mutex = PigweedLogger::GetSemaphore(); + if (mutex) + { + mutex->unlock(); + } + } +}; + +extern PigweedLoggerMutex logger_mutex; + +} // namespace rpc +} // namespace chip diff --git a/examples/common/pigweed/rpc_console/py/BUILD.gn b/examples/common/pigweed/rpc_console/py/BUILD.gn index ab56d4098961a9..5ff9c5e13110d8 100644 --- a/examples/common/pigweed/rpc_console/py/BUILD.gn +++ b/examples/common/pigweed/rpc_console/py/BUILD.gn @@ -38,6 +38,7 @@ pw_python_package("chip_rpc") { "$dir_pw_rpc/py", "${chip_root}/examples/common/pigweed:button_service.python", "${chip_root}/examples/common/pigweed:device_service.python", + "${chip_root}/examples/common/pigweed:echo_service.python", "${chip_root}/examples/common/pigweed:lighting_service.python", "${chip_root}/examples/common/pigweed:locking_service.python", "${chip_root}/examples/ipv6only-app/common:wifi_service.python", diff --git a/examples/common/pigweed/rpc_console/py/chip_rpc/console.py b/examples/common/pigweed/rpc_console/py/chip_rpc/console.py index fcf698f831848e..06d2390b3247e8 100644 --- a/examples/common/pigweed/rpc_console/py/chip_rpc/console.py +++ b/examples/common/pigweed/rpc_console/py/chip_rpc/console.py @@ -56,6 +56,7 @@ from lighting_service import lighting_service_pb2 from locking_service import locking_service_pb2 from wifi_service import wifi_service_pb2 +from echo_service import echo_pb2 _LOG = logging.getLogger(__name__) _DEVICE_LOG = logging.getLogger('rpc_device') @@ -68,7 +69,8 @@ lighting_service_pb2, locking_service_pb2, wifi_service_pb2, - device_service_pb2] + device_service_pb2, + echo_pb2] def _parse_args(): diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap index a26a57b277fd07..80fcb669e5c53d 100644 --- a/examples/lighting-app/lighting-common/lighting-app.zap +++ b/examples/lighting-app/lighting-common/lighting-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 62, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -858,7 +858,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -873,7 +873,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -888,7 +888,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -903,7 +903,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -4212,7 +4212,7 @@ "singleton": 0, "bounded": 0, "defaultValue": "0x00", - "reportable": 0, + "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 @@ -4277,6 +4277,21 @@ "maxInterval": 65344, "reportableChange": 0 }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, @@ -4286,7 +4301,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/lock-app/lock-common/lock-app.zap b/examples/lock-app/lock-common/lock-app.zap index 8a9d02300599fa..ea516d87a816f1 100644 --- a/examples/lock-app/lock-common/lock-app.zap +++ b/examples/lock-app/lock-common/lock-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 55, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -871,7 +871,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -886,7 +886,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -901,7 +901,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -916,7 +916,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -4297,6 +4297,81 @@ "maxInterval": 65344, "reportableChange": 0 }, + { + "name": "GlobalSceneControl", + "code": 16384, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OnTime", + "code": 16385, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OffWaitTime", + "code": 16386, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "StartUpOnOff", + "code": 16387, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, @@ -4306,7 +4381,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/ota-provider-app/linux/main.cpp b/examples/ota-provider-app/linux/main.cpp index d125e4312452e8..f4cf840025523e 100644 --- a/examples/ota-provider-app/linux/main.cpp +++ b/examples/ota-provider-app/linux/main.cpp @@ -54,9 +54,9 @@ constexpr uint16_t kOptionQueryImageBehavior = 'q'; constexpr uint16_t kOptionDelayedActionTimeSec = 'd'; // Arbitrary BDX Transfer Params -constexpr uint32_t kMaxBdxBlockSize = 1024; -constexpr uint32_t kBdxTimeoutMs = 5 * 60 * 1000; // OTA Spec mandates >= 5 minutes -constexpr uint32_t kBdxPollFreqMs = 500; +constexpr uint32_t kMaxBdxBlockSize = 1024; +constexpr chip::System::Clock::Timeout kBdxTimeout = chip::System::Clock::Seconds16(5 * 60); // OTA Spec mandates >= 5 minutes +constexpr chip::System::Clock::Timeout kBdxPollFreq = chip::System::Clock::Milliseconds32(500); // Global variables used for passing the CLI arguments to the OTAProviderExample object OTAProviderExample::queryImageBehaviorType gQueryImageBehavior = OTAProviderExample::kRespondWithUpdateAvailable; @@ -188,7 +188,7 @@ int main(int argc, char * argv[]) BitFlags bdxFlags; bdxFlags.Set(TransferControlFlags::kReceiverDrive); err = bdxServer.PrepareForTransfer(&chip::DeviceLayer::SystemLayer(), chip::bdx::TransferRole::kSender, bdxFlags, - kMaxBdxBlockSize, kBdxTimeoutMs, kBdxPollFreqMs); + kMaxBdxBlockSize, kBdxTimeout, kBdxPollFreq); if (err != CHIP_NO_ERROR) { ChipLogError(BDX, "failed to init BDX server: %s", chip::ErrorStr(err)); diff --git a/examples/ota-requestor-app/linux/main.cpp b/examples/ota-requestor-app/linux/main.cpp index 0fc5c85e770cfc..8fca12c217e3f5 100644 --- a/examples/ota-requestor-app/linux/main.cpp +++ b/examples/ota-requestor-app/linux/main.cpp @@ -99,7 +99,8 @@ void OnQueryImageResponse(void * context, uint8_t status, uint32_t delayedAction bdxDownloader.SetInitialExchange(exchangeCtx); // This will kick of a timer which will regularly check for updates to the bdx::TransferSession state machine. - bdxDownloader.InitiateTransfer(&chip::DeviceLayer::SystemLayer(), chip::bdx::TransferRole::kReceiver, initOptions, 20000); + bdxDownloader.InitiateTransfer(&chip::DeviceLayer::SystemLayer(), chip::bdx::TransferRole::kReceiver, initOptions, + chip::System::Clock::Seconds16(20)); } void OnQueryFailure(void * context, uint8_t status) @@ -125,8 +126,8 @@ void OnConnection(void * context, Device * device) constexpr uint16_t kExampleSoftwareVersion = 0; constexpr uint8_t kExampleProtocolsSupported = EMBER_ZCL_OTA_DOWNLOAD_PROTOCOL_BDX_SYNCHRONOUS; // TODO: support this as a list once ember adds list support - const uint8_t locationBuf[] = { 'U', 'S' }; - ByteSpan exampleLocation(locationBuf); + const char locationBuf[] = { 'U', 'S' }; + CharSpan exampleLocation(locationBuf); constexpr bool kExampleClientCanConsent = false; ByteSpan metadata; diff --git a/examples/pigweed-app/mbed/.gitignore b/examples/pigweed-app/mbed/.gitignore new file mode 100644 index 00000000000000..58f6e14fd6f5b2 --- /dev/null +++ b/examples/pigweed-app/mbed/.gitignore @@ -0,0 +1,2 @@ +config/ +build-*/ diff --git a/examples/pigweed-app/mbed/CMakeLists.txt b/examples/pigweed-app/mbed/CMakeLists.txt new file mode 100644 index 00000000000000..7f53397dfdedb8 --- /dev/null +++ b/examples/pigweed-app/mbed/CMakeLists.txt @@ -0,0 +1,56 @@ +# Copyright (c) 2021 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.19.0) + +get_filename_component(CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../.. REALPATH) +get_filename_component(MBED_COMMON ${CHIP_ROOT}/examples/platform/mbed REALPATH) +get_filename_component(APP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/.. REALPATH) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config.in + ${CMAKE_CURRENT_BINARY_DIR}/chip_build/config + @ONLY +) + +set(MBED_PATH $ENV{MBED_OS_PATH} CACHE INTERNAL "") +set(MBED_CONFIG_PATH ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "") +set(APP_TARGET chip-mbed-pigweed-app-example) + +include(${MBED_PATH}/tools/cmake/app.cmake) + +project(${APP_TARGET}) + +add_subdirectory(${MBED_PATH} ./mbed_build) +add_subdirectory($ENV{MBED_OS_POSIX_SOCKET_PATH} ./mbed_os_posix_socket_build) + +add_executable(${APP_TARGET}) + +add_subdirectory(${CHIP_ROOT}/config/mbed ./chip_build) + +mbed_configure_app_target(${APP_TARGET}) + +target_include_directories(${APP_TARGET} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${MBED_COMMON}/util/include + ${CHIP_ROOT}/src/lib/support + ${CMAKE_CURRENT_SOURCE_DIR}/main/include/ +) + +target_sources(${APP_TARGET} PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/main/main.cpp + ${MBED_COMMON}/util/LEDWidget.cpp +) + +target_link_libraries(${APP_TARGET} mbed-os-posix-socket mbed-os mbed-ble mbed-events mbed-netsocket mbed-storage mbed-storage-kv-global-api mbed-mbedtls mbed-emac chip) + +if(MBED_TARGET STREQUAL "CY8CPROTO_062_4343W") + target_link_libraries(${APP_TARGET} mbed-cy-psoc6-common-network) +endif() + +mbed_set_post_build(${APP_TARGET}) + +option(VERBOSE_BUILD "Have a verbose build process") +if(VERBOSE_BUILD) + set(CMAKE_VERBOSE_MAKEFILE ON) +endif() diff --git a/examples/pigweed-app/mbed/config.in b/examples/pigweed-app/mbed/config.in new file mode 100644 index 00000000000000..a13a8e62e17b43 --- /dev/null +++ b/examples/pigweed-app/mbed/config.in @@ -0,0 +1,6 @@ +CONFIG_CHIP_BUILD_TESTS=n +CONFIG_CHIP_WITH_EXTERNAL_MBEDTLS=y +CONFIG_CHIP_PROJECT_CONFIG=main/include/CHIPProjectConfig.h +CONFIG_CHIP_BYPASS_RENDEZVOUS=n +CONFIG_MBED_BSD_SOCKET_TRACE=n +CONFIG_CHIP_PW_RPC=y \ No newline at end of file diff --git a/examples/pigweed-app/mbed/main/include/CHIPProjectConfig.h b/examples/pigweed-app/mbed/main/include/CHIPProjectConfig.h new file mode 100644 index 00000000000000..4326ea54b7d3ee --- /dev/null +++ b/examples/pigweed-app/mbed/main/include/CHIPProjectConfig.h @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2020-2021 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. + */ + +/** + * @file + * Example project configuration file for CHIP. + * + * This is a place to put application or project-specific overrides + * to the default configuration values for general CHIP features. + * + */ + +#pragma once diff --git a/examples/pigweed-app/mbed/main/main.cpp b/examples/pigweed-app/mbed/main/main.cpp new file mode 100644 index 00000000000000..a29b41a26621a5 --- /dev/null +++ b/examples/pigweed-app/mbed/main/main.cpp @@ -0,0 +1,87 @@ +/* + * + * Copyright (c) 2020 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. + */ + +#include "LEDWidget.h" +#include "PigweedLoggerMutex.h" +#include "pigweed/RpcService.h" + +#include "pw_rpc/echo_service_nanopb.h" +#include "pw_rpc/server.h" +#include "pw_sys_io/sys_io.h" +#include "pw_sys_io_mbed/init.h" + +#include +#include + +#include "rtos/Mutex.h" +#include "rtos/Thread.h" + +using namespace ::chip::rpc; +using namespace ::chip::DeviceLayer; +using namespace ::chip::Logging::Platform; + +static LEDWidget sStatusLED(MBED_CONF_APP_SYSTEM_STATE_LED); + +namespace { + +#define RPC_THREAD_NAME "RPC" +#define RPC_STACK_SIZE (4 * 1024) + +rtos::Thread rpcThread{ osPriorityNormal, RPC_STACK_SIZE, /* memory provided */ nullptr, RPC_THREAD_NAME }; + +pw::rpc::EchoService echo_service; + +void RegisterServices(pw::rpc::Server & server) +{ + server.RegisterService(echo_service); +} + +void RunRpcService() +{ + Start(RegisterServices, &logger_mutex); +} + +} // namespace + +int main() +{ + int ret = 0; + + mbed_logging_init(); + + ChipLogProgress(NotSpecified, "Mbed pigweed-app example application start"); + + pw_sys_io_Init(); + + sStatusLED.Set(true); + + auto error = rpcThread.start(RunRpcService); + if (error != osOK) + { + ChipLogError(NotSpecified, "Run RPC thread failed [%d]", (int) error); + ret = EXIT_FAILURE; + goto exit; + } + + ChipLogProgress(NotSpecified, "Mbed pigweed-app example application run"); + + rpcThread.join(); + +exit: + ChipLogProgress(NotSpecified, "Exited with code %d", ret); + return ret; +} diff --git a/examples/pigweed-app/mbed/mbed_app.json b/examples/pigweed-app/mbed/mbed_app.json new file mode 100644 index 00000000000000..595ef4f4dbd222 --- /dev/null +++ b/examples/pigweed-app/mbed/mbed_app.json @@ -0,0 +1,35 @@ +{ + "macros": ["MBEDTLS_USER_CONFIG_FILE=\"chip_mbedtls_config.h\""], + "target_overrides": { + "*": { + "platform.stdio-baud-rate": 115200, + "lwip.ipv6-enabled": true, + "lwip.raw-socket-enabled": true, + "nsapi.default-wifi-security": "WPA_WPA2", + "nsapi.default-wifi-ssid": "\"YOUR_SSID\"", + "nsapi.default-wifi-password": "\"YOUR_PASSWORD\"", + "mbed-trace.max-level": "TRACE_LEVEL_DEBUG", + "mbed-trace.enable": true, + "target.printf_lib": "std" + }, + "CY8CPROTO_062_4343W": { + "target.network-default-interface-type": "WIFI", + "target.macros_add": [ + "MXCRYPTO_DISABLED", + "NL_ASSERT_LOG=NL_ASSERT_LOG_DEFAULT", + "NL_ASSERT_EXPECT_FLAGS=NL_ASSERT_FLAG_LOG", + "WHD_PRINT_DISABLE" + ] + } + }, + "config": { + "led-active-state": { + "help": "GPIO output to turn the LED on.", + "value": 0 + }, + "system-state-led": { + "help": "System status LED.", + "value": "LED1" + } + } +} diff --git a/examples/platform/efr32/project_include/OpenThreadConfig.h b/examples/platform/efr32/project_include/OpenThreadConfig.h index 1569c08558848a..c02e1f8a22a265 100644 --- a/examples/platform/efr32/project_include/OpenThreadConfig.h +++ b/examples/platform/efr32/project_include/OpenThreadConfig.h @@ -44,13 +44,22 @@ #define OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE 512 #endif -#define OPENTHREAD_CONFIG_JOINER_ENABLE 1 #define OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 1 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 #define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 +// disable unused features +#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 +#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 +#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 +#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 +#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 +#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 +#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 +#define OPENTHREAD_CONFIG_TCP_ENABLE 0 + // Use the SiLabs-supplied default platform configuration for remainder // of OpenThread config options. // diff --git a/examples/platform/mbed/pw_sys_io/BUILD.gn b/examples/platform/mbed/pw_sys_io/BUILD.gn new file mode 100644 index 00000000000000..0ec4d99984e856 --- /dev/null +++ b/examples/platform/mbed/pw_sys_io/BUILD.gn @@ -0,0 +1,38 @@ +# Copyright (c) 2020 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. + +import("//build_overrides/pigweed.gni") +import("$dir_pw_build/target_types.gni") + +config("default_config") { + include_dirs = [ "public" ] +} + +pw_source_set("pw_sys_io_mbed") { + sources = [ "sys_io_mbed.cpp" ] + + deps = [ + "$dir_pw_sys_io:default_putget_bytes", + "$dir_pw_sys_io:facade", + ] + + cflags = [ "-Wconversion" ] + + cflags_cc = [ + "-Wno-error=undef", + "-Wno-error=cast-qual", + ] + + public_configs = [ ":default_config" ] +} diff --git a/examples/platform/mbed/pw_sys_io/public/pw_sys_io_mbed/init.h b/examples/platform/mbed/pw_sys_io/public/pw_sys_io_mbed/init.h new file mode 100644 index 00000000000000..9f375ed5fc2312 --- /dev/null +++ b/examples/platform/mbed/pw_sys_io/public/pw_sys_io_mbed/init.h @@ -0,0 +1,27 @@ +/* + * + * Copyright (c) 2020 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. + */ + +#pragma once + +#include "pw_preprocessor/util.h" + +PW_EXTERN_C_START + +// The actual implement of PreMainInit() in sys_io_BACKEND. +void pw_sys_io_Init(); + +PW_EXTERN_C_END diff --git a/examples/platform/mbed/pw_sys_io/sys_io_mbed.cpp b/examples/platform/mbed/pw_sys_io/sys_io_mbed.cpp new file mode 100644 index 00000000000000..eb7ebc9b520e61 --- /dev/null +++ b/examples/platform/mbed/pw_sys_io/sys_io_mbed.cpp @@ -0,0 +1,77 @@ +/* + * + * Copyright (c) 2020 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. + */ + +#include +#include + +#include "pw_sys_io/sys_io.h" + +#include +#include + +using namespace mbed; + +static FileHandle * console_in; +static FileHandle * console_out; + +extern "C" void pw_sys_io_Init() +{ + console_in = mbed_file_handle(STDIN_FILENO); + console_out = mbed_file_handle(STDOUT_FILENO); +} + +namespace pw::sys_io { + +Status ReadByte(std::byte * dest) +{ + if (!dest) + { + return Status::InvalidArgument(); + } + + char c; + auto ret = console_in->read(&c, 1); + *dest = static_cast(c); + + return ret != 1 ? Status::FailedPrecondition() : OkStatus(); +} + +Status WriteByte(std::byte b) +{ + auto ret = console_out->write(reinterpret_cast(&b), 1); + return ret != 1 ? Status::FailedPrecondition() : OkStatus(); +} + +// Writes a string using pw::sys_io, and add newline characters at the end. +StatusWithSize WriteLine(const std::string_view & s) +{ + size_t chars_written = 0; + StatusWithSize result = WriteBytes(std::as_bytes(std::span(s))); + if (!result.ok()) + { + return result; + } + chars_written += result.size(); + + // Write trailing newline. + result = WriteBytes(std::as_bytes(std::span("\r\n", 2))); + chars_written += result.size(); + + return StatusWithSize(result.status(), chars_written); +} + +} // namespace pw::sys_io diff --git a/examples/platform/mbed/util/PigweedLogger.cpp b/examples/platform/mbed/util/PigweedLogger.cpp new file mode 100644 index 00000000000000..32b033be44e6e6 --- /dev/null +++ b/examples/platform/mbed/util/PigweedLogger.cpp @@ -0,0 +1,91 @@ +/* + * + * Copyright (c) 2020 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. + */ + +/* + * @file PigweedLogger.cpp + * + * This file contains a backend of Zephyr logging system, based on Pigweed HDLC + * over UART transport. It allows to send log messages even if the application + * needs to use HDLC/UART for another purpose like the RPC server. + */ + +#include +#include +#include + +#include + +namespace PigweedLogger { +namespace { + +constexpr uint8_t kLogHdlcAddress = 1; // Send log messages to HDLC address 1 (other than RPC communication) +constexpr size_t kWriteBufferSize = 128; // Buffer for constructing HDLC frames + +rtos::Mutex mbed_log_mutex; + +pw::stream::SysIoWriter sWriter; +size_t sWriteBufferPos; +char sWriteBuffer[kWriteBufferSize]; + +void send() +{ + pw::hdlc::WriteUIFrame(kLogHdlcAddress, std::as_bytes(std::span(sWriteBuffer, sWriteBufferPos)), sWriter); + sWriteBufferPos = 0; +} + +} // namespace + +void init() +{ + pw_sys_io_Init(); +} + +int putString(const char * buffer, size_t size) +{ + mbed_log_mutex.lock(); + + assert(sWriteBufferPos < kWriteBufferSize); + + for (size_t i = 0; i < size; ++i) + { + + if (buffer[i] == '\r') + continue; + + if (buffer[i] == '\n') + { + send(); + continue; + } + + sWriteBuffer[sWriteBufferPos++] = buffer[i]; + + if (sWriteBufferPos == kWriteBufferSize) + send(); + } + + mbed_log_mutex.unlock(); + return size; +} + +rtos::Mutex * GetSemaphore() +{ + return &mbed_log_mutex; +} + +} // namespace PigweedLogger diff --git a/src/app/clusters/binary-input-server/binary-input-server.h b/examples/platform/mbed/util/include/PigweedLogger.h similarity index 57% rename from src/app/clusters/binary-input-server/binary-input-server.h rename to examples/platform/mbed/util/include/PigweedLogger.h index df5e4d16b9f8bc..bf8c2628a4a636 100644 --- a/src/app/clusters/binary-input-server/binary-input-server.h +++ b/examples/platform/mbed/util/include/PigweedLogger.h @@ -1,6 +1,6 @@ /* - * * Copyright (c) 2021 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. @@ -17,9 +17,10 @@ #pragma once -#include +#include "rtos/Mutex.h" + +namespace PigweedLogger { + +rtos::Mutex * GetSemaphore(); -EmberAfStatus emberAfBinaryInputBasicClusterSetPresentValueCallback(chip::EndpointId endpoint, bool presentValue); -EmberAfStatus emberAfBinaryInputBasicClusterGetPresentValue(chip::EndpointId endpoint, bool * presentValue); -EmberAfStatus emberAfBinaryInputBasicClusterSetOutOfServiceCallback(chip::EndpointId endpoint, bool isOutOfService); -EmberAfStatus emberAfBinaryInputBasicClusterGetOutOfService(chip::EndpointId endpoint, bool * isOutOfService); +} // namespace PigweedLogger diff --git a/examples/pump-app/pump-common/pump-app.zap b/examples/pump-app/pump-common/pump-app.zap index e8c565aabaa588..40e2780f383e42 100644 --- a/examples/pump-app/pump-common/pump-app.zap +++ b/examples/pump-app/pump-common/pump-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 55, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -700,7 +700,7 @@ "mfgCode": null, "define": "LEVEL_CONTROL_CLUSTER", "side": "server", - "enabled": 1, + "enabled": 0, "commands": [], "attributes": [ { @@ -776,7 +776,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -4521,7 +4521,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, @@ -4626,7 +4626,7 @@ "mfgCode": null, "define": "LEVEL_CONTROL_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "commands": [], "attributes": [ { @@ -4948,7 +4948,7 @@ "commands": [], "attributes": [ { - "name": "max pressure", + "name": "MaxPressure", "code": 0, "mfgCode": null, "side": "server", @@ -4963,7 +4963,7 @@ "reportableChange": 0 }, { - "name": "max speed", + "name": "MaxSpeed", "code": 1, "mfgCode": null, "side": "server", @@ -4978,7 +4978,7 @@ "reportableChange": 0 }, { - "name": "max flow", + "name": "MaxFlow", "code": 2, "mfgCode": null, "side": "server", @@ -4993,11 +4993,161 @@ "reportableChange": 0 }, { - "name": "pump status", + "name": "MinConstPressure", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxConstPressure", + "code": 4, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinCompPressure", + "code": 5, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxCompPressure", + "code": 6, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinConstSpeed", + "code": 7, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxConstSpeed", + "code": 8, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinConstFlow", + "code": 9, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxConstFlow", + "code": 10, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinConstTemp", + "code": 11, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxConstTemp", + "code": 12, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PumpStatus", "code": 16, "mfgCode": null, "side": "server", - "included": 0, + "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, @@ -5008,7 +5158,7 @@ "reportableChange": 0 }, { - "name": "effective operation mode", + "name": "EffectiveOperationMode", "code": 17, "mfgCode": null, "side": "server", @@ -5023,7 +5173,7 @@ "reportableChange": 0 }, { - "name": "effective control mode", + "name": "EffectiveControlMode", "code": 18, "mfgCode": null, "side": "server", @@ -5038,7 +5188,7 @@ "reportableChange": 0 }, { - "name": "capacity", + "name": "Capacity", "code": 19, "mfgCode": null, "side": "server", @@ -5053,7 +5203,67 @@ "reportableChange": 0 }, { - "name": "operation mode", + "name": "Speed", + "code": 20, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LifetimeRunningHours", + "code": 21, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x000000", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Power", + "code": 22, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LifetimeEnergyConsumed", + "code": 23, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OperationMode", "code": 32, "mfgCode": null, "side": "server", @@ -5067,6 +5277,51 @@ "maxInterval": 65344, "reportableChange": 0 }, + { + "name": "ControlMode", + "code": 33, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AlarmMask", + "code": 34, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap index 1bfceee892181a..d3148a7efde473 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 55, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -776,7 +776,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", diff --git a/examples/shell/shell_common/include/Globals.h b/examples/shell/shell_common/include/Globals.h index 6ecbd308274d6c..d7b03f812c377a 100644 --- a/examples/shell/shell_common/include/Globals.h +++ b/examples/shell/shell_common/include/Globals.h @@ -28,7 +28,7 @@ constexpr size_t kMaxTcpActiveConnectionCount = 4; constexpr size_t kMaxTcpPendingPackets = 4; #endif -constexpr size_t kResponseTimeOut = 1000; +constexpr chip::System::Clock::Timeout kResponseTimeOut = chip::System::Clock::Seconds16(1); extern chip::secure_channel::MessageCounterManager gMessageCounterManager; extern chip::Messaging::ExchangeManager gExchangeManager; diff --git a/examples/temperature-measurement-app/esp32/main/CMakeLists.txt b/examples/temperature-measurement-app/esp32/main/CMakeLists.txt index 9725c1e4a0b392..cdbe1dd6aa36a8 100644 --- a/examples/temperature-measurement-app/esp32/main/CMakeLists.txt +++ b/examples/temperature-measurement-app/esp32/main/CMakeLists.txt @@ -44,7 +44,6 @@ idf_component_register(PRIV_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/general-commissioning-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/network-commissioning" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/operational-credentials-server" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/temperature-measurement-server" PRIV_REQUIRES chip QRCode bt) set_property(TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 14) diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap index 22857eecf65e62..49db2701dc86ad 100644 --- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap +++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap @@ -1,5 +1,5 @@ { - "featureLevel": 55, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -479,7 +479,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -494,7 +494,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -509,7 +509,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -524,7 +524,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap index 8449960080cea7..ecade1a31d7a02 100644 --- a/examples/thermostat/thermostat-common/thermostat.zap +++ b/examples/thermostat/thermostat-common/thermostat.zap @@ -1,5 +1,5 @@ { - "featureLevel": 62, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -776,7 +776,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -6936,7 +6936,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, @@ -7409,7 +7409,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7424,7 +7424,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7439,7 +7439,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7454,7 +7454,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -14274,7 +14274,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/tv-app/linux/include/cluster-init.cpp b/examples/tv-app/linux/include/cluster-init.cpp index f805150b4ccc8b..3d7bee4a9cfb48 100644 --- a/examples/tv-app/linux/include/cluster-init.cpp +++ b/examples/tv-app/linux/include/cluster-init.cpp @@ -19,7 +19,6 @@ #include "application-basic/ApplicationBasicManager.h" #include "application-launcher/ApplicationLauncherManager.h" #include "audio-output/AudioOutputManager.h" -#include "cluster-util/ClusterManager.h" #include "content-launcher/ContentLauncherManager.h" #include "media-input/MediaInputManager.h" #include "target-navigator/TargetNavigatorManager.h" diff --git a/examples/tv-app/linux/include/cluster-util/ClusterManager.h b/examples/tv-app/linux/include/cluster-util/ClusterManager.h deleted file mode 100644 index 348058cb56e5eb..00000000000000 --- a/examples/tv-app/linux/include/cluster-util/ClusterManager.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#pragma once - -#include -#include -#include - -#include -#include - -class ClusterManager -{ -public: - EmberAfStatus writeAttribute(chip::EndpointId endpointId, chip::ClusterId clusterId, chip::AttributeId attributeId, - uint8_t * buffer, int32_t index = -1) - { - EmberAfAttributeSearchRecord record; - record.endpoint = endpointId; - record.clusterId = clusterId; - record.clusterMask = CLUSTER_MASK_SERVER; - record.manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE; - record.attributeId = attributeId; - - // When reading or writing a List attribute the 'index' value could have 3 types of values: - // -1: Read/Write the whole list content, including the number of elements in the list - // 0: Read/Write the number of elements in the list, represented as a uint16_t - // n: Read/Write the nth element of the list - // - // Since the first 2 bytes of the attribute are used to store the number of elements, elements indexing starts - // at 1. In order to hide this to the rest of the code of this file, the element index is incremented by 1 here. - // This also allows calling writeAttribute() with no index arg to mean "write the length". - return emAfReadOrWriteAttribute(&record, NULL, buffer, 0, true, index + 1); - } - - template - EmberAfStatus writeListAttribute(chip::EndpointId endpointId, chip::ClusterId clusterId, chip::AttributeId attributeId, - const std::vector vector) - { - EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS; - size_t vectorSize = vector.size(); - - for (size_t i = 0; i < vectorSize; ++i) - { - status = writeAttribute(endpointId, clusterId, attributeId, (uint8_t *) &vector[i], static_cast(i)); - VerifyOrReturnError(status == EMBER_ZCL_STATUS_SUCCESS, status); - } - - return writeAttribute(endpointId, clusterId, attributeId, (uint8_t *) &vectorSize); - } -}; diff --git a/examples/tv-app/tv-common/tv-app.zap b/examples/tv-app/tv-common/tv-app.zap index d90755eb936c33..7c67b30f3323c6 100644 --- a/examples/tv-app/tv-common/tv-app.zap +++ b/examples/tv-app/tv-common/tv-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 62, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -776,7 +776,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -6371,7 +6371,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, @@ -7632,7 +7632,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap index fed2eb7fcbb320..9757df4f5b5898 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 62, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -776,7 +776,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -791,7 +791,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -806,7 +806,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -821,7 +821,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -6921,7 +6921,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, @@ -7409,7 +7409,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7424,7 +7424,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7439,7 +7439,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7454,7 +7454,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -14093,7 +14093,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "4", "reportable": 0, "minInterval": 0, "maxInterval": 65344, diff --git a/examples/window-app/common/window-app.zap b/examples/window-app/common/window-app.zap index 1aabcb8c8f2e21..59cb0812c76708 100644 --- a/examples/window-app/common/window-app.zap +++ b/examples/window-app/common/window-app.zap @@ -1,5 +1,5 @@ { - "featureLevel": 55, + "featureLevel": 63, "creator": "zap", "keyValuePairs": [ { @@ -552,7 +552,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -567,7 +567,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -582,7 +582,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -597,7 +597,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", diff --git a/integrations/docker/build.sh b/integrations/docker/build.sh index 4c86c8ee6707c1..01afb675bc3588 100755 --- a/integrations/docker/build.sh +++ b/integrations/docker/build.sh @@ -44,6 +44,7 @@ VERSION=${DOCKER_BUILD_VERSION:-$(sed 's/ .*//' version)} --latest update latest to the current built version (\"$VERSION\") --push push image(s) to docker.io (requires docker login for \"$ORG\") --help get this message + --squash squash docker layers before push them to docker.io (requires docker-squash python module) " exit 0 @@ -75,6 +76,11 @@ docker build "${BUILD_ARGS[@]}" --build-arg VERSION="$VERSION" -t "$ORG/$IMAGE:$ docker tag "$ORG"/"$IMAGE":"$VERSION" "$ORG"/"$IMAGE":latest } +[[ ${*/--squash//} != "${*}" ]] && { + command -v docker-squash >/dev/null && + docker-squash "$ORG"/"$IMAGE":"$VERSION" -t "$ORG"/"$IMAGE":latest +} + [[ ${*/--push//} != "${*}" ]] && { docker push "$ORG"/"$IMAGE":"$VERSION" [[ ${*/--latest//} != "${*}" ]] && { diff --git a/integrations/docker/images/build-all.sh b/integrations/docker/images/build-all.sh index 36ceb7ec1e623b..b7ec3354f428a3 100755 --- a/integrations/docker/images/build-all.sh +++ b/integrations/docker/images/build-all.sh @@ -21,7 +21,9 @@ # https://github.com/project-chip/connectedhomeip/issues/710 # set -e -find . -name Dockerfile | while read -r dockerfile; do - dir=${dockerfile%/*} - (cd "$dir" && ./build.sh "$@") || exit $? +find "$(git rev-parse --show-toplevel)"/integrations/docker/images/ -name Dockerfile | while read -r dockerfile; do + pushd "$(dirname "$dockerfile")" >/dev/null + ./build.sh "$@" + popd >/dev/null done +docker image prune --force diff --git a/integrations/docker/images/chip-build-ameba/Dockerfile b/integrations/docker/images/chip-build-ameba/Dockerfile index 914c9c4e0eafcb..f8ffa1cc51e9dd 100644 --- a/integrations/docker/images/chip-build-ameba/Dockerfile +++ b/integrations/docker/images/chip-build-ameba/Dockerfile @@ -7,7 +7,7 @@ RUN set -x \ && apt-get update \ && mkdir ${AMEBA_DIR} \ && cd ${AMEBA_DIR} \ - && git clone --depth 1 --progress -b cmake_build https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git \ + && git clone --progress -b cmake_build https://github.com/pankore/ambd_sdk_with_chip_non_NDA.git \ && cd ambd_sdk_with_chip_non_NDA \ && git reset --hard 299dd4a \ && git submodule update --depth 1 --init --progress \ diff --git a/integrations/docker/images/chip-build-k32w/Dockerfile b/integrations/docker/images/chip-build-k32w/Dockerfile index d204514bdefce2..24973d479c43a2 100644 --- a/integrations/docker/images/chip-build-k32w/Dockerfile +++ b/integrations/docker/images/chip-build-k32w/Dockerfile @@ -1,19 +1,26 @@ ARG VERSION=latest -FROM connectedhomeip/chip-build:${VERSION} +FROM connectedhomeip/chip-build:${VERSION} as build -# Setup the K32W SDK RUN set -x \ && apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y wget unzip \ + && DEBIAN_FRONTEND=noninteractive apt-get install -fy --no-install-recommends \ + wget=1.20.3-1ubuntu1 \ + unzip=6.0-25ubuntu1 \ + && apt-get clean \ && rm -rf /var/lib/apt/lists/ \ - && mkdir -p /opt/sdk \ - && cd /opt/sdk \ - && wget https://mcuxpresso.nxp.com/eclipse/sdk/2.6.4/plugins/com.nxp.mcuxpresso.sdk.sdk_2.x_k32w061dk6_2.6.4.201911251446.jar \ - && unzip com.nxp.mcuxpresso.sdk.sdk_2.x_k32w061dk6_2.6.4.201911251446.jar \ - && rm -rf com.nxp.mcuxpresso.sdk.sdk_2.x_k32w061dk6_2.6.4.201911251446.jar \ - && cd sdks \ - && unzip 1190028246d9243d9a9e27ca783413a8.zip \ - && rm -rf 1190028246d9243d9a9e27ca783413a8.zip \ && : # last line +WORKDIR /opt/sdk +# Setup the K32W SDK +RUN set -x \ + && wget -O /tmp/sdk.jar https://mcuxpresso.nxp.com/eclipse/sdk/2.6.4/plugins/com.nxp.mcuxpresso.sdk.sdk_2.x_k32w061dk6_2.6.4.201911251446.jar \ + && unzip /tmp/sdk.jar \ + && unzip sdks/1190028246d9243d9a9e27ca783413a8.zip -d sdks \ + && rm -rf sdks/1190028246d9243d9a9e27ca783413a8.zip \ + && : # last line + +FROM connectedhomeip/chip-build:${VERSION} + +COPY --from=build /opt/sdk/sdks/ /opt/sdk/sdks/ + ENV K32W061_SDK_ROOT=/opt/sdk/sdks diff --git a/integrations/docker/images/chip-build-mbed-os/Dockerfile b/integrations/docker/images/chip-build-mbed-os/Dockerfile index cd7724d15ec437..c2f1526fd3833b 100644 --- a/integrations/docker/images/chip-build-mbed-os/Dockerfile +++ b/integrations/docker/images/chip-build-mbed-os/Dockerfile @@ -1,34 +1,37 @@ ARG VERSION=latest -FROM connectedhomeip/chip-build:${VERSION} +FROM connectedhomeip/chip-build:${VERSION} as build -# ------------------------------------------------------------------------------ -# Install system tools via apt RUN set -x \ && apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -fy \ - python3-setuptools \ - python3-usb \ - software-properties-common \ - build-essential \ - astyle \ - mercurial \ - && rm -rf /var/lib/apt/lists \ + && DEBIAN_FRONTEND=noninteractive apt-get install -fy --no-install-recommends \ + wget=1.20.3-1ubuntu1 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ \ && : # last line +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +# ------------------------------------------------------------------------------ +# Install openocd +RUN set -x \ + && mkdir -p /opt/openocd \ + && wget -O - --progress=dot:giga https://github.com/cypresssemiconductorco/openocd/releases/download/release-v4.2.0/openocd-4.2.0.1430-linux.tar.gz | tar --strip-components=1 -xz -C /opt/openocd \ + && : # last line + +FROM connectedhomeip/chip-build:${VERSION} + +COPY --from=build /opt/openocd/ /opt/openocd/ + # ------------------------------------------------------------------------------ # Install Python modules RUN set -x \ - && pip3 install --no-cache-dir -U mbed-cli mbed-tools \ + && pip3 install --no-cache-dir -U mbed-cli==1.10.5 mbed-tools==7.44.0 \ && : # last line # ------------------------------------------------------------------------------ -# Install openocd +# Configure mbed build system RUN set -x \ - && (mkdir -p /opt/openocd \ - && cd /opt/openocd \ - && wget --progress=dot:giga https://github.com/cypresssemiconductorco/openocd/releases/download/release-v4.2.0/openocd-4.2.0.1430-linux.tar.gz \ - && tar --strip-components=1 -xzf openocd-4.2.0.1430-linux.tar.gz \ - && rm openocd-4.2.0.1430-linux.tar.gz) \ + && mbed config -G GCC_ARM_PATH /opt/mbed-os-toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/ \ + && mbed toolchain -G -s GCC_ARM \ && : # last line # ------------------------------------------------------------------------------ diff --git a/integrations/docker/images/chip-build/version b/integrations/docker/images/chip-build/version index 457bd37fc925b6..a056745373e3f6 100644 --- a/integrations/docker/images/chip-build/version +++ b/integrations/docker/images/chip-build/version @@ -1 +1 @@ -0.5.19 Version bump reason: Update AmebaD to not require python2 anymore +0.5.22 Version bump reason: Implement Docker best practices on mbed OS diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 11427a25a90416..f0c1a9f6ad79a8 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -80,10 +80,13 @@ def HostTargets(): 'all-clusters', app=HostApp.ALL_CLUSTERS)) app_targets.append(target.Extend('chip-tool', app=HostApp.CHIP_TOOL)) app_targets.append(target.Extend('thermostat', app=HostApp.THERMOSTAT)) + app_targets.append(target.Extend( + 'rpc-console', app=HostApp.RPC_CONSOLE)) for target in app_targets: yield target - yield target.Extend('ipv6only', enable_ipv4=False) + if ('rpc-console' not in target.name): + yield target.Extend('ipv6only', enable_ipv4=False) def Esp32Targets(): diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py index 2ea512c39a7a52..b913d5fd2325dc 100644 --- a/scripts/build/builders/host.py +++ b/scripts/build/builders/host.py @@ -24,6 +24,7 @@ class HostApp(Enum): ALL_CLUSTERS = auto() CHIP_TOOL = auto() THERMOSTAT = auto() + RPC_CONSOLE = auto() def ExamplePath(self): if self == HostApp.ALL_CLUSTERS: @@ -32,6 +33,8 @@ def ExamplePath(self): return 'chip-tool' elif self == HostApp.THERMOSTAT: return 'thermostat/linux' + elif self == HostApp.RPC_CONSOLE: + return 'common/pigweed/rpc_console' else: raise Exception('Unknown app type: %r' % self) @@ -42,6 +45,8 @@ def BinaryName(self): return 'chip-tool' elif self == HostApp.THERMOSTAT: return 'thermostat-app' + elif self == HostApp.RPC_CONSOLE: + return 'rpc-console' else: raise Exception('Unknown app type: %r' % self) @@ -91,19 +96,29 @@ def __init__(self, root, runner, app: HostApp, board=HostBoard.NATIVE, enable_ip self.board = board self.extra_gn_options = [] - if not enable_ipv4: + if 'rpc-console' not in self.app_name and not enable_ipv4: self.extra_gn_options.append('chip_inet_config_enable_ipv4=false') def GnBuildArgs(self): if self.board == HostBoard.NATIVE: return self.extra_gn_options elif self.board == HostBoard.ARM64: - return self.extra_gn_options + [ - 'target_cpu="arm64"', - 'is_clang=true', - 'chip_crypto="mbedtls"', - 'sysroot="%s"' % self.SysRootPath('SYSROOT_AARCH64'), - ] + self.extra_gn_options.extend( + [ + 'target_cpu="arm64"', + 'is_clang=true' + ] + ) + + if 'rpc-console' not in self.app_name: + self.extra_gn_options.extend( + [ + 'chip_crypto="mbedtls"', + 'sysroot="%s"' % self.SysRootPath('SYSROOT_AARCH64') + ] + ) + + return self.extra_gn_options else: raise Exception('Unknown host board type: %r' % self) @@ -123,7 +138,20 @@ def SysRootPath(self, name): return os.environ[name] def build_outputs(self): - return { - self.app_name: os.path.join(self.output_dir, self.app_name), - self.map_name: os.path.join(self.output_dir, self.map_name) - } + outputs = {} + if 'rpc-console' not in self.app_name: + outputs.update( + { + self.app_name: os.path.join(self.output_dir, self.app_name), + self.map_name: os.path.join(self.output_dir, self.map_name) + } + ) + else: + outputs.update( + { + self.app_name: os.path.join( + self.output_dir, "chip_rpc_console_wheels") + } + ) + + return outputs diff --git a/scripts/build/builders/infineon.py b/scripts/build/builders/infineon.py index 58b36bc370ef57..1a8afbb20d0523 100644 --- a/scripts/build/builders/infineon.py +++ b/scripts/build/builders/infineon.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging import os from enum import Enum, auto diff --git a/scripts/build/testdata/build_linux_on_x64.txt b/scripts/build/testdata/build_linux_on_x64.txt index 9780b436281747..184665ebbef17d 100644 --- a/scripts/build/testdata/build_linux_on_x64.txt +++ b/scripts/build/testdata/build_linux_on_x64.txt @@ -21,6 +21,11 @@ bash -c ' PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ gn gen --check --fail-on-unused-args --root={root}/examples/chip-tool '"'"'--args=chip_inet_config_enable_ipv4=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-chip-tool-ipv6only' +# Generating linux-arm64-rpc-console +bash -c ' +PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ + gn gen --check --fail-on-unused-args --root={root}/examples/common/pigweed/rpc_console '"'"'--args=target_cpu="arm64" is_clang=true'"'"' {out}/linux-arm64-rpc-console' + # Generating linux-arm64-thermostat bash -c ' PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ @@ -43,6 +48,9 @@ gn gen --check --fail-on-unused-args --root={root}/examples/chip-tool {out}/linu # Generating linux-x64-chip-tool-ipv6only gn gen --check --fail-on-unused-args --root={root}/examples/chip-tool --args=chip_inet_config_enable_ipv4=false {out}/linux-x64-chip-tool-ipv6only +# Generating linux-x64-rpc-console +gn gen --check --fail-on-unused-args --root={root}/examples/common/pigweed/rpc_console {out}/linux-x64-rpc-console + # Generating linux-x64-thermostat gn gen --check --fail-on-unused-args --root={root}/examples/thermostat/linux {out}/linux-x64-thermostat @@ -61,6 +69,9 @@ ninja -C {out}/linux-arm64-chip-tool # Building linux-arm64-chip-tool-ipv6only ninja -C {out}/linux-arm64-chip-tool-ipv6only +# Building linux-arm64-rpc-console +ninja -C {out}/linux-arm64-rpc-console + # Building linux-arm64-thermostat ninja -C {out}/linux-arm64-thermostat @@ -79,6 +90,9 @@ ninja -C {out}/linux-x64-chip-tool # Building linux-x64-chip-tool-ipv6only ninja -C {out}/linux-x64-chip-tool-ipv6only +# Building linux-x64-rpc-console +ninja -C {out}/linux-x64-rpc-console + # Building linux-x64-thermostat ninja -C {out}/linux-x64-thermostat diff --git a/scripts/examples/gn_to_cmakelists.py b/scripts/examples/gn_to_cmakelists.py index 3d23b9c5945ffc..7449cf57fdaf6a 100755 --- a/scripts/examples/gn_to_cmakelists.py +++ b/scripts/examples/gn_to_cmakelists.py @@ -96,9 +96,11 @@ def SetVariable(out, variable_name, value): def SetVariableList(out, variable_name, values): """Sets a CMake variable to a list.""" if not values: - return SetVariable(out, variable_name, "") + SetVariable(out, variable_name, "") + return if len(values) == 1: - return SetVariable(out, variable_name, values[0]) + SetVariable(out, variable_name, values[0]) + return out.write('list(APPEND "') out.write(CMakeStringEscape(variable_name)) out.write('"\n "') diff --git a/scripts/examples/mbed_example.sh b/scripts/examples/mbed_example.sh index a66f203dc1ddb2..caf93e2ce2b636 100755 --- a/scripts/examples/mbed_example.sh +++ b/scripts/examples/mbed_example.sh @@ -22,7 +22,7 @@ cd "$CHIP_ROOT"/examples SUPPORTED_TOOLCHAIN=(GCC_ARM ARM) SUPPORTED_TARGET_BOARD=(CY8CPROTO_062_4343W) -SUPPORTED_APP=(lock-app lighting-app) +SUPPORTED_APP=(lock-app lighting-app pigweed-app all-clusters-app) SUPPORTED_PROFILES=(release develop debug) SUPPORTED_COMMAND=(build flash build-flash) diff --git a/scripts/flashing/efr32_firmware_utils.py b/scripts/flashing/efr32_firmware_utils.py index a6238874df6c51..35812f847c3507 100755 --- a/scripts/flashing/efr32_firmware_utils.py +++ b/scripts/flashing/efr32_firmware_utils.py @@ -22,7 +22,7 @@ usage: efr32_firmware_utils.py [-h] [--verbose] [--erase] [--application FILE] [--verify_application] [--reset] [--skip_reset] [--commander FILE] [--device DEVICE] - [--serialno SERIAL] + [--serialno SERIAL] [--ip ADDRESS] Flash EFR32 device @@ -36,6 +36,8 @@ Device family or platform to target --serialno SERIAL, -s SERIAL Serial number of device to flash + --ip ADDRESS, -a ADDRESS + Ip Address of the targeted flasher operations: --erase Erase device @@ -90,6 +92,14 @@ 'metavar': 'SERIAL' }, }, + 'ip': { + 'help': 'Ip Address of the probe connected to the target', + 'default': None, + 'alias': ['-a'], + 'argparse': { + 'metavar': 'ADDRESS' + }, + }, }, } @@ -102,7 +112,8 @@ def __init__(self, **options): self.define_options(EFR32_OPTIONS) # Common command line arguments for commander device subcommands. - DEVICE_ARGUMENTS = [{'optional': 'serialno'}, {'optional': 'device'}] + DEVICE_ARGUMENTS = [{'optional': 'serialno'}, { + 'optional': 'ip'}, {'optional': 'device'}] def erase(self): """Perform `commander device masserase`.""" diff --git a/scripts/flashing/nrfconnect_firmware_utils.py b/scripts/flashing/nrfconnect_firmware_utils.py index 3f57a9cfb1c8fc..ea7d68faaede25 100755 --- a/scripts/flashing/nrfconnect_firmware_utils.py +++ b/scripts/flashing/nrfconnect_firmware_utils.py @@ -131,7 +131,6 @@ def flash(self, image): def reset(self): """Reset the device.""" return self.run_tool('nrfjprog', ['--pinresetenable'], name='Enable pin reset') - return self.run_tool('nrfjprog', ['--pinreset'], name='Apply pin reset') def actions(self): """Perform actions on the device according to self.option.""" diff --git a/scripts/helpers/rebase_and_regenerate_zap.sh b/scripts/helpers/rebase_and_regenerate_zap.sh new file mode 100755 index 00000000000000..c921d28d46b191 --- /dev/null +++ b/scripts/helpers/rebase_and_regenerate_zap.sh @@ -0,0 +1,125 @@ +#!/bin/bash +# Credit to https://github.com/cirrus-actions/rebase for the base functionality here + +set -e + +if [ -z "$PR_NUMBER" ]; then + PR_NUMBER=$(jq -r ".pull_request.number" "$GITHUB_EVENT_PATH") + if [[ "$PR_NUMBER" == "null" ]]; then + PR_NUMBER=$(jq -r ".issue.number" "$GITHUB_EVENT_PATH") + fi + if [[ "$PR_NUMBER" == "null" ]]; then + echo "Failed to determine PR Number." + exit 1 + fi +fi + +echo "Collecting information about PR #$PR_NUMBER of $GITHUB_REPOSITORY..." + +if [[ -z "$GITHUB_TOKEN" ]]; then + echo "Set the GITHUB_TOKEN env variable." + exit 1 +fi + +URI=https://api.github.com +API_HEADER="Accept: application/vnd.github.v3+json" +AUTH_HEADER="Authorization: token $GITHUB_TOKEN" + +MAX_RETRIES=${MAX_RETRIES:-6} +RETRY_INTERVAL=${RETRY_INTERVAL:-10} +REBASEABLE="" +pr_resp="" +for ((i = 0; i < "$MAX_RETRIES"; i++)); do + pr_resp=$(curl -X GET -s -H "$AUTH_HEADER" -H "$API_HEADER" \ + "$URI/repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER") + REBASEABLE=$(echo "$pr_resp" | jq -r .rebaseable) + if [[ "$REBASEABLE" == "null" ]]; then + echo "The PR is not ready to rebase, retry after $RETRY_INTERVAL seconds" + sleep "$RETRY_INTERVAL" + continue + else + break + fi +done + +# if [[ "$REBASEABLE" != "true" ]] ; then +# echo "GitHub doesn't think that the PR is rebaseable!" +# exit 1 +# fi + +BASE_REPO=$(echo "$pr_resp" | jq -r .base.repo.full_name) +BASE_BRANCH=$(echo "$pr_resp" | jq -r .base.ref) + +USER_LOGIN=$(jq -r ".comment.user.login" "$GITHUB_EVENT_PATH") + +if [[ "$USER_LOGIN" == "null" ]]; then + USER_LOGIN=$(jq -r ".pull_request.user.login" "$GITHUB_EVENT_PATH") +fi + +user_resp=$(curl -X GET -s -H "$AUTH_HEADER" -H "$API_HEADER" \ + "$URI/users/$USER_LOGIN") + +USER_NAME=$(echo "$user_resp" | jq -r ".name") +if [[ "$USER_NAME" == "null" ]]; then + USER_NAME=$USER_LOGIN +fi +USER_NAME="$USER_NAME (Rebase PR Action)" + +USER_EMAIL=$(echo "$user_resp" | jq -r ".email") +if [[ "$USER_EMAIL" == "null" ]]; then + USER_EMAIL="$USER_LOGIN@users.noreply.github.com" +fi + +if [[ -z "$BASE_BRANCH" ]]; then + echo "Cannot get base branch information for PR #$PR_NUMBER!" + exit 1 +fi + +HEAD_REPO=$(echo "$pr_resp" | jq -r .head.repo.full_name) +HEAD_BRANCH=$(echo "$pr_resp" | jq -r .head.ref) + +echo "Base branch for PR #$PR_NUMBER is $BASE_BRANCH" + +USER_TOKEN=${USER_LOGIN//-/_}_TOKEN +UNTRIMMED_COMMITTER_TOKEN=${!USER_TOKEN:-$GITHUB_TOKEN} +COMMITTER_TOKEN="$(echo -e "$UNTRIMMED_COMMITTER_TOKEN" | tr -d '[:space:]')" + +git remote set-url origin https://x-access-token:"$COMMITTER_TOKEN@github.com/$GITHUB_REPOSITORY".git +git config --global user.email "$USER_EMAIL" +git config --global user.name "$USER_NAME" + +git remote add fork https://x-access-token:"$COMMITTER_TOKEN@github.com/$HEAD_REPO".git + +set -o xtrace + +# make sure branches are up-to-date +git fetch origin "$BASE_BRANCH" +git fetch fork "$HEAD_BRANCH" + +# do the rebase +git checkout -b fork/"$HEAD_BRANCH" fork/"$HEAD_BRANCH" +git rebase origin/"$BASE_BRANCH" + +git submodule update --init --recursive third_party/zap/ + +cd third_party/zap/repo/ +npm ci +npm run version-stamp +npm rebuild canvas --update-binary +npm run build-spa + +cd ../../../ + +scripts/tools/zap_regen_all.py + +git status + +git add zzz_generated/* +git add src/darwin/Framework/* +git add src/controller/python/chip/clusters/* +git add src/controller/java/zap-generated/* + +git commit -m "Regenerating ZAP" + +# push back +git push --force-with-lease fork fork/"$HEAD_BRANCH:$HEAD_BRANCH" diff --git a/scripts/requirements.esp32.txt b/scripts/requirements.esp32.txt index 7378efbf644e42..3d88ceb427a955 100644 --- a/scripts/requirements.esp32.txt +++ b/scripts/requirements.esp32.txt @@ -1,15 +1,15 @@ -setuptools>=21 ; platform_machine != 'aarch64' and sys_platform == 'linux' -click>=5.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' -pyserial>=3.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' -future>=0.15.2 ; platform_machine != 'aarch64' and sys_platform == 'linux' -cryptography>=2.1.4 ; platform_machine != 'aarch64' and sys_platform == 'linux' -pyparsing>=2.0.3,<2.4.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' -pyelftools>=0.22 ; platform_machine != 'aarch64' and sys_platform == 'linux' -gdbgui==0.13.2.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' -pygdbmi<=0.9.0.2 ; platform_machine != 'aarch64' and sys_platform == 'linux' -reedsolo>=1.5.3,<=1.5.4 ; platform_machine != 'aarch64' and sys_platform == 'linux' -bitstring>=3.1.6 ; platform_machine != 'aarch64' and sys_platform == 'linux' -ecdsa>=0.16.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' -kconfiglib==13.7.1 ; platform_machine != 'aarch64' and sys_platform == 'linux' -construct==2.10.54 ; platform_machine != 'aarch64' and sys_platform == 'linux' -python-socketio<5 ; platform_machine != 'aarch64' and sys_platform == 'linux' +setuptools>=21 +click>=5.0 +pyserial>=3.0 +future>=0.15.2 +cryptography>=2.1.4 +pyparsing>=2.0.3,<2.4.0 +pyelftools>=0.22 +gdbgui==0.13.2.0 +pygdbmi<=0.9.0.2 +reedsolo>=1.5.3,<=1.5.4 +bitstring>=3.1.6 +ecdsa>=0.16.0 +kconfiglib==13.7.1 +construct==2.10.54 +python-socketio<5 diff --git a/scripts/tools/memory/collect.py b/scripts/tools/memory/collect.py index 5c0a48e39183d2..1eeb66e02e7216 100755 --- a/scripts/tools/memory/collect.py +++ b/scripts/tools/memory/collect.py @@ -42,7 +42,6 @@ def main(argv): memdf.report.write_dfs(config, memdf.collect.collect_files(config)) except Exception as exception: - status = 1 raise exception return status diff --git a/scripts/tools/memory/report_summary.py b/scripts/tools/memory/report_summary.py index 99b055ad81de32..3b21f6a88bb8ea 100755 --- a/scripts/tools/memory/report_summary.py +++ b/scripts/tools/memory/report_summary.py @@ -28,7 +28,7 @@ import sys -import numpy as np # type: ignore +import numpy # type: ignore import memdf.collect import memdf.report diff --git a/src/app/CommandSender.cpp b/src/app/CommandSender.cpp index 57677dc94428a6..b965f495bf89bf 100644 --- a/src/app/CommandSender.cpp +++ b/src/app/CommandSender.cpp @@ -37,7 +37,7 @@ CommandSender::CommandSender(Callback * apCallback, Messaging::ExchangeManager * {} CHIP_ERROR CommandSender::SendCommandRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional secureSession, - uint32_t timeout) + System::Clock::Timeout timeout) { CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferHandle commandPacket; diff --git a/src/app/CommandSender.h b/src/app/CommandSender.h index 76452fda2378ea..8c3a62c6e46d8f 100644 --- a/src/app/CommandSender.h +++ b/src/app/CommandSender.h @@ -64,9 +64,9 @@ class CommandSender final : public Command, public Messaging::ExchangeDelegate * The CommandSender object MUST continue to exist after this call is completed. The application shall wait until it * receives an OnDone call to destroy the object. * - * @param[in] apCommandSender: The command sender object that initiated the command transaction. - * @param[in] aPath: The command path field in invoke command response. - * @param[in] aData: The command data, will be nullptr if the server returns a StatusIB. + * @param[in] apCommandSender The command sender object that initiated the command transaction. + * @param[in] aPath The command path field in invoke command response. + * @param[in] aData The command data, will be nullptr if the server returns a StatusIB. */ virtual void OnResponse(CommandSender * apCommandSender, const ConcreteCommandPath & aPath, TLV::TLVReader * aData) {} @@ -84,10 +84,10 @@ class CommandSender final : public Command, public Messaging::ExchangeDelegate * The CommandSender object MUST continue to exist after this call is completed. The application shall wait until it * receives an OnDone call to destroy and free the object. * - * @param[in] apCommandSender: The command sender object that initiated the command transaction. - * @param[in] aInteractionModelStatus: Contains an IM status code. This SHALL never be IM::Success, and will contain a valid - * server-side emitted error if aProtocolError == CHIP_ERROR_IM_STATUS_CODE_RECEIVED. - * @param[in] aError: A system error code that conveys the overall error code. + * @param[in] apCommandSender The command sender object that initiated the command transaction. + * @param[in] aInteractionModelStatus Contains an IM status code. This SHALL never be IM::Success, and will contain a valid + * server-side emitted error if aProtocolError == CHIP_ERROR_IM_STATUS_CODE_RECEIVED. + * @param[in] aError A system error code that conveys the overall error code. */ virtual void OnError(const CommandSender * apCommandSender, Protocols::InteractionModel::Status aInteractionModelStatus, CHIP_ERROR aError) @@ -104,7 +104,7 @@ class CommandSender final : public Command, public Messaging::ExchangeDelegate * * This function must be implemented to destroy the CommandSender object. * - * @param[in] apCommandSender: The command sender object of the terminated invoke command transaction. + * @param[in] apCommandSender The command sender object of the terminated invoke command transaction. */ virtual void OnDone(CommandSender * apCommandSender) = 0; }; @@ -122,8 +122,8 @@ class CommandSender final : public Command, public Messaging::ExchangeDelegate * object that can be encoded using the DataModel::Encode machinery and * exposes the right command id will work. * - * @param [in] aRequestCommandPath the path of the command being requested. - * @param [in] aData the data for the request. + * @param [in] aCommandPath The path of the command being requested. + * @param [in] aData The data for the request. */ template CHIP_ERROR AddRequestData(const CommandPathParams & aCommandPath, const CommandDataT & aData) @@ -154,7 +154,7 @@ class CommandSender final : public Command, public Messaging::ExchangeDelegate // Default timeout value will be used otherwise. // CHIP_ERROR SendCommandRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional secureSession, - uint32_t timeout = kImMessageTimeoutMsec); + System::Clock::Timeout timeout = kImMessageTimeout); private: // ExchangeDelegate interface implementation. Private so people won't diff --git a/src/app/InteractionModelDelegate.h b/src/app/InteractionModelDelegate.h index cc9e948b53ec01..aba65f4ade432a 100644 --- a/src/app/InteractionModelDelegate.h +++ b/src/app/InteractionModelDelegate.h @@ -36,7 +36,7 @@ namespace chip { namespace app { -static constexpr uint32_t kImMessageTimeoutMsec = 12000; +static constexpr System::Clock::Timeout kImMessageTimeout = System::Clock::Seconds16(12); class ReadClient; class WriteClient; @@ -101,44 +101,6 @@ class InteractionModelDelegate */ virtual CHIP_ERROR ReadError(ReadClient * apReadClient, CHIP_ERROR aError) { return CHIP_ERROR_NOT_IMPLEMENTED; } - /** - * Notification that a WriteClient has received a Write Response containing a status code. - * aAttributeIndex is processing attribute index which can identify attribute if there exists multiple attribute changes with - * same attribute path - */ - virtual CHIP_ERROR WriteResponseStatus(const WriteClient * apWriteClient, const StatusIB & aStatusIB, - AttributePathParams & aAttributePathParams, uint8_t aAttributeIndex) - { - return CHIP_ERROR_NOT_IMPLEMENTED; - } - - /** - * Notification that a Write Response has been processed and application can do further work . - */ - virtual CHIP_ERROR WriteResponseProcessed(const WriteClient * apWriteClient) { return CHIP_ERROR_NOT_IMPLEMENTED; } - - /** - * Notification that a Write Client has received a Write Response and fails to process a attribute data element in that - * write response - */ - virtual CHIP_ERROR WriteResponseProtocolError(const WriteClient * apWriteClient, uint8_t aAttributeIndex) - { - return CHIP_ERROR_NOT_IMPLEMENTED; - } - - /** - * Notification that a write client encountered an asynchronous failure. - * @param[in] apWriteClient A current write client which can identify the write client to the consumer, particularly - * during multiple write interactions - * @param[in] aError A error that could be CHIP_ERROR_TIMEOUT when write client fails to receive, or other error when - * fail to process write response. - * @retval # CHIP_ERROR_NOT_IMPLEMENTED if not implemented - */ - virtual CHIP_ERROR WriteResponseError(const WriteClient * apWriteClient, CHIP_ERROR aError) - { - return CHIP_ERROR_NOT_IMPLEMENTED; - } - /** * Notification that a Subscribe Response has been processed and application can do further work . */ @@ -158,7 +120,6 @@ class InteractionModelDelegate * Notification that a read interaction was completed on the client successfully. * @param[in] apReadClient A current read client which can identify the read client to the consumer, particularly * during multiple read interactions - * @param[in] aError notify final error regarding the current read interaction * @retval # CHIP_ERROR_NOT_IMPLEMENTED if not implemented */ virtual CHIP_ERROR ReadDone(ReadClient * apReadClient) { return CHIP_ERROR_NOT_IMPLEMENTED; } diff --git a/src/app/InteractionModelEngine.cpp b/src/app/InteractionModelEngine.cpp index c85f55098e7f89..8bdbc1e8ca229e 100644 --- a/src/app/InteractionModelEngine.cpp +++ b/src/app/InteractionModelEngine.cpp @@ -180,6 +180,36 @@ uint32_t InteractionModelEngine::GetNumActiveReadHandlers() const return numActive; } +uint32_t InteractionModelEngine::GetNumActiveWriteClients() const +{ + uint32_t numActive = 0; + + for (auto & writeClient : mWriteClients) + { + if (!writeClient.IsFree()) + { + numActive++; + } + } + + return numActive; +} + +uint32_t InteractionModelEngine::GetNumActiveWriteHandlers() const +{ + uint32_t numActive = 0; + + for (auto & writeHandler : mWriteHandlers) + { + if (!writeHandler.IsFree()) + { + numActive++; + } + } + + return numActive; +} + CHIP_ERROR InteractionModelEngine::ShutdownSubscription(uint64_t aSubscriptionId) { CHIP_ERROR err = CHIP_ERROR_KEY_NOT_FOUND; @@ -196,7 +226,7 @@ CHIP_ERROR InteractionModelEngine::ShutdownSubscription(uint64_t aSubscriptionId return err; } -CHIP_ERROR InteractionModelEngine::NewWriteClient(WriteClientHandle & apWriteClient, uint64_t aApplicationIdentifier) +CHIP_ERROR InteractionModelEngine::NewWriteClient(WriteClientHandle & apWriteClient, WriteClient::Callback * apCallback) { apWriteClient.SetWriteClient(nullptr); @@ -207,7 +237,7 @@ CHIP_ERROR InteractionModelEngine::NewWriteClient(WriteClientHandle & apWriteCli continue; } - ReturnLogErrorOnFailure(writeClient.Init(mpExchangeMgr, mpDelegate, aApplicationIdentifier)); + ReturnLogErrorOnFailure(writeClient.Init(mpExchangeMgr, apCallback)); apWriteClient.SetWriteClient(&writeClient); return CHIP_NO_ERROR; } diff --git a/src/app/InteractionModelEngine.h b/src/app/InteractionModelEngine.h index c1dc9ec6fec23d..f236b005292694 100644 --- a/src/app/InteractionModelEngine.h +++ b/src/app/InteractionModelEngine.h @@ -132,13 +132,13 @@ class InteractionModelEngine : public Messaging::ExchangeDelegate, public Comman * @retval #CHIP_ERROR_NO_MEMORY If there is no WriteClient available * @retval #CHIP_NO_ERROR On success. */ - CHIP_ERROR NewWriteClient(WriteClientHandle & apWriteClient, uint64_t aApplicationIdentifier = 0); + CHIP_ERROR NewWriteClient(WriteClientHandle & apWriteClient, WriteClient::Callback * callback); /** * Allocate a ReadClient that can be used to do a read interaction. If the call succeeds, the consumer * is responsible for calling Shutdown() on the ReadClient once it's done using it. * - * @param[inout] apReadClient A double pointer to a ReadClient that is updated to point to a valid ReadClient + * @param[in,out] apReadClient A double pointer to a ReadClient that is updated to point to a valid ReadClient * on successful completion of this function. On failure, it will be updated to point to * nullptr. * @param[in] aInteractionType Type of interaction (read or subscription) that the requested ReadClient should execute. @@ -156,6 +156,9 @@ class InteractionModelEngine : public Messaging::ExchangeDelegate, public Comman uint32_t GetNumActiveReadHandlers() const; uint32_t GetNumActiveReadClients() const; + uint32_t GetNumActiveWriteHandlers() const; + uint32_t GetNumActiveWriteClients() const; + /** * Get read client index in mReadClients * diff --git a/src/app/MessageDef/AttributePath.cpp b/src/app/MessageDef/AttributePath.cpp index 737477a29a9c6b..0489eb0695fe6a 100644 --- a/src/app/MessageDef/AttributePath.cpp +++ b/src/app/MessageDef/AttributePath.cpp @@ -77,7 +77,7 @@ CHIP_ERROR AttributePath::Parser::CheckSchemaValidity() const #if CHIP_DETAIL_LOGGING { - uint64_t nodeId; + chip::NodeId nodeId; reader.Get(nodeId); PRETTY_PRINT("\tNodeId = 0x%" PRIx64 ",", nodeId); } @@ -90,7 +90,7 @@ CHIP_ERROR AttributePath::Parser::CheckSchemaValidity() const VerifyOrExit(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE); #if CHIP_DETAIL_LOGGING { - uint16_t endpointId; + chip::EndpointId endpointId; reader.Get(endpointId); PRETTY_PRINT("\tEndpointId = 0x%" PRIx16 ",", endpointId); } @@ -118,9 +118,9 @@ CHIP_ERROR AttributePath::Parser::CheckSchemaValidity() const VerifyOrExit(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE); #if CHIP_DETAIL_LOGGING { - uint8_t fieldTag; + chip::AttributeId fieldTag; reader.Get(fieldTag); - PRETTY_PRINT("\tFieldTag = 0x%" PRIx8 ",", fieldTag); + PRETTY_PRINT("\tFieldTag = " ChipLogFormatMEI ",", ChipLogValueMEI(fieldTag)); } #endif // CHIP_DETAIL_LOGGING break; diff --git a/src/app/MessageDef/StatusIB.h b/src/app/MessageDef/StatusIB.h index ee747b44914fc4..80b7bfff9256c2 100644 --- a/src/app/MessageDef/StatusIB.h +++ b/src/app/MessageDef/StatusIB.h @@ -40,6 +40,12 @@ namespace chip { namespace app { struct StatusIB { + StatusIB() = default; + StatusIB(Protocols::InteractionModel::Status imStatus) : mStatus(imStatus) {} + StatusIB(Protocols::InteractionModel::Status imStatus, ClusterStatus clusterStatus) : + mStatus(imStatus), mClusterStatus(clusterStatus) + {} + enum class Tag : uint8_t { kStatus = 0, diff --git a/src/app/ReadClient.cpp b/src/app/ReadClient.cpp index ef2007f3cbf822..0e7ab15fe6e33a 100644 --- a/src/app/ReadClient.cpp +++ b/src/app/ReadClient.cpp @@ -650,7 +650,7 @@ CHIP_ERROR ReadClient::SendSubscribeRequest(ReadPrepareParams & aReadPreparePara mpExchangeCtx = mpExchangeMgr->NewContext(aReadPrepareParams.mSessionHandle, this); VerifyOrExit(mpExchangeCtx != nullptr, err = CHIP_ERROR_NO_MEMORY); - mpExchangeCtx->SetResponseTimeout(kImMessageTimeoutMsec); + mpExchangeCtx->SetResponseTimeout(kImMessageTimeout); err = mpExchangeCtx->SendMessage(Protocols::InteractionModel::MsgType::SubscribeRequest, std::move(msgBuf), Messaging::SendFlags(Messaging::SendMessageFlags::kExpectResponse)); diff --git a/src/app/ReadHandler.cpp b/src/app/ReadHandler.cpp index e0b13b12680c65..a2be6cfd74ad57 100644 --- a/src/app/ReadHandler.cpp +++ b/src/app/ReadHandler.cpp @@ -202,7 +202,7 @@ CHIP_ERROR ReadHandler::SendReportData(System::PacketBufferHandle && aPayload) { VerifyOrReturnLogError(mpExchangeCtx == nullptr, CHIP_ERROR_INCORRECT_STATE); mpExchangeCtx = mpExchangeMgr->NewContext(mSessionHandle.Value(), this); - mpExchangeCtx->SetResponseTimeout(kImMessageTimeoutMsec); + mpExchangeCtx->SetResponseTimeout(kImMessageTimeout); } VerifyOrReturnLogError(mpExchangeCtx != nullptr, CHIP_ERROR_INCORRECT_STATE); MoveToState(HandlerState::AwaitingReportResponse); diff --git a/src/app/ReadPrepareParams.h b/src/app/ReadPrepareParams.h index 2f54b8f1946624..17844adb8ff987 100644 --- a/src/app/ReadPrepareParams.h +++ b/src/app/ReadPrepareParams.h @@ -35,7 +35,7 @@ struct ReadPrepareParams AttributePathParams * mpAttributePathParamsList = nullptr; size_t mAttributePathParamsListSize = 0; EventNumber mEventNumber = 0; - uint32_t mTimeout = kImMessageTimeoutMsec; + System::Clock::Timeout mTimeout = kImMessageTimeout; uint16_t mMinIntervalFloorSeconds = 0; uint16_t mMaxIntervalCeilingSeconds = 0; bool mKeepSubscriptions = true; diff --git a/src/app/WriteClient.cpp b/src/app/WriteClient.cpp index a77f58631ef91c..f6411c55dea896 100644 --- a/src/app/WriteClient.cpp +++ b/src/app/WriteClient.cpp @@ -22,6 +22,7 @@ * */ +#include "lib/core/CHIPError.h" #include #include #include @@ -29,8 +30,7 @@ namespace chip { namespace app { -CHIP_ERROR WriteClient::Init(Messaging::ExchangeManager * apExchangeMgr, InteractionModelDelegate * apDelegate, - uint64_t aApplicationIdentifier) +CHIP_ERROR WriteClient::Init(Messaging::ExchangeManager * apExchangeMgr, Callback * apCallback) { VerifyOrReturnError(apExchangeMgr != nullptr, CHIP_ERROR_INVALID_ARGUMENT); VerifyOrReturnError(mpExchangeMgr == nullptr, CHIP_ERROR_INCORRECT_STATE); @@ -49,9 +49,8 @@ CHIP_ERROR WriteClient::Init(Messaging::ExchangeManager * apExchangeMgr, Interac ClearExistingExchangeContext(); mpExchangeMgr = apExchangeMgr; - mpDelegate = apDelegate; + mpCallback = apCallback; mAttributeStatusIndex = 0; - mAppIdentifier = aApplicationIdentifier; MoveToState(State::Initialized); return CHIP_NO_ERROR; @@ -70,9 +69,10 @@ void WriteClient::ShutdownInternal() mpExchangeMgr = nullptr; mpExchangeCtx = nullptr; - mpDelegate = nullptr; mAttributeStatusIndex = 0; ClearState(); + + mpCallback->OnDone(this); } void WriteClient::ClearExistingExchangeContext() @@ -243,7 +243,7 @@ void WriteClient::ClearState() } CHIP_ERROR WriteClient::SendWriteRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional apSecureSession, - uint32_t timeout) + System::Clock::Timeout timeout) { CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferHandle packet; @@ -287,25 +287,19 @@ CHIP_ERROR WriteClient::OnMessageReceived(Messaging::ExchangeContext * apExchang VerifyOrDie(apExchangeContext == mpExchangeCtx); - // Verify that the message is an Write Response. - // If not, close the exchange and free the payload. - if (!aPayloadHeader.HasMessageType(Protocols::InteractionModel::MsgType::WriteResponse)) - { - ExitNow(); - } + // Verify that the message is an Write Response. If not, this is an unexpected message. + // Signal the error through the error callback and shutdown the client. + VerifyOrExit(aPayloadHeader.HasMessageType(Protocols::InteractionModel::MsgType::WriteResponse), + err = CHIP_ERROR_INVALID_MESSAGE_TYPE); err = ProcessWriteResponseMessage(std::move(aPayload)); exit: - if (mpDelegate != nullptr) + if (mpCallback != nullptr) { if (err != CHIP_NO_ERROR) { - mpDelegate->WriteResponseError(this, err); - } - else - { - mpDelegate->WriteResponseProcessed(this); + mpCallback->OnError(this, err); } } ShutdownInternal(); @@ -317,9 +311,9 @@ void WriteClient::OnResponseTimeout(Messaging::ExchangeContext * apExchangeConte ChipLogProgress(DataManagement, "Time out! failed to receive write response from Exchange: " ChipLogFormatExchange, ChipLogValueExchange(apExchangeContext)); - if (mpDelegate != nullptr) + if (mpCallback != nullptr) { - mpDelegate->WriteResponseError(this, CHIP_ERROR_TIMEOUT); + mpCallback->OnError(this, CHIP_ERROR_TIMEOUT); } ShutdownInternal(); } @@ -366,22 +360,20 @@ CHIP_ERROR WriteClient::ProcessAttributeStatusIB(AttributeStatusIB::Parser & aAt { err = StatusIBParser.DecodeStatusIB(statusIB); SuccessOrExit(err); - if (mpDelegate != nullptr) + if (mpCallback != nullptr) { - mpDelegate->WriteResponseStatus(this, statusIB, attributePathParams, mAttributeStatusIndex); + ConcreteAttributePath path(attributePathParams.mEndpointId, attributePathParams.mClusterId, + attributePathParams.mFieldId); + mpCallback->OnResponse(this, path, statusIB); } } exit: - if (err != CHIP_NO_ERROR && mpDelegate != nullptr) - { - mpDelegate->WriteResponseProtocolError(this, mAttributeStatusIndex); - } return err; } CHIP_ERROR WriteClientHandle::SendWriteRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional apSecureSession, - uint32_t timeout) + System::Clock::Timeout timeout) { CHIP_ERROR err = mpWriteClient->SendWriteRequest(aNodeId, aFabricIndex, apSecureSession, timeout); diff --git a/src/app/WriteClient.h b/src/app/WriteClient.h index 48619d56df2816..f5227a7f13ff3c 100644 --- a/src/app/WriteClient.h +++ b/src/app/WriteClient.h @@ -19,6 +19,7 @@ #pragma once #include +#include #include #include #include @@ -51,6 +52,55 @@ class InteractionModelEngine; class WriteClient : public Messaging::ExchangeDelegate { public: + class Callback + { + public: + virtual ~Callback() = default; + + /** + * OnResponse will be called when a write response has been received + * and processed for the given path. + * + * The WriteClient object MUST continue to exist after this call is completed. The application shall wait until it + * receives an OnDone call before it shuts down the object. + * + * @param[in] apWriteClient: The write client object that initiated the write transaction. + * @param[in] aPath: The attribute path field in write response. + * @param[in] attributeStatus: Attribute-specific status, containing an InteractionModel::Status code as well as + * an optional cluster-specific status code. + */ + virtual void OnResponse(const WriteClient * apWriteClient, const ConcreteAttributePath & aPath, StatusIB attributeStatus) {} + + /** + * OnError will be called when an error occurs *after* a successful call to SendWriteRequest(). The following + * errors will be delivered through this call in the aError field: + * + * - CHIP_ERROR_TIMEOUT: A response was not received within the expected response timeout. + * - CHIP_ERROR_*TLV*: A malformed, non-compliant response was received from the server. + * - CHIP_ERROR*: All other cases. + * + * The WriteClient object MUST continue to exist after this call is completed. The application shall wait until it + * receives an OnDone call before it shuts down the object. + * + * @param[in] apWriteClient: The write client object that initiated the attribute write transaction. + * @param[in] aError: A system error code that conveys the overall error code. + */ + virtual void OnError(const WriteClient * apWriteClient, CHIP_ERROR aError) {} + + /** + * OnDone will be called when WriteClient has finished all work and is reserved for future WriteClient ownership change. + * (#10366) Users may use this function to release their own objects related to this write interaction. + * + * This function will: + * - Always be called exactly *once* for a given WriteClient instance. + * - Be called even in error circumstances. + * - Only be called after a successful call to SendWriteRequest as been made. + * + * @param[in] apWriteClient: The write client object of the terminated write transaction. + */ + virtual void OnDone(WriteClient * apWriteClient) = 0; + }; + /** * Shutdown the WriteClient. This terminates this instance * of the object and releases all held resources. @@ -61,8 +111,6 @@ class WriteClient : public Messaging::ExchangeDelegate CHIP_ERROR FinishAttribute(); TLV::TLVWriter * GetAttributeDataElementTLVWriter(); - uint64_t GetAppIdentifier() const { return mAppIdentifier; } - void SetAppIdentifier(uint64_t aAppIdentifier) { mAppIdentifier = aAppIdentifier; } NodeId GetSourceNodeId() const { return mpExchangeCtx != nullptr ? mpExchangeCtx->GetSecureSession().GetPeerNodeId() : kUndefinedNodeId; @@ -96,7 +144,7 @@ class WriteClient : public Messaging::ExchangeDelegate * consumer is responsible for calling Shutdown on the WriteClient. */ CHIP_ERROR SendWriteRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional apSecureSession, - uint32_t timeout); + System::Clock::Timeout timeout); /** * Initialize the client object. Within the lifetime @@ -109,8 +157,7 @@ class WriteClient : public Messaging::ExchangeDelegate * @retval #CHIP_ERROR_INCORRECT_STATE incorrect state if it is already initialized * @retval #CHIP_NO_ERROR On success. */ - CHIP_ERROR Init(Messaging::ExchangeManager * apExchangeMgr, InteractionModelDelegate * apDelegate, - uint64_t aApplicationIdentifier); + CHIP_ERROR Init(Messaging::ExchangeManager * apExchangeMgr, Callback * apDelegate); virtual ~WriteClient() = default; @@ -140,12 +187,11 @@ class WriteClient : public Messaging::ExchangeDelegate Messaging::ExchangeManager * mpExchangeMgr = nullptr; Messaging::ExchangeContext * mpExchangeCtx = nullptr; - InteractionModelDelegate * mpDelegate = nullptr; + Callback * mpCallback = nullptr; State mState = State::Uninitialized; System::PacketBufferTLVWriter mMessageWriter; WriteRequest::Builder mWriteRequestBuilder; uint8_t mAttributeStatusIndex = 0; - uint64_t mAppIdentifier = 0; }; class WriteClientHandle @@ -173,12 +219,14 @@ class WriteClientHandle */ WriteClient * operator->() const { return mpWriteClient; } + WriteClient * Get() const { return mpWriteClient; } + /** * Finalize the message and send it to the desired node. The underlying write object will always be released, and the user * should not use this object after calling this function. */ CHIP_ERROR SendWriteRequest(NodeId aNodeId, FabricIndex aFabricIndex, Optional apSecureSession, - uint32_t timeout = kImMessageTimeoutMsec); + System::Clock::Timeout timeout = kImMessageTimeout); /** * Encode an attribute value that can be directly encoded using TLVWriter::Put diff --git a/src/app/chip_data_model.gni b/src/app/chip_data_model.gni index 682a479d3d752b..3a70096d21aa2b 100644 --- a/src/app/chip_data_model.gni +++ b/src/app/chip_data_model.gni @@ -91,7 +91,6 @@ template("chip_data_model") { "${_app_root}/clusters/on-off-server/on-off-server.h", "${_app_root}/clusters/scenes/scenes-tokens.h", "${_app_root}/clusters/scenes/scenes.h", - "${_app_root}/clusters/temperature-measurement-server/temperature-measurement-server.h", "${_app_root}/clusters/zll-level-control-server/zll-level-control-server.h", "${_app_root}/clusters/zll-on-off-server/zll-on-off-server.h", "${_app_root}/clusters/zll-scenes-server/zll-scenes-server.h", diff --git a/src/app/clusters/account-login-server/account-login-server.cpp b/src/app/clusters/account-login-server/account-login-server.cpp index 3ecc3ffd216712..fed4e283ac35bd 100644 --- a/src/app/clusters/account-login-server/account-login-server.cpp +++ b/src/app/clusters/account-login-server/account-login-server.cpp @@ -21,15 +21,14 @@ ******************************************************************************* ******************************************************************************/ -#include #include -#include #include #include #include #include using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::AccountLogin; bool accountLoginClusterIsUserLoggedIn(std::string requestTempAccountIdentifier, std::string requestSetupPin); @@ -38,8 +37,8 @@ std::string accountLoginClusterGetSetupPin(std::string requestTempAccountIdentif void sendResponse(app::CommandHandler * command, const char * responseSetupPin) { CHIP_ERROR err = CHIP_NO_ERROR; - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_ACCOUNT_LOGIN_CLUSTER_ID, - ZCL_GET_SETUP_PIN_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, AccountLogin::Id, + Commands::GetSetupPINResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = command->PrepareCommand(cmdParams)); VerifyOrExit((writer = command->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); diff --git a/src/app/clusters/application-launcher-server/application-launcher-server.cpp b/src/app/clusters/application-launcher-server/application-launcher-server.cpp index d47d2f41144387..0ce1a1bf28d37c 100644 --- a/src/app/clusters/application-launcher-server/application-launcher-server.cpp +++ b/src/app/clusters/application-launcher-server/application-launcher-server.cpp @@ -23,9 +23,7 @@ ******************************************************************************/ #include -#include #include -#include #include #include #include @@ -33,6 +31,7 @@ #include using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::ApplicationLauncher; ApplicationLauncherResponse applicationLauncherClusterLaunchApp(::ApplicationLauncherApp application, std::string data); @@ -49,8 +48,8 @@ bool emberAfApplicationLauncherClusterLaunchAppCallback(app::CommandHandler * co void sendResponse(app::CommandHandler * command, ApplicationLauncherResponse response) { CHIP_ERROR err = CHIP_NO_ERROR; - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_APPLICATION_LAUNCHER_CLUSTER_ID, - ZCL_LAUNCH_APP_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ApplicationLauncher::Id, + Commands::LaunchAppResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = command->PrepareCommand(cmdParams)); VerifyOrExit((writer = command->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); diff --git a/src/app/clusters/binary-input-server/binary-input-server.cpp b/src/app/clusters/binary-input-server/binary-input-server.cpp deleted file mode 100644 index 74d95e5dcfb7b5..00000000000000 --- a/src/app/clusters/binary-input-server/binary-input-server.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#include "binary-input-server.h" - -#include - -#include -#include -#include -#include -#include -#include - -using namespace chip; -using namespace chip::app::Clusters; - -#ifndef emberAfBinaryInputBasicClusterPrintln -#define emberAfBinaryInputBasicClusterPrintln(...) ChipLogProgress(Zcl, __VA_ARGS__); -#endif - -EmberAfStatus emberAfBinaryInputBasicClusterGetPresentValue(EndpointId endpoint, bool * presentValue) -{ - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, BinaryInputBasic::Attributes::PresentValue::Id, - (uint8_t *) presentValue, sizeof(uint8_t)); -} - -EmberAfStatus emberAfBinaryInputBasicClusterGetOutOfService(EndpointId endpoint, bool * isOutOfService) -{ - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, BinaryInputBasic::Attributes::OutOfService::Id, - (uint8_t *) isOutOfService, sizeof(uint8_t)); -} - -EmberAfStatus emberAfBinaryInputBasicClusterSetPresentValueCallback(EndpointId endpoint, bool presentValue) -{ - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, BinaryInputBasic::Attributes::PresentValue::Id, - (uint8_t *) &presentValue, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} - -EmberAfStatus emberAfBinaryInputBasicClusterSetOutOfServiceCallback(EndpointId endpoint, bool isOutOfService) -{ - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, BinaryInputBasic::Attributes::OutOfService::Id, - (uint8_t *) &isOutOfService, ZCL_BOOLEAN_ATTRIBUTE_TYPE); -} diff --git a/src/app/clusters/color-control-server/color-control-server.cpp b/src/app/clusters/color-control-server/color-control-server.cpp index 0c677973f95e7e..6c4faffeb73691 100644 --- a/src/app/clusters/color-control-server/color-control-server.cpp +++ b/src/app/clusters/color-control-server/color-control-server.cpp @@ -37,10 +37,7 @@ #include #include -#include -#include #include -#include #include #include #include @@ -94,7 +91,7 @@ bool ColorControlServer::shouldExecuteIfOff(EndpointId endpoint, uint8_t optionM // (FALSE). // - The value of the ExecuteIfOff bit is 0." - if (!emberAfContainsServer(endpoint, ZCL_ON_OFF_CLUSTER_ID)) + if (!emberAfContainsServer(endpoint, OnOff::Id)) { return true; } @@ -257,7 +254,7 @@ uint16_t ColorControlServer::computeTransitionTimeFromStateAndRate(ColorControlS */ EmberEventControl * ColorControlServer::getEventControl(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &eventControls[index]; } @@ -357,7 +354,7 @@ bool ColorControlServer::computeNewColor16uValue(ColorControlServer::Color16uTra */ ColorControlServer::ColorHueTransitionState * ColorControlServer::getColorHueTransitionState(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &colorHueTransitionStates[index]; } @@ -369,7 +366,7 @@ ColorControlServer::ColorHueTransitionState * ColorControlServer::getColorHueTra */ ColorControlServer::Color16uTransitionState * ColorControlServer::getSaturationTransitionState(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &colorSatTransitionStates[index]; } @@ -1520,7 +1517,7 @@ void ColorControlServer::updateHueSatCommand(EndpointId endpoint) */ ColorControlServer::Color16uTransitionState * ColorControlServer::getXTransitionState(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &colorXtransitionStates[index]; } @@ -1532,7 +1529,7 @@ ColorControlServer::Color16uTransitionState * ColorControlServer::getXTransition */ ColorControlServer::Color16uTransitionState * ColorControlServer::getYTransitionState(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &colorYtransitionStates[index]; } @@ -1815,7 +1812,7 @@ void ColorControlServer::updateXYCommand(EndpointId endpoint) */ ColorControlServer::Color16uTransitionState * ColorControlServer::getTempTransitionState(EndpointId endpoint) { - uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID); + uint16_t index = emberAfFindClusterServerEndpointIndex(endpoint, ColorControl::Id); return &colorTempTransitionStates[index]; } @@ -2231,7 +2228,7 @@ void ColorControlServer::levelControlColorTempChangeCommand(EndpointId endpoint) // Control cluster is equal to 0, there SHALL be no link between color // temperature and current level. - if (!emberAfContainsServer(endpoint, ZCL_COLOR_CONTROL_CLUSTER_ID)) + if (!emberAfContainsServer(endpoint, ColorControl::Id)) { return; } diff --git a/src/app/clusters/electrical-measurement-server/electrical-measurement-server.cpp b/src/app/clusters/electrical-measurement-server/electrical-measurement-server.cpp deleted file mode 100644 index 06c0d2af7bc9a3..00000000000000 --- a/src/app/clusters/electrical-measurement-server/electrical-measurement-server.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#include "electrical-measurement-server.h" - -#include - -#include -#include -#include -#include -#include - -using namespace chip; - -EmberAfStatus emberAfElectricalMeasurementClusterGetMeasurementType(EndpointId endpoint, uint32_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_MEASUREMENT_TYPE_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetTotalActivePower(EndpointId endpoint, int32_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_TOTAL_ACTIVE_POWER_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltage(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltageMin(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_MIN_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltageMax(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_MAX_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrent(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrentMin(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_MIN_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrentMax(EndpointId endpoint, uint16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_MAX_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePower(EndpointId endpoint, int16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePowerMin(EndpointId endpoint, int16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_MIN_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePowerMax(EndpointId endpoint, int16_t * value) -{ - return emberAfReadServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_MAX_ATTRIBUTE_ID, - (uint8_t *) value, sizeof(*value)); -} - -EmberAfStatus emberAfElectricalMeasurementClusterSetMeasurementType(EndpointId endpoint, uint32_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_MEASUREMENT_TYPE_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_BITMAP32_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetTotalActivePower(EndpointId endpoint, int32_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_TOTAL_ACTIVE_POWER_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT32S_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltage(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltageMin(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_MIN_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltageMax(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_VOLTAGE_MAX_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrent(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrentMin(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_MIN_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrentMax(EndpointId endpoint, uint16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_RMS_CURRENT_MAX_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16U_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePower(EndpointId endpoint, int16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16S_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePowerMin(EndpointId endpoint, int16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_MIN_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16S_ATTRIBUTE_TYPE); -} -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePowerMax(EndpointId endpoint, int16_t value) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, ZCL_ACTIVE_POWER_MAX_ATTRIBUTE_ID, - (uint8_t *) &value, ZCL_INT16S_ATTRIBUTE_TYPE); -} diff --git a/src/app/clusters/electrical-measurement-server/electrical-measurement-server.h b/src/app/clusters/electrical-measurement-server/electrical-measurement-server.h deleted file mode 100644 index 2f257968d2b4ad..00000000000000 --- a/src/app/clusters/electrical-measurement-server/electrical-measurement-server.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#pragma once - -#include - -EmberAfStatus emberAfElectricalMeasurementClusterGetMeasurementType(chip::EndpointId endpoint, uint32_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetTotalActivePower(chip::EndpointId endpoint, int32_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltage(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltageMin(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsVoltageMax(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrent(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrentMin(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetRmsCurrentMax(chip::EndpointId endpoint, uint16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePower(chip::EndpointId endpoint, int16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePowerMin(chip::EndpointId endpoint, int16_t * value); -EmberAfStatus emberAfElectricalMeasurementClusterGetActivePowerMax(chip::EndpointId endpoint, int16_t * value); - -EmberAfStatus emberAfElectricalMeasurementClusterSetMeasurementType(chip::EndpointId endpoint, uint32_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetTotalActivePower(chip::EndpointId endpoint, int32_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltage(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltageMin(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsVoltageMax(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrent(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrentMin(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetRmsCurrentMax(chip::EndpointId endpoint, uint16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePower(chip::EndpointId endpoint, int16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePowerMin(chip::EndpointId endpoint, int16_t value); -EmberAfStatus emberAfElectricalMeasurementClusterSetActivePowerMax(chip::EndpointId endpoint, int16_t value); diff --git a/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp b/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp index e3a8b8e6a7dda9..e3239ec676a6ed 100644 --- a/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp +++ b/src/app/clusters/general-commissioning-server/general-commissioning-server.cpp @@ -36,7 +36,7 @@ bool emberAfGeneralCommissioningClusterArmFailSafeCallback(app::CommandHandler * const app::ConcreteCommandPath & commandPath, const Commands::ArmFailSafe::DecodableType & commandData) { - auto & expiryLengthSeconds = commandData.expiryLengthSeconds; + auto expiryLengthSeconds = System::Clock::Seconds16(commandData.expiryLengthSeconds); CHIP_ERROR err = DeviceLayer::Internal::DeviceControlServer::DeviceControlSvr().ArmFailSafe(expiryLengthSeconds); emberAfSendImmediateDefaultResponse(err == CHIP_NO_ERROR ? EMBER_ZCL_STATUS_SUCCESS : EMBER_ZCL_STATUS_FAILURE); diff --git a/src/app/clusters/groups-server/groups-server.cpp b/src/app/clusters/groups-server/groups-server.cpp index 12422530369595..eeb56a451a0bab 100644 --- a/src/app/clusters/groups-server/groups-server.cpp +++ b/src/app/clusters/groups-server/groups-server.cpp @@ -46,12 +46,8 @@ // ******************************************************************* #include "groups-server.h" -#include -#include -#include -#include +#include #include -#include #include #include #include @@ -62,6 +58,7 @@ #endif // EMBER_AF_PLUGIN_SCENES using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::Groups; static bool isGroupPresent(EndpointId endpoint, GroupId groupId); @@ -76,8 +73,7 @@ void emberAfGroupsClusterServerInitCallback(EndpointId endpoint) // Group names are not supported by this plugin. EmberAfStatus status; uint8_t nameSupport = (uint8_t) emberAfPluginGroupsServerGroupNamesSupportedCallback(endpoint); - status = emberAfWriteAttribute(endpoint, ZCL_GROUPS_CLUSTER_ID, ZCL_GROUP_NAME_SUPPORT_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) &nameSupport, ZCL_BITMAP8_ATTRIBUTE_TYPE); + status = Attributes::NameSupport::Set(endpoint, nameSupport); if (status != EMBER_ZCL_STATUS_SUCCESS) { emberAfGroupsClusterPrintln("ERR: writing name support %x", status); @@ -174,8 +170,8 @@ bool emberAfGroupsClusterAddGroupCallback(app::CommandHandler * commandObj, cons } { - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_GROUPS_CLUSTER_ID, - ZCL_ADD_GROUP_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, Groups::Id, Commands::AddGroupResponse::Id, + (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = commandObj->PrepareCommand(cmdParams)); VerifyOrExit((writer = commandObj->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); @@ -218,8 +214,8 @@ bool emberAfGroupsClusterViewGroupCallback(app::CommandHandler * commandObj, con } { - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_GROUPS_CLUSTER_ID, - ZCL_VIEW_GROUP_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, Groups::Id, + Commands::ViewGroupResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = commandObj->PrepareCommand(cmdParams)); VerifyOrExit((writer = commandObj->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); @@ -316,8 +312,8 @@ bool emberAfGroupsClusterGetGroupMembershipCallback(app::CommandHandler * comman // used for other purposes besides groups, we can't be sure what the // capacity will be in the future. { - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_GROUPS_CLUSTER_ID, - ZCL_GET_GROUP_MEMBERSHIP_RESPONSE_COMMAND_ID, + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, Groups::Id, + Commands::GetGroupMembershipResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = commandObj->PrepareCommand(cmdParams)); @@ -369,8 +365,8 @@ bool emberAfGroupsClusterRemoveGroupCallback(app::CommandHandler * commandObj, c // removed the scenes associated with that group SHOULD be removed." emberAfScenesClusterRemoveScenesInGroupCallback(emberAfCurrentEndpoint(), groupId); { - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_GROUPS_CLUSTER_ID, - ZCL_REMOVE_GROUP_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, Groups::Id, + Commands::RemoveGroupResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = commandObj->PrepareCommand(cmdParams)); VerifyOrExit((writer = commandObj->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); diff --git a/src/app/clusters/media-input-server/media-input-server.cpp b/src/app/clusters/media-input-server/media-input-server.cpp index b977c44207342b..d431a51cb9dc95 100644 --- a/src/app/clusters/media-input-server/media-input-server.cpp +++ b/src/app/clusters/media-input-server/media-input-server.cpp @@ -21,17 +21,15 @@ ******************************************************************************* ******************************************************************************/ -#include -#include -#include +#include #include -#include #include #include #include #include using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::MediaInput; bool mediaInputClusterSelectInput(uint8_t input); @@ -41,8 +39,7 @@ bool mediaInputClusterRenameInput(uint8_t input, std::string name); static void storeCurrentInput(EndpointId endpoint, uint8_t currentInput) { - EmberAfStatus status = emberAfWriteServerAttribute( - endpoint, ZCL_MEDIA_INPUT_CLUSTER_ID, ZCL_MEDIA_INPUT_CURRENT_INPUT_ATTRIBUTE_ID, ¤tInput, ZCL_INT8U_ATTRIBUTE_TYPE); + EmberAfStatus status = Attributes::CurrentMediaInput::Set(endpoint, currentInput); if (status != EMBER_ZCL_STATUS_SUCCESS) { ChipLogError(Zcl, "Failed to store media playback attribute."); diff --git a/src/app/clusters/media-playback-server/media-playback-server.cpp b/src/app/clusters/media-playback-server/media-playback-server.cpp index cc4477398de35e..d0615acbb994b5 100644 --- a/src/app/clusters/media-playback-server/media-playback-server.cpp +++ b/src/app/clusters/media-playback-server/media-playback-server.cpp @@ -22,18 +22,15 @@ ******************************************************************************* ******************************************************************************/ -#include -#include -#include +#include #include -#include -#include #include #include #include #include using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::MediaPlayback; EmberAfMediaPlaybackStatus mediaPlaybackClusterSendMediaPlaybackRequest(MediaPlaybackRequest mediaPlaybackRequest, @@ -41,8 +38,7 @@ EmberAfMediaPlaybackStatus mediaPlaybackClusterSendMediaPlaybackRequest(MediaPla static void writePlaybackState(EndpointId endpoint, uint8_t playbackState) { - EmberAfStatus status = emberAfWriteServerAttribute( - endpoint, ZCL_MEDIA_PLAYBACK_CLUSTER_ID, ZCL_MEDIA_PLAYBACK_STATE_ATTRIBUTE_ID, &playbackState, ZCL_INT8U_ATTRIBUTE_TYPE); + EmberAfStatus status = Attributes::PlaybackState::Set(endpoint, playbackState); if (status != EMBER_ZCL_STATUS_SUCCESS) { ChipLogError(Zcl, "Failed to store media playback attribute."); @@ -52,8 +48,7 @@ static void writePlaybackState(EndpointId endpoint, uint8_t playbackState) static uint8_t readPlaybackStatus(EndpointId endpoint) { uint8_t playbackState; - EmberAfStatus status = emberAfReadServerAttribute(endpoint, ZCL_MEDIA_PLAYBACK_CLUSTER_ID, - ZCL_MEDIA_PLAYBACK_STATE_ATTRIBUTE_ID, &playbackState, sizeof(uint8_t)); + EmberAfStatus status = Attributes::PlaybackState::Get(endpoint, &playbackState); if (status != EMBER_ZCL_STATUS_SUCCESS) { ChipLogError(Zcl, "Failed to read media playback attribute."); @@ -80,7 +75,7 @@ static void sendResponse(app::CommandHandler * command, const char * responseNam EmberAfMediaPlaybackStatus mediaPlaybackStatus) { CHIP_ERROR err = CHIP_NO_ERROR; - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_MEDIA_PLAYBACK_CLUSTER_ID, commandId, + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, MediaPlayback::Id, commandId, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; @@ -102,7 +97,7 @@ bool emberAfMediaPlaybackClusterMediaPlayCallback(app::CommandHandler * command, { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_PLAY, 0); storeNewPlaybackState(emberAfCurrentEndpoint(), EMBER_ZCL_MEDIA_PLAYBACK_STATE_PLAYING); - sendResponse(command, "MediaPlayResponse", ZCL_MEDIA_PLAY_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaPlayResponse", Commands::MediaPlayResponse::Id, status); return true; } @@ -111,7 +106,7 @@ bool emberAfMediaPlaybackClusterMediaPauseCallback(app::CommandHandler * command { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_PAUSE, 0); storeNewPlaybackState(emberAfCurrentEndpoint(), EMBER_ZCL_MEDIA_PLAYBACK_STATE_PAUSED); - sendResponse(command, "MediaPauseResponse", ZCL_MEDIA_PAUSE_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaPauseResponse", Commands::MediaPauseResponse::Id, status); return true; } @@ -120,7 +115,7 @@ bool emberAfMediaPlaybackClusterMediaStopCallback(app::CommandHandler * command, { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_STOP, 0); storeNewPlaybackState(emberAfCurrentEndpoint(), EMBER_ZCL_MEDIA_PLAYBACK_STATE_NOT_PLAYING); - sendResponse(command, "MediaStopResponse", ZCL_MEDIA_STOP_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaStopResponse", Commands::MediaStopResponse::Id, status); return true; } @@ -129,7 +124,7 @@ bool emberAfMediaPlaybackClusterMediaFastForwardCallback(app::CommandHandler * c const Commands::MediaFastForward::DecodableType & commandData) { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_FAST_FORWARD, 0); - sendResponse(command, "MediaFastForward", ZCL_MEDIA_FAST_FORWARD_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaFastForward", Commands::MediaFastForwardResponse::Id, status); return true; } @@ -137,7 +132,7 @@ bool emberAfMediaPlaybackClusterMediaPreviousCallback(app::CommandHandler * comm const Commands::MediaPrevious::DecodableType & commandData) { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_PREVIOUS, 0); - sendResponse(command, "MediaPrevious", ZCL_MEDIA_PREVIOUS_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaPrevious", Commands::MediaPreviousResponse::Id, status); return true; } @@ -145,7 +140,7 @@ bool emberAfMediaPlaybackClusterMediaRewindCallback(app::CommandHandler * comman const Commands::MediaRewind::DecodableType & commandData) { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_REWIND, 0); - sendResponse(command, "MediaRewind", ZCL_MEDIA_REWIND_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaRewind", Commands::MediaRewindResponse::Id, status); return true; } @@ -157,7 +152,7 @@ bool emberAfMediaPlaybackClusterMediaSkipBackwardCallback(app::CommandHandler * EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_SKIP_BACKWARD, deltaPositionMilliseconds); - sendResponse(command, "MediaSkipBackward", ZCL_MEDIA_SKIP_BACKWARD_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaSkipBackward", Commands::MediaSkipBackwardResponse::Id, status); return true; } @@ -169,7 +164,7 @@ bool emberAfMediaPlaybackClusterMediaSkipForwardCallback(app::CommandHandler * c EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_SKIP_FORWARD, deltaPositionMilliseconds); - sendResponse(command, "MediaSkipForward", ZCL_MEDIA_SKIP_FORWARD_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaSkipForward", Commands::MediaSkipForwardResponse::Id, status); return true; } @@ -180,7 +175,7 @@ bool emberAfMediaPlaybackClusterMediaSeekCallback(app::CommandHandler * command, EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_SEEK, positionMilliseconds); - sendResponse(command, "MediaSeek", ZCL_MEDIA_SEEK_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaSeek", Commands::MediaSeekResponse::Id, status); return true; } @@ -188,13 +183,13 @@ bool emberAfMediaPlaybackClusterMediaNextCallback(app::CommandHandler * command, const Commands::MediaNext::DecodableType & commandData) { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_NEXT, 0); - sendResponse(command, "MediaNext", ZCL_MEDIA_NEXT_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaNext", Commands::MediaNextResponse::Id, status); return true; } bool emberAfMediaPlaybackClusterMediaStartOverCallback(app::CommandHandler * command, const app::ConcreteCommandPath & commandPath, const Commands::MediaStartOver::DecodableType & commandData) { EmberAfMediaPlaybackStatus status = mediaPlaybackClusterSendMediaPlaybackRequest(MEDIA_PLAYBACK_REQUEST_START_OVER, 0); - sendResponse(command, "MediaStartOver", ZCL_MEDIA_START_OVER_RESPONSE_COMMAND_ID, status); + sendResponse(command, "MediaStartOver", Commands::MediaStartOverResponse::Id, status); return true; } diff --git a/src/app/clusters/on-off-server/on-off-server.cpp b/src/app/clusters/on-off-server/on-off-server.cpp index ef070944cec2d5..ae15e6e6db7553 100644 --- a/src/app/clusters/on-off-server/on-off-server.cpp +++ b/src/app/clusters/on-off-server/on-off-server.cpp @@ -40,12 +40,8 @@ ******************************************************************************/ #include "on-off-server.h" -#include -#include -#include -#include +#include #include -#include #include #include @@ -65,6 +61,7 @@ #endif using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::OnOff; #ifdef ZCL_USING_ON_OFF_CLUSTER_START_UP_ON_OFF_ATTRIBUTE @@ -79,9 +76,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c emberAfOnOffClusterPrintln("On/Off set value: %x %x", endpoint, command); // read current on/off value - status = emberAfReadAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) ¤tValue, sizeof(currentValue), - NULL); // data type + status = Attributes::OnOff::Get(endpoint, ¤tValue); if (status != EMBER_ZCL_STATUS_SUCCESS) { emberAfOnOffClusterPrintln("ERR: reading on/off %x", status); @@ -89,7 +84,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c } // if the value is already what we want to set it to then do nothing - if ((!currentValue && command == ZCL_OFF_COMMAND_ID) || (currentValue && command == ZCL_ON_COMMAND_ID)) + if ((!currentValue && command == Commands::Off::Id) || (currentValue && command == Commands::On::Id)) { emberAfOnOffClusterPrintln("On/off already set to new value"); return EMBER_ZCL_STATUS_SUCCESS; @@ -108,8 +103,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c if (newValue) { // write the new on/off value - status = emberAfWriteAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) &newValue, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + status = Attributes::OnOff::Set(endpoint, newValue); if (status != EMBER_ZCL_STATUS_SUCCESS) { emberAfOnOffClusterPrintln("ERR: writing on/off %x", status); @@ -119,7 +113,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c #ifdef EMBER_AF_PLUGIN_LEVEL_CONTROL // If initiatedByLevelChange is false, then we assume that the level change // ZCL stuff has not happened and we do it here - if (!initiatedByLevelChange && emberAfContainsServer(endpoint, ZCL_LEVEL_CONTROL_CLUSTER_ID)) + if (!initiatedByLevelChange && emberAfContainsServer(endpoint, LevelControl::Id)) { emberAfOnOffClusterLevelControlEffectCallback(endpoint, newValue); } @@ -130,15 +124,14 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c #ifdef EMBER_AF_PLUGIN_LEVEL_CONTROL // If initiatedByLevelChange is false, then we assume that the level change // ZCL stuff has not happened and we do it here - if (!initiatedByLevelChange && emberAfContainsServer(endpoint, ZCL_LEVEL_CONTROL_CLUSTER_ID)) + if (!initiatedByLevelChange && emberAfContainsServer(endpoint, LevelControl::Id)) { emberAfOnOffClusterLevelControlEffectCallback(endpoint, newValue); } #endif // EMBER_AF_PLUGIN_LEVEL_CONTROL // write the new on/off value - status = emberAfWriteAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) &newValue, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + status = Attributes::OnOff::Set(endpoint, newValue); if (status != EMBER_ZCL_STATUS_SUCCESS) { emberAfOnOffClusterPrintln("ERR: writing on/off %x", status); @@ -157,7 +150,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c // the scene has been changed (the value of on/off has changed) so // the current scene as descibed in the attribute table is invalid, // so mark it as invalid (just writes the valid/invalid attribute) - if (emberAfContainsServer(endpoint, ZCL_SCENES_CLUSTER_ID)) + if (emberAfContainsServer(endpoint, Scenes::Id)) { emberAfScenesClusterMakeInvalidCallback(endpoint); } @@ -171,7 +164,7 @@ EmberAfStatus emberAfOnOffClusterSetValueCallback(EndpointId endpoint, uint8_t c bool emberAfOnOffClusterOffCallback(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const Commands::Off::DecodableType & commandData) { - EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), ZCL_OFF_COMMAND_ID, false); + EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), Commands::Off::Id, false); #ifdef EMBER_AF_PLUGIN_ZLL_ON_OFF_SERVER if (status == EMBER_ZCL_STATUS_SUCCESS) { @@ -185,7 +178,7 @@ bool emberAfOnOffClusterOffCallback(app::CommandHandler * commandObj, const app: bool emberAfOnOffClusterOnCallback(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const Commands::On::DecodableType & commandData) { - EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), ZCL_ON_COMMAND_ID, false); + EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), Commands::On::Id, false); #ifdef EMBER_AF_PLUGIN_ZLL_ON_OFF_SERVER if (status == EMBER_ZCL_STATUS_SUCCESS) { @@ -199,7 +192,7 @@ bool emberAfOnOffClusterOnCallback(app::CommandHandler * commandObj, const app:: bool emberAfOnOffClusterToggleCallback(app::CommandHandler * commandObj, const app::ConcreteCommandPath & commandPath, const Commands::Toggle::DecodableType & commandData) { - EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), ZCL_TOGGLE_COMMAND_ID, false); + EmberAfStatus status = emberAfOnOffClusterSetValueCallback(emberAfCurrentEndpoint(), Commands::Toggle::Id, false); #ifdef EMBER_AF_PLUGIN_ZLL_ON_OFF_SERVER if (status == EMBER_ZCL_STATUS_SUCCESS) { @@ -235,14 +228,12 @@ void emberAfOnOffClusterServerInitCallback(EndpointId endpoint) // Initialize startUpOnOff to No action value 0xFE uint8_t startUpOnOff = 0xFE; - EmberAfStatus status = emberAfReadAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_START_UP_ON_OFF_ATTRIBUTE_ID, - CLUSTER_MASK_SERVER, (uint8_t *) &startUpOnOff, sizeof(startUpOnOff), NULL); + EmberAfStatus status = Attributes::StartUpOnOff::Get(endpoint, &startUpOnOff); if (status == EMBER_ZCL_STATUS_SUCCESS) { // Initialise updated value to 0 bool updatedOnOff = 0; - status = emberAfReadAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) &updatedOnOff, sizeof(updatedOnOff), NULL); + status = Attributes::OnOff::Get(endpoint, &udpateOnOff); if (status == EMBER_ZCL_STATUS_SUCCESS) { switch (startUpOnOff) @@ -263,8 +254,7 @@ void emberAfOnOffClusterServerInitCallback(EndpointId endpoint) // no action. break; } - status = emberAfWriteAttribute(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, - (uint8_t *) &updatedOnOff, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + status = Attributes::OnOff::Set(endpoint, updatedOnOff); } } } @@ -277,15 +267,15 @@ static bool areStartUpOnOffServerAttributesTokenized(EndpointId endpoint) { EmberAfAttributeMetadata * metadata; - metadata = emberAfLocateAttributeMetadata(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_ON_OFF_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, + metadata = emberAfLocateAttributeMetadata(endpoint, OnOff::Id, Attributes::OnOff::Id, CLUSTER_MASK_SERVER, EMBER_AF_NULL_MANUFACTURER_CODE); if (!emberAfAttributeIsTokenized(metadata)) { return false; } - metadata = emberAfLocateAttributeMetadata(endpoint, ZCL_ON_OFF_CLUSTER_ID, ZCL_START_UP_ON_OFF_ATTRIBUTE_ID, - CLUSTER_MASK_SERVER, EMBER_AF_NULL_MANUFACTURER_CODE); + metadata = emberAfLocateAttributeMetadata(endpoint, OnOff::Id, Attributes::StartUpOnOff::Id, CLUSTER_MASK_SERVER, + EMBER_AF_NULL_MANUFACTURER_CODE); if (!emberAfAttributeIsTokenized(metadata)) { return false; 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 2715f2761c8cab..b41b81bc49373e 100644 --- a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp +++ b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp @@ -21,12 +21,8 @@ ***************************************************************************/ #include -#include -#include #include -#include #include -#include #include #include #include @@ -53,6 +49,7 @@ using namespace chip; using namespace ::chip::DeviceLayer; using namespace ::chip::Transport; using namespace chip::app; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::OperationalCredentials; namespace { @@ -136,10 +133,10 @@ EmberAfStatus writeFabricAttribute(uint8_t * buffer, int32_t index = -1) { EmberAfAttributeSearchRecord record; record.endpoint = 0; - record.clusterId = ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID; + record.clusterId = OperationalCredentials::Id; record.clusterMask = CLUSTER_MASK_SERVER; record.manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE; - record.attributeId = ZCL_FABRICS_ATTRIBUTE_ID; + record.attributeId = Attributes::FabricsList::Id; // When reading or writing a List attribute the 'index' value could have 3 types of values: // -1: Read/Write the whole list content, including the number of elements in the list @@ -407,8 +404,8 @@ FabricInfo gFabricBeingCommissioned; CHIP_ERROR SendNOCResponse(app::Command * commandObj, EmberAfNodeOperationalCertStatus status, uint8_t index, CharSpan debug_text) { - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID, - ZCL_NOC_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, OperationalCredentials::Id, + Commands::NOCResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; VerifyOrReturnError(commandObj != nullptr, CHIP_ERROR_INCORRECT_STATE); diff --git a/src/app/clusters/ota-provider/ota-provider.cpp b/src/app/clusters/ota-provider/ota-provider.cpp index 724090aabd2807..b058f14aab7ad2 100644 --- a/src/app/clusters/ota-provider/ota-provider.cpp +++ b/src/app/clusters/ota-provider/ota-provider.cpp @@ -16,14 +16,8 @@ * limitations under the License. */ -#include -#include -#include #include -#include #include -#include -#include #include #include #include @@ -34,10 +28,12 @@ #include "ota-provider.h" using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::OtaSoftwareUpdateProvider; using chip::app::Clusters::OTAProviderDelegate; namespace { +constexpr size_t kLocationLen = 2; // The expected length of the location parameter in QueryImage constexpr size_t kMaxMetadataLen = 512; // The maximum length of Metadata in any OTA Provider command constexpr size_t kUpdateTokenMaxLength = 32; // The expected length of the Update Token parameter used in multiple commands constexpr size_t kUpdateTokenMinLength = 8; // The expected length of the Update Token parameter used in multiple commands @@ -46,7 +42,7 @@ OTAProviderDelegate * gDelegateTable[EMBER_AF_OTA_PROVIDER_CLUSTER_SERVER_ENDPOI OTAProviderDelegate * GetDelegate(EndpointId endpoint) { - uint16_t ep = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_OTA_PROVIDER_CLUSTER_ID); + uint16_t ep = emberAfFindClusterServerEndpointIndex(endpoint, OtaSoftwareUpdateProvider::Id); return (ep == 0xFFFF ? NULL : gDelegateTable[ep]); } @@ -174,6 +170,7 @@ bool emberAfOtaSoftwareUpdateProviderClusterQueryImageCallback(app::CommandHandl auto & hardwareVersion = commandData.hardwareVersion; auto & softwareVersion = commandData.softwareVersion; auto & protocolsSupported = commandData.protocolsSupported; + auto & location = commandData.location; auto & requestorCanConsent = commandData.requestorCanConsent; auto & metadataForProvider = commandData.metadataForProvider; @@ -189,14 +186,22 @@ bool emberAfOtaSoftwareUpdateProviderClusterQueryImageCallback(app::CommandHandl ChipLogDetail(Zcl, "OTA Provider received QueryImage"); + if (location.size() != kLocationLen) + { + ChipLogError(Zcl, "location param length %zu != expected length %zu", location.size(), kLocationLen); + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_ARGUMENT); + return true; + } + if (metadataForProvider.size() > kMaxMetadataLen) { ChipLogError(Zcl, "metadata size %zu exceeds max %zu", metadataForProvider.size(), kMaxMetadataLen); emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_INVALID_ARGUMENT); + return true; } status = delegate->HandleQueryImage(commandObj, vendorId, productId, hardwareVersion, softwareVersion, protocolsSupported, - commandData.location, requestorCanConsent, metadataForProvider); + location, requestorCanConsent, metadataForProvider); if (status != EMBER_ZCL_STATUS_SUCCESS) { emberAfSendImmediateDefaultResponse(status); @@ -212,7 +217,7 @@ namespace OTAProvider { void SetDelegate(EndpointId endpoint, OTAProviderDelegate * delegate) { - uint16_t ep = emberAfFindClusterServerEndpointIndex(endpoint, ZCL_OTA_PROVIDER_CLUSTER_ID); + uint16_t ep = emberAfFindClusterServerEndpointIndex(endpoint, OtaSoftwareUpdateProvider::Id); if (ep != 0xFFFF) { gDelegateTable[ep] = delegate; diff --git a/src/app/clusters/power-source-server/power-source-server.cpp b/src/app/clusters/power-source-server/power-source-server.cpp deleted file mode 100644 index c298ba2ea7469e..00000000000000 --- a/src/app/clusters/power-source-server/power-source-server.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/** - * - * Copyright (c) 2020 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. - */ - -/** - * - * Copyright (c) 2020 Silicon Labs - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance 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 "power-source-server.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace chip; - -#ifndef emberAfPowerSourceClusterPrintln -#define emberAfPowerSourceClusterPrintln(...) ChipLogProgress(Zcl, __VA_ARGS__); -#endif - -//------------------------------------------------------------------------------ -// Callbacks -//------------------------------------------------------------------------------ - -/** @brief Power Source Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfPowerSourceClusterInitCallback(chip::EndpointId endpoint) -{ - emberAfPowerSourceClusterPrintln("Power Source Cluster init"); -} diff --git a/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.cpp b/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.cpp deleted file mode 100644 index 3c7fb9a3a07ca8..00000000000000 --- a/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#include "relative-humidity-measurement-server.h" - -#include -#include -#include -#include -#include -#include -#include - -using namespace chip; - -#ifndef emberAfRelativeHumidityMeasurementClusterPrintln -#define emberAfRelativeHumidityMeasurementClusterPrintln(...) ChipLogProgress(Zcl, __VA_ARGS__); -#endif - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMeasuredValue(EndpointId endpoint, uint16_t * measuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) measuredValue, - sizeof(*measuredValue)); -} - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMinMeasuredValue(EndpointId endpoint, uint16_t * minMeasuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MIN_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) minMeasuredValue, - sizeof(*minMeasuredValue)); -} - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMaxMeasuredValue(EndpointId endpoint, uint16_t * maxMeasuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MAX_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) maxMeasuredValue, - sizeof(*maxMeasuredValue)); -} - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMeasuredValueCallback(EndpointId endpoint, uint16_t measuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) &measuredValue, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMinMeasuredValueCallback(EndpointId endpoint, uint16_t minMeasuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MIN_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) &minMeasuredValue, - ZCL_INT16U_ATTRIBUTE_TYPE); -} - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMaxMeasuredValueCallback(EndpointId endpoint, uint16_t maxMeasuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, - ZCL_RELATIVE_HUMIDITY_MAX_MEASURED_VALUE_ATTRIBUTE_ID, (uint8_t *) &maxMeasuredValue, - ZCL_INT16U_ATTRIBUTE_TYPE); -} diff --git a/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.h b/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.h deleted file mode 100644 index 057ddeb7de4189..00000000000000 --- a/src/app/clusters/relative-humidity-measurement-server/relative-humidity-measurement-server.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#pragma once - -#include - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMeasuredValueCallback(chip::EndpointId endpoint, uint16_t measuredValue); -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMinMeasuredValueCallback(chip::EndpointId endpoint, - uint16_t minMeasuredValue); -EmberAfStatus emberAfRelativeHumidityMeasurementClusterSetMaxMeasuredValueCallback(chip::EndpointId endpoint, - uint16_t maxMeasuredValue); - -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMeasuredValue(chip::EndpointId endpoint, uint16_t * measuredValue); -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMinMeasuredValue(chip::EndpointId endpoint, uint16_t * minMeasuredValue); -EmberAfStatus emberAfRelativeHumidityMeasurementClusterGetMaxMeasuredValue(chip::EndpointId endpoint, uint16_t * maxMeasuredValue); diff --git a/src/app/clusters/target-navigator-server/target-navigator-server.cpp b/src/app/clusters/target-navigator-server/target-navigator-server.cpp index b2f9632dbf4934..4aea5e894fc446 100644 --- a/src/app/clusters/target-navigator-server/target-navigator-server.cpp +++ b/src/app/clusters/target-navigator-server/target-navigator-server.cpp @@ -22,11 +22,7 @@ ******************************************************************************* ******************************************************************************/ -#include -#include #include -#include -#include #include #include #include diff --git a/src/app/clusters/temperature-measurement-server/temperature-measurement-server.cpp b/src/app/clusters/temperature-measurement-server/temperature-measurement-server.cpp deleted file mode 100644 index f10a4b85eb92ec..00000000000000 --- a/src/app/clusters/temperature-measurement-server/temperature-measurement-server.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#include "temperature-measurement-server.h" - -#include -#include -#include -#include -#include -#include -#include - -using namespace chip; - -#ifndef emberAfTemperatureMeasurementClusterPrintln -#define emberAfTemperatureMeasurementClusterPrintln(...) ChipLogProgress(Zcl, __VA_ARGS__); -#endif - -EmberAfStatus emberAfTemperatureMeasurementClusterGetMeasuredValue(EndpointId endpoint, int16_t * measuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) measuredValue, sizeof(*measuredValue)); -} - -EmberAfStatus emberAfTemperatureMeasurementClusterGetMinMeasuredValue(EndpointId endpoint, int16_t * minMeasuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MIN_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); -} - -EmberAfStatus emberAfTemperatureMeasurementClusterGetMaxMeasuredValue(EndpointId endpoint, int16_t * maxMeasuredValue) -{ - return emberAfReadServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MAX_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); -} - -EmberAfStatus emberAfTemperatureMeasurementClusterSetMeasuredValueCallback(EndpointId endpoint, int16_t measuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) &measuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus emberAfTemperatureMeasurementClusterSetMinMeasuredValueCallback(EndpointId endpoint, int16_t minMeasuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MIN_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) &minMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); -} - -EmberAfStatus emberAfTemperatureMeasurementClusterSetMaxMeasuredValueCallback(EndpointId endpoint, int16_t maxMeasuredValue) -{ - return emberAfWriteServerAttribute(endpoint, ZCL_TEMP_MEASUREMENT_CLUSTER_ID, ZCL_TEMP_MAX_MEASURED_VALUE_ATTRIBUTE_ID, - (uint8_t *) &maxMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); -} diff --git a/src/app/clusters/temperature-measurement-server/temperature-measurement-server.h b/src/app/clusters/temperature-measurement-server/temperature-measurement-server.h deleted file mode 100644 index 9a5c5999d6653b..00000000000000 --- a/src/app/clusters/temperature-measurement-server/temperature-measurement-server.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * Copyright (c) 2021 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. - */ - -#pragma once - -#include - -/** @brief Temperature Measurement Cluster Server Set Value - * - * Update the Temperature Measure Value - * - * @param endpoint Ver.: always - * @param value Ver.: always - * - */ -EmberAfStatus emberAfTemperatureMeasurementClusterSetMeasuredValueCallback(chip::EndpointId endpoint, int16_t measuredValue); -EmberAfStatus emberAfTemperatureMeasurementClusterSetMinMeasuredValueCallback(chip::EndpointId endpoint, int16_t minMeasuredValue); -EmberAfStatus emberAfTemperatureMeasurementClusterSetMaxMeasuredValueCallback(chip::EndpointId endpoint, int16_t maxMeasuredValue); - -EmberAfStatus emberAfTemperatureMeasurementClusterGetMeasuredValue(chip::EndpointId endpoint, int16_t * measuredValue); -EmberAfStatus emberAfTemperatureMeasurementClusterGetMinMeasuredValue(chip::EndpointId endpoint, int16_t * minMeasuredValue); -EmberAfStatus emberAfTemperatureMeasurementClusterGetMaxMeasuredValue(chip::EndpointId endpoint, int16_t * maxMeasuredValue); diff --git a/src/app/clusters/test-cluster-server/test-cluster-server.cpp b/src/app/clusters/test-cluster-server/test-cluster-server.cpp index 01bec699d75ef7..d971c1b49eac4f 100644 --- a/src/app/clusters/test-cluster-server/test-cluster-server.cpp +++ b/src/app/clusters/test-cluster-server/test-cluster-server.cpp @@ -20,18 +20,12 @@ * @brief Implementation for the Test Server Cluster ***************************************************************************/ -#include -#include -#include -#include #include -#include #include #include #include #include #include -#include #include #include #include @@ -94,7 +88,7 @@ EmberAfStatus writeAttribute(EndpointId endpoint, AttributeId attributeId, uint8 { EmberAfAttributeSearchRecord record; record.endpoint = endpoint; - record.clusterId = ZCL_TEST_CLUSTER_ID; + record.clusterId = TestCluster::Id; record.clusterMask = CLUSTER_MASK_SERVER; record.manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE; record.attributeId = attributeId; @@ -394,15 +388,9 @@ bool emberAfTestClusterClusterTestListInt8UReverseRequestCallback( CommandHandler * commandObj, ConcreteCommandPath const & commandPath, Commands::TestListInt8UReverseRequest::DecodableType const & commandData) { - size_t count = 0; - { - auto iter = commandData.arg1.begin(); - while (iter.Next()) - { - ++count; - } - VerifyOrExit(iter.GetStatus() == CHIP_NO_ERROR, ); - } + size_t count = 0; + CHIP_ERROR err = commandData.arg1.ComputeSize(&count); + VerifyOrExit(err == CHIP_NO_ERROR, ); { auto iter = commandData.arg1.begin(); @@ -427,6 +415,21 @@ bool emberAfTestClusterClusterTestListInt8UReverseRequestCallback( return true; } +bool emberAfTestClusterClusterTestEnumsRequestCallback(CommandHandler * commandObj, ConcreteCommandPath const & commandPath, + TestEnumsRequest::DecodableType const & commandData) +{ + TestEnumsResponse::Type response; + response.arg1 = commandData.arg1; + response.arg2 = commandData.arg2; + + CHIP_ERROR err = commandObj->AddResponseData(commandPath, response); + if (err != CHIP_NO_ERROR) + { + emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_FAILURE); + } + return true; +} + // ----------------------------------------------------------------------------- // Plugin initialization @@ -440,7 +443,7 @@ void MatterTestClusterPluginServerInitCallback(void) for (uint8_t index = 0; index < emberAfEndpointCount(); index++) { EndpointId endpoint = emberAfEndpointFromIndex(index); - if (!emberAfContainsCluster(endpoint, ZCL_TEST_CLUSTER_ID)) + if (!emberAfContainsCluster(endpoint, TestCluster::Id)) { continue; } diff --git a/src/app/clusters/tv-channel-server/tv-channel-server.cpp b/src/app/clusters/tv-channel-server/tv-channel-server.cpp index e0d373c962936c..941692dca4d120 100644 --- a/src/app/clusters/tv-channel-server/tv-channel-server.cpp +++ b/src/app/clusters/tv-channel-server/tv-channel-server.cpp @@ -39,14 +39,13 @@ ******************************************************************************/ #include -#include #include -#include #include #include #include using namespace chip; +using namespace chip::app::Clusters; using namespace chip::app::Clusters::TvChannel; ::TvChannelInfo tvChannelClusterChangeChannel(std::string match); @@ -56,8 +55,8 @@ bool tvChannelClusterSkipChannel(uint16_t count); void sendResponse(app::CommandHandler * command, ::TvChannelInfo channelInfo) { CHIP_ERROR err = CHIP_NO_ERROR; - app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, ZCL_TV_CHANNEL_CLUSTER_ID, - ZCL_CHANGE_CHANNEL_RESPONSE_COMMAND_ID, (app::CommandPathFlags::kEndpointIdValid) }; + app::CommandPathParams cmdParams = { emberAfCurrentEndpoint(), /* group id */ 0, TvChannel::Id, + Commands::ChangeChannelResponse::Id, (app::CommandPathFlags::kEndpointIdValid) }; TLV::TLVWriter * writer = nullptr; SuccessOrExit(err = command->PrepareCommand(cmdParams)); VerifyOrExit((writer = command->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); diff --git a/src/app/data-model/DecodableList.h b/src/app/data-model/DecodableList.h index 023b09b2abb65e..ac1075c9ab594f 100644 --- a/src/app/data-model/DecodableList.h +++ b/src/app/data-model/DecodableList.h @@ -127,6 +127,14 @@ class DecodableList Iterator begin() const { return Iterator(mReader); } + /* + * Compute the size of the list. This can fail if the TLV is malformed. If + * this succeeds, that does not guarantee that the individual items can be + * successfully decoded; consumers should check Iterator::GetStatus() when + * actually decoding them. + */ + CHIP_ERROR ComputeSize(size_t * size) const { return mReader.CountRemainingInContainer(size); } + private: TLV::TLVReader mReader; }; diff --git a/src/app/tests/TestWriteInteraction.cpp b/src/app/tests/TestWriteInteraction.cpp index 51491d9a96142f..79db04edea0c83 100644 --- a/src/app/tests/TestWriteInteraction.cpp +++ b/src/app/tests/TestWriteInteraction.cpp @@ -79,6 +79,22 @@ class TestExchangeDelegate : public Messaging::ExchangeDelegate void OnResponseTimeout(Messaging::ExchangeContext * ec) override {} }; +class TestWriteClientCallback : public chip::app::WriteClient::Callback +{ +public: + void ResetCounter() { mOnSuccessCalled = mOnErrorCalled = mOnDoneCalled = 0; } + void OnResponse(const WriteClient * apWriteClient, const chip::app::ConcreteAttributePath & path, StatusIB status) override + { + mOnSuccessCalled++; + } + void OnError(const WriteClient * apWriteClient, CHIP_ERROR chipError) override { mOnErrorCalled++; } + void OnDone(WriteClient * apWriteClient) override { mOnDoneCalled++; } + + int mOnSuccessCalled = 0; + int mOnErrorCalled = 0; + int mOnDoneCalled = 0; +}; + void TestWriteInteraction::AddAttributeDataElement(nlTestSuite * apSuite, void * apContext, WriteClientHandle & aWriteClient) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -215,9 +231,9 @@ void TestWriteInteraction::TestWriteClient(nlTestSuite * apSuite, void * apConte app::WriteClientHandle writeClientHandle; writeClientHandle.SetWriteClient(&writeClient); - chip::app::InteractionModelDelegate delegate; System::PacketBufferHandle buf = System::PacketBufferHandle::New(System::PacketBuffer::kMaxSize); - err = writeClient.Init(&ctx.GetExchangeManager(), &delegate, 0); + TestWriteClientCallback callback; + err = writeClient.Init(&ctx.GetExchangeManager(), &callback); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); AddAttributeDataElement(apSuite, apContext, writeClientHandle); @@ -271,19 +287,6 @@ CHIP_ERROR WriteSingleClusterData(ClusterInfo & aClusterInfo, TLV::TLVReader & a Protocols::InteractionModel::Status::Success); } -class RoundtripDelegate : public chip::app::InteractionModelDelegate -{ -public: - CHIP_ERROR WriteResponseStatus(const WriteClient * apWriteClient, const app::StatusIB & aStatusIB, - AttributePathParams & aAttributePathParams, uint8_t aAttributeIndex) override - { - mGotResponse = true; - return CHIP_NO_ERROR; - } - - bool mGotResponse = false; -}; - void TestWriteInteraction::TestWriteRoundtripWithClusterObjects(nlTestSuite * apSuite, void * apContext) { TestContext & ctx = *static_cast(apContext); @@ -294,13 +297,13 @@ void TestWriteInteraction::TestWriteRoundtripWithClusterObjects(nlTestSuite * ap // Shouldn't have anything in the retransmit table when starting the test. NL_TEST_ASSERT(apSuite, rm->TestGetCountRetransTable() == 0); - RoundtripDelegate delegate; + TestWriteClientCallback callback; auto * engine = chip::app::InteractionModelEngine::GetInstance(); - err = engine->Init(&ctx.GetExchangeManager(), &delegate); + err = engine->Init(&ctx.GetExchangeManager(), nullptr); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); app::WriteClientHandle writeClient; - err = engine->NewWriteClient(writeClient); + err = engine->NewWriteClient(writeClient, &callback); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); System::PacketBufferHandle buf = System::PacketBufferHandle::New(System::PacketBuffer::kMaxSize); @@ -325,14 +328,14 @@ void TestWriteInteraction::TestWriteRoundtripWithClusterObjects(nlTestSuite * ap writeClient.EncodeAttributeWritePayload(attributePathParams, dataTx); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); - NL_TEST_ASSERT(apSuite, !delegate.mGotResponse); + NL_TEST_ASSERT(apSuite, callback.mOnSuccessCalled == 0); SessionHandle session = ctx.GetSessionBobToAlice(); err = writeClient.SendWriteRequest(ctx.GetAliceNodeId(), ctx.GetFabricIndex(), Optional::Value(session)); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); - NL_TEST_ASSERT(apSuite, delegate.mGotResponse); + NL_TEST_ASSERT(apSuite, callback.mOnSuccessCalled == 1); { app::Clusters::TestCluster::Structs::SimpleStruct::Type dataRx; @@ -347,6 +350,8 @@ void TestWriteInteraction::TestWriteRoundtripWithClusterObjects(nlTestSuite * ap NL_TEST_ASSERT(apSuite, dataRx.e.data_equal(dataTx.e)); } + NL_TEST_ASSERT(apSuite, callback.mOnSuccessCalled == 1 && callback.mOnErrorCalled == 0 && callback.mOnDoneCalled == 1); + // By now we should have closed all exchanges and sent all pending acks, so // there should be no queued-up things in the retransmit table. NL_TEST_ASSERT(apSuite, rm->TestGetCountRetransTable() == 0); @@ -364,26 +369,26 @@ void TestWriteInteraction::TestWriteRoundtrip(nlTestSuite * apSuite, void * apCo // Shouldn't have anything in the retransmit table when starting the test. NL_TEST_ASSERT(apSuite, rm->TestGetCountRetransTable() == 0); - RoundtripDelegate delegate; + TestWriteClientCallback callback; auto * engine = chip::app::InteractionModelEngine::GetInstance(); - err = engine->Init(&ctx.GetExchangeManager(), &delegate); + err = engine->Init(&ctx.GetExchangeManager(), nullptr); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); app::WriteClientHandle writeClient; - err = engine->NewWriteClient(writeClient); + err = engine->NewWriteClient(writeClient, &callback); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); System::PacketBufferHandle buf = System::PacketBufferHandle::New(System::PacketBuffer::kMaxSize); AddAttributeDataElement(apSuite, apContext, writeClient); - NL_TEST_ASSERT(apSuite, !delegate.mGotResponse); + NL_TEST_ASSERT(apSuite, callback.mOnSuccessCalled == 0 && callback.mOnErrorCalled == 0 && callback.mOnDoneCalled == 0); SessionHandle session = ctx.GetSessionBobToAlice(); err = writeClient.SendWriteRequest(ctx.GetAliceNodeId(), ctx.GetFabricIndex(), Optional::Value(session)); NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); - NL_TEST_ASSERT(apSuite, delegate.mGotResponse); + NL_TEST_ASSERT(apSuite, callback.mOnSuccessCalled == 1 && callback.mOnErrorCalled == 0 && callback.mOnDoneCalled == 1); // By now we should have closed all exchanges and sent all pending acks, so // there should be no queued-up things in the retransmit table. diff --git a/src/app/tests/integration/chip_im_initiator.cpp b/src/app/tests/integration/chip_im_initiator.cpp index 948592235d460c..71cf076f143083 100644 --- a/src/app/tests/integration/chip_im_initiator.cpp +++ b/src/app/tests/integration/chip_im_initiator.cpp @@ -24,7 +24,6 @@ * */ -#include "system/SystemClock.h" #include #include #include @@ -38,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -51,13 +51,14 @@ constexpr size_t kMaxCommandMessageCount = 3; constexpr size_t kTotalFailureCommandMessageCount = 1; constexpr size_t kMaxReadMessageCount = 3; constexpr size_t kMaxWriteMessageCount = 3; -constexpr uint32_t gMessageIntervalMsec = 1200; -constexpr uint32_t gMessageTimeoutMsec = 1000; constexpr chip::FabricIndex gFabricIndex = 0; constexpr size_t kMaxSubMessageCount = 1; -constexpr int32_t gMessageIntervalSeconds = 1; constexpr uint64_t gSubMaxReport = 5; +constexpr chip::System::Clock::Timeout gSubscribeRequestTimeout = chip::System::Clock::Seconds16(1); +constexpr chip::System::Clock::Timeout gMessageInterval = chip::System::Clock::Milliseconds32(1200); +constexpr chip::System::Clock::Timeout gMessageTimeout = chip::System::Clock::Milliseconds32(1000); + chip::TransportMgr gTransportManager; chip::Inet::IPAddress gDestAddr; @@ -112,17 +113,6 @@ void HandleReadComplete() static_cast(gReadRespCount) * 100 / static_cast(gReadCount), static_cast(transitTime) / 1000); } -void HandleWriteComplete() -{ - auto respTime = chip::System::SystemClock().GetMonotonicMilliseconds(); - auto transitTime = respTime - gLastMessageTime; - - gWriteRespCount++; - - printf("Write Response: %" PRIu64 "/%" PRIu64 "(%.2f%%) time=%.3fms\n", gWriteRespCount, gWriteCount, - static_cast(gWriteRespCount) * 100 / static_cast(gWriteCount), static_cast(transitTime) / 1000); -} - void HandleSubscribeReportComplete() { auto respTime = chip::System::SystemClock().GetMonotonicMilliseconds(); @@ -134,14 +124,11 @@ void HandleSubscribeReportComplete() static_cast(gSubRespCount) * 100 / static_cast(gSubCount), static_cast(transitTime) / 1000); } -class MockInteractionModelApp : public chip::app::InteractionModelDelegate, public ::chip::app::CommandSender::Callback +class MockInteractionModelApp : public chip::app::InteractionModelDelegate, + public ::chip::app::CommandSender::Callback, + public ::chip::app::WriteClient::Callback { public: - CHIP_ERROR WriteResponseProcessed(const chip::app::WriteClient * apWriteClient) override - { - HandleWriteComplete(); - return CHIP_NO_ERROR; - } CHIP_ERROR EventStreamReceived(const chip::Messaging::ExchangeContext * apExchangeContext, chip::TLV::TLVReader * apEventListReader) override { @@ -191,7 +178,7 @@ class MockInteractionModelApp : public chip::app::InteractionModelDelegate, publ static_cast(gCommandRespCount) * 100 / static_cast(gCommandCount), static_cast(transitTime) / 1000); } - void OnError(const chip::app::CommandSender * apCommandSender, chip::Protocols::InteractionModel::Status aStatus, + void OnError(const chip::app::CommandSender * apCommandSender, chip::Protocols::InteractionModel::Status aProtocolCode, CHIP_ERROR aError) override { gCommandRespCount += (aError == CHIP_ERROR_IM_STATUS_CODE_RECEIVED); @@ -199,6 +186,24 @@ class MockInteractionModelApp : public chip::app::InteractionModelDelegate, publ printf("CommandResponseError happens with %" CHIP_ERROR_FORMAT, aError.Format()); } void OnDone(chip::app::CommandSender * apCommandSender) override {} + + void OnResponse(const chip::app::WriteClient * apWriteClient, const chip::app::ConcreteAttributePath & path, + chip::app::StatusIB status) override + { + auto respTime = chip::System::SystemClock().GetMonotonicMilliseconds(); + auto transitTime = respTime - gLastMessageTime; + + gWriteRespCount++; + + printf("Write Response: %" PRIu64 "/%" PRIu64 "(%.2f%%) time=%.3fms\n", gWriteRespCount, gWriteCount, + static_cast(gWriteRespCount) * 100 / static_cast(gWriteCount), + static_cast(transitTime) / 1000); + } + void OnError(const chip::app::WriteClient * apCommandSender, CHIP_ERROR aError) override + { + printf("WriteClient::OnError happens with %" CHIP_ERROR_FORMAT, aError.Format()); + } + void OnDone(chip::app::WriteClient * apWriteClient) override {} }; MockInteractionModelApp gMockDelegate; @@ -244,7 +249,7 @@ CHIP_ERROR SendCommandRequest(std::unique_ptr && comma SuccessOrExit(err); err = commandSender->SendCommandRequest(chip::kTestDeviceNodeId, gFabricIndex, chip::Optional::Missing(), - gMessageTimeoutMsec); + gMessageTimeout); SuccessOrExit(err); gCommandCount++; @@ -281,7 +286,7 @@ CHIP_ERROR SendBadCommandRequest(std::unique_ptr && co SuccessOrExit(err); err = commandSender->SendCommandRequest(chip::kTestDeviceNodeId, gFabricIndex, chip::Optional::Missing(), - gMessageTimeoutMsec); + gMessageTimeout); SuccessOrExit(err); gCommandCount++; commandSender.release(); @@ -313,7 +318,7 @@ CHIP_ERROR SendReadRequest() printf("\nSend read request message to Node: %" PRIu64 "\n", chip::kTestDeviceNodeId); chip::app::ReadPrepareParams readPrepareParams(chip::SessionHandle(chip::kTestDeviceNodeId, 1, 1, gFabricIndex)); - readPrepareParams.mTimeout = gMessageTimeoutMsec; + readPrepareParams.mTimeout = gMessageTimeout; readPrepareParams.mpAttributePathParamsList = &attributePathParams; readPrepareParams.mAttributePathParamsListSize = 1; readPrepareParams.mpEventPathParamsList = eventPathParams; @@ -356,7 +361,7 @@ CHIP_ERROR SendWriteRequest(chip::app::WriteClientHandle & apWriteClient) SuccessOrExit(err = writer->PutBoolean(chip::TLV::ContextTag(chip::app::AttributeDataElement::kCsTag_Data), true)); SuccessOrExit(err = apWriteClient->FinishAttribute()); SuccessOrExit(err = apWriteClient.SendWriteRequest(chip::kTestDeviceNodeId, gFabricIndex, - chip::Optional::Missing(), gMessageTimeoutMsec)); + chip::Optional::Missing(), gMessageTimeout)); gWriteCount++; @@ -463,14 +468,12 @@ void CommandRequestTimerHandler(chip::System::Layer * systemLayer, void * appSta err = SendCommandRequest(std::move(commandSender)); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to send command request with error: %s\n", chip::ErrorStr(err))); - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - CommandRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, CommandRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } else { - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - BadCommandRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, BadCommandRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } @@ -491,8 +494,7 @@ void BadCommandRequestTimerHandler(chip::System::Layer * systemLayer, void * app err = SendBadCommandRequest(std::move(commandSender)); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to send bad command request with error: %s\n", chip::ErrorStr(err))); - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - ReadRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, ReadRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); exit: @@ -519,14 +521,12 @@ void ReadRequestTimerHandler(chip::System::Layer * systemLayer, void * appState) err = SendReadRequest(); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to send read request with error: %s\n", chip::ErrorStr(err))); - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - ReadRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, ReadRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } else { - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - WriteRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, WriteRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } @@ -552,20 +552,18 @@ void WriteRequestTimerHandler(chip::System::Layer * systemLayer, void * appState if (gWriteRespCount < kMaxWriteMessageCount) { chip::app::WriteClientHandle writeClient; - err = chip::app::InteractionModelEngine::GetInstance()->NewWriteClient(writeClient); + err = chip::app::InteractionModelEngine::GetInstance()->NewWriteClient(writeClient, &gMockDelegate); SuccessOrExit(err); err = SendWriteRequest(writeClient); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to send write request with error: %s\n", chip::ErrorStr(err))); - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalMsec), - WriteRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gMessageInterval, WriteRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } else { - err = chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(gMessageIntervalSeconds * 1000), - SubscribeRequestTimerHandler, NULL); + err = chip::DeviceLayer::SystemLayer().StartTimer(gSubscribeRequestTimeout, SubscribeRequestTimerHandler, NULL); VerifyOrExit(err == CHIP_NO_ERROR, printf("Failed to schedule timer with error: %s\n", chip::ErrorStr(err))); } @@ -685,7 +683,7 @@ int main(int argc, char * argv[]) ExitNow(err = CHIP_ERROR_INVALID_ARGUMENT); } - static_assert(gMessageIntervalMsec > gMessageTimeoutMsec, "Interval period too small"); + static_assert(gMessageInterval > gMessageTimeout, "Interval period too small"); InitializeChip(); diff --git a/src/app/tests/suites/TestBasicInformation.yaml b/src/app/tests/suites/TestBasicInformation.yaml new file mode 100644 index 00000000000000..d1cc8e38ffc056 --- /dev/null +++ b/src/app/tests/suites/TestBasicInformation.yaml @@ -0,0 +1,44 @@ +# Copyright (c) 2021 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. + +name: Basic Information Cluster Tests + +config: + cluster: "Basic" + endpoint: 0 + +tests: + - label: "Read location" + command: "readAttribute" + attribute: "location" + response: + value: "" + + - label: "Write location" + command: "writeAttribute" + attribute: "location" + arguments: + value: "us" + + - label: "Read back location" + command: "readAttribute" + attribute: "location" + response: + value: "us" + + - label: "Restore initial location value" + command: "writeAttribute" + attribute: "location" + arguments: + value: "" diff --git a/src/app/tests/suites/TestCluster.yaml b/src/app/tests/suites/TestCluster.yaml index 8a5281ca5d78f4..cc14d5e8f7ec3e 100644 --- a/src/app/tests/suites/TestCluster.yaml +++ b/src/app/tests/suites/TestCluster.yaml @@ -836,3 +836,44 @@ tests: response: # No cluster on that endpoint, so expect an error. error: 1 + + # Tests for vendor id + + - label: "Read attribute vendor_id Default Value" + command: "readAttribute" + attribute: "vendor_id" + response: + value: 0 + + - label: "Write attribute vendor_id" + command: "writeAttribute" + attribute: "vendor_id" + arguments: + value: 17 + + - label: "Read attribute vendor_id" + command: "readAttribute" + attribute: "vendor_id" + response: + value: 17 + + - label: "Restore attribute vendor_id" + command: "writeAttribute" + attribute: "vendor_id" + arguments: + value: 0 + + - label: "Send a command with a vendor_id and enum" + command: "testEnumsRequest" + arguments: + values: + - name: "arg1" + value: 20003 + - name: "arg2" + value: 101 + response: + values: + - name: "arg1" + value: 20003 + - name: "arg2" + value: 101 diff --git a/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml new file mode 100644 index 00000000000000..f5d15b7fc93d98 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml @@ -0,0 +1,1312 @@ +# Copyright (c) 2021 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. + +name: 27.2.1. [TC-CC-2.1] Attributes with server as DUT + +config: + cluster: "Color Control" + endpoint: 1 + +tests: + - label: "Reads mandatory attribute: CurrentHue" + command: "readAttribute" + attribute: "current hue" + response: + value: 0 + + - label: "Validate constraints of attribute: current hue" + command: "readAttribute" + attribute: "current hue" + response: + constraints: + type: uint8 + minValue: 0 + maxValue: 254 + + - label: "Write the default value to mandatory attribute: CurrentHue" + command: "writeAttribute" + attribute: "current hue" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: CurrentHue" + command: "readAttribute" + attribute: "current hue" + response: + value: 0 + + - label: "Reads mandatory attribute: CurrentSaturation" + command: "readAttribute" + attribute: "current saturation" + response: + value: 0 + + - label: "Validate constraints of attribute: CurrentSaturation" + command: "readAttribute" + attribute: "current saturation" + response: + constraints: + type: uint8 + minValue: 0 + maxValue: 254 + + - label: "Write the default value to mandatory attribute: CurrentSaturation" + command: "writeAttribute" + attribute: "current saturation" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: CurrentSaturation" + command: "readAttribute" + attribute: "current saturation" + response: + value: 0 + + - label: "Read the mandatory attribute: CurrentX" + command: "readAttribute" + attribute: "current x" + response: + value: 24939 + + - label: "Validate constraints of attribute: CurrentX" + command: "readAttribute" + attribute: "current x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default value to mandatory attribute: CurrentX" + command: "writeAttribute" + attribute: "current x" + arguments: + value: 24939 + response: + error: 1 + + - label: "Reads back mandatory attribute: CurrentX" + command: "readAttribute" + attribute: "current x" + response: + value: 24939 + + - label: "Read the mandatory attribute: CurrentY" + command: "readAttribute" + attribute: "current y" + response: + value: 24701 + + - label: "Validate constraints of attribute: CurrentY" + command: "readAttribute" + attribute: "current y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default values to mandatory attribute: CurrentY" + command: "writeAttribute" + attribute: "current y" + arguments: + value: 24701 + response: + error: 1 + + - label: "Reads back mandatory attribute: CurrentY" + command: "readAttribute" + attribute: "current y" + response: + value: 24701 + + - label: "Read the mandatory attribute: ColorTemperatureMireds" + disabled: true + command: "readAttribute" + attribute: "color temperature" + response: + value: 250 + + - label: "Validate constraints of attribute: ColorTemperatureMireds" + command: "readAttribute" + attribute: "color temperature" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: + "Write the default values to mandatory attribute: + ColorTemperatureMireds" + disabled: true + command: "writeAttribute" + attribute: "color temperature" + arguments: + value: 250 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorTemperatureMireds" + disabled: true + command: "readAttribute" + attribute: "color temperature" + response: + value: 250 + + - label: "Read the mandatory attribute: ColorMode" + disabled: true + command: "readAttribute" + attribute: "color mode" + response: + value: 1 + + - label: "Validate constraints of attribute: ColorMode" + command: "readAttribute" + attribute: "color mode" + response: + constraints: + type: enum8 + minValue: 0 + maxValue: 2 + + - label: "Write the default values to mandatory attribute: ColorMode" + disabled: true + command: "writeAttribute" + attribute: "color mode" + arguments: + value: 1 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorMode" + disabled: true + command: "readAttribute" + attribute: "color mode" + response: + value: 1 + + - label: "Read the mandatory attribute: Options" + command: "readAttribute" + attribute: "color control options" + response: + value: 0 + + - label: "Validate constraints of attribute: Options" + command: "readAttribute" + attribute: "color control options" + response: + constraints: + type: map8 + + - label: "Write the default values to mandatory attribute: Options" + command: "writeAttribute" + attribute: "color control options" + arguments: + value: 0 + + - label: "Reads back mandatory attribute: Options" + command: "readAttribute" + attribute: "color control options" + response: + value: 0 + + - label: "Read the mandatory attribute: EnhancedCurrentHue" + command: "readAttribute" + attribute: "enhanced current hue" + response: + value: 0 + + - label: "Validate constraints of attribute: EnhancedCurrentHue" + command: "readAttribute" + attribute: "enhanced current hue" + response: + constraints: + type: uint16 + + - label: + "Write the default values to mandatory attribute: EnhancedCurrentHue" + command: "writeAttribute" + attribute: "enhanced current hue" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: EnhancedCurrentHue" + command: "readAttribute" + attribute: "enhanced current hue" + response: + value: 0 + + - label: "Read the mandatory attribute: EnhancedColorMode" + disabled: true + command: "readAttribute" + attribute: "enhanced color mode" + response: + value: 1 + + - label: "Validate constraints of attribute: EnhancedColorMode" + command: "readAttribute" + attribute: "enhanced color mode" + response: + constraints: + type: enum8 + + - label: + "Write the default values to mandatory attribute: EnhancedColorMode" + disabled: true + command: "writeAttribute" + attribute: "enhanced color mode" + arguments: + value: 1 + response: + error: 1 + + - label: "Reads back mandatory attribute: EnhancedColorMode" + disabled: true + command: "readAttribute" + attribute: "enhanced color mode" + response: + value: 1 + + - label: "Read the mandatory attribute: ColorLoopActive" + command: "readAttribute" + attribute: "color loop active" + response: + value: 0 + + - label: "Validate constraints of attribute: ColorLoopActive" + command: "readAttribute" + attribute: "color loop active" + response: + constraints: + type: uint8 + + - label: "Write the default values to mandatory attribute: ColorLoopActive" + command: "writeAttribute" + attribute: "color loop active" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorLoopActive" + command: "readAttribute" + attribute: "color loop active" + response: + value: 0 + + - label: "Read the mandatory attribute: ColorLoopDirection" + command: "readAttribute" + attribute: "color loop direction" + response: + value: 0 + + - label: "Validate constraints of attribute: ColorLoopDirection" + command: "readAttribute" + attribute: "color loop direction" + response: + constraints: + type: uint8 + + - label: + "Write the default values to mandatory attribute: ColorLoopDirection" + command: "writeAttribute" + attribute: "color loop direction" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorLoopDirection" + command: "readAttribute" + attribute: "color loop direction" + response: + value: 0 + + - label: "Read the mandatory attribute: ColorLoopTime" + command: "readAttribute" + attribute: "color loop time" + response: + value: 25 + + - label: "Validate constraints of attribute: ColorLoopTime" + command: "readAttribute" + attribute: "color loop time" + response: + constraints: + type: uint16 + + - label: "Write the default values to mandatory attribute: ColorLoopTime" + command: "writeAttribute" + attribute: "color loop time" + arguments: + value: 25 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorLoopTime" + command: "readAttribute" + attribute: "color loop time" + response: + value: 25 + + - label: "Read the mandatory attribute: ColorLoopStartEnhancedHue" + command: "readAttribute" + attribute: "color loop start enhanced hue" + response: + value: 8960 + + - label: "Validate constraints of attribute: ColorLoopStartEnhancedHue" + command: "readAttribute" + attribute: "color loop start enhanced hue" + response: + constraints: + type: uint16 + + - label: + "Write the default values to mandatory attribute: + ColorLoopStartEnhancedHue" + command: "writeAttribute" + attribute: "color loop start enhanced hue" + arguments: + value: 8960 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorLoopStartEnhancedHue" + command: "readAttribute" + attribute: "color loop start enhanced hue" + response: + value: 8960 + + - label: "Read the mandatory attribute: ColorLoopStoredEnhancedHue" + command: "readAttribute" + attribute: "color loop stored enhanced hue" + response: + value: 0 + + - label: "Validate constraints of attribute: ColorLoopStoredEnhancedHue" + command: "readAttribute" + attribute: "color loop stored enhanced hue" + response: + constraints: + type: uint16 + + - label: + "Write the default values to mandatory attribute: + ColorLoopStoredEnhancedHue" + command: "writeAttribute" + attribute: "color loop stored enhanced hue" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorLoopStoredEnhancedHue" + command: "readAttribute" + attribute: "color loop stored enhanced hue" + response: + value: 0 + + - label: "Read the mandatory attribute: ColorCapabilities" + command: "readAttribute" + attribute: "color capabilities" + response: + value: 0 + + - label: "Validate constraints of attribute: ColorCapabilities" + command: "readAttribute" + attribute: "color capabilities" + response: + constraints: + type: map16 + minValue: 0 + maxValue: 65279 + + - label: + "Write the default values to mandatory attribute: ColorCapabilities" + command: "writeAttribute" + attribute: "color capabilities" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorCapabilities" + command: "readAttribute" + attribute: "color capabilities" + response: + value: 0 + + - label: "Read the mandatory attribute: ColorTempPhysicalMinMireds" + command: "readAttribute" + attribute: "color temp physical min" + response: + value: 0 + + - label: "Validate constraints of attribute: ColorTempPhysicalMinMireds" + command: "readAttribute" + attribute: "color temp physical min" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: + "Write the default values to mandatory attribute: + ColorTempPhysicalMinMireds" + command: "writeAttribute" + attribute: "color temp physical min" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorTempPhysicalMinMireds" + command: "readAttribute" + attribute: "color temp physical min" + response: + value: 0 + + - label: "Read the mandatory attribute: ColorTempPhysicalMaxMireds" + command: "readAttribute" + attribute: "color temp physical max" + response: + value: 65279 + + - label: "Validate constraints of attribute: ColorTempPhysicalMaxMireds" + command: "readAttribute" + attribute: "color temp physical max" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: + "Write the default values to mandatory attribute: + ColorTempPhysicalMaxMireds" + command: "writeAttribute" + attribute: "color temp physical max" + arguments: + value: 65279 + response: + error: 1 + + - label: "Reads back mandatory attribute: ColorTempPhysicalMaxMireds" + command: "readAttribute" + attribute: "color temp physical max" + response: + value: 65279 + + - label: "Read the optional attribute: CoupleColorTempToLevelMinMireds" + command: "readAttribute" + attribute: "couple color temp to level min-mireds" + response: + constraints: + type: uint16 + + - label: + "Write the default values to optional attribute: + CoupleColorTempToLevelMinMireds" + command: "writeAttribute" + attribute: "couple color temp to level min-mireds" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back optional attribute: CoupleColorTempToLevelMinMireds" + command: "readAttribute" + attribute: "couple color temp to level min-mireds" + response: + value: 0 + + - label: "Read the optional attribute: StartUpColorTemperatureMireds" + command: "readAttribute" + attribute: "start up color temperature mireds" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: + "Write the default values to optional attribute: + StartUpColorTemperatureMireds" + command: "writeAttribute" + attribute: "start up color temperature mireds" + arguments: + value: 0 + + - label: "Reads back optional attribute: StartUpColorTemperatureMireds" + command: "readAttribute" + attribute: "start up color temperature mireds" + response: + value: 0 + + - label: "Read the Optional attribute: RemainingTime" + command: "readAttribute" + attribute: "remaining time" + response: + value: 0 + + - label: "Validate constraints of attribute: RemainingTime" + command: "readAttribute" + attribute: "remaining time" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 254 + + - label: "Write the default values to optional attribute: RemainingTime" + command: "writeAttribute" + attribute: "remaining time" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back optional attribute: RemainingTime" + command: "readAttribute" + attribute: "remaining time" + response: + value: 0 + + - label: "Read the optional attribute: DriftCompensation" + command: "readAttribute" + attribute: "drift compensation" + response: + constraints: + type: enum8 + minValue: 0 + maxValue: 4 + + - label: "Write the default values to optional attribute: DriftCompensation" + command: "writeAttribute" + attribute: "drift compensation" + arguments: + value: 0 + response: + error: 1 + + - label: "Reads back optional attribute: DriftCompensation" + command: "readAttribute" + attribute: "drift compensation" + response: + value: 0 + + - label: "Read the optional attribute: CompensationText" + command: "readAttribute" + attribute: "compensation text" + response: + constraints: + type: string + maxLength: 254 + + - label: "Write the default values to optional attribute: CompensationText" + disabled: true + command: "writeAttribute" + attribute: "compensation text" + arguments: + value: "" + response: + error: 1 + + - label: "Reads back optional attribute: CompensationText" + disabled: true + command: "readAttribute" + attribute: "compensation text" + response: + value: "" + + #Defined Primaries Information Attribute Set + + - label: "Read the mandatory attribute: NumberOfPrimaries" + command: "readAttribute" + attribute: "number of primaries" + response: + constraints: + type: uint8 + minValue: 0 + maxValue: 6 + + - label: "Write the default mandatory attribute: NumberOfPrimaries" + command: "writeAttribute" + attribute: "number of primaries" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: NumberOfPrimaries" + command: "readAttribute" + attribute: "number of primaries" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary1X" + command: "readAttribute" + attribute: "primary 1 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary1X" + command: "writeAttribute" + attribute: "primary 1 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary1X" + command: "readAttribute" + attribute: "primary 1 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary1Y" + command: "readAttribute" + attribute: "primary 1 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary1Y" + command: "writeAttribute" + attribute: "primary 1 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary1Y" + command: "readAttribute" + attribute: "primary 1 y" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary1Intensity" + command: "readAttribute" + attribute: "primary 1 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary1Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 1 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary1Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 1 intensity" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary2X" + command: "readAttribute" + attribute: "primary 2 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary2X" + command: "writeAttribute" + attribute: "primary 2 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary2X" + command: "readAttribute" + attribute: "primary 2 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary2Y" + command: "readAttribute" + attribute: "primary 2 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary2Y" + command: "writeAttribute" + attribute: "primary 2 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary2Y" + command: "readAttribute" + attribute: "primary 2 y" + response: + value: 0 + + - label: "Validate constraints of attribute: Primary2Intensity" + command: "readAttribute" + attribute: "primary 2 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary2Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 2 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary2Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 2 intensity" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary3X" + command: "readAttribute" + attribute: "primary 3 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary3X" + command: "writeAttribute" + attribute: "primary 3 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary3X" + command: "readAttribute" + attribute: "primary 3 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary3Y" + command: "readAttribute" + attribute: "primary 3 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary3Y" + command: "writeAttribute" + attribute: "primary 3 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary3Y" + command: "readAttribute" + attribute: "primary 3 y" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary3Intensity" + command: "readAttribute" + attribute: "primary 3 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary3Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 3 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary3Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 3 intensity" + response: + value: 0 + + #Additional Defined Primaries Information Attribute Set + - label: "Read the mandatory attribute: Primary4X" + command: "readAttribute" + attribute: "primary 4 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary4X" + command: "writeAttribute" + attribute: "primary 4 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary4X" + command: "readAttribute" + attribute: "primary 4 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary4Y" + command: "readAttribute" + attribute: "primary 4 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary4Y" + command: "writeAttribute" + attribute: "primary 4 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary4Y" + command: "readAttribute" + attribute: "primary 4 y" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary4Intensity" + command: "readAttribute" + attribute: "primary 4 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary4Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 4 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary4Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 4 intensity" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary5X" + command: "readAttribute" + attribute: "primary 5 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary5X" + command: "writeAttribute" + attribute: "primary 5 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary5X" + command: "readAttribute" + attribute: "primary 5 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary5Y" + command: "readAttribute" + attribute: "primary 5 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary5Y" + command: "writeAttribute" + attribute: "primary 5 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary5Y" + command: "readAttribute" + attribute: "primary 5 y" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary5Intensity" + command: "readAttribute" + attribute: "primary 5 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary5Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 5 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary5Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 5 intensity" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary6X" + command: "readAttribute" + attribute: "primary 6 x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary6X" + command: "writeAttribute" + attribute: "primary 6 x" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary6X" + command: "readAttribute" + attribute: "primary 6 x" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary6Y" + command: "readAttribute" + attribute: "primary 6 y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default mandatory attribute: Primary6Y" + command: "writeAttribute" + attribute: "primary 6 y" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary6Y" + command: "readAttribute" + attribute: "primary 6 y" + response: + value: 0 + + - label: "Read the mandatory attribute: Primary6Intensity" + command: "readAttribute" + attribute: "primary 6 intensity" + response: + constraints: + type: uint8 + + - label: "Write the default mandatory attribute: Primary6Intensity" + disabled: true + command: "writeAttribute" + attribute: "primary 6 intensity" + arguments: + value: 0 + response: + error: 1 + + - label: "Read back the mandatory attribute: Primary6Intensity" + disabled: true + command: "readAttribute" + attribute: "primary 6 intensity" + response: + value: 0 + + #Defined Color Points Settings Attribute Set + - label: "Read the optional attribute: WhitePointX" + command: "readAttribute" + attribute: "white point x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: WhitePointX" + command: "writeAttribute" + attribute: "white point x" + arguments: + value: 0 + + - label: "Read back the optional attribute: WhitePointX" + command: "readAttribute" + attribute: "white point x" + response: + value: 0 + + - label: "Read the optional attribute: WhitePointY" + command: "readAttribute" + attribute: "white point y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: WhitePointY" + command: "writeAttribute" + attribute: "white point y" + arguments: + value: 0 + + - label: "Read back the optional attribute: WhitePointY" + command: "readAttribute" + attribute: "white point y" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointRX" + command: "readAttribute" + attribute: "color point r x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointRX" + command: "writeAttribute" + attribute: "color point r x" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointRX" + command: "readAttribute" + attribute: "color point r x" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointRY" + command: "readAttribute" + attribute: "color point r y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointRY" + command: "writeAttribute" + attribute: "color point r y" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointRY" + command: "readAttribute" + attribute: "color point r y" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointRIntensity" + command: "readAttribute" + attribute: "color point r intensity" + response: + constraints: + type: uint8 + + - label: "Write the default optional attribute: ColorPointRIntensity" + disabled: true + command: "writeAttribute" + attribute: "color point r intensity" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointRIntensity" + disabled: true + command: "readAttribute" + attribute: "color point r intensity" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointGX" + command: "readAttribute" + attribute: "color point g x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointGX" + command: "writeAttribute" + attribute: "color point g x" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointGX" + command: "readAttribute" + attribute: "color point g x" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointGY" + command: "readAttribute" + attribute: "color point g y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointGY" + command: "writeAttribute" + attribute: "color point g y" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointGY" + command: "readAttribute" + attribute: "color point g y" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointGIntensity" + command: "readAttribute" + attribute: "color point g intensity" + response: + constraints: + type: uint8 + + - label: "Write the default optional attribute: ColorPointGIntensity" + disabled: true + command: "writeAttribute" + attribute: "color point g intensity" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointGIntensity" + disabled: true + command: "readAttribute" + attribute: "color point g intensity" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointBX" + command: "readAttribute" + attribute: "color point b x" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointBX" + command: "writeAttribute" + attribute: "color point b x" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointBX" + command: "readAttribute" + attribute: "color point b x" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointBY" + command: "readAttribute" + attribute: "color point b y" + response: + constraints: + type: uint16 + minValue: 0 + maxValue: 65279 + + - label: "Write the default optional attribute: ColorPointBY" + command: "writeAttribute" + attribute: "color point b y" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointBY" + command: "readAttribute" + attribute: "color point b y" + response: + value: 0 + + - label: "Read the optional attribute: ColorPointBIntensity" + command: "readAttribute" + attribute: "color point b intensity" + response: + constraints: + type: uint8 + + - label: "Write the default optional attribute: ColorPointBIntensity" + disabled: true + command: "writeAttribute" + attribute: "color point b intensity" + arguments: + value: 0 + + - label: "Read back the optional attribute: ColorPointBIntensity" + disabled: true + command: "readAttribute" + attribute: "color point b intensity" + response: + value: 0 diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index fb75aa228eb220..1d7afedb4c421b 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -23,7 +23,7 @@ tests: command: "readAttribute" attribute: "ClusterRevision" response: - value: 3 + value: 4 - label: "write the default values to mandatory global attribute: @@ -39,7 +39,7 @@ tests: command: "readAttribute" attribute: "ClusterRevision" response: - value: 3 + value: 4 - label: "read the optional global attribute: FeatureMap" command: "readAttribute" diff --git a/src/app/util/im-client-callbacks.cpp b/src/app/util/im-client-callbacks.cpp index 80d64898942e42..c60631f496907c 100644 --- a/src/app/util/im-client-callbacks.cpp +++ b/src/app/util/im-client-callbacks.cpp @@ -321,16 +321,15 @@ bool IMDefaultResponseCallback(const app::Command * commandObj, EmberAfStatus st return true; } -bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, EmberAfStatus status) +bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, chip::Protocols::InteractionModel::Status status) { ChipLogProgress(Zcl, "WriteResponse:"); - LogStatus(status); + LogIMStatus(status); Callback::Cancelable * onSuccessCallback = nullptr; Callback::Cancelable * onFailureCallback = nullptr; - NodeId sourceNodeId = writeClient->GetSourceNodeId(); - uint8_t seq = static_cast(writeClient->GetAppIdentifier()); - CHIP_ERROR err = gCallbacks.GetResponseCallback(sourceNodeId, seq, &onSuccessCallback, &onFailureCallback); + CHIP_ERROR err = + gCallbacks.GetResponseCallback(reinterpret_cast(writeClient), 0, &onSuccessCallback, &onFailureCallback); if (CHIP_NO_ERROR != err) { @@ -347,7 +346,7 @@ bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, EmberAf return true; } - if (status == EMBER_ZCL_STATUS_SUCCESS) + if (status == Protocols::InteractionModel::Status::Success) { Callback::Callback * cb = Callback::Callback::FromCancelable(onSuccessCallback); @@ -357,7 +356,7 @@ bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, EmberAf { Callback::Callback * cb = Callback::Callback::FromCancelable(onFailureCallback); - cb->mCall(cb->mContext, static_cast(status)); + cb->mCall(cb->mContext, static_cast(to_underlying(status))); } return true; diff --git a/src/app/util/im-client-callbacks.h b/src/app/util/im-client-callbacks.h index f421bcbd9b4e17..5b241db440b18e 100644 --- a/src/app/util/im-client-callbacks.h +++ b/src/app/util/im-client-callbacks.h @@ -31,7 +31,7 @@ bool IMDefaultResponseCallback(const chip::app::Command * commandObj, EmberAfStatus status); bool IMReadReportAttributesResponseCallback(const chip::app::ReadClient * apReadClient, const chip::app::ClusterInfo & aPath, chip::TLV::TLVReader * apData, chip::Protocols::InteractionModel::Status status); -bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, EmberAfStatus status); +bool IMWriteResponseCallback(const chip::app::WriteClient * writeClient, chip::Protocols::InteractionModel::Status status); bool IMSubscribeResponseCallback(const chip::app::ReadClient * apSubscribeClient, EmberAfStatus status); void LogStatus(uint8_t status); diff --git a/src/app/zap-templates/common/ClustersHelper.js b/src/app/zap-templates/common/ClustersHelper.js index b459dfc50f652c..d40e4b3697668d 100644 --- a/src/app/zap-templates/common/ClustersHelper.js +++ b/src/app/zap-templates/common/ClustersHelper.js @@ -85,6 +85,22 @@ function loadClusters() .then(clusters => clusters.filter(cluster => cluster.enabled == 1)); } +function loadCommandResponse(command, packageId) +{ + const { db, sessionId } = this.global; + return queryCommand.selectCommandById(db, command.id, packageId).then(commandDetails => { + if (commandDetails.responseRef == null) { + command.response = null; + return command; + } + + return queryCommand.selectCommandById(db, commandDetails.responseRef, packageId).then(response => { + command.response = response; + return command; + }); + }); +} + function loadCommandArguments(command, packageId) { const { db, sessionId } = this.global; @@ -101,6 +117,7 @@ function loadCommands(packageId) .then(endpointTypes => queryEndpointType.selectClustersAndEndpointDetailsFromEndpointTypes(db, endpointTypes)) .then(endpointTypesAndClusters => queryCommand.selectCommandDetailsFromAllEndpointTypesAndClusters( db, endpointTypesAndClusters, true)) + .then(commands => Promise.all(commands.map(command => loadCommandResponse.call(this, command, packageId)))) .then(commands => Promise.all(commands.map(command => loadCommandArguments.call(this, command, packageId)))); } @@ -249,9 +266,13 @@ function handleString(item, [ atomics, enums, bitmaps, structs ]) const kLengthSizeInBytes = 2; item.atomicTypeId = atomic.atomicId; - item.chipType = 'chip::ByteSpan'; - item.size = kLengthSizeInBytes + item.maxLength; - item.name = item.name || item.label; + if (StringHelper.isOctetString(item.type)) { + item.chipType = 'chip::ByteSpan'; + } else { + item.chipType = 'chip::CharSpan'; + } + item.size = kLengthSizeInBytes + item.maxLength; + item.name = item.name || item.label; return true; } @@ -373,51 +394,18 @@ function enhancedCommands(commands, types) commands.forEach(command => { command.isResponse = command.name.includes('Response'); command.isManufacturerSpecificCommand = !!this.mfgCode; - }); - - commands.forEach(command => { - // This filter uses the assumption that a response to a command has a well defined name, such as - // (response name) == (command name + 'Response') or s/Request/Response. This is very often the case, - // but this is not always true since some clusters use the same response to answer different commands, such as the - // operational cluster. - const automaticFilter = response => { - if (!response.isResponse) { - return false; - } - - if (response.clusterName != command.clusterName) { - return false; - } - - if (response.name == command.name) { - return false; - } - - return (response.name == (command.name + 'Response')) || (response.name == (command.name.replace('Request', 'Response'))); - }; - - const manualFilter = response => { - switch (command.name) { - case 'AddNOC': - case 'UpdateNOC': - case 'UpdateFabricLabel': - case 'RemoveFabric': - return response.name == 'NOCResponse'; - default: - return false; - } - }; - const filter = response => automaticFilter(response) || manualFilter(response); - const response = commands.find(filter); - if (response) { - command.hasSpecificResponse = true; - command.responseName = response.name; - command.response = response; + command.hasSpecificResponse = !!command.response; + if (command.response) { + const responseName = command.response.name; + command.responseName = responseName; + // The 'response' property contains the response returned by the `selectCommandById` + // helper. But this one does not contains all the metadata informations added by + // `enhancedItem`, so instead of using the one from ZAP, retrieve the enhanced version. + command.response = commands.find(command => command.name == responseName); } else { - command.hasSpecificResponse = false; - command.responseName = 'DefaultSuccess'; - command.response = { arguments : [] }; + command.responseName = 'DefaultSuccess'; + command.response = { arguments : [] }; } }); diff --git a/src/app/zap-templates/templates/app/CHIPClientCallbacks-src.zapt b/src/app/zap-templates/templates/app/CHIPClientCallbacks-src.zapt index 5c1d467ea89995..95028e5dd7e2fe 100644 --- a/src/app/zap-templates/templates/app/CHIPClientCallbacks-src.zapt +++ b/src/app/zap-templates/templates/app/CHIPClientCallbacks-src.zapt @@ -129,7 +129,7 @@ app::CHIPDeviceCallbacksMgr & gCallbacks = app::CHIPDeviceCallbacksMgr::GetInsta {{#if isList}} void {{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}ListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> list; + {{zapTypeToDecodableClusterObjectType type ns=parent.name}} list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { diff --git a/src/app/zap-templates/templates/app/CHIPClientCallbacks.zapt b/src/app/zap-templates/templates/app/CHIPClientCallbacks.zapt index 5656851f0cdf6e..366f132904349b 100644 --- a/src/app/zap-templates/templates/app/CHIPClientCallbacks.zapt +++ b/src/app/zap-templates/templates/app/CHIPClientCallbacks.zapt @@ -32,7 +32,7 @@ typedef void (*{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}C {{#chip_server_cluster_attributes}} {{#if isList}} void {{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}ListAttributeFilter(chip::TLV::TLVReader * data, chip::Callback::Cancelable * onSuccessCallback, chip::Callback::Cancelable * onFailureCallback); -typedef void (*{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeCallback)(void * context, const chip::app::DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & data); +typedef void (*{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeCallback)(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} data); {{/if}} {{/chip_server_cluster_attributes}} {{/chip_client_clusters}} diff --git a/src/app/zap-templates/templates/app/CHIPClusters-src.zapt b/src/app/zap-templates/templates/app/CHIPClusters-src.zapt index 43ba748e312238..36323515d6a421 100644 --- a/src/app/zap-templates/templates/app/CHIPClusters-src.zapt +++ b/src/app/zap-templates/templates/app/CHIPClusters-src.zapt @@ -65,9 +65,7 @@ CHIP_ERROR {{asUpperCamelCase clusterName}}Cluster::{{asUpperCamelCase name}}(Ca {{/first}} // {{asLowerCamelCase label}}: {{asLowerCamelCase type}} {{#if (isCharString type)}} - {{! The server expects to get a UTF-8 string, but we have ByteSpan. Do - some conversion to get the right thing to happen. }} - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char({{asLowerCamelCase label}}.data()), {{asLowerCamelCase label}}.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), {{asLowerCamelCase label}}.data())); {{else}} SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), {{asLowerCamelCase label}})); {{/if}} @@ -102,19 +100,15 @@ CHIP_ERROR {{asUpperCamelCase parent.name}}Cluster::ReadAttribute{{asUpperCamelC } {{#if isWritableAttribute}} +{{#*inline "attributeTypeInfo"}}chip::app::Clusters::{{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::TypeInfo{{/inline}} +template CHIP_ERROR ClusterBase::WriteAttribute<{{>attributeTypeInfo}}>(const {{>attributeTypeInfo}}::Type & requestData, void *context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR {{asUpperCamelCase parent.name}}Cluster::WriteAttribute{{asUpperCamelCase name}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, {{chipType}} value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = {{ asHex code 8 }}; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(chip::app::AttributePathParams(mEndpoint, mClusterId, {{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -164,6 +158,32 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, + app::StatusIB status, CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), mEndpoint, + requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip {{/if}} diff --git a/src/app/zap-templates/templates/app/attributes/Accessors-src.zapt b/src/app/zap-templates/templates/app/attributes/Accessors-src.zapt index a2000b9c4ebfda..694a972b93832c 100644 --- a/src/app/zap-templates/templates/app/attributes/Accessors-src.zapt +++ b/src/app/zap-templates/templates/app/attributes/Accessors-src.zapt @@ -30,12 +30,12 @@ namespace {{asUpperCamelCase label}} { EmberAfStatus Get(chip::EndpointId endpoint, {{asUnderlyingZclType type}} * {{asLowerCamelCase label}}) { - return emberAfReadServerAttribute(endpoint, {{asUpperCamelCase parent.label}}::Id, {{asUpperCamelCase label}}::Id, (uint8_t *) {{asLowerCamelCase label}}, sizeof(*{{asLowerCamelCase label}})); + return emberAfReadServerAttribute(endpoint, Clusters::{{asUpperCamelCase parent.label}}::Id, Id, (uint8_t *) {{asLowerCamelCase label}}, sizeof(*{{asLowerCamelCase label}})); } EmberAfStatus Set(chip::EndpointId endpoint, {{asUnderlyingZclType type}} {{asLowerCamelCase label}}) { - return emberAfWriteServerAttribute(endpoint, {{asUpperCamelCase parent.label}}::Id, {{asUpperCamelCase label}}::Id, (uint8_t *) &{{asLowerCamelCase label}}, ZCL_{{asDelimitedMacro type}}_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::{{asUpperCamelCase parent.label}}::Id, Id, (uint8_t *) &{{asLowerCamelCase label}}, ZCL_{{asDelimitedMacro type}}_ATTRIBUTE_TYPE); } } // namespace {{asUpperCamelCase label}} diff --git a/src/app/zap-templates/templates/app/cluster-objects.zapt b/src/app/zap-templates/templates/app/cluster-objects.zapt index 9d21d5e0052187..3a3aa52c7fcc41 100644 --- a/src/app/zap-templates/templates/app/cluster-objects.zapt +++ b/src/app/zap-templates/templates/app/cluster-objects.zapt @@ -60,7 +60,7 @@ namespace {{asUpperCamelCase name}} { struct Type { public: {{#zcl_struct_items}} - {{#if isArray}}DataModel::List<{{/if}}{{zapTypeToEncodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase label}}; + {{zapTypeToEncodableClusterObjectType type}} {{asLowerCamelCase label}}; {{/zcl_struct_items}} CHIP_ERROR Encode(TLV::TLVWriter &writer, TLV::Tag tag) const; @@ -73,7 +73,7 @@ namespace {{asUpperCamelCase name}} { struct DecodableType { public: {{#zcl_struct_items}} - {{#if isArray}}DataModel::DecodableList<{{/if}}{{zapTypeToDecodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase label}}; + {{zapTypeToDecodableClusterObjectType type}} {{asLowerCamelCase label}}; {{/zcl_struct_items}} CHIP_ERROR Decode(TLV::TLVReader &reader); }; @@ -106,7 +106,7 @@ public: static constexpr ClusterId GetClusterId() { return {{asUpperCamelCase parent.name}}::Id; } {{#zcl_command_arguments}} - {{#if isArray}}DataModel::List<{{/if}}{{zapTypeToEncodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase label}}; + {{zapTypeToEncodableClusterObjectType type}} {{asLowerCamelCase label}}; {{/zcl_command_arguments}} CHIP_ERROR Encode(TLV::TLVWriter &writer, TLV::Tag tag) const; @@ -118,7 +118,7 @@ public: static constexpr ClusterId GetClusterId() { return {{asUpperCamelCase parent.name}}::Id; } {{#zcl_command_arguments}} - {{#if isArray}}DataModel::DecodableList<{{/if}}{{zapTypeToDecodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase label}}; + {{zapTypeToDecodableClusterObjectType type}} {{asLowerCamelCase label}}; {{/zcl_command_arguments}} CHIP_ERROR Decode(TLV::TLVReader &reader); }; @@ -129,30 +129,26 @@ public: {{/zcl_commands}} {{#zcl_attributes_server}} -{{#if (hasSpecificAttributes)}} {{#first}} namespace Attributes { {{/first}} -{{#if clusterRef}} namespace {{asUpperCamelCase label}} { struct TypeInfo { {{#if entryType}} - using Type = DataModel::List<{{zapTypeToEncodableClusterObjectType entryType}}>; - using DecodableType = DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType entryType}}>; + using Type = {{zapTypeToEncodableClusterObjectType entryType}}; + using DecodableType = {{zapTypeToDecodableClusterObjectType entryType}}; {{else}} using Type = {{zapTypeToEncodableClusterObjectType type}}; using DecodableType = {{zapTypeToDecodableClusterObjectType type}}; {{/if}} - static constexpr ClusterId GetClusterId() { return {{asUpperCamelCase parent.name}}::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::{{asUpperCamelCase parent.name}}::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::{{asUpperCamelCase label}}::Id; } }; } // namespace {{asUpperCamelCase label}} -{{/if}} {{#last}} } // namespace Attributes {{/last}} -{{/if}} {{/zcl_attributes_server}} {{#zcl_events}} {{#first}} @@ -176,7 +172,7 @@ public: static constexpr ClusterId GetClusterId() { return {{asUpperCamelCase parent.name}}::Id; } {{#zcl_event_fields}} - {{#if isArray}}DataModel::List<{{/if}}{{zapTypeToEncodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase name}}; + {{zapTypeToEncodableClusterObjectType type}} {{asLowerCamelCase name}}; {{/zcl_event_fields}} CHIP_ERROR Encode(TLV::TLVWriter &writer, TLV::Tag tag) const; @@ -189,7 +185,7 @@ public: static constexpr ClusterId GetClusterId() { return {{asUpperCamelCase parent.name}}::Id; } {{#zcl_event_fields}} - {{#if isArray}}DataModel::DecodableList<{{/if}}{{zapTypeToDecodableClusterObjectType type}}{{#if isArray}}>{{/if}} {{asLowerCamelCase name}}; + {{zapTypeToDecodableClusterObjectType type}} {{asLowerCamelCase name}}; {{/zcl_event_fields}} CHIP_ERROR Decode(TLV::TLVReader &reader); diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index 8d1ed13600dc83..4e751e771cdabc 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -350,6 +350,7 @@ function asMEI(prefix, suffix) */ async function zapTypeToClusterObjectType(type, isDecodable, options) { + let passByReference = false; async function fn(pkgId) { const ns = options.hash.ns ? ('chip::app::Clusters::' + asUpperCamelCase(options.hash.ns) + '::') : ''; @@ -364,13 +365,25 @@ async function zapTypeToClusterObjectType(type, isDecodable, options) } if (await typeChecker('isStruct')) { + passByReference = true; return ns + 'Structs::' + type + '::' + (isDecodable ? 'DecodableType' : 'Type'); } return zclHelper.asUnderlyingZclType.call({ global : this.global }, type, options); } - const promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this)); + let promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this)); + if ((this.isList || this.isArray || this.entryType) && !options.hash.forceNotList) { + passByReference = true; + let listType = isDecodable ? "DecodableList" : "List"; + // If we did not have a namespace provided, we can assume we're inside + // chip::app. + let listNamespace = options.hash.ns ? "chip::app::" : "" + promise = promise.then(typeStr => `${listNamespace}DataModel::${listType}<${typeStr}>`); + } + if (options.hash.isArgument && passByReference) { + promise = promise.then(typeStr => `const ${typeStr} &`); + } return templateUtil.templatePromise(this.global, promise) } diff --git a/src/app/zap-templates/templates/app/ids/Attributes.zapt b/src/app/zap-templates/templates/app/ids/Attributes.zapt index f5683ff75c1c5b..159499bf2986a8 100644 --- a/src/app/zap-templates/templates/app/ids/Attributes.zapt +++ b/src/app/zap-templates/templates/app/ids/Attributes.zapt @@ -25,27 +25,24 @@ static constexpr AttributeId Id = {{asMEI manufacturerCode code}}; {{#zcl_clusters}} {{#zcl_attributes_server}} -{{#if (hasSpecificAttributes)}} {{#first}} namespace {{asUpperCamelCase parent.label}} { namespace Attributes { {{/first}} -{{#unless clusterRef}} -namespace {{asUpperCamelCase label}} = Globals::Attributes::{{asUpperCamelCase label}}; -{{/unless}} -{{#if clusterRef}} namespace {{asUpperCamelCase label}} { +{{#if clusterRef}} static constexpr AttributeId Id = {{asMEI manufacturerCode code}}; -} // namespace {{asUpperCamelCase label}} +{{else}} +static constexpr AttributeId Id = Globals::Attributes::{{asUpperCamelCase label}}::Id; {{/if}} +} // namespace {{asUpperCamelCase label}} {{#last}} } // namespace Attributes } // namespace {{asUpperCamelCase parent.label}} {{/last}} -{{/if}} {{/zcl_attributes_server}} {{/zcl_clusters}} diff --git a/src/app/zap-templates/templates/app/tests/CHIPClusters-src.zapt b/src/app/zap-templates/templates/app/tests/CHIPClusters-src.zapt index d2137037ce070d..8d80a39a783937 100644 --- a/src/app/zap-templates/templates/app/tests/CHIPClusters-src.zapt +++ b/src/app/zap-templates/templates/app/tests/CHIPClusters-src.zapt @@ -7,6 +7,7 @@ #include #include +#include #include using namespace chip::app::Clusters; @@ -22,22 +23,13 @@ namespace Controller { {{#unless isWritableAttribute}} {{#unless isList}} {{#unless isStruct}} -CHIP_ERROR {{asUpperCamelCase parent.name}}ClusterTest::WriteAttribute{{asUpperCamelCase name}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, {{chipType}} {{asLowerCamelCase name}}) +CHIP_ERROR {{asUpperCamelCase parent.name}}ClusterTest::WriteAttribute{{asUpperCamelCase name}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, {{chipType}} value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = {{#if isGlobalAttribute}}Globals{{else}}{{asUpperCamelCase parent.name}}{{/if}}::Attributes::{{asUpperCamelCase name}}::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, {{asLowerCamelCase name}})); - + ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(chip::app::AttributePathParams(mEndpoint, mClusterId, {{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - {{/unless}} {{/unless}} {{/unless}} diff --git a/src/app/zap-templates/templates/chip/helper.js b/src/app/zap-templates/templates/chip/helper.js index 59705cae70fa0d..5cc606fed376b0 100644 --- a/src/app/zap-templates/templates/chip/helper.js +++ b/src/app/zap-templates/templates/chip/helper.js @@ -348,6 +348,19 @@ function chip_available_cluster_commands(options) return promise; } +/** + * Checks whether a type is an enum for purposes of its chipType. That includes + * both spec-defined enum types and types that we map to enum types in our code. + */ +function if_chip_enum(type, options) +{ + if (type.toLowerCase() == 'vendor_id') { + return options.fn(this); + } + + return zclHelper.if_is_enum.call(this, type, options); +} + // // Module exports // @@ -367,3 +380,4 @@ exports.chip_attribute_list_entryTypes = chip_attribute_li exports.chip_server_cluster_attributes = chip_server_cluster_attributes; exports.chip_server_has_list_attributes = chip_server_has_list_attributes; exports.chip_available_cluster_commands = chip_available_cluster_commands; +exports.if_chip_enum = if_chip_enum; diff --git a/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml new file mode 100644 index 00000000000000..a38e8896406a08 --- /dev/null +++ b/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml @@ -0,0 +1,36 @@ + + + + + + + Boolean State + General + This cluster provides an interface to a boolean state called StateValue. + 0x0045 + BOOLEAN_STATE_CLUSTER + true + true + + StateValue + + + This event SHALL be generated when the StateValue attribute changes. + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/chip-devices.xml b/src/app/zap-templates/zcl/data-model/chip/chip-devices.xml index 838e4de044a92f..6542058ad19e44 100644 --- a/src/app/zap-templates/zcl/data-model/chip/chip-devices.xml +++ b/src/app/zap-templates/zcl/data-model/chip/chip-devices.xml @@ -15,6 +15,20 @@ See the License for the specific language governing permissions and limitations under the License. --> + + Base Application Example + CHIP + Root Node Device Type + 0x0103 + 0xFF00 + + + + + + + + CHIP-All-Clusters-Server CHIP diff --git a/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml new file mode 100644 index 00000000000000..497c27fbb5b9ec --- /dev/null +++ b/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml @@ -0,0 +1,42 @@ + + + + + + + Illuminance Measurement + Measurement & Sensing + Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. + 0x0400 + ILLUMINANCE_MEASUREMENT_CLUSTER + true + true + + MeasuredValue + MinMeasuredValue + MaxMeasuredValue + Tolerance + LightSensorType + + + + + + + + +LST \ No newline at end of file diff --git a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml index 12bbf6a259d887..46631a33cabea0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml @@ -46,7 +46,7 @@ limitations under the License. 0x0006 ON_OFF_CLUSTER Attributes and commands for switching devices between 'On' and 'Off' states. - + OnOff GlobalSceneControl 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 7f5aca0a6087ff..e47701cdc0a44e 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 @@ -93,7 +93,7 @@ limitations under the License. - + Sender is requesting to add the new node operational certificates. @@ -102,7 +102,7 @@ limitations under the License. - + Sender is requesting to update the node operational certificates. @@ -115,12 +115,12 @@ limitations under the License. - + 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. diff --git a/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml index 73794f5959a62c..4696d6b25783ae 100644 --- a/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/test-cluster.xml @@ -112,6 +112,11 @@ limitations under the License. long_char_string epoch_us epoch_s + vendor_id + + unsupported @@ -246,6 +251,15 @@ limitations under the License. + + + Command that sends a vendor id and an enum. The server is expected to + echo them back. + + + + + Simple response for TestWithResponse with a simple return value @@ -286,6 +300,14 @@ limitations under the License. + + + Response that delivers a vendor id and an enum.. + + + + + Example test event diff --git a/src/app/zap-templates/zcl/data-model/silabs/ha.xml b/src/app/zap-templates/zcl/data-model/silabs/ha.xml index 4b1bbef5c9043d..7c62eab8335073 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/ha.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/ha.xml @@ -418,39 +418,6 @@ limitations under the License. lamp alarm mode lamp burn hours trip point - - Illuminance Measurement - Measurement & Sensing - Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. - 0x0400 - ILLUM_MEASUREMENT_CLUSTER - true - true - - measured value - - min measured value - - max measured value - - tolerance - - light sensor type - - - - Illuminance Level Sensing - Measurement & Sensing - Attributes and commands for configuring the sensing of illuminance levels, and reporting whether illuminance is above, below, or on target. - 0x0401 - ILLUM_LEVEL_SENSING_CLUSTER - true - true - level status - light sensor type - - illuminance level target - Occupancy Sensing Measurement & Sensing diff --git a/src/app/zap-templates/zcl/data-model/silabs/types.xml b/src/app/zap-templates/zcl/data-model/silabs/types.xml index 3476d1f6c05945..fc8e5ce0f05e5c 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/types.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/types.xml @@ -243,19 +243,11 @@ limitations under the License. - - - - - - - - diff --git a/src/app/zap-templates/zcl/zcl.json b/src/app/zap-templates/zcl/zcl.json index e3dc9b02de2ac4..f6cc69d94c36d1 100644 --- a/src/app/zap-templates/zcl/zcl.json +++ b/src/app/zap-templates/zcl/zcl.json @@ -9,6 +9,7 @@ "audio-output-cluster.xml", "basic-information-cluster.xml", "binding-cluster.xml", + "boolean-state-cluster.xml", "bridged-device-basic.xml", "chip-devices.xml", "chip-ota.xml", @@ -26,6 +27,7 @@ "global-attributes.xml", "group-key-mgmt-cluster.xml", "identify-cluster.xml", + "illuminance-measurement-cluster.xml", "keypad-input-cluster.xml", "low-power-cluster.xml", "media-input-cluster.xml", diff --git a/src/app/zap_cluster_list.py b/src/app/zap_cluster_list.py index 604aaedc4a2ed6..1539aeb7a9c6b9 100755 --- a/src/app/zap_cluster_list.py +++ b/src/app/zap_cluster_list.py @@ -17,8 +17,9 @@ 'AUDIO_OUTPUT_CLUSTER': ['audio-output-server'], 'BARRIER_CONTROL_CLUSTER': ['barrier-control-server'], 'BASIC_CLUSTER': ['basic'], - 'BINARY_INPUT_BASIC_CLUSTER': ['binary-input-server'], + 'BINARY_INPUT_BASIC_CLUSTER': [], 'BINDING_CLUSTER': ['bindings'], + 'BOOLEAN_STATE_CLUSTER': [], 'BRIDGED_DEVICE_BASIC_CLUSTER': [], 'COLOR_CONTROL_CLUSTER': ['color-control-server'], 'COMMISSIONING_CLUSTER': [], @@ -36,6 +37,7 @@ 'GROUP_KEY_MANAGEMENT_CLUSTER': [], 'IAS_ZONE_CLUSTER': ['ias-zone-server'], 'IDENTIFY_CLUSTER': ['identify-server'], + 'ILLUMINANCE_MEASUREMENT_CLUSTER': [], 'KEYPAD_INPUT_CLUSTER': ['keypad-input-server'], 'LEVEL_CONTROL_CLUSTER': ['level-control'], 'LOW_POWER_CLUSTER': ['low-power-server'], @@ -50,16 +52,16 @@ 'OTA_PROVIDER_CLUSTER': ['ota-provider'], 'OTA_REQUESTOR_CLUSTER': [], 'POWER_CONFIG_CLUSTER': [], - 'POWER_SOURCE_CLUSTER': ['power-source-server'], + 'POWER_SOURCE_CLUSTER': [], 'PRESSURE_MEASUREMENT_CLUSTER': [], 'PUMP_CONFIG_CONTROL_CLUSTER': ['pump-configuration-and-control-server'], - 'RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER': ['relative-humidity-measurement-server'], - 'ELECTRICAL_MEASUREMENT_CLUSTER': ['electrical-measurement-server'], + 'RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER': [], + 'ELECTRICAL_MEASUREMENT_CLUSTER': [], 'SCENES_CLUSTER': ['scenes'], 'SOFTWARE_DIAGNOSTICS_CLUSTER': ['software_diagnostics_server'], 'SWITCH_CLUSTER': [], 'TARGET_NAVIGATOR_CLUSTER': ['target-navigator-server'], - 'TEMP_MEASUREMENT_CLUSTER': ['temperature-measurement-server'], + 'TEMP_MEASUREMENT_CLUSTER': [], 'TEST_CLUSTER': ['test-cluster-server'], 'TV_CHANNEL_CLUSTER': ['tv-channel-server'], 'THERMOSTAT_CLUSTER': ['thermostat-server'], @@ -83,6 +85,7 @@ 'BASIC_CLUSTER': [], 'BINARY_INPUT_BASIC_CLUSTER': [], 'BINDING_CLUSTER': [], + 'BOOLEAN_STATE_CLUSTER': [], 'BRIDGED_DEVICE_BASIC_CLUSTER': [], 'COLOR_CONTROL_CLUSTER': [], 'COMMISSIONING_CLUSTER': [], @@ -100,6 +103,7 @@ 'GROUP_KEY_MANAGEMENT_CLUSTER': [], 'IAS_ZONE_CLUSTER': ['ias-zone-client'], 'IDENTIFY_CLUSTER': [], + 'ILLUMINANCE_MEASUREMENT_CLUSTER': [], 'KEYPAD_INPUT_CLUSTER': [], 'LEVEL_CONTROL_CLUSTER': [], 'LOW_POWER_CLUSTER': [], diff --git a/src/controller/CHIPCluster.h b/src/controller/CHIPCluster.h index 9dd0d4771ee282..7fc7ff3f3ccd93 100644 --- a/src/controller/CHIPCluster.h +++ b/src/controller/CHIPCluster.h @@ -30,6 +30,7 @@ #include #include #include +#include namespace chip { namespace Controller { @@ -37,6 +38,8 @@ namespace Controller { template using CommandResponseSuccessCallback = void(void * context, const T & responseObject); using CommandResponseFailureCallback = void(void * context, EmberAfStatus status); +using WriteResponseSuccessCallback = void (*)(void * context); +using WriteResponseFailureCallback = void (*)(void * context, EmberAfStatus status); class DLL_EXPORT ClusterBase { @@ -59,6 +62,10 @@ class DLL_EXPORT ClusterBase CHIP_ERROR InvokeCommand(const RequestDataT & requestData, void * context, CommandResponseSuccessCallback successCb, CommandResponseFailureCallback failureCb); + template + CHIP_ERROR WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + protected: ClusterBase(uint16_t cluster) : mClusterId(cluster) {} diff --git a/src/controller/CHIPDevice.cpp b/src/controller/CHIPDevice.cpp index bf65c6c9ce68e5..5fc62dfa535639 100644 --- a/src/controller/CHIPDevice.cpp +++ b/src/controller/CHIPDevice.cpp @@ -689,7 +689,7 @@ void Device::CancelResponseHandler(uint8_t seqNum) mCallbacksMgr.CancelResponseCallback(mDeviceId, seqNum); } -void Device::AddIMResponseHandler(app::CommandSender * commandObj, Callback::Cancelable * onSuccessCallback, +void Device::AddIMResponseHandler(void * commandObj, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { // We are using the pointer to command sender object as the identifier of command transactions. This makes sense as long as @@ -701,7 +701,7 @@ void Device::AddIMResponseHandler(app::CommandSender * commandObj, Callback::Can onFailureCallback); } -void Device::CancelIMResponseHandler(app::CommandSender * commandObj) +void Device::CancelIMResponseHandler(void * commandObj) { // We are using the pointer to command sender object as the identifier of command transactions. This makes sense as long as // there are only one active command transaction on one command sender object. This is a bit tricky, we try to assume that @@ -789,19 +789,19 @@ CHIP_ERROR Device::SendWriteAttributeRequest(app::WriteClientHandle aHandle, Cal Callback::Cancelable * onFailureCallback) { bool loadedSecureSession = false; - uint8_t seqNum = GetNextSequenceNumber(); CHIP_ERROR err = CHIP_NO_ERROR; - aHandle->SetAppIdentifier(seqNum); ReturnErrorOnFailure(LoadSecureSessionParametersIfNeeded(loadedSecureSession)); + app::WriteClient * writeClient = aHandle.Get(); + if (onSuccessCallback != nullptr || onFailureCallback != nullptr) { - AddResponseHandler(seqNum, onSuccessCallback, onFailureCallback); + AddIMResponseHandler(writeClient, onSuccessCallback, onFailureCallback); } if ((err = aHandle.SendWriteRequest(GetDeviceId(), 0, mSecureSession)) != CHIP_NO_ERROR) { - CancelResponseHandler(seqNum); + CancelIMResponseHandler(writeClient); } return err; } diff --git a/src/controller/CHIPDevice.h b/src/controller/CHIPDevice.h index e1c51e9daf6ba5..da5446f4686ee6 100644 --- a/src/controller/CHIPDevice.h +++ b/src/controller/CHIPDevice.h @@ -389,9 +389,9 @@ class DLL_EXPORT Device : public Messaging::ExchangeDelegate, public SessionEsta // on the app side instead of register callbacks here. The IM delegate can provide more infomation then callback and it is // type-safe. // TODO: Implement interaction model delegate in the application. - void AddIMResponseHandler(app::CommandSender * commandObj, Callback::Cancelable * onSuccessCallback, + void AddIMResponseHandler(void * commandObj, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); - void CancelIMResponseHandler(app::CommandSender * commandObj); + void CancelIMResponseHandler(void * commandObj); void OperationalCertProvisioned(); bool IsOperationalCertProvisioned() const { return mDeviceOperationalCertProvisioned; } diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 93718ecd41f946..86e59b4a1f68c6 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -1728,29 +1728,17 @@ CHIP_ERROR DeviceControllerInteractionModelDelegate::ReadDone(app::ReadClient * return CHIP_NO_ERROR; } -CHIP_ERROR DeviceControllerInteractionModelDelegate::WriteResponseStatus(const app::WriteClient * apWriteClient, - const app::StatusIB & aStatusIB, - app::AttributePathParams & aAttributePathParams, - uint8_t aAttributeIndex) +void DeviceControllerInteractionModelDelegate::OnResponse(const app::WriteClient * apWriteClient, + const app::ConcreteAttributePath & aPath, app::StatusIB attributeStatus) { - IMWriteResponseCallback(apWriteClient, chip::app::ToEmberAfStatus(aStatusIB.mStatus)); - return CHIP_NO_ERROR; + IMWriteResponseCallback(apWriteClient, attributeStatus.mStatus); } - -CHIP_ERROR DeviceControllerInteractionModelDelegate::WriteResponseProtocolError(const app::WriteClient * apWriteClient, - uint8_t aAttributeIndex) +void DeviceControllerInteractionModelDelegate::OnError(const app::WriteClient * apWriteClient, CHIP_ERROR aError) { - // When WriteResponseProtocolError occurred, it means server returned an invalid packet. - IMWriteResponseCallback(apWriteClient, EMBER_ZCL_STATUS_FAILURE); - return CHIP_NO_ERROR; + IMWriteResponseCallback(apWriteClient, Protocols::InteractionModel::Status::Failure); } -CHIP_ERROR DeviceControllerInteractionModelDelegate::WriteResponseError(const app::WriteClient * apWriteClient, CHIP_ERROR aError) -{ - // When WriteResponseError occurred, it means we failed to receive the response from server. - IMWriteResponseCallback(apWriteClient, EMBER_ZCL_STATUS_FAILURE); - return CHIP_NO_ERROR; -} +void DeviceControllerInteractionModelDelegate::OnDone(app::WriteClient * apWriteClient) {} CHIP_ERROR DeviceControllerInteractionModelDelegate::SubscribeResponseProcessed(const app::ReadClient * apSubscribeClient) { @@ -1950,7 +1938,7 @@ void DeviceCommissioner::AdvanceCommissioningStage(CHIP_ERROR err) { ChipLogError(Controller, "Unable to find country code, defaulting to WW"); } - chip::ByteSpan countryCode(reinterpret_cast(countryCodeStr), actualCountryCodeSize); + chip::CharSpan countryCode(countryCodeStr, actualCountryCodeSize); GeneralCommissioningCluster genCom; genCom.Associate(device, 0); diff --git a/src/controller/DeviceControllerInteractionModelDelegate.h b/src/controller/DeviceControllerInteractionModelDelegate.h index e3f2552b3aaa16..b208e58e125eb7 100644 --- a/src/controller/DeviceControllerInteractionModelDelegate.h +++ b/src/controller/DeviceControllerInteractionModelDelegate.h @@ -4,6 +4,7 @@ #include #include +#include namespace chip { namespace Controller { @@ -15,7 +16,8 @@ namespace Controller { * TODO:(#8967) Implementation of CommandSender::Callback should be removed after switching to ClusterObjects. */ class DeviceControllerInteractionModelDelegate : public chip::app::InteractionModelDelegate, - public chip::app::CommandSender::Callback + public chip::app::CommandSender::Callback, + public chip::app::WriteClient::Callback { public: void OnResponse(app::CommandSender * apCommandSender, const app::ConcreteCommandPath & aPath, TLV::TLVReader * aData) override; @@ -23,17 +25,15 @@ class DeviceControllerInteractionModelDelegate : public chip::app::InteractionMo CHIP_ERROR aProtocolError) override; void OnDone(app::CommandSender * apCommandSender) override; + void OnResponse(const app::WriteClient * apWriteClient, const app::ConcreteAttributePath & aPath, + app::StatusIB attributeStatus) override; + void OnError(const app::WriteClient * apWriteClient, CHIP_ERROR aError) override; + void OnDone(app::WriteClient * apWriteClient) override; + void OnReportData(const app::ReadClient * apReadClient, const app::ClusterInfo & aPath, TLV::TLVReader * apData, Protocols::InteractionModel::Status status) override; CHIP_ERROR ReadError(app::ReadClient * apReadClient, CHIP_ERROR aError) override; - CHIP_ERROR WriteResponseStatus(const app::WriteClient * apWriteClient, const app::StatusIB & aStatusIB, - app::AttributePathParams & aAttributePathParams, uint8_t aAttributeIndex) override; - - CHIP_ERROR WriteResponseProtocolError(const app::WriteClient * apWriteClient, uint8_t aAttributeIndex) override; - - CHIP_ERROR WriteResponseError(const app::WriteClient * apWriteClient, CHIP_ERROR aError) override; - CHIP_ERROR SubscribeResponseProcessed(const app::ReadClient * apSubscribeClient) override; CHIP_ERROR ReadDone(app::ReadClient * apReadClient) override; diff --git a/src/controller/ReadInteraction.h b/src/controller/ReadInteraction.h index ead41e665cdf11..c9def715f14501 100644 --- a/src/controller/ReadInteraction.h +++ b/src/controller/ReadInteraction.h @@ -57,8 +57,7 @@ CHIP_ERROR ReadAttribute(Messaging::ExchangeManager * aExchangeMgr, const Sessio auto callback = chip::Platform::MakeUnique>(onSuccessCb, onErrorCb, onDone); VerifyOrReturnError(callback != nullptr, CHIP_ERROR_NO_MEMORY); - err = engine->NewReadClient(&readClient, app::ReadClient::InteractionType::Read, 0, callback.get()); - ReturnErrorOnFailure(err); + ReturnErrorOnFailure(engine->NewReadClient(&readClient, app::ReadClient::InteractionType::Read, 0, callback.get())); err = readClient->SendReadRequest(readParams); if (err != CHIP_NO_ERROR) diff --git a/src/controller/WriteInteraction.h b/src/controller/WriteInteraction.h new file mode 100644 index 00000000000000..20722264616dec --- /dev/null +++ b/src/controller/WriteInteraction.h @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2021 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. + */ + +#pragma once + +#include +#include +#include +#include + +namespace chip { +namespace Controller { + +/* + * An adapter callback that permits applications to provide std::function callbacks for success, error and on done. + * This permits a slightly more flexible programming model that allows applications to pass in lambdas and bound member functions + * as they see fit instead. + * + */ + +class WriteCallback final : public app::WriteClient::Callback +{ +public: + using OnSuccessCallbackType = std::function; + + // + // Callback to deliver any error that occurs during the write. This includes + // errors global to the write as a whole (e.g timeout) as well as per-attribute + // errors. + // + // In the latter case, path will be non-null. Otherwise, it shall be null. + // + using OnErrorCallbackType = + std::function; + using OnDoneCallbackType = std::function; + + WriteCallback(OnSuccessCallbackType aOnSuccess, OnErrorCallbackType aOnError, OnDoneCallbackType aOnDone) : + mOnSuccess(aOnSuccess), mOnError(aOnError), mOnDone(aOnDone) + {} + + void OnResponse(const app::WriteClient * apWriteClient, const app::ConcreteAttributePath & aPath, app::StatusIB status) override + { + if (status.mStatus == Protocols::InteractionModel::Status::Success) + { + mOnSuccess(aPath); + } + else + { + mOnError(&aPath, status, CHIP_ERROR_IM_STATUS_CODE_RECEIVED); + } + } + + void OnError(const app::WriteClient * apWriteClient, CHIP_ERROR aError) override + { + mOnError(nullptr, app::StatusIB(Protocols::InteractionModel::Status::Failure), aError); + } + + void OnDone(app::WriteClient * apWriteClient) override { mOnDone(apWriteClient, this); } + +private: + OnSuccessCallbackType mOnSuccess; + OnErrorCallbackType mOnError; + OnDoneCallbackType mOnDone; +}; + +template +CHIP_ERROR WriteAttribute(Messaging::ExchangeManager * aExchangeMgr, SessionHandle sessionHandle, chip::EndpointId endpointId, + const typename AttributeInfo::Type & requestCommandData, WriteCallback::OnSuccessCallbackType onSuccessCb, + WriteCallback::OnErrorCallbackType onErrorCb) +{ + app::WriteClientHandle handle; + + auto onDone = [](app::WriteClient * apWriteClient, WriteCallback * callback) { chip::Platform::Delete(callback); }; + + auto callback = Platform::MakeUnique(onSuccessCb, onErrorCb, onDone); + VerifyOrReturnError(callback != nullptr, CHIP_ERROR_NO_MEMORY); + + ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, callback.get())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(endpointId, AttributeInfo::GetClusterId(), AttributeInfo::GetAttributeId()), + requestCommandData)); + ReturnErrorOnFailure(handle.SendWriteRequest(sessionHandle.GetPeerNodeId(), sessionHandle.GetFabricIndex(), + chip::Optional(sessionHandle))); + + callback.release(); + return CHIP_NO_ERROR; +} + +} // namespace Controller +} // namespace chip diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap index 582246aa8aaa7a..b1b3bf332c4150 100644 --- a/src/controller/data_model/controller-clusters.zap +++ b/src/controller/data_model/controller-clusters.zap @@ -2772,6 +2772,25 @@ ], "attributes": [] }, + { + "name": "Diagnostic Logs", + "code": 50, + "mfgCode": null, + "define": "DIAGNOSTIC_LOGS_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "RetrieveLogsResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [] + }, { "name": "General Diagnostics", "code": 51, @@ -5202,6 +5221,73 @@ } ] }, + { + "name": "Boolean State", + "code": 69, + "mfgCode": null, + "define": "BOOLEAN_STATE_CLUSTER", + "side": "client", + "enabled": 1, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Boolean State", + "code": 69, + "mfgCode": null, + "define": "BOOLEAN_STATE_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "StateValue", + "code": 0, + "mfgCode": null, + "side": "server", + "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", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, { "name": "Door Lock", "code": 257, @@ -8487,6 +8573,133 @@ } ] }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 1, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Illuminance Measurement", + "code": 1024, + "mfgCode": null, + "define": "ILLUMINANCE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LightSensorType", + "code": 4, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFF", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, { "name": "Temperature Measurement", "code": 1026, @@ -10756,6 +10969,14 @@ "source": "client", "incoming": 0, "outgoing": 1 + }, + { + "name": "TestEnumsRequest", + "code": 14, + "mfgCode": null, + "source": "client", + "incoming": 0, + "outgoing": 1 } ], "attributes": [ @@ -10807,6 +11028,14 @@ "source": "server", "incoming": 1, "outgoing": 0 + }, + { + "name": "TestEnumsResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 0 } ], "attributes": [ @@ -11170,6 +11399,21 @@ "maxInterval": 65534, "reportableChange": 0 }, + { + "name": "vendor_id", + "code": 34, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "unsupported", "code": 255, diff --git a/src/controller/java/templates/CHIPClusters-JNI.zapt b/src/controller/java/templates/CHIPClusters-JNI.zapt index eb481608cafd1f..492ae5df6e8ea2 100644 --- a/src/controller/java/templates/CHIPClusters-JNI.zapt +++ b/src/controller/java/templates/CHIPClusters-JNI.zapt @@ -413,7 +413,7 @@ class CHIP{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}AttributeCall } } - static void CallbackFn(void * context, const app::DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & list) + static void CallbackFn(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -554,7 +554,7 @@ JNI_METHOD(void, {{asUpperCamelCase ../name}}Cluster, {{asLowerCamelCase name}}) cppCluster = reinterpret_cast<{{asUpperCamelCase ../name}}Cluster *>(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->{{asCamelCased name false}}(onSuccess->Cancel(), onFailure->Cancel(){{#chip_cluster_command_arguments_with_structs_expanded}}, {{#if (isOctetString type)}}{{asUnderlyingZclType type}}((const uint8_t*) {{asLowerCamelCase label}}Arr.data(), {{asLowerCamelCase label}}Arr.size()){{else if (isCharString type)}}chip::ByteSpan((const uint8_t*) {{asLowerCamelCase label}}, strlen({{asLowerCamelCase label}}Str.c_str())){{else}}{{asLowerCamelCase label}}{{/if}}{{/chip_cluster_command_arguments_with_structs_expanded}}); + err = cppCluster->{{asCamelCased name false}}(onSuccess->Cancel(), onFailure->Cancel(){{#chip_cluster_command_arguments_with_structs_expanded}}, {{#if_chip_enum type}}static_cast<{{chipType}}>({{asLowerCamelCase label}}){{else if (isOctetString type)}}{{asUnderlyingZclType type}}((const uint8_t*) {{asLowerCamelCase label}}Arr.data(), {{asLowerCamelCase label}}Arr.size()){{else if (isCharString type)}}chip::CharSpan({{asLowerCamelCase label}}Str.c_str(), strlen({{asLowerCamelCase label}}Str.c_str())){{else}}{{asLowerCamelCase label}}{{/if_chip_enum}}{{/chip_cluster_command_arguments_with_structs_expanded}}); SuccessOrExit(err); exit: @@ -627,9 +627,9 @@ JNI_METHOD(void, {{asUpperCamelCase ../name}}Cluster, write{{asUpperCamelCase na err = cppCluster->WriteAttribute{{asUpperCamelCase name}}(onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t*) jniArr.data(), jniArr.size())); {{else if (isCharString type)}} JniUtfString valueStr(env, value); - err = cppCluster->WriteAttribute{{asUpperCamelCase name}}(onSuccess->Cancel(), onFailure->Cancel(), chip::ByteSpan((const uint8_t*) valueStr.c_str(), strlen(valueStr.c_str()))); + err = cppCluster->WriteAttribute{{asUpperCamelCase name}}(onSuccess->Cancel(), onFailure->Cancel(), chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); {{else}} - err = cppCluster->WriteAttribute{{asUpperCamelCase name}}(onSuccess->Cancel(), onFailure->Cancel(), static_cast<{{chipCallback.type}}>(value)); + err = cppCluster->WriteAttribute{{asUpperCamelCase name}}(onSuccess->Cancel(), onFailure->Cancel(), static_cast<{{chipType}}>(value)); {{/if}} VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); diff --git a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp index 6fed1ef9a1a434..6af16bbecc3a84 100644 --- a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp +++ b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp @@ -1142,6 +1142,85 @@ class CHIPContentLauncherClusterLaunchURLResponseCallback jobject javaCallbackRef; }; +class CHIPDiagnosticLogsClusterRetrieveLogsResponseCallback + : public Callback::Callback +{ +public: + CHIPDiagnosticLogsClusterRetrieveLogsResponseCallback(jobject javaCallback) : + Callback::Callback(CallbackFn, this) + { + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } + } + ~CHIPDiagnosticLogsClusterRetrieveLogsResponseCallback() + { + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); + }; + + static void CallbackFn(void * context, uint8_t status, chip::ByteSpan content, uint32_t timeStamp, uint32_t timeSinceBoot) + { + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + jmethodID javaMethod; + CHIPDiagnosticLogsClusterRetrieveLogsResponseCallback * cppCallback = nullptr; + jbyteArray contentArr; + + VerifyOrExit(env != nullptr, err = CHIP_JNI_ERROR_NO_ENV); + + cppCallback = reinterpret_cast(context); + VerifyOrExit(cppCallback != nullptr, err = CHIP_JNI_ERROR_NULL_OBJECT); + + javaCallbackRef = cppCallback->javaCallbackRef; + VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); + + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I[BJJ)V", &javaMethod); + SuccessOrExit(err); + + contentArr = env->NewByteArray(content.size()); + VerifyOrExit(contentArr != nullptr, err = CHIP_ERROR_NO_MEMORY); + env->ExceptionClear(); + env->SetByteArrayRegion(contentArr, 0, content.size(), reinterpret_cast(content.data())); + VerifyOrExit(!env->ExceptionCheck(), err = CHIP_JNI_ERROR_EXCEPTION_THROWN); + + env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(status), contentArr, static_cast(timeStamp), + static_cast(timeSinceBoot)); + + env->DeleteLocalRef(contentArr); + + exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Error invoking Java callback: %" CHIP_ERROR_FORMAT, err.Format()); + } + if (cppCallback != nullptr) + { + cppCallback->Cancel(); + delete cppCallback; + } + } + +private: + jobject javaCallbackRef; +}; + class CHIPDoorLockClusterClearAllPinsResponseCallback : public Callback::Callback { public: @@ -5820,6 +5899,74 @@ class CHIPTestClusterClusterTestAddArgumentsResponseCallback jobject javaCallbackRef; }; +class CHIPTestClusterClusterTestEnumsResponseCallback : public Callback::Callback +{ +public: + CHIPTestClusterClusterTestEnumsResponseCallback(jobject javaCallback) : + Callback::Callback(CallbackFn, this) + { + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } + } + ~CHIPTestClusterClusterTestEnumsResponseCallback() + { + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); + }; + + static void CallbackFn(void * context, chip::VendorId arg1, uint8_t arg2) + { + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + jmethodID javaMethod; + CHIPTestClusterClusterTestEnumsResponseCallback * cppCallback = nullptr; + + VerifyOrExit(env != nullptr, err = CHIP_JNI_ERROR_NO_ENV); + + cppCallback = reinterpret_cast(context); + VerifyOrExit(cppCallback != nullptr, err = CHIP_JNI_ERROR_NULL_OBJECT); + + javaCallbackRef = cppCallback->javaCallbackRef; + VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); + + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + SuccessOrExit(err); + + env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(arg1), static_cast(arg2)); + + exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Error invoking Java callback: %" CHIP_ERROR_FORMAT, err.Format()); + } + if (cppCallback != nullptr) + { + cppCallback->Cancel(); + delete cppCallback; + } + } + +private: + jobject javaCallbackRef; +}; + class CHIPTestClusterClusterTestListInt8UReverseResponseCallback : public Callback::Callback { @@ -5981,7 +6128,7 @@ class CHIPApplicationLauncherApplicationLauncherListAttributeCallback } } - static void CallbackFn(void * context, const app::DataModel::DecodableList & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6057,7 +6204,7 @@ class CHIPAudioOutputAudioOutputListAttributeCallback : public Callback::Callbac static void CallbackFn( void * context, - const app::DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6147,7 +6294,7 @@ class CHIPContentLauncherAcceptsHeaderListAttributeCallback } } - static void CallbackFn(void * context, const app::DataModel::DecodableList & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6222,7 +6369,7 @@ class CHIPContentLauncherSupportedStreamingTypesAttributeCallback static void CallbackFn(void * context, - const app::DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6296,9 +6443,9 @@ class CHIPDescriptorDeviceListAttributeCallback : public Callback::Callback & list) + static void CallbackFn( + void * context, + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6384,7 +6531,7 @@ class CHIPDescriptorServerListAttributeCallback : public Callback::Callback & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6458,7 +6605,7 @@ class CHIPDescriptorClientListAttributeCallback : public Callback::Callback & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6532,7 +6679,7 @@ class CHIPDescriptorPartsListAttributeCallback : public Callback::Callback & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6606,9 +6753,9 @@ class CHIPFixedLabelLabelListAttributeCallback : public Callback::Callback & list) + static void CallbackFn( + void * context, + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6699,7 +6846,7 @@ class CHIPGeneralCommissioningBasicCommissioningInfoListAttributeCallback static void CallbackFn(void * context, - const app::DataModel::DecodableList< + const chip::app::DataModel::DecodableList< chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfoType::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; @@ -6791,10 +6938,9 @@ class CHIPGeneralDiagnosticsNetworkInterfacesAttributeCallback } } - static void CallbackFn( - void * context, - const app::DataModel::DecodableList & - list) + static void CallbackFn(void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6893,7 +7039,8 @@ class CHIPGroupKeyManagementGroupsAttributeCallback : public Callback::Callback< static void CallbackFn( void * context, - const app::DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & + list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -6981,7 +7128,7 @@ class CHIPGroupKeyManagementGroupKeysAttributeCallback : public Callback::Callba static void CallbackFn( void * context, - const app::DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7074,9 +7221,9 @@ class CHIPMediaInputMediaInputListAttributeCallback : public Callback::Callback< } } - static void - CallbackFn(void * context, - const app::DataModel::DecodableList & list) + static void CallbackFn( + void * context, + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7167,10 +7314,9 @@ class CHIPOperationalCredentialsFabricsListAttributeCallback } } - static void CallbackFn( - void * context, - const app::DataModel::DecodableList & - list) + static void CallbackFn(void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7266,7 +7412,7 @@ class CHIPPowerSourceActiveBatteryFaultsAttributeCallback } } - static void CallbackFn(void * context, const app::DataModel::DecodableList & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7340,9 +7486,9 @@ class CHIPTvChannelTvChannelListAttributeCallback : public Callback::Callback & list) + static void CallbackFn( + void * context, + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7438,7 +7584,7 @@ class CHIPTargetNavigatorTargetNavigatorListAttributeCallback } static void CallbackFn(void * context, - const app::DataModel::DecodableList< + const chip::app::DataModel::DecodableList< chip::app::Clusters::TargetNavigator::Structs::NavigateTargetTargetInfo::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; @@ -7528,7 +7674,7 @@ class CHIPTestClusterListInt8uAttributeCallback : public Callback::Callback & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7602,7 +7748,7 @@ class CHIPTestClusterListOctetStringAttributeCallback : public Callback::Callbac } } - static void CallbackFn(void * context, const app::DataModel::DecodableList & list) + static void CallbackFn(void * context, const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7677,7 +7823,8 @@ class CHIPTestClusterListStructOctetStringAttributeCallback static void CallbackFn( void * context, - const app::DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & + list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7767,10 +7914,9 @@ class CHIPThreadNetworkDiagnosticsNeighborTableListAttributeCallback } } - static void CallbackFn( - void * context, - const app::DataModel::DecodableList & - list) + static void CallbackFn(void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7873,10 +8019,9 @@ class CHIPThreadNetworkDiagnosticsRouteTableListAttributeCallback } } - static void CallbackFn( - void * context, - const app::DataModel::DecodableList & - list) + static void CallbackFn(void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -7974,10 +8119,9 @@ class CHIPThreadNetworkDiagnosticsSecurityPolicyAttributeCallback } } - static void CallbackFn( - void * context, - const app::DataModel::DecodableList & - list) + static void CallbackFn(void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -8068,7 +8212,7 @@ class CHIPThreadNetworkDiagnosticsOperationalDatasetComponentsAttributeCallback static void CallbackFn(void * context, - const app::DataModel::DecodableList< + const chip::app::DataModel::DecodableList< chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; @@ -8175,8 +8319,9 @@ class CHIPThreadNetworkDiagnosticsActiveNetworkFaultsListAttributeCallback } } - static void CallbackFn(void * context, - const app::DataModel::DecodableList & list) + static void + CallbackFn(void * context, + const chip::app::DataModel::DecodableList & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -8270,9 +8415,8 @@ JNI_METHOD(void, AccountLoginCluster, getSetupPIN) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = - cppCluster->GetSetupPIN(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) tempAccountIdentifier, strlen(tempAccountIdentifierStr.c_str()))); + err = cppCluster->GetSetupPIN(onSuccess->Cancel(), onFailure->Cancel(), + chip::CharSpan(tempAccountIdentifierStr.c_str(), strlen(tempAccountIdentifierStr.c_str()))); SuccessOrExit(err); exit: @@ -8323,8 +8467,8 @@ JNI_METHOD(void, AccountLoginCluster, login) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->Login(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) tempAccountIdentifier, strlen(tempAccountIdentifierStr.c_str())), - chip::ByteSpan((const uint8_t *) setupPIN, strlen(setupPINStr.c_str()))); + chip::CharSpan(tempAccountIdentifierStr.c_str(), strlen(tempAccountIdentifierStr.c_str())), + chip::CharSpan(setupPINStr.c_str(), strlen(setupPINStr.c_str()))); SuccessOrExit(err); exit: @@ -8587,7 +8731,7 @@ JNI_METHOD(void, ApplicationBasicCluster, changeStatus)(JNIEnv * env, jobject se cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->ChangeStatus(onSuccess->Cancel(), onFailure->Cancel(), status); + err = cppCluster->ChangeStatus(onSuccess->Cancel(), onFailure->Cancel(), static_cast(status)); SuccessOrExit(err); exit: @@ -8853,9 +8997,8 @@ JNI_METHOD(void, ApplicationLauncherCluster, launchApp) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->LaunchApp(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) data, strlen(dataStr.c_str())), catalogVendorId, - chip::ByteSpan((const uint8_t *) applicationId, strlen(applicationIdStr.c_str()))); + err = cppCluster->LaunchApp(onSuccess->Cancel(), onFailure->Cancel(), chip::CharSpan(dataStr.c_str(), strlen(dataStr.c_str())), + catalogVendorId, chip::CharSpan(applicationIdStr.c_str(), strlen(applicationIdStr.c_str()))); SuccessOrExit(err); exit: @@ -9020,7 +9163,7 @@ JNI_METHOD(void, AudioOutputCluster, renameOutput) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->RenameOutput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) name, strlen(nameStr.c_str()))); + chip::CharSpan(nameStr.c_str(), strlen(nameStr.c_str()))); SuccessOrExit(err); exit: @@ -9632,7 +9775,7 @@ JNI_METHOD(void, BasicCluster, writeUserLabelAttribute) JniUtfString valueStr(env, value); err = cppCluster->WriteAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) valueStr.c_str(), strlen(valueStr.c_str()))); + chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); onSuccess.release(); @@ -9685,7 +9828,7 @@ JNI_METHOD(void, BasicCluster, writeLocationAttribute) JniUtfString valueStr(env, value); err = cppCluster->WriteAttributeLocation(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) valueStr.c_str(), strlen(valueStr.c_str()))); + chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); onSuccess.release(); @@ -10402,20 +10545,20 @@ JNI_METHOD(void, BindingCluster, readClusterRevisionAttribute)(JNIEnv * env, job onSuccess.release(); onFailure.release(); } -JNI_METHOD(jlong, BridgedDeviceBasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) +JNI_METHOD(jlong, BooleanStateCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { chip::DeviceLayer::StackLock lock; - BridgedDeviceBasicCluster * cppCluster = new BridgedDeviceBasicCluster(); + BooleanStateCluster * cppCluster = new BooleanStateCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); return reinterpret_cast(cppCluster); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorNameAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +JNI_METHOD(void, BooleanStateCluster, readStateValueAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback, false), Platform::Delete); + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -10424,23 +10567,24 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorNameAttribute)(JNIEnv * en VerifyOrReturn(onFailure.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); - CHIP_ERROR err = CHIP_NO_ERROR; - BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + CHIP_ERROR err = CHIP_NO_ERROR; + BooleanStateCluster * cppCluster = reinterpret_cast(clusterPtr); VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); + err = cppCluster->ReadAttributeStateValue(onSuccess->Cancel(), onFailure->Cancel()); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorIDAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +JNI_METHOD(void, BooleanStateCluster, subscribeStateValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback), Platform::Delete); + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -10449,24 +10593,44 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorIDAttribute)(JNIEnv * env, VerifyOrReturn(onFailure.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); - CHIP_ERROR err = CHIP_NO_ERROR; - BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + CHIP_ERROR err = CHIP_NO_ERROR; + BooleanStateCluster * cppCluster = reinterpret_cast(clusterPtr); VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeVendorID(onSuccess->Cancel(), onFailure->Cancel()); - VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + err = cppCluster->SubscribeAttributeStateValue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(minInterval), + static_cast(maxInterval)); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error subscribing to attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readProductNameAttribute) -(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +JNI_METHOD(void, BooleanStateCluster, reportStateValueAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback, false), Platform::Delete); + std::unique_ptr onReport( + Platform::New(callback, true), Platform::Delete); + VerifyOrReturn(onReport.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native report callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + BooleanStateCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReportAttributeStateValue(onReport->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, + ReturnIllegalStateException(env, callback, "Error registering for attribute reporting", err)); + + onReport.release(); +} + +JNI_METHOD(void, BooleanStateCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -10475,19 +10639,27 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readProductNameAttribute) VerifyOrReturn(onFailure.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); - CHIP_ERROR err = CHIP_NO_ERROR; - BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + CHIP_ERROR err = CHIP_NO_ERROR; + BooleanStateCluster * cppCluster = reinterpret_cast(clusterPtr); VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeProductName(onSuccess->Cancel(), onFailure->Cancel()); + err = cppCluster->ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } +JNI_METHOD(jlong, BridgedDeviceBasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) +{ + chip::DeviceLayer::StackLock lock; + BridgedDeviceBasicCluster * cppCluster = new BridgedDeviceBasicCluster(); -JNI_METHOD(void, BridgedDeviceBasicCluster, readUserLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) + cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); + return reinterpret_cast(cppCluster); +} + +JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorNameAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; std::unique_ptr onSuccess( @@ -10505,19 +10677,18 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readUserLabelAttribute)(JNIEnv * env VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel()); + err = cppCluster->ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel()); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, writeUserLabelAttribute) -(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring value) +JNI_METHOD(void, BridgedDeviceBasicCluster, readVendorIDAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback), Platform::Delete); + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -10531,21 +10702,19 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, writeUserLabelAttribute) VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - JniUtfString valueStr(env, value); - err = cppCluster->WriteAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) valueStr.c_str(), strlen(valueStr.c_str()))); - VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); + err = cppCluster->ReadAttributeVendorID(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionAttribute) +JNI_METHOD(void, BridgedDeviceBasicCluster, readProductNameAttribute) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback), Platform::Delete); + std::unique_ptr onSuccess( + Platform::New(callback, false), Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -10559,15 +10728,14 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionAttribute) VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeHardwareVersion(onSuccess->Cancel(), onFailure->Cancel()); + err = cppCluster->ReadAttributeProductName(onSuccess->Cancel(), onFailure->Cancel()); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionStringAttribute) -(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +JNI_METHOD(void, BridgedDeviceBasicCluster, readUserLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; std::unique_ptr onSuccess( @@ -10585,15 +10753,95 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionStringAttribute) VerifyOrReturn(cppCluster != nullptr, ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); - err = cppCluster->ReadAttributeHardwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); + err = cppCluster->ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel()); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); onSuccess.release(); onFailure.release(); } -JNI_METHOD(void, BridgedDeviceBasicCluster, readSoftwareVersionAttribute) -(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +JNI_METHOD(void, BridgedDeviceBasicCluster, writeUserLabelAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring value) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + JniUtfString valueStr(env, value); + err = cppCluster->WriteAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel(), + chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeHardwareVersion(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, BridgedDeviceBasicCluster, readHardwareVersionStringAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback, false), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeHardwareVersionString(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, BridgedDeviceBasicCluster, readSoftwareVersionAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; std::unique_ptr onSuccess( @@ -10849,8 +11097,8 @@ JNI_METHOD(void, ColorControlCluster, colorLoopSet) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->ColorLoopSet(onSuccess->Cancel(), onFailure->Cancel(), updateFlags, action, direction, time, startHue, - optionsMask, optionsOverride); + err = cppCluster->ColorLoopSet(onSuccess->Cancel(), onFailure->Cancel(), updateFlags, static_cast(action), + static_cast(direction), time, startHue, optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -10897,7 +11145,8 @@ JNI_METHOD(void, ColorControlCluster, enhancedMoveHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->EnhancedMoveHue(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); + err = cppCluster->EnhancedMoveHue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate, optionsMask, + optionsOverride); SuccessOrExit(err); exit: @@ -10945,8 +11194,8 @@ JNI_METHOD(void, ColorControlCluster, enhancedMoveToHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->EnhancedMoveToHue(onSuccess->Cancel(), onFailure->Cancel(), enhancedHue, direction, transitionTime, - optionsMask, optionsOverride); + err = cppCluster->EnhancedMoveToHue(onSuccess->Cancel(), onFailure->Cancel(), enhancedHue, static_cast(direction), + transitionTime, optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -11043,8 +11292,8 @@ JNI_METHOD(void, ColorControlCluster, enhancedStepHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->EnhancedStepHue(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, - optionsOverride); + err = cppCluster->EnhancedStepHue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, + transitionTime, optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -11139,8 +11388,8 @@ JNI_METHOD(void, ColorControlCluster, moveColorTemperature) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->MoveColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, colorTemperatureMinimum, - colorTemperatureMaximum, optionsMask, optionsOverride); + err = cppCluster->MoveColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate, + colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -11187,7 +11436,8 @@ JNI_METHOD(void, ColorControlCluster, moveHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->MoveHue(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); + err = cppCluster->MoveHue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate, optionsMask, + optionsOverride); SuccessOrExit(err); exit: @@ -11234,7 +11484,8 @@ JNI_METHOD(void, ColorControlCluster, moveSaturation) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->MoveSaturation(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionsMask, optionsOverride); + err = cppCluster->MoveSaturation(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate, optionsMask, + optionsOverride); SuccessOrExit(err); exit: @@ -11380,8 +11631,8 @@ JNI_METHOD(void, ColorControlCluster, moveToHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->MoveToHue(onSuccess->Cancel(), onFailure->Cancel(), hue, direction, transitionTime, optionsMask, - optionsOverride); + err = cppCluster->MoveToHue(onSuccess->Cancel(), onFailure->Cancel(), hue, static_cast(direction), transitionTime, + optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -11576,8 +11827,9 @@ JNI_METHOD(void, ColorControlCluster, stepColorTemperature) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->StepColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, - colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); + err = cppCluster->StepColorTemperature(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, + transitionTime, colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, + optionsOverride); SuccessOrExit(err); exit: @@ -11625,8 +11877,8 @@ JNI_METHOD(void, ColorControlCluster, stepHue) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->StepHue(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, - optionsOverride); + err = cppCluster->StepHue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, transitionTime, + optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -11674,8 +11926,8 @@ JNI_METHOD(void, ColorControlCluster, stepSaturation) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->StepSaturation(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionsMask, - optionsOverride); + err = cppCluster->StepSaturation(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, + transitionTime, optionsMask, optionsOverride); SuccessOrExit(err); exit: @@ -13707,7 +13959,7 @@ JNI_METHOD(void, ContentLauncherCluster, launchContent) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->LaunchContent(onSuccess->Cancel(), onFailure->Cancel(), autoPlay, - chip::ByteSpan((const uint8_t *) data, strlen(dataStr.c_str()))); + chip::CharSpan(dataStr.c_str(), strlen(dataStr.c_str()))); SuccessOrExit(err); exit: @@ -13760,8 +14012,8 @@ JNI_METHOD(void, ContentLauncherCluster, launchURL) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->LaunchURL(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) contentURL, strlen(contentURLStr.c_str())), - chip::ByteSpan((const uint8_t *) displayString, strlen(displayStringStr.c_str()))); + chip::CharSpan(contentURLStr.c_str(), strlen(contentURLStr.c_str())), + chip::CharSpan(displayStringStr.c_str(), strlen(displayStringStr.c_str()))); SuccessOrExit(err); exit: @@ -14029,8 +14281,10 @@ JNI_METHOD(void, DiagnosticLogsCluster, retrieveLogsRequest) JniByteArray transferFileDesignatorArr(env, transferFileDesignator); - std::unique_ptr onSuccess( - Platform::New(callback), Platform::Delete); + std::unique_ptr + onSuccess(Platform::New(callback), + Platform::Delete); std::unique_ptr onFailure( Platform::New(callback), Platform::Delete); VerifyOrExit(onSuccess.get() != nullptr, err = CHIP_ERROR_INCORRECT_STATE); @@ -14040,7 +14294,7 @@ JNI_METHOD(void, DiagnosticLogsCluster, retrieveLogsRequest) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->RetrieveLogsRequest( - onSuccess->Cancel(), onFailure->Cancel(), intent, requestedProtocol, + onSuccess->Cancel(), onFailure->Cancel(), static_cast(intent), static_cast(requestedProtocol), chip::ByteSpan((const uint8_t *) transferFileDesignatorArr.data(), transferFileDesignatorArr.size())); SuccessOrExit(err); @@ -14871,8 +15125,8 @@ JNI_METHOD(void, DoorLockCluster, setPin) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SetPin(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) pinArr.data(), pinArr.size())); + err = cppCluster->SetPin(onSuccess->Cancel(), onFailure->Cancel(), userId, static_cast(userStatus), + static_cast(userType), chip::ByteSpan((const uint8_t *) pinArr.data(), pinArr.size())); SuccessOrExit(err); exit: @@ -14922,8 +15176,8 @@ JNI_METHOD(void, DoorLockCluster, setRfid) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId, userStatus, userType, - chip::ByteSpan((const uint8_t *) idArr.data(), idArr.size())); + err = cppCluster->SetRfid(onSuccess->Cancel(), onFailure->Cancel(), userId, static_cast(userStatus), + static_cast(userType), chip::ByteSpan((const uint8_t *) idArr.data(), idArr.size())); SuccessOrExit(err); exit: @@ -14971,7 +15225,7 @@ JNI_METHOD(void, DoorLockCluster, setUserType) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId, userType); + err = cppCluster->SetUserType(onSuccess->Cancel(), onFailure->Cancel(), userId, static_cast(userType)); SuccessOrExit(err); exit: @@ -16285,8 +16539,8 @@ JNI_METHOD(void, GeneralCommissioningCluster, setRegulatoryConfig) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SetRegulatoryConfig(onSuccess->Cancel(), onFailure->Cancel(), location, - chip::ByteSpan((const uint8_t *) countryCode, strlen(countryCodeStr.c_str())), breadcrumb, + err = cppCluster->SetRegulatoryConfig(onSuccess->Cancel(), onFailure->Cancel(), static_cast(location), + chip::CharSpan(countryCodeStr.c_str(), strlen(countryCodeStr.c_str())), breadcrumb, timeoutMs); SuccessOrExit(err); @@ -16704,7 +16958,7 @@ JNI_METHOD(void, GroupsCluster, addGroup) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->AddGroup(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) groupName, strlen(groupNameStr.c_str()))); + chip::CharSpan(groupNameStr.c_str(), strlen(groupNameStr.c_str()))); SuccessOrExit(err); exit: @@ -16754,7 +17008,7 @@ JNI_METHOD(void, GroupsCluster, addGroupIfIdentifying) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->AddGroupIfIdentifying(onSuccess->Cancel(), onFailure->Cancel(), groupId, - chip::ByteSpan((const uint8_t *) groupName, strlen(groupNameStr.c_str()))); + chip::CharSpan(groupNameStr.c_str(), strlen(groupNameStr.c_str()))); SuccessOrExit(err); exit: @@ -17142,7 +17396,8 @@ JNI_METHOD(void, IdentifyCluster, triggerEffect) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->TriggerEffect(onSuccess->Cancel(), onFailure->Cancel(), effectIdentifier, effectVariant); + err = cppCluster->TriggerEffect(onSuccess->Cancel(), onFailure->Cancel(), static_cast(effectIdentifier), + static_cast(effectVariant)); SuccessOrExit(err); exit: @@ -17273,6 +17528,218 @@ JNI_METHOD(void, IdentifyCluster, readClusterRevisionAttribute)(JNIEnv * env, jo onSuccess.release(); onFailure.release(); } +JNI_METHOD(jlong, IlluminanceMeasurementCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) +{ + chip::DeviceLayer::StackLock lock; + IlluminanceMeasurementCluster * cppCluster = new IlluminanceMeasurementCluster(); + + cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); + return reinterpret_cast(cppCluster); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readMeasuredValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, subscribeMeasuredValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->SubscribeAttributeMeasuredValue(onSuccess->Cancel(), onFailure->Cancel(), static_cast(minInterval), + static_cast(maxInterval)); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error subscribing to attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, reportMeasuredValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onReport( + Platform::New(callback, true), Platform::Delete); + VerifyOrReturn(onReport.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native report callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReportAttributeMeasuredValue(onReport->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, + ReturnIllegalStateException(env, callback, "Error registering for attribute reporting", err)); + + onReport.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readMinMeasuredValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeMinMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readMaxMeasuredValueAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeMaxMeasuredValue(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readToleranceAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeTolerance(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readLightSensorTypeAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeLightSensorType(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, IlluminanceMeasurementCluster, readClusterRevisionAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + IlluminanceMeasurementCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} JNI_METHOD(jlong, KeypadInputCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { chip::DeviceLayer::StackLock lock; @@ -17299,7 +17766,7 @@ JNI_METHOD(void, KeypadInputCluster, sendKey)(JNIEnv * env, jobject self, jlong cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SendKey(onSuccess->Cancel(), onFailure->Cancel(), keyCode); + err = cppCluster->SendKey(onSuccess->Cancel(), onFailure->Cancel(), static_cast(keyCode)); SuccessOrExit(err); exit: @@ -17380,7 +17847,8 @@ JNI_METHOD(void, LevelControlCluster, move) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->Move(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate, optionMask, optionOverride); + err = cppCluster->Move(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate, optionMask, + optionOverride); SuccessOrExit(err); exit: @@ -17522,7 +17990,7 @@ JNI_METHOD(void, LevelControlCluster, moveWithOnOff) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->MoveWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), moveMode, rate); + err = cppCluster->MoveWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), static_cast(moveMode), rate); SuccessOrExit(err); exit: @@ -17570,8 +18038,8 @@ JNI_METHOD(void, LevelControlCluster, step) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = - cppCluster->Step(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime, optionMask, optionOverride); + err = cppCluster->Step(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, transitionTime, + optionMask, optionOverride); SuccessOrExit(err); exit: @@ -17618,7 +18086,8 @@ JNI_METHOD(void, LevelControlCluster, stepWithOnOff) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->StepWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), stepMode, stepSize, transitionTime); + err = cppCluster->StepWithOnOff(onSuccess->Cancel(), onFailure->Cancel(), static_cast(stepMode), stepSize, + transitionTime); SuccessOrExit(err); exit: @@ -18503,7 +18972,7 @@ JNI_METHOD(void, MediaInputCluster, renameInput) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->RenameInput(onSuccess->Cancel(), onFailure->Cancel(), index, - chip::ByteSpan((const uint8_t *) name, strlen(nameStr.c_str()))); + chip::CharSpan(nameStr.c_str(), strlen(nameStr.c_str()))); SuccessOrExit(err); exit: @@ -20138,8 +20607,8 @@ JNI_METHOD(void, OtaSoftwareUpdateProviderCluster, queryImage) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->QueryImage(onSuccess->Cancel(), onFailure->Cancel(), vendorId, productId, hardwareVersion, softwareVersion, - protocolsSupported, chip::ByteSpan((const uint8_t *) location, strlen(locationStr.c_str())), - requestorCanConsent, + static_cast(protocolsSupported), + chip::CharSpan(locationStr.c_str(), strlen(locationStr.c_str())), requestorCanConsent, chip::ByteSpan((const uint8_t *) metadataForProviderArr.data(), metadataForProviderArr.size())); SuccessOrExit(err); @@ -20225,7 +20694,8 @@ JNI_METHOD(void, OtaSoftwareUpdateRequestorCluster, announceOtaProvider) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->AnnounceOtaProvider(onSuccess->Cancel(), onFailure->Cancel(), providerLocation, vendorId, announcementReason, + err = cppCluster->AnnounceOtaProvider(onSuccess->Cancel(), onFailure->Cancel(), providerLocation, + static_cast(vendorId), static_cast(announcementReason), chip::ByteSpan((const uint8_t *) metadataForNodeArr.data(), metadataForNodeArr.size())); SuccessOrExit(err); @@ -20592,7 +21062,8 @@ JNI_METHOD(void, OnOffCluster, offWithEffect) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->OffWithEffect(onSuccess->Cancel(), onFailure->Cancel(), effectId, effectVariant); + err = cppCluster->OffWithEffect(onSuccess->Cancel(), onFailure->Cancel(), static_cast(effectId), + static_cast(effectVariant)); SuccessOrExit(err); exit: @@ -21610,7 +22081,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, updateFabricLabel) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->UpdateFabricLabel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) label, strlen(labelStr.c_str()))); + chip::CharSpan(labelStr.c_str(), strlen(labelStr.c_str()))); SuccessOrExit(err); exit: @@ -23221,7 +23692,7 @@ JNI_METHOD(void, ScenesCluster, addScene) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->AddScene(onSuccess->Cancel(), onFailure->Cancel(), groupId, sceneId, transitionTime, - chip::ByteSpan((const uint8_t *) sceneName, strlen(sceneNameStr.c_str())), clusterId, length, value); + chip::CharSpan(sceneNameStr.c_str(), strlen(sceneNameStr.c_str())), clusterId, length, value); SuccessOrExit(err); exit: @@ -24006,7 +24477,7 @@ JNI_METHOD(void, TvChannelCluster, changeChannel)(JNIEnv * env, jobject self, jl VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->ChangeChannel(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) match, strlen(matchStr.c_str()))); + chip::CharSpan(matchStr.c_str(), strlen(matchStr.c_str()))); SuccessOrExit(err); exit: @@ -24261,7 +24732,7 @@ JNI_METHOD(void, TargetNavigatorCluster, navigateTarget) VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); err = cppCluster->NavigateTarget(onSuccess->Cancel(), onFailure->Cancel(), target, - chip::ByteSpan((const uint8_t *) data, strlen(dataStr.c_str()))); + chip::CharSpan(dataStr.c_str(), strlen(dataStr.c_str()))); SuccessOrExit(err); exit: @@ -24582,6 +25053,55 @@ JNI_METHOD(void, TestClusterCluster, testAddArguments) err = cppCluster->TestAddArguments(onSuccess->Cancel(), onFailure->Cancel(), arg1, arg2); SuccessOrExit(err); +exit: + if (err != CHIP_NO_ERROR) + { + jthrowable exception; + jmethodID method; + + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Error throwing IllegalStateException %" CHIP_ERROR_FORMAT, err.Format()); + return; + } + + err = CreateIllegalStateException(env, "Error invoking cluster", err, exception); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Error throwing IllegalStateException %" CHIP_ERROR_FORMAT, err.Format()); + return; + } + env->CallVoidMethod(callback, method, exception); + } + else + { + onSuccess.release(); + onFailure.release(); + } +} +JNI_METHOD(void, TestClusterCluster, testEnumsRequest) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint arg1, jint arg2) +{ + chip::DeviceLayer::StackLock lock; + CHIP_ERROR err = CHIP_NO_ERROR; + TestClusterCluster * cppCluster; + + std::unique_ptr + onSuccess(Platform::New(callback), + Platform::Delete); + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrExit(onSuccess.get() != nullptr, err = CHIP_ERROR_INCORRECT_STATE); + VerifyOrExit(onFailure.get() != nullptr, err = CHIP_ERROR_INCORRECT_STATE); + + cppCluster = reinterpret_cast(clusterPtr); + VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); + + err = cppCluster->TestEnumsRequest(onSuccess->Cancel(), onFailure->Cancel(), static_cast(arg1), + static_cast(arg2)); + SuccessOrExit(err); + exit: if (err != CHIP_NO_ERROR) { @@ -24725,9 +25245,9 @@ JNI_METHOD(void, TestClusterCluster, testListStructArgumentRequest) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->TestListStructArgumentRequest(onSuccess->Cancel(), onFailure->Cancel(), a, b, c, + err = cppCluster->TestListStructArgumentRequest(onSuccess->Cancel(), onFailure->Cancel(), a, b, static_cast(c), chip::ByteSpan((const uint8_t *) dArr.data(), dArr.size()), - chip::ByteSpan((const uint8_t *) e, strlen(eStr.c_str())), f); + chip::CharSpan(eStr.c_str(), strlen(eStr.c_str())), f); SuccessOrExit(err); exit: @@ -24871,9 +25391,9 @@ JNI_METHOD(void, TestClusterCluster, testStructArgumentRequest) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->TestStructArgumentRequest(onSuccess->Cancel(), onFailure->Cancel(), a, b, c, + err = cppCluster->TestStructArgumentRequest(onSuccess->Cancel(), onFailure->Cancel(), a, b, static_cast(c), chip::ByteSpan((const uint8_t *) dArr.data(), dArr.size()), - chip::ByteSpan((const uint8_t *) e, strlen(eStr.c_str())), f); + chip::CharSpan(eStr.c_str(), strlen(eStr.c_str())), f); SuccessOrExit(err); exit: @@ -25947,7 +26467,7 @@ JNI_METHOD(void, TestClusterCluster, writeCharStringAttribute) JniUtfString valueStr(env, value); err = cppCluster->WriteAttributeCharString(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) valueStr.c_str(), strlen(valueStr.c_str()))); + chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); onSuccess.release(); @@ -26000,7 +26520,7 @@ JNI_METHOD(void, TestClusterCluster, writeLongCharStringAttribute) JniUtfString valueStr(env, value); err = cppCluster->WriteAttributeLongCharString(onSuccess->Cancel(), onFailure->Cancel(), - chip::ByteSpan((const uint8_t *) valueStr.c_str(), strlen(valueStr.c_str()))); + chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str()))); VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); onSuccess.release(); @@ -26109,6 +26629,57 @@ JNI_METHOD(void, TestClusterCluster, writeEpochSAttribute) onFailure.release(); } +JNI_METHOD(void, TestClusterCluster, readVendorIdAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + TestClusterCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel()); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error reading attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + +JNI_METHOD(void, TestClusterCluster, writeVendorIdAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint value) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + ReturnIllegalStateException(env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + TestClusterCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + ReturnIllegalStateException(env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + err = cppCluster->WriteAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel(), static_cast(value)); + VerifyOrReturn(err == CHIP_NO_ERROR, ReturnIllegalStateException(env, callback, "Error writing attribute", err)); + + onSuccess.release(); + onFailure.release(); +} + JNI_METHOD(void, TestClusterCluster, readUnsupportedAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { chip::DeviceLayer::StackLock lock; @@ -26398,7 +26969,7 @@ JNI_METHOD(void, ThermostatCluster, setpointRaiseLower) cppCluster = reinterpret_cast(clusterPtr); VerifyOrExit(cppCluster != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - err = cppCluster->SetpointRaiseLower(onSuccess->Cancel(), onFailure->Cancel(), mode, amount); + err = cppCluster->SetpointRaiseLower(onSuccess->Cancel(), onFailure->Cancel(), static_cast(mode), amount); SuccessOrExit(err); exit: diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java index bf18e1c7370033..00aa981a7f4c13 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java @@ -766,6 +766,48 @@ private native void readClusterRevisionAttribute( long chipClusterPtr, IntegerAttributeCallback callback); } + public static class BooleanStateCluster extends BaseChipCluster { + public BooleanStateCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + public static long clusterId() { + return Long.parseUnsignedLong("69"); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void readStateValueAttribute(BooleanAttributeCallback callback) { + readStateValueAttribute(chipClusterPtr, callback); + } + + public void subscribeStateValueAttribute( + DefaultClusterCallback callback, int minInterval, int maxInterval) { + subscribeStateValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void reportStateValueAttribute(BooleanAttributeCallback callback) { + reportStateValueAttribute(chipClusterPtr, callback); + } + + public void readClusterRevisionAttribute(IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + private native void readStateValueAttribute( + long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeStateValueAttribute( + long chipClusterPtr, DefaultClusterCallback callback, int minInterval, int maxInterval); + + private native void reportStateValueAttribute( + long chipClusterPtr, BooleanAttributeCallback callback); + + private native void readClusterRevisionAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + } + public static class BridgedDeviceBasicCluster extends BaseChipCluster { public BridgedDeviceBasicCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); @@ -2030,7 +2072,7 @@ public static long clusterId() { public native long initWithDevice(long devicePtr, int endpointId); public void retrieveLogsRequest( - DefaultClusterCallback callback, + RetrieveLogsResponseCallback callback, int intent, int requestedProtocol, byte[] transferFileDesignator) { @@ -2040,10 +2082,16 @@ public void retrieveLogsRequest( private native void retrieveLogsRequest( long chipClusterPtr, - DefaultClusterCallback callback, + RetrieveLogsResponseCallback callback, int intent, int requestedProtocol, byte[] transferFileDesignator); + + public interface RetrieveLogsResponseCallback { + void onSuccess(int status, byte[] content, long timeStamp, long timeSinceBoot); + + void onError(Exception error); + } } public static class DoorLockCluster extends BaseChipCluster { @@ -3219,6 +3267,76 @@ private native void readClusterRevisionAttribute( long chipClusterPtr, IntegerAttributeCallback callback); } + public static class IlluminanceMeasurementCluster extends BaseChipCluster { + public IlluminanceMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + public static long clusterId() { + return Long.parseUnsignedLong("1024"); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void readMeasuredValueAttribute(IntegerAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredValueAttribute( + DefaultClusterCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void reportMeasuredValueAttribute(IntegerAttributeCallback callback) { + reportMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void readMinMeasuredValueAttribute(IntegerAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void readMaxMeasuredValueAttribute(IntegerAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void readToleranceAttribute(IntegerAttributeCallback callback) { + readToleranceAttribute(chipClusterPtr, callback); + } + + public void readLightSensorTypeAttribute(IntegerAttributeCallback callback) { + readLightSensorTypeAttribute(chipClusterPtr, callback); + } + + public void readClusterRevisionAttribute(IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + private native void readMeasuredValueAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute( + long chipClusterPtr, DefaultClusterCallback callback, int minInterval, int maxInterval); + + private native void reportMeasuredValueAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void readMinMeasuredValueAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void readMaxMeasuredValueAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void readToleranceAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void readLightSensorTypeAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void readClusterRevisionAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + } + public static class KeypadInputCluster extends BaseChipCluster { public KeypadInputCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); @@ -5554,6 +5672,10 @@ public void testAddArguments(TestAddArgumentsResponseCallback callback, int arg1 testAddArguments(chipClusterPtr, callback, arg1, arg2); } + public void testEnumsRequest(TestEnumsResponseCallback callback, int arg1, int arg2) { + testEnumsRequest(chipClusterPtr, callback, arg1, arg2); + } + public void testListInt8UArgumentRequest(DefaultClusterCallback callback, int arg1) { testListInt8UArgumentRequest(chipClusterPtr, callback, arg1); } @@ -5590,6 +5712,9 @@ public void testUnknownCommand(DefaultClusterCallback callback) { private native void testAddArguments( long chipClusterPtr, TestAddArgumentsResponseCallback callback, int arg1, int arg2); + private native void testEnumsRequest( + long chipClusterPtr, TestEnumsResponseCallback callback, int arg1, int arg2); + private native void testListInt8UArgumentRequest( long chipClusterPtr, DefaultClusterCallback callback, int arg1); @@ -5628,6 +5753,12 @@ public interface TestAddArgumentsResponseCallback { void onError(Exception error); } + public interface TestEnumsResponseCallback { + void onSuccess(int arg1, int arg2); + + void onError(Exception error); + } + public interface TestListInt8UReverseResponseCallback { void onSuccess( // arg1: /* TYPE WARNING: array array defaults to */ uint8_t * @@ -5852,6 +5983,14 @@ public void writeEpochSAttribute(DefaultClusterCallback callback, long value) { writeEpochSAttribute(chipClusterPtr, callback, value); } + public void readVendorIdAttribute(IntegerAttributeCallback callback) { + readVendorIdAttribute(chipClusterPtr, callback); + } + + public void writeVendorIdAttribute(DefaultClusterCallback callback, int value) { + writeVendorIdAttribute(chipClusterPtr, callback, value); + } + public void readUnsupportedAttribute(BooleanAttributeCallback callback) { readUnsupportedAttribute(chipClusterPtr, callback); } @@ -5985,6 +6124,12 @@ private native void writeEpochUsAttribute( private native void writeEpochSAttribute( long chipClusterPtr, DefaultClusterCallback callback, long value); + private native void readVendorIdAttribute( + long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeVendorIdAttribute( + long chipClusterPtr, DefaultClusterCallback callback, int value); + private native void readUnsupportedAttribute( long chipClusterPtr, BooleanAttributeCallback callback); diff --git a/src/controller/python/chip-device-ctrl.py b/src/controller/python/chip-device-ctrl.py index 776da14331061e..0ee6c2d359c601 100755 --- a/src/controller/python/chip-device-ctrl.py +++ b/src/controller/python/chip-device-ctrl.py @@ -445,9 +445,7 @@ def do_blescan(self, line): def ConnectFromSetupPayload(self, setupPayload, nodeid): # TODO(cecille): Get this from the C++ code? - softap = 1 << 0 ble = 1 << 1 - onnetwork = 1 << 2 # Devices may be uncommissioned, or may already be on the network. Need to check both ways. # TODO(cecille): implement soft-ap connection. @@ -720,7 +718,7 @@ def do_zcl(self, line): raise exceptions.UnknownCluster(args[0]) command = all_commands.get(args[0]).get(args[1], None) # When command takes no arguments, (not command) is True - if command == None: + if command is None: raise exceptions.UnknownCommand(args[0], args[1]) err, res = self.devCtrl.ZCLSend(args[0], args[1], int( args[2]), int(args[3]), int(args[4]), FormatZCLArguments(args[5:], command), blocking=True) @@ -737,7 +735,6 @@ def do_zcl(self, line): print("An exception occurred during process ZCL command:") print(str(ex)) except Exception as ex: - import traceback print("An exception occurred during processing input:") traceback.print_exc() print(str(ex)) diff --git a/src/controller/python/chip/ChipDeviceCtrl.py b/src/controller/python/chip/ChipDeviceCtrl.py index f7f2f328b93559..5cce8498f74051 100644 --- a/src/controller/python/chip/ChipDeviceCtrl.py +++ b/src/controller/python/chip/ChipDeviceCtrl.py @@ -371,7 +371,7 @@ def ZCLReadAttribute(self, cluster, attribute, nodeid, endpoint, groupid, blocki device = self.GetConnectedDeviceSync(nodeid) # We are not using IM for Attributes. - res = self._Cluster.ReadAttribute( + self._Cluster.ReadAttribute( device, cluster, attribute, endpoint, groupid, False) if blocking: return im.GetAttributeReadResponse(im.DEFAULT_ATTRIBUTEREAD_APPID) @@ -390,7 +390,7 @@ def ZCLSubscribeAttribute(self, cluster, attribute, nodeid, endpoint, minInterva commandSenderHandle = self._dmLib.pychip_GetCommandSenderHandle(device) im.ClearCommandStatus(commandSenderHandle) - res = self._Cluster.SubscribeAttribute( + self._Cluster.SubscribeAttribute( device, cluster, attribute, endpoint, minInterval, maxInterval, commandSenderHandle != 0) if blocking: # We only send 1 command by this function, so index is always 0 diff --git a/src/controller/python/chip/ble/LinuxImpl.cpp b/src/controller/python/chip/ble/LinuxImpl.cpp index 5f6d6485deacc5..1094662eaae02d 100644 --- a/src/controller/python/chip/ble/LinuxImpl.cpp +++ b/src/controller/python/chip/ble/LinuxImpl.cpp @@ -104,7 +104,7 @@ class ScannerDelegateImpl : public ChipDeviceScannerDelegate } // namespace -extern "C" void * pychip_ble_start_scanning(PyObject * context, void * adapter, uint32_t timeout, +extern "C" void * pychip_ble_start_scanning(PyObject * context, void * adapter, uint32_t timeoutMs, ScannerDelegateImpl::DeviceScannedCallback scanCallback, ScannerDelegateImpl::ScanCompleteCallback completeCallback) { @@ -117,7 +117,7 @@ extern "C" void * pychip_ble_start_scanning(PyObject * context, void * adapter, return nullptr; } - if (scanner->StartScan(timeout) != CHIP_NO_ERROR) + if (scanner->StartScan(chip::System::Clock::Milliseconds32(timeoutMs)) != CHIP_NO_ERROR) { return nullptr; } diff --git a/src/controller/python/chip/clusters/CHIPClusters.cpp b/src/controller/python/chip/clusters/CHIPClusters.cpp index f1b071ab5376d0..f40feccbe75035 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.cpp +++ b/src/controller/python/chip/clusters/CHIPClusters.cpp @@ -101,16 +101,13 @@ void OnAttributeResponse(void * /* context */, bool value) gSuccessResponseDelegate(); } -static void OnApplicationLauncherApplicationLauncherListListAttributeResponse(void * context, - const DataModel::DecodableList & list) +static void +OnApplicationLauncherApplicationLauncherListListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -124,7 +121,7 @@ static void OnApplicationLauncherApplicationLauncherListListAttributeResponse(vo if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -132,6 +129,14 @@ static void OnApplicationLauncherApplicationLauncherListListAttributeResponse(vo #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu16 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -145,15 +150,11 @@ chip::Callback::Callback & list) + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -167,7 +168,7 @@ static void OnAudioOutputAudioOutputListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -179,6 +180,14 @@ static void OnAudioOutputAudioOutputListListAttributeResponse( ChipLogProgress(Zcl, " name: %.*s,", static_cast(entry.name.size()), entry.name.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -189,16 +198,13 @@ static void OnAudioOutputAudioOutputListListAttributeResponse( chip::Callback::Callback gAudioOutputAudioOutputListListAttributeCallback{ OnAudioOutputAudioOutputListListAttributeResponse, nullptr }; -static void OnContentLauncherAcceptsHeaderListListAttributeResponse(void * context, - const DataModel::DecodableList & list) +static void +OnContentLauncherAcceptsHeaderListListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -212,7 +218,7 @@ static void OnContentLauncherAcceptsHeaderListListAttributeResponse(void * conte if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -220,6 +226,14 @@ static void OnContentLauncherAcceptsHeaderListListAttributeResponse(void * conte #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %s,", ByteSpanToString(entry).c_str()); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -230,15 +244,12 @@ static void OnContentLauncherAcceptsHeaderListListAttributeResponse(void * conte chip::Callback::Callback gContentLauncherAcceptsHeaderListListAttributeCallback{ OnContentLauncherAcceptsHeaderListListAttributeResponse, nullptr }; static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( - void * context, const DataModel::DecodableList & list) + void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -252,7 +263,7 @@ static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -260,6 +271,14 @@ static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu8 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -271,15 +290,12 @@ chip::Callback::Callback & list) + void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -293,7 +309,7 @@ static void OnDescriptorDeviceListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -304,6 +320,14 @@ static void OnDescriptorDeviceListListAttributeResponse( ChipLogProgress(Zcl, " revision: %" PRIu16 ",", entry.revision); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -314,15 +338,12 @@ static void OnDescriptorDeviceListListAttributeResponse( chip::Callback::Callback gDescriptorDeviceListListAttributeCallback{ OnDescriptorDeviceListListAttributeResponse, nullptr }; -static void OnDescriptorServerListListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnDescriptorServerListListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -336,7 +357,7 @@ static void OnDescriptorServerListListAttributeResponse(void * context, const Da if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -344,6 +365,14 @@ static void OnDescriptorServerListListAttributeResponse(void * context, const Da #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu32 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -354,15 +383,12 @@ static void OnDescriptorServerListListAttributeResponse(void * context, const Da chip::Callback::Callback gDescriptorServerListListAttributeCallback{ OnDescriptorServerListListAttributeResponse, nullptr }; -static void OnDescriptorClientListListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnDescriptorClientListListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -376,7 +402,7 @@ static void OnDescriptorClientListListAttributeResponse(void * context, const Da if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -384,6 +410,14 @@ static void OnDescriptorClientListListAttributeResponse(void * context, const Da #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu32 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -394,15 +428,12 @@ static void OnDescriptorClientListListAttributeResponse(void * context, const Da chip::Callback::Callback gDescriptorClientListListAttributeCallback{ OnDescriptorClientListListAttributeResponse, nullptr }; -static void OnDescriptorPartsListListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnDescriptorPartsListListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -416,7 +447,7 @@ static void OnDescriptorPartsListListAttributeResponse(void * context, const Dat if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -424,6 +455,14 @@ static void OnDescriptorPartsListListAttributeResponse(void * context, const Dat #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu16 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -435,15 +474,12 @@ chip::Callback::Callback gDescriptorPa OnDescriptorPartsListListAttributeResponse, nullptr }; static void OnFixedLabelLabelListListAttributeResponse( - void * context, const DataModel::DecodableList & list) + void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -457,7 +493,7 @@ static void OnFixedLabelLabelListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -468,6 +504,14 @@ static void OnFixedLabelLabelListListAttributeResponse( ChipLogProgress(Zcl, " value: %.*s,", static_cast(entry.value.size()), entry.value.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -480,16 +524,12 @@ chip::Callback::Callback gFixedLabelLa }; static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeResponse( void * context, - const DataModel::DecodableList & - list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfoType::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -503,7 +543,7 @@ static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeRespons if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -513,6 +553,14 @@ static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeRespons ChipLogProgress(Zcl, " FailSafeExpiryLengthMs: %" PRIu32 ",", entry.failSafeExpiryLengthMs); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -526,15 +574,12 @@ chip::Callback::Callback & list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -548,7 +593,7 @@ static void OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -563,6 +608,14 @@ static void OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse( ChipLogProgress(Zcl, " Type: %" PRIu8 ",", entry.type); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -575,15 +628,11 @@ chip::Callback::Callback & list) + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -597,7 +646,7 @@ static void OnGroupKeyManagementGroupsListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -609,6 +658,14 @@ static void OnGroupKeyManagementGroupsListAttributeResponse( ChipLogProgress(Zcl, " GroupKeySetIndex: %" PRIu16 ",", entry.groupKeySetIndex); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -621,15 +678,11 @@ chip::Callback::Callback gGroupKe }; static void OnGroupKeyManagementGroupKeysListAttributeResponse( void * context, - const DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -643,7 +696,7 @@ static void OnGroupKeyManagementGroupKeysListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -657,6 +710,14 @@ static void OnGroupKeyManagementGroupKeysListAttributeResponse( ChipLogProgress(Zcl, " GroupKeySecurityPolicy: %" PRIu8 ",", entry.groupKeySecurityPolicy); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -668,15 +729,12 @@ chip::Callback::Callback gGrou OnGroupKeyManagementGroupKeysListAttributeResponse, nullptr }; static void OnMediaInputMediaInputListListAttributeResponse( - void * context, const DataModel::DecodableList & list) + void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -690,7 +748,7 @@ static void OnMediaInputMediaInputListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -703,6 +761,14 @@ static void OnMediaInputMediaInputListListAttributeResponse( ChipLogProgress(Zcl, " description: %.*s,", static_cast(entry.description.size()), entry.description.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -715,15 +781,12 @@ chip::Callback::Callback gMediaIn }; static void OnOperationalCredentialsFabricsListListAttributeResponse( void * context, - const DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -737,7 +800,7 @@ static void OnOperationalCredentialsFabricsListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -752,6 +815,14 @@ static void OnOperationalCredentialsFabricsListListAttributeResponse( ChipLogProgress(Zcl, " Label: %.*s,", static_cast(entry.label.size()), entry.label.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -761,15 +832,12 @@ static void OnOperationalCredentialsFabricsListListAttributeResponse( } chip::Callback::Callback gOperationalCredentialsFabricsListListAttributeCallback{ OnOperationalCredentialsFabricsListListAttributeResponse, nullptr }; -static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -783,7 +851,7 @@ static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -791,6 +859,14 @@ static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu8 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -802,15 +878,12 @@ chip::Callback::Callback gP OnPowerSourceActiveBatteryFaultsListAttributeResponse, nullptr }; static void OnTvChannelTvChannelListListAttributeResponse( - void * context, const DataModel::DecodableList & list) + void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -824,7 +897,7 @@ static void OnTvChannelTvChannelListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -839,6 +912,14 @@ static void OnTvChannelTvChannelListListAttributeResponse( entry.affiliateCallSign.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -851,15 +932,12 @@ chip::Callback::Callback gTvChannel }; static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( void * context, - const DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::TargetNavigator::Structs::NavigateTargetTargetInfo::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -873,7 +951,7 @@ static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -884,6 +962,14 @@ static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( ChipLogProgress(Zcl, " name: %.*s,", static_cast(entry.name.size()), entry.name.data()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -893,15 +979,11 @@ static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( } chip::Callback::Callback gTargetNavigatorTargetNavigatorListListAttributeCallback{ OnTargetNavigatorTargetNavigatorListListAttributeResponse, nullptr }; -static void OnTestClusterListInt8uListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnTestClusterListInt8uListAttributeResponse(void * context, const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -915,7 +997,7 @@ static void OnTestClusterListInt8uListAttributeResponse(void * context, const Da if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -923,6 +1005,14 @@ static void OnTestClusterListInt8uListAttributeResponse(void * context, const Da #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu8 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -933,15 +1023,12 @@ static void OnTestClusterListInt8uListAttributeResponse(void * context, const Da chip::Callback::Callback gTestClusterListInt8uListAttributeCallback{ OnTestClusterListInt8uListAttributeResponse, nullptr }; -static void OnTestClusterListOctetStringListAttributeResponse(void * context, const DataModel::DecodableList & list) +static void OnTestClusterListOctetStringListAttributeResponse(void * context, + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -955,7 +1042,7 @@ static void OnTestClusterListOctetStringListAttributeResponse(void * context, co if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -963,6 +1050,14 @@ static void OnTestClusterListOctetStringListAttributeResponse(void * context, co #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %s,", ByteSpanToString(entry).c_str()); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -975,15 +1070,11 @@ chip::Callback::Callback gTestC }; static void OnTestClusterListStructOctetStringListAttributeResponse( void * context, - const DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -997,7 +1088,7 @@ static void OnTestClusterListStructOctetStringListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1008,6 +1099,14 @@ static void OnTestClusterListStructOctetStringListAttributeResponse( ChipLogProgress(Zcl, " operationalCert: %s,", ByteSpanToString(entry.operationalCert).c_str()); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1019,15 +1118,12 @@ chip::Callback::Callback gTestClusterListStructOctetStringListAttributeCallback{ OnTestClusterListStructOctetStringListAttributeResponse, nullptr }; static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( void * context, - const DataModel::DecodableList & list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -1041,7 +1137,7 @@ static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1064,6 +1160,14 @@ static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( ChipLogProgress(Zcl, " IsChild: %d,", entry.isChild); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1077,15 +1181,12 @@ chip::Callback::Callback & list) + const chip::app::DataModel::DecodableList & + list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -1099,7 +1200,7 @@ static void OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1118,6 +1219,14 @@ static void OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse( ChipLogProgress(Zcl, " LinkEstablished: %d,", entry.linkEstablished); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1130,15 +1239,12 @@ chip::Callback::Callback & list) + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::DecodableType> & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -1152,7 +1258,7 @@ static void OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse( if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1163,6 +1269,14 @@ static void OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse( ChipLogProgress(Zcl, " Flags: %" PRIu16 ",", entry.flags); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1175,16 +1289,12 @@ chip::Callback::Callback & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -1198,7 +1308,7 @@ static void OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeR if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1219,6 +1329,14 @@ static void OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeR ChipLogProgress(Zcl, " ChannelMaskPresent: %d,", entry.channelMaskPresent); ChipLogProgress(Zcl, " },"); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1231,15 +1349,11 @@ chip::Callback::Callback & list) + void * context, const chip::app::DataModel::DecodableList & list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -1253,7 +1367,7 @@ static void OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeRespon if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -1261,6 +1375,14 @@ static void OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeRespon #endif // CHIP_PROGRESS_LOGGING ChipLogProgress(Zcl, " %" PRIu8 ",", entry); } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -1311,7 +1433,10 @@ chip::ChipError::StorageType chip_ime_AppendCommand_AccountLogin_GetSetupPIN(chi VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::AccountLoginCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.GetSetupPIN(nullptr, nullptr, chip::ByteSpan(tempAccountIdentifier, tempAccountIdentifier_Len)).AsInteger(); + return cluster + .GetSetupPIN(nullptr, nullptr, + chip::CharSpan(reinterpret_cast(tempAccountIdentifier), tempAccountIdentifier_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_AccountLogin_Login(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -1323,8 +1448,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_AccountLogin_Login(chip::Con chip::Controller::AccountLoginCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .Login(nullptr, nullptr, chip::ByteSpan(tempAccountIdentifier, tempAccountIdentifier_Len), - chip::ByteSpan(setupPIN, setupPIN_Len)) + .Login(nullptr, nullptr, chip::CharSpan(reinterpret_cast(tempAccountIdentifier), tempAccountIdentifier_Len), + chip::CharSpan(reinterpret_cast(setupPIN), setupPIN_Len)) .AsInteger(); } @@ -1487,8 +1612,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_ApplicationLauncher_LaunchAp chip::Controller::ApplicationLauncherCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .LaunchApp(nullptr, nullptr, chip::ByteSpan(data, data_Len), catalogVendorId, - chip::ByteSpan(applicationId, applicationId_Len)) + .LaunchApp(nullptr, nullptr, chip::CharSpan(reinterpret_cast(data), data_Len), catalogVendorId, + chip::CharSpan(reinterpret_cast(applicationId), applicationId_Len)) .AsInteger(); } @@ -1545,7 +1670,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_AudioOutput_RenameOutput(chi VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::AudioOutputCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.RenameOutput(nullptr, nullptr, index, chip::ByteSpan(name, name_Len)).AsInteger(); + return cluster.RenameOutput(nullptr, nullptr, index, chip::CharSpan(reinterpret_cast(name), name_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_AudioOutput_SelectOutput(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -1738,7 +1864,8 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_Basic_UserLabel(chip::Contr chip::Controller::BasicCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .WriteAttributeUserLabel(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), chip::ByteSpan(value, len)) + .WriteAttributeUserLabel(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), + chip::CharSpan(reinterpret_cast(value), len)) .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_Location(chip::Controller::Device * device, @@ -1758,7 +1885,8 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_Basic_Location(chip::Contro chip::Controller::BasicCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .WriteAttributeLocation(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), chip::ByteSpan(value, len)) + .WriteAttributeLocation(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), + chip::CharSpan(reinterpret_cast(value), len)) .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_HardwareVersion(chip::Controller::Device * device, @@ -2014,6 +2142,42 @@ chip::ChipError::StorageType chip_ime_ReadAttribute_Binding_ClusterRevision(chip } // End of Cluster Binding +// Cluster BooleanState + +chip::ChipError::StorageType chip_ime_ReadAttribute_BooleanState_StateValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::BooleanStateCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeStateValue(gBooleanAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_SubscribeAttribute_BooleanState_StateValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + uint16_t minInterval, uint16_t maxInterval) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::BooleanStateCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster + .SubscribeAttributeStateValue(gBooleanAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel(), minInterval, + maxInterval) + .AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_BooleanState_ClusterRevision(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::BooleanStateCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeClusterRevision(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +// End of Cluster BooleanState // Cluster BridgedDeviceBasic chip::ChipError::StorageType chip_ime_ReadAttribute_BridgedDeviceBasic_VendorName(chip::Controller::Device * device, @@ -2064,7 +2228,8 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_BridgedDeviceBasic_UserLabe chip::Controller::BridgedDeviceBasicCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .WriteAttributeUserLabel(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), chip::ByteSpan(value, len)) + .WriteAttributeUserLabel(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), + chip::CharSpan(reinterpret_cast(value), len)) .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_BridgedDeviceBasic_HardwareVersion(chip::Controller::Device * device, @@ -3130,7 +3295,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_ContentLauncher_LaunchConten VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::ContentLauncherCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.LaunchContent(nullptr, nullptr, autoPlay, chip::ByteSpan(data, data_Len)).AsInteger(); + return cluster.LaunchContent(nullptr, nullptr, autoPlay, chip::CharSpan(reinterpret_cast(data), data_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_ContentLauncher_LaunchURL(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -3142,7 +3308,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_ContentLauncher_LaunchURL(ch chip::Controller::ContentLauncherCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .LaunchURL(nullptr, nullptr, chip::ByteSpan(contentURL, contentURL_Len), chip::ByteSpan(displayString, displayString_Len)) + .LaunchURL(nullptr, nullptr, chip::CharSpan(reinterpret_cast(contentURL), contentURL_Len), + chip::CharSpan(reinterpret_cast(displayString), displayString_Len)) .AsInteger(); } @@ -3857,7 +4024,8 @@ chip_ime_AppendCommand_GeneralCommissioning_SetRegulatoryConfig(chip::Controller chip::Controller::GeneralCommissioningCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .SetRegulatoryConfig(nullptr, nullptr, location, chip::ByteSpan(countryCode, countryCode_Len), breadcrumb, timeoutMs) + .SetRegulatoryConfig(nullptr, nullptr, location, + chip::CharSpan(reinterpret_cast(countryCode), countryCode_Len), breadcrumb, timeoutMs) .AsInteger(); } @@ -4015,7 +4183,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_Groups_AddGroup(chip::Contro VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::GroupsCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.AddGroup(nullptr, nullptr, groupId, chip::ByteSpan(groupName, groupName_Len)).AsInteger(); + return cluster.AddGroup(nullptr, nullptr, groupId, chip::CharSpan(reinterpret_cast(groupName), groupName_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_Groups_AddGroupIfIdentifying(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -4025,7 +4194,9 @@ chip::ChipError::StorageType chip_ime_AppendCommand_Groups_AddGroupIfIdentifying VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::GroupsCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.AddGroupIfIdentifying(nullptr, nullptr, groupId, chip::ByteSpan(groupName, groupName_Len)).AsInteger(); + return cluster + .AddGroupIfIdentifying(nullptr, nullptr, groupId, chip::CharSpan(reinterpret_cast(groupName), groupName_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_Groups_GetGroupMembership(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -4154,6 +4325,83 @@ chip::ChipError::StorageType chip_ime_ReadAttribute_Identify_ClusterRevision(chi } // End of Cluster Identify +// Cluster IlluminanceMeasurement + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_MeasuredValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeMeasuredValue(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_SubscribeAttribute_IlluminanceMeasurement_MeasuredValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + uint16_t minInterval, + uint16_t maxInterval) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster + .SubscribeAttributeMeasuredValue(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel(), minInterval, + maxInterval) + .AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_MinMeasuredValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeMinMeasuredValue(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_MaxMeasuredValue(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeMaxMeasuredValue(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_Tolerance(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeTolerance(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_LightSensorType(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeLightSensorType(gInt8uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_ReadAttribute_IlluminanceMeasurement_ClusterRevision(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::IlluminanceMeasurementCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeClusterRevision(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +// End of Cluster IlluminanceMeasurement // Cluster KeypadInput chip::ChipError::StorageType chip_ime_AppendCommand_KeypadInput_SendKey(chip::Controller::Device * device, @@ -4527,7 +4775,7 @@ chip::ChipError::StorageType chip_ime_AppendCommand_MediaInput_RenameInput(chip: VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::MediaInputCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.RenameInput(nullptr, nullptr, index, chip::ByteSpan(name, name_Len)).AsInteger(); + return cluster.RenameInput(nullptr, nullptr, index, chip::CharSpan(reinterpret_cast(name), name_Len)).AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_MediaInput_SelectInput(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -4916,7 +5164,7 @@ chip::ChipError::StorageType chip_ime_AppendCommand_OtaSoftwareUpdateProvider_Qu cluster.Associate(device, ZCLendpointId); return cluster .QueryImage(nullptr, nullptr, vendorId, productId, hardwareVersion, softwareVersion, protocolsSupported, - chip::ByteSpan(location, location_Len), requestorCanConsent, + chip::CharSpan(reinterpret_cast(location), location_Len), requestorCanConsent, chip::ByteSpan(metadataForProvider, metadataForProvider_Len)) .AsInteger(); } @@ -5332,7 +5580,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_OperationalCredentials_Updat VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::OperationalCredentialsCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.UpdateFabricLabel(nullptr, nullptr, chip::ByteSpan(label, label_Len)).AsInteger(); + return cluster.UpdateFabricLabel(nullptr, nullptr, chip::CharSpan(reinterpret_cast(label), label_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_OperationalCredentials_UpdateNOC(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, @@ -5920,8 +6169,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_Scenes_AddScene(chip::Contro chip::Controller::ScenesCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .AddScene(nullptr, nullptr, groupId, sceneId, transitionTime, chip::ByteSpan(sceneName, sceneName_Len), clusterId, length, - value) + .AddScene(nullptr, nullptr, groupId, sceneId, transitionTime, + chip::CharSpan(reinterpret_cast(sceneName), sceneName_Len), clusterId, length, value) .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_Scenes_GetSceneMembership(chip::Controller::Device * device, @@ -6149,7 +6398,7 @@ chip::ChipError::StorageType chip_ime_AppendCommand_TvChannel_ChangeChannel(chip VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::TvChannelCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.ChangeChannel(nullptr, nullptr, chip::ByteSpan(match, match_Len)).AsInteger(); + return cluster.ChangeChannel(nullptr, nullptr, chip::CharSpan(reinterpret_cast(match), match_Len)).AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_TvChannel_ChangeChannelByNumber(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, @@ -6225,7 +6474,8 @@ chip::ChipError::StorageType chip_ime_AppendCommand_TargetNavigator_NavigateTarg VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::TargetNavigatorCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.NavigateTarget(nullptr, nullptr, target, chip::ByteSpan(data, data_Len)).AsInteger(); + return cluster.NavigateTarget(nullptr, nullptr, target, chip::CharSpan(reinterpret_cast(data), data_Len)) + .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_TargetNavigator_TargetNavigatorList(chip::Controller::Device * device, @@ -6328,6 +6578,15 @@ chip::ChipError::StorageType chip_ime_AppendCommand_TestCluster_TestAddArguments cluster.Associate(device, ZCLendpointId); return cluster.TestAddArguments(nullptr, nullptr, arg1, arg2).AsInteger(); } +chip::ChipError::StorageType chip_ime_AppendCommand_TestCluster_TestEnumsRequest(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, chip::GroupId, + chip::VendorId arg1, uint8_t arg2) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.TestEnumsRequest(nullptr, nullptr, arg1, arg2).AsInteger(); +} chip::ChipError::StorageType chip_ime_AppendCommand_TestCluster_TestListInt8UArgumentRequest(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId, uint8_t arg1) @@ -6354,7 +6613,9 @@ chip_ime_AppendCommand_TestCluster_TestListStructArgumentRequest(chip::Controlle VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::TestClusterCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.TestListStructArgumentRequest(nullptr, nullptr, a, b, c, chip::ByteSpan(d, d_Len), chip::ByteSpan(e, e_Len), f) + return cluster + .TestListStructArgumentRequest(nullptr, nullptr, a, b, c, chip::ByteSpan(d, d_Len), + chip::CharSpan(reinterpret_cast(e), e_Len), f) .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_TestCluster_TestNotHandled(chip::Controller::Device * device, @@ -6381,7 +6642,9 @@ chip_ime_AppendCommand_TestCluster_TestStructArgumentRequest(chip::Controller::D VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::TestClusterCluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.TestStructArgumentRequest(nullptr, nullptr, a, b, c, chip::ByteSpan(d, d_Len), chip::ByteSpan(e, e_Len), f) + return cluster + .TestStructArgumentRequest(nullptr, nullptr, a, b, c, chip::ByteSpan(d, d_Len), + chip::CharSpan(reinterpret_cast(e), e_Len), f) .AsInteger(); } chip::ChipError::StorageType chip_ime_AppendCommand_TestCluster_TestUnknownCommand(chip::Controller::Device * device, @@ -6772,7 +7035,8 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_TestCluster_CharString(chip chip::Controller::TestClusterCluster cluster; cluster.Associate(device, ZCLendpointId); return cluster - .WriteAttributeCharString(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), chip::ByteSpan(value, len)) + .WriteAttributeCharString(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), + chip::CharSpan(reinterpret_cast(value), len)) .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_TestCluster_LongCharString(chip::Controller::Device * device, @@ -6794,7 +7058,7 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_TestCluster_LongCharString( cluster.Associate(device, ZCLendpointId); return cluster .WriteAttributeLongCharString(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), - chip::ByteSpan(value, len)) + chip::CharSpan(reinterpret_cast(value), len)) .AsInteger(); } chip::ChipError::StorageType chip_ime_ReadAttribute_TestCluster_EpochUs(chip::Controller::Device * device, @@ -6835,6 +7099,25 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_TestCluster_EpochS(chip::Co cluster.Associate(device, ZCLendpointId); return cluster.WriteAttributeEpochS(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), value).AsInteger(); } +chip::ChipError::StorageType chip_ime_ReadAttribute_TestCluster_VendorId(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, + chip::GroupId /* ZCLgroupId */) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.ReadAttributeVendorId(gInt16uAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger(); +} + +chip::ChipError::StorageType chip_ime_WriteAttribute_TestCluster_VendorId(chip::Controller::Device * device, + chip::EndpointId ZCLendpointId, chip::GroupId, + chip::VendorId value) +{ + VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, ZCLendpointId); + return cluster.WriteAttributeVendorId(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), value).AsInteger(); +} chip::ChipError::StorageType chip_ime_ReadAttribute_TestCluster_Unsupported(chip::Controller::Device * device, chip::EndpointId ZCLendpointId, chip::GroupId /* ZCLgroupId */) diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index 77798bd0a65314..992fd070d582e4 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -449,6 +449,25 @@ class ChipClusters: }, }, } + _BOOLEAN_STATE_CLUSTER_INFO = { + "clusterName": "BooleanState", + "clusterId": 0x00000045, + "commands": { + }, + "attributes": { + 0x00000000: { + "attributeName": "StateValue", + "attributeId": 0x00000000, + "type": "bool", + "reportable": True, + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + }, + }, + } _BRIDGED_DEVICE_BASIC_CLUSTER_INFO = { "clusterName": "BridgedDeviceBasic", "clusterId": 0x00000039, @@ -1725,6 +1744,45 @@ class ChipClusters: }, }, } + _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO = { + "clusterName": "IlluminanceMeasurement", + "clusterId": 0x00000400, + "commands": { + }, + "attributes": { + 0x00000000: { + "attributeName": "MeasuredValue", + "attributeId": 0x00000000, + "type": "int", + "reportable": True, + }, + 0x00000001: { + "attributeName": "MinMeasuredValue", + "attributeId": 0x00000001, + "type": "int", + }, + 0x00000002: { + "attributeName": "MaxMeasuredValue", + "attributeId": 0x00000002, + "type": "int", + }, + 0x00000003: { + "attributeName": "Tolerance", + "attributeId": 0x00000003, + "type": "int", + }, + 0x00000004: { + "attributeName": "LightSensorType", + "attributeId": 0x00000004, + "type": "int", + }, + 0x0000FFFD: { + "attributeName": "ClusterRevision", + "attributeId": 0x0000FFFD, + "type": "int", + }, + }, + } _KEYPAD_INPUT_CLUSTER_INFO = { "clusterName": "KeypadInput", "clusterId": 0x00000509, @@ -3042,6 +3100,14 @@ class ChipClusters: "arg2": "int", }, }, + 0x0000000E: { + "commandId": 0x0000000E, + "commandName": "TestEnumsRequest", + "args": { + "arg1": "int", + "arg2": "int", + }, + }, 0x0000000A: { "commandId": 0x0000000A, "commandName": "TestListInt8UArgumentRequest", @@ -3241,6 +3307,12 @@ class ChipClusters: "type": "int", "writable": True, }, + 0x00000022: { + "attributeName": "VendorId", + "attributeId": 0x00000022, + "type": "int", + "writable": True, + }, 0x000000FF: { "attributeName": "Unsupported", "attributeId": 0x000000FF, @@ -4037,6 +4109,7 @@ class ChipClusters: 0x00000028: _BASIC_CLUSTER_INFO, 0x0000000F: _BINARY_INPUT_BASIC_CLUSTER_INFO, 0x0000F000: _BINDING_CLUSTER_INFO, + 0x00000045: _BOOLEAN_STATE_CLUSTER_INFO, 0x00000039: _BRIDGED_DEVICE_BASIC_CLUSTER_INFO, 0x00000300: _COLOR_CONTROL_CLUSTER_INFO, 0x0000050A: _CONTENT_LAUNCHER_CLUSTER_INFO, @@ -4052,6 +4125,7 @@ class ChipClusters: 0x0000F004: _GROUP_KEY_MANAGEMENT_CLUSTER_INFO, 0x00000004: _GROUPS_CLUSTER_INFO, 0x00000003: _IDENTIFY_CLUSTER_INFO, + 0x00000400: _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO, 0x00000509: _KEYPAD_INPUT_CLUSTER_INFO, 0x00000008: _LEVEL_CONTROL_CLUSTER_INFO, 0x00000508: _LOW_POWER_CLUSTER_INFO, @@ -4093,6 +4167,7 @@ class ChipClusters: "Basic": _BASIC_CLUSTER_INFO, "BinaryInputBasic": _BINARY_INPUT_BASIC_CLUSTER_INFO, "Binding": _BINDING_CLUSTER_INFO, + "BooleanState": _BOOLEAN_STATE_CLUSTER_INFO, "BridgedDeviceBasic": _BRIDGED_DEVICE_BASIC_CLUSTER_INFO, "ColorControl": _COLOR_CONTROL_CLUSTER_INFO, "ContentLauncher": _CONTENT_LAUNCHER_CLUSTER_INFO, @@ -4108,6 +4183,7 @@ class ChipClusters: "GroupKeyManagement": _GROUP_KEY_MANAGEMENT_CLUSTER_INFO, "Groups": _GROUPS_CLUSTER_INFO, "Identify": _IDENTIFY_CLUSTER_INFO, + "IlluminanceMeasurement": _ILLUMINANCE_MEASUREMENT_CLUSTER_INFO, "KeypadInput": _KEYPAD_INPUT_CLUSTER_INFO, "LevelControl": _LEVEL_CONTROL_CLUSTER_INFO, "LowPower": _LOW_POWER_CLUSTER_INFO, @@ -4195,18 +4271,20 @@ def WriteAttribute(self, device: ctypes.c_void_p, cluster: str, attribute: str, if not func: raise UnknownAttribute(cluster, attribute) funcCaller = self._ChipStack.Call if imEnabled else self._ChipStack.CallAsync - funcCaller(lambda: func(device, endpoint, groupid, value)) + res = funcCaller(lambda: func(device, endpoint, groupid, value)) + if res != 0: + raise self._ChipStack.ErrorToException(res) # Cluster commands - def ClusterAccountLogin_CommandGetSetupPIN(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, tempAccountIdentifier: bytes): + def ClusterAccountLogin_CommandGetSetupPIN(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, tempAccountIdentifier: str): tempAccountIdentifier = tempAccountIdentifier.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_AccountLogin_GetSetupPIN( device, ZCLendpoint, ZCLgroupid, tempAccountIdentifier, len( tempAccountIdentifier) ) - def ClusterAccountLogin_CommandLogin(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, tempAccountIdentifier: bytes, setupPIN: bytes): + def ClusterAccountLogin_CommandLogin(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, tempAccountIdentifier: str, setupPIN: str): tempAccountIdentifier = tempAccountIdentifier.encode("utf-8") + b'\x00' setupPIN = setupPIN.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_AccountLogin_Login( @@ -4235,7 +4313,7 @@ def ClusterApplicationBasic_CommandChangeStatus(self, device: ctypes.c_void_p, Z device, ZCLendpoint, ZCLgroupid, status ) - def ClusterApplicationLauncher_CommandLaunchApp(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, data: bytes, catalogVendorId: int, applicationId: bytes): + def ClusterApplicationLauncher_CommandLaunchApp(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, data: str, catalogVendorId: int, applicationId: str): data = data.encode("utf-8") + b'\x00' applicationId = applicationId.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_ApplicationLauncher_LaunchApp( @@ -4243,7 +4321,7 @@ def ClusterApplicationLauncher_CommandLaunchApp(self, device: ctypes.c_void_p, Z data), catalogVendorId, applicationId, len(applicationId) ) - def ClusterAudioOutput_CommandRenameOutput(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, index: int, name: bytes): + def ClusterAudioOutput_CommandRenameOutput(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, index: int, name: str): name = name.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_AudioOutput_RenameOutput( device, ZCLendpoint, ZCLgroupid, index, name, len(name) @@ -4374,13 +4452,13 @@ def ClusterColorControl_CommandStopMoveStep(self, device: ctypes.c_void_p, ZCLen device, ZCLendpoint, ZCLgroupid, optionsMask, optionsOverride ) - def ClusterContentLauncher_CommandLaunchContent(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, autoPlay: bool, data: bytes): + def ClusterContentLauncher_CommandLaunchContent(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, autoPlay: bool, data: str): data = data.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_ContentLauncher_LaunchContent( device, ZCLendpoint, ZCLgroupid, autoPlay, data, len(data) ) - def ClusterContentLauncher_CommandLaunchURL(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, contentURL: bytes, displayString: bytes): + def ClusterContentLauncher_CommandLaunchURL(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, contentURL: str, displayString: str): contentURL = contentURL.encode("utf-8") + b'\x00' displayString = displayString.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_ContentLauncher_LaunchURL( @@ -4526,20 +4604,20 @@ def ClusterGeneralCommissioning_CommandCommissioningComplete(self, device: ctype device, ZCLendpoint, ZCLgroupid ) - def ClusterGeneralCommissioning_CommandSetRegulatoryConfig(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, location: int, countryCode: bytes, breadcrumb: int, timeoutMs: int): + def ClusterGeneralCommissioning_CommandSetRegulatoryConfig(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, location: int, countryCode: str, breadcrumb: int, timeoutMs: int): countryCode = countryCode.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_GeneralCommissioning_SetRegulatoryConfig( device, ZCLendpoint, ZCLgroupid, location, countryCode, len( countryCode), breadcrumb, timeoutMs ) - def ClusterGroups_CommandAddGroup(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, groupName: bytes): + def ClusterGroups_CommandAddGroup(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, groupName: str): groupName = groupName.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_Groups_AddGroup( device, ZCLendpoint, ZCLgroupid, groupId, groupName, len(groupName) ) - def ClusterGroups_CommandAddGroupIfIdentifying(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, groupName: bytes): + def ClusterGroups_CommandAddGroupIfIdentifying(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, groupName: str): groupName = groupName.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_Groups_AddGroupIfIdentifying( device, ZCLendpoint, ZCLgroupid, groupId, groupName, len(groupName) @@ -4635,7 +4713,7 @@ def ClusterMediaInput_CommandHideInputStatus(self, device: ctypes.c_void_p, ZCLe device, ZCLendpoint, ZCLgroupid ) - def ClusterMediaInput_CommandRenameInput(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, index: int, name: bytes): + def ClusterMediaInput_CommandRenameInput(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, index: int, name: str): name = name.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_MediaInput_RenameInput( device, ZCLendpoint, ZCLgroupid, index, name, len(name) @@ -4771,7 +4849,7 @@ def ClusterOtaSoftwareUpdateProvider_CommandNotifyUpdateApplied(self, device: ct updateToken), softwareVersion ) - def ClusterOtaSoftwareUpdateProvider_CommandQueryImage(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, vendorId: int, productId: int, hardwareVersion: int, softwareVersion: int, protocolsSupported: int, location: bytes, requestorCanConsent: bool, metadataForProvider: bytes): + def ClusterOtaSoftwareUpdateProvider_CommandQueryImage(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, vendorId: int, productId: int, hardwareVersion: int, softwareVersion: int, protocolsSupported: int, location: str, requestorCanConsent: bool, metadataForProvider: bytes): location = location.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_OtaSoftwareUpdateProvider_QueryImage( device, ZCLendpoint, ZCLgroupid, vendorId, productId, hardwareVersion, softwareVersion, protocolsSupported, location, len( @@ -4853,7 +4931,7 @@ def ClusterOperationalCredentials_CommandRemoveTrustedRootCertificate(self, devi trustedRootIdentifier) ) - def ClusterOperationalCredentials_CommandUpdateFabricLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, label: bytes): + def ClusterOperationalCredentials_CommandUpdateFabricLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, label: str): label = label.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_OperationalCredentials_UpdateFabricLabel( device, ZCLendpoint, ZCLgroupid, label, len(label) @@ -4865,7 +4943,7 @@ def ClusterOperationalCredentials_CommandUpdateNOC(self, device: ctypes.c_void_p NOCValue), ICACValue, len(ICACValue) ) - def ClusterScenes_CommandAddScene(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, sceneId: int, transitionTime: int, sceneName: bytes, clusterId: int, length: int, value: int): + def ClusterScenes_CommandAddScene(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, groupId: int, sceneId: int, transitionTime: int, sceneName: str, clusterId: int, length: int, value: int): sceneName = sceneName.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_Scenes_AddScene( device, ZCLendpoint, ZCLgroupid, groupId, sceneId, transitionTime, sceneName, len( @@ -4907,7 +4985,7 @@ def ClusterSoftwareDiagnostics_CommandResetWatermarks(self, device: ctypes.c_voi device, ZCLendpoint, ZCLgroupid ) - def ClusterTvChannel_CommandChangeChannel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, match: bytes): + def ClusterTvChannel_CommandChangeChannel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, match: str): match = match.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_TvChannel_ChangeChannel( device, ZCLendpoint, ZCLgroupid, match, len(match) @@ -4923,7 +5001,7 @@ def ClusterTvChannel_CommandSkipChannel(self, device: ctypes.c_void_p, ZCLendpoi device, ZCLendpoint, ZCLgroupid, count ) - def ClusterTargetNavigator_CommandNavigateTarget(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, target: int, data: bytes): + def ClusterTargetNavigator_CommandNavigateTarget(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, target: int, data: str): data = data.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_TargetNavigator_NavigateTarget( device, ZCLendpoint, ZCLgroupid, target, data, len(data) @@ -4939,6 +5017,11 @@ def ClusterTestCluster_CommandTestAddArguments(self, device: ctypes.c_void_p, ZC device, ZCLendpoint, ZCLgroupid, arg1, arg2 ) + def ClusterTestCluster_CommandTestEnumsRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, arg1: int, arg2: int): + return self._chipLib.chip_ime_AppendCommand_TestCluster_TestEnumsRequest( + device, ZCLendpoint, ZCLgroupid, arg1, arg2 + ) + def ClusterTestCluster_CommandTestListInt8UArgumentRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, arg1: int): return self._chipLib.chip_ime_AppendCommand_TestCluster_TestListInt8UArgumentRequest( device, ZCLendpoint, ZCLgroupid, arg1 @@ -4949,7 +5032,7 @@ def ClusterTestCluster_CommandTestListInt8UReverseRequest(self, device: ctypes.c device, ZCLendpoint, ZCLgroupid, arg1 ) - def ClusterTestCluster_CommandTestListStructArgumentRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, a: int, b: bool, c: int, d: bytes, e: bytes, f: int): + def ClusterTestCluster_CommandTestListStructArgumentRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, a: int, b: bool, c: int, d: bytes, e: str, f: int): e = e.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_TestCluster_TestListStructArgumentRequest( device, ZCLendpoint, ZCLgroupid, a, b, c, d, len(d), e, len(e), f @@ -4965,7 +5048,7 @@ def ClusterTestCluster_CommandTestSpecific(self, device: ctypes.c_void_p, ZCLend device, ZCLendpoint, ZCLgroupid ) - def ClusterTestCluster_CommandTestStructArgumentRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, a: int, b: bool, c: int, d: bytes, e: bytes, f: int): + def ClusterTestCluster_CommandTestStructArgumentRequest(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, a: int, b: bool, c: int, d: bytes, e: str, f: int): e = e.encode("utf-8") + b'\x00' return self._chipLib.chip_ime_AppendCommand_TestCluster_TestStructArgumentRequest( device, ZCLendpoint, ZCLgroupid, a, b, c, d, len(d), e, len(e), f @@ -5132,14 +5215,14 @@ def ClusterBasic_ReadAttributeProductID(self, device: ctypes.c_void_p, ZCLendpoi def ClusterBasic_ReadAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_Basic_UserLabel(device, ZCLendpoint, ZCLgroupid) - def ClusterBasic_WriteAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: bytes): + def ClusterBasic_WriteAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: str): value = value.encode("utf-8") return self._chipLib.chip_ime_WriteAttribute_Basic_UserLabel(device, ZCLendpoint, ZCLgroupid, value, len(value)) def ClusterBasic_ReadAttributeLocation(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_Basic_Location(device, ZCLendpoint, ZCLgroupid) - def ClusterBasic_WriteAttributeLocation(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: bytes): + def ClusterBasic_WriteAttributeLocation(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: str): value = value.encode("utf-8") return self._chipLib.chip_ime_WriteAttribute_Basic_Location(device, ZCLendpoint, ZCLgroupid, value, len(value)) @@ -5209,6 +5292,15 @@ def ClusterBinaryInputBasic_ReadAttributeClusterRevision(self, device: ctypes.c_ def ClusterBinding_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_Binding_ClusterRevision(device, ZCLendpoint, ZCLgroupid) + def ClusterBooleanState_ReadAttributeStateValue(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_BooleanState_StateValue(device, ZCLendpoint, ZCLgroupid) + + def ClusterBooleanState_SubscribeAttributeStateValue(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int): + return self._chipLib.chip_ime_SubscribeAttribute_BooleanState_StateValue(device, ZCLendpoint, minInterval, maxInterval) + + def ClusterBooleanState_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_BooleanState_ClusterRevision(device, ZCLendpoint, ZCLgroupid) + def ClusterBridgedDeviceBasic_ReadAttributeVendorName(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_BridgedDeviceBasic_VendorName(device, ZCLendpoint, ZCLgroupid) @@ -5221,7 +5313,7 @@ def ClusterBridgedDeviceBasic_ReadAttributeProductName(self, device: ctypes.c_vo def ClusterBridgedDeviceBasic_ReadAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_BridgedDeviceBasic_UserLabel(device, ZCLendpoint, ZCLgroupid) - def ClusterBridgedDeviceBasic_WriteAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: bytes): + def ClusterBridgedDeviceBasic_WriteAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: str): value = value.encode("utf-8") return self._chipLib.chip_ime_WriteAttribute_BridgedDeviceBasic_UserLabel(device, ZCLendpoint, ZCLgroupid, value, len(value)) @@ -5651,6 +5743,27 @@ def ClusterIdentify_ReadAttributeIdentifyType(self, device: ctypes.c_void_p, ZCL def ClusterIdentify_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_Identify_ClusterRevision(device, ZCLendpoint, ZCLgroupid) + def ClusterIlluminanceMeasurement_ReadAttributeMeasuredValue(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MeasuredValue(device, ZCLendpoint, ZCLgroupid) + + def ClusterIlluminanceMeasurement_SubscribeAttributeMeasuredValue(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int): + return self._chipLib.chip_ime_SubscribeAttribute_IlluminanceMeasurement_MeasuredValue(device, ZCLendpoint, minInterval, maxInterval) + + def ClusterIlluminanceMeasurement_ReadAttributeMinMeasuredValue(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MinMeasuredValue(device, ZCLendpoint, ZCLgroupid) + + def ClusterIlluminanceMeasurement_ReadAttributeMaxMeasuredValue(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MaxMeasuredValue(device, ZCLendpoint, ZCLgroupid) + + def ClusterIlluminanceMeasurement_ReadAttributeTolerance(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_Tolerance(device, ZCLendpoint, ZCLgroupid) + + def ClusterIlluminanceMeasurement_ReadAttributeLightSensorType(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_LightSensorType(device, ZCLendpoint, ZCLgroupid) + + def ClusterIlluminanceMeasurement_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_ClusterRevision(device, ZCLendpoint, ZCLgroupid) + def ClusterKeypadInput_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_KeypadInput_ClusterRevision(device, ZCLendpoint, ZCLgroupid) @@ -6191,14 +6304,14 @@ def ClusterTestCluster_WriteAttributeLongOctetString(self, device: ctypes.c_void def ClusterTestCluster_ReadAttributeCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_TestCluster_CharString(device, ZCLendpoint, ZCLgroupid) - def ClusterTestCluster_WriteAttributeCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: bytes): + def ClusterTestCluster_WriteAttributeCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: str): value = value.encode("utf-8") return self._chipLib.chip_ime_WriteAttribute_TestCluster_CharString(device, ZCLendpoint, ZCLgroupid, value, len(value)) def ClusterTestCluster_ReadAttributeLongCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_TestCluster_LongCharString(device, ZCLendpoint, ZCLgroupid) - def ClusterTestCluster_WriteAttributeLongCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: bytes): + def ClusterTestCluster_WriteAttributeLongCharString(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: str): value = value.encode("utf-8") return self._chipLib.chip_ime_WriteAttribute_TestCluster_LongCharString(device, ZCLendpoint, ZCLgroupid, value, len(value)) @@ -6214,6 +6327,12 @@ def ClusterTestCluster_ReadAttributeEpochS(self, device: ctypes.c_void_p, ZCLend def ClusterTestCluster_WriteAttributeEpochS(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: int): return self._chipLib.chip_ime_WriteAttribute_TestCluster_EpochS(device, ZCLendpoint, ZCLgroupid, value) + def ClusterTestCluster_ReadAttributeVendorId(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): + return self._chipLib.chip_ime_ReadAttribute_TestCluster_VendorId(device, ZCLendpoint, ZCLgroupid) + + def ClusterTestCluster_WriteAttributeVendorId(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int, value: int): + return self._chipLib.chip_ime_WriteAttribute_TestCluster_VendorId(device, ZCLendpoint, ZCLgroupid, value) + def ClusterTestCluster_ReadAttributeUnsupported(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int): return self._chipLib.chip_ime_ReadAttribute_TestCluster_Unsupported(device, ZCLendpoint, ZCLgroupid) @@ -6937,6 +7056,19 @@ def InitLib(self, chipLib): self._chipLib.chip_ime_ReadAttribute_Binding_ClusterRevision.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] self._chipLib.chip_ime_ReadAttribute_Binding_ClusterRevision.restype = ctypes.c_uint32 + # Cluster BooleanState + # Cluster BooleanState ReadAttribute StateValue + self._chipLib.chip_ime_ReadAttribute_BooleanState_StateValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_BooleanState_StateValue.restype = ctypes.c_uint32 + # Cluster BooleanState SubscribeAttribute StateValue + self._chipLib.chip_ime_SubscribeAttribute_BooleanState_StateValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16] + self._chipLib.chip_ime_SubscribeAttribute_BooleanState_StateValue.restype = ctypes.c_uint32 + # Cluster BooleanState ReadAttribute ClusterRevision + self._chipLib.chip_ime_ReadAttribute_BooleanState_ClusterRevision.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_BooleanState_ClusterRevision.restype = ctypes.c_uint32 # Cluster BridgedDeviceBasic # Cluster BridgedDeviceBasic ReadAttribute VendorName self._chipLib.chip_ime_ReadAttribute_BridgedDeviceBasic_VendorName.argtypes = [ @@ -7772,6 +7904,35 @@ def InitLib(self, chipLib): self._chipLib.chip_ime_ReadAttribute_Identify_ClusterRevision.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] self._chipLib.chip_ime_ReadAttribute_Identify_ClusterRevision.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement + # Cluster IlluminanceMeasurement ReadAttribute MeasuredValue + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MeasuredValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MeasuredValue.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement SubscribeAttribute MeasuredValue + self._chipLib.chip_ime_SubscribeAttribute_IlluminanceMeasurement_MeasuredValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16] + self._chipLib.chip_ime_SubscribeAttribute_IlluminanceMeasurement_MeasuredValue.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement ReadAttribute MinMeasuredValue + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MinMeasuredValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MinMeasuredValue.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement ReadAttribute MaxMeasuredValue + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MaxMeasuredValue.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_MaxMeasuredValue.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement ReadAttribute Tolerance + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_Tolerance.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_Tolerance.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement ReadAttribute LightSensorType + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_LightSensorType.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_LightSensorType.restype = ctypes.c_uint32 + # Cluster IlluminanceMeasurement ReadAttribute ClusterRevision + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_ClusterRevision.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_IlluminanceMeasurement_ClusterRevision.restype = ctypes.c_uint32 # Cluster KeypadInput # Cluster KeypadInput Command SendKey self._chipLib.chip_ime_AppendCommand_KeypadInput_SendKey.argtypes = [ @@ -8631,6 +8792,10 @@ def InitLib(self, chipLib): self._chipLib.chip_ime_AppendCommand_TestCluster_TestAddArguments.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint8, ctypes.c_uint8] self._chipLib.chip_ime_AppendCommand_TestCluster_TestAddArguments.restype = ctypes.c_uint32 + # Cluster TestCluster Command TestEnumsRequest + self._chipLib.chip_ime_AppendCommand_TestCluster_TestEnumsRequest.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16, ctypes.c_uint8] + self._chipLib.chip_ime_AppendCommand_TestCluster_TestEnumsRequest.restype = ctypes.c_uint32 # Cluster TestCluster Command TestListInt8UArgumentRequest self._chipLib.chip_ime_AppendCommand_TestCluster_TestListInt8UArgumentRequest.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint8] @@ -8839,6 +9004,14 @@ def InitLib(self, chipLib): self._chipLib.chip_ime_WriteAttribute_TestCluster_EpochS.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint32] self._chipLib.chip_ime_WriteAttribute_TestCluster_EpochS.restype = ctypes.c_uint32 + # Cluster TestCluster ReadAttribute VendorId + self._chipLib.chip_ime_ReadAttribute_TestCluster_VendorId.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] + self._chipLib.chip_ime_ReadAttribute_TestCluster_VendorId.restype = ctypes.c_uint32 + # Cluster TestCluster WriteAttribute VendorId + self._chipLib.chip_ime_WriteAttribute_TestCluster_VendorId.argtypes = [ + ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16] + self._chipLib.chip_ime_WriteAttribute_TestCluster_VendorId.restype = ctypes.c_uint32 # Cluster TestCluster ReadAttribute Unsupported self._chipLib.chip_ime_ReadAttribute_TestCluster_Unsupported.argtypes = [ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16] diff --git a/src/controller/python/chip/clusters/Command.py b/src/controller/python/chip/clusters/Command.py index 1936ba3707f074..9348e3bd591432 100644 --- a/src/controller/python/chip/clusters/Command.py +++ b/src/controller/python/chip/clusters/Command.py @@ -68,7 +68,6 @@ def _handleError(self, imError: int, chipError: int, exception: Exception): except: self._future.set_exception(chip.interaction_model.InteractionModelError( chip.interaction_model.Status.Failure)) - pass def handleError(self, imError: int, chipError: int): self._event_loop.call_soon_threadsafe( diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index cb97f7ca71956f..39c4299412bcc7 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -8508,6 +8508,51 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: return ClusterObjectFieldDescriptor(Type=uint) +@dataclass +class BooleanState: + id: typing.ClassVar[int] = 0x0045 + + class Attributes: + class StateValue(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0045 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=bool) + + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0045 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0xFFFC + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0045 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0xFFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + @dataclass class ShadeConfiguration: id: typing.ClassVar[int] = 0x0100 @@ -13808,6 +13853,11 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: class IlluminanceMeasurement: id: typing.ClassVar[int] = 0x0400 + class Enums: + class LightSensorType(IntEnum): + kPhotodiode = 0x00 + kCmos = 0x01 + class Attributes: class MeasuredValue(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -13901,77 +13951,6 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: return ClusterObjectFieldDescriptor(Type=uint) -@dataclass -class IlluminanceLevelSensing: - id: typing.ClassVar[int] = 0x0401 - - class Attributes: - class LevelStatus(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0401 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0000 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - class LightSensorType(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0401 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0001 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - class IlluminanceLevelTarget(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0401 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0x0010 - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - class FeatureMap(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0401 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0xFFFC - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - class ClusterRevision(ClusterAttributeDescriptor): - @ChipUtility.classproperty - def cluster_id(cls) -> int: - return 0x0401 - - @ChipUtility.classproperty - def attribute_id(cls) -> int: - return 0xFFFD - - @ChipUtility.classproperty - def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=uint) - - @dataclass class TemperatureMeasurement: id: typing.ClassVar[int] = 0x0402 @@ -20107,6 +20086,24 @@ def descriptor(cls) -> ClusterObjectDescriptor: Arg1: 'bool' = None + @dataclass + class TestEnumsResponse(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050F + command_id: typing.ClassVar[int] = 0x0005 + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor( + Label="Arg1", Tag=0, Type=uint), + ClusterObjectFieldDescriptor( + Label="Arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum), + ]) + + Arg1: 'uint' = None + Arg2: 'TestCluster.Enums.SimpleEnum' = None + @dataclass class TestStructArrayArgumentRequest(ClusterCommand): cluster_id: typing.ClassVar[int] = 0x050F @@ -20242,6 +20239,24 @@ def descriptor(cls) -> ClusterObjectDescriptor: Arg1: typing.List['uint'] = None + @dataclass + class TestEnumsRequest(ClusterCommand): + cluster_id: typing.ClassVar[int] = 0x050F + command_id: typing.ClassVar[int] = 0x000E + + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor( + Label="Arg1", Tag=0, Type=uint), + ClusterObjectFieldDescriptor( + Label="Arg2", Tag=1, Type=TestCluster.Enums.SimpleEnum), + ]) + + Arg1: 'uint' = None + Arg2: 'TestCluster.Enums.SimpleEnum' = None + class Attributes: class Boolean(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20555,6 +20570,19 @@ def attribute_id(cls) -> int: def attribute_type(cls) -> ClusterObjectFieldDescriptor: return ClusterObjectFieldDescriptor(Type=uint) + class VendorId(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x050F + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0022 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + class Unsupported(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: diff --git a/src/controller/python/chip/clusters/TestObjects.py b/src/controller/python/chip/clusters/TestObjects.py index d980d98975bb7a..0ff413e74569bc 100644 --- a/src/controller/python/chip/clusters/TestObjects.py +++ b/src/controller/python/chip/clusters/TestObjects.py @@ -18,7 +18,7 @@ from dataclasses import dataclass import typing -from .ClusterObjects import ClusterObject, ClusterObjectDescriptor, ClusterObjectFieldDescriptor, ClusterCommand +from .ClusterObjects import ClusterObjectDescriptor, ClusterCommand from chip import ChipUtility from enum import IntEnum diff --git a/src/controller/python/chip/discovery/library_handle.py b/src/controller/python/chip/discovery/library_handle.py index 73b719d0de73f3..edf31631e3ac78 100644 --- a/src/controller/python/chip/discovery/library_handle.py +++ b/src/controller/python/chip/discovery/library_handle.py @@ -16,7 +16,6 @@ import chip.native import ctypes -from ctypes import c_uint32, c_uint64 from chip.discovery.types import DiscoverSuccessCallback_t, DiscoverFailureCallback_t @@ -34,7 +33,8 @@ def _GetDiscoveryLibraryHandle() -> ctypes.CDLL: if not handle.pychip_discovery_resolve.argtypes: setter = chip.native.NativeLibraryHandleMethodArguments(handle) - setter.Set('pychip_discovery_resolve', c_uint32, [c_uint64, c_uint64]) + setter.Set('pychip_discovery_resolve', ctypes.c_uint32, + [ctypes.c_uint64, ctypes.c_uint64]) setter.Set('pychip_discovery_set_callbacks', None, [ DiscoverSuccessCallback_t, DiscoverFailureCallback_t]) diff --git a/src/controller/python/chip/interaction_model/Delegate.cpp b/src/controller/python/chip/interaction_model/Delegate.cpp index 99caa452d048f5..810c6bbce3405c 100644 --- a/src/controller/python/chip/interaction_model/Delegate.cpp +++ b/src/controller/python/chip/interaction_model/Delegate.cpp @@ -68,23 +68,6 @@ void PythonInteractionModelDelegate::OnError(const app::CommandSender * apComman DeviceControllerInteractionModelDelegate::OnError(apCommandSender, aStatus, aError); } -CHIP_ERROR PythonInteractionModelDelegate::WriteResponseStatus(const app::WriteClient * apWriteClient, - const app::StatusIB & aStatusIB, - app::AttributePathParams & aAttributePathParams, - uint8_t aAttributeIndex) -{ - if (onWriteResponseFunct != nullptr) - { - AttributeWriteStatus status{ - apWriteClient->GetSourceNodeId(), apWriteClient->GetAppIdentifier(), aStatusIB.mStatus, - aAttributePathParams.mEndpointId, aAttributePathParams.mClusterId, aAttributePathParams.mFieldId - }; - onWriteResponseFunct(&status, sizeof(status)); - } - DeviceControllerInteractionModelDelegate::WriteResponseStatus(apWriteClient, aStatusIB, aAttributePathParams, aAttributeIndex); - return CHIP_NO_ERROR; -} - void PythonInteractionModelDelegate::OnReportData(const app::ReadClient * apReadClient, const app::ClusterInfo & aPath, TLV::TLVReader * apData, Protocols::InteractionModel::Status status) { diff --git a/src/controller/python/chip/interaction_model/Delegate.h b/src/controller/python/chip/interaction_model/Delegate.h index d9763a9f0245ac..7ff906076ab2c8 100644 --- a/src/controller/python/chip/interaction_model/Delegate.h +++ b/src/controller/python/chip/interaction_model/Delegate.h @@ -97,9 +97,6 @@ class PythonInteractionModelDelegate : public chip::Controller::DeviceController void OnError(const app::CommandSender * apCommandSender, Protocols::InteractionModel::Status aStatus, CHIP_ERROR aError) override; - CHIP_ERROR WriteResponseStatus(const app::WriteClient * apWriteClient, const app::StatusIB & aStatusIB, - app::AttributePathParams & aAttributePathParams, uint8_t aAttributeIndex) override; - void OnReportData(const app::ReadClient * apReadClient, const app::ClusterInfo & aPath, TLV::TLVReader * apData, Protocols::InteractionModel::Status status) override; diff --git a/src/controller/python/chip/internal/commissioner.py b/src/controller/python/chip/internal/commissioner.py index ce264ab2df2096..7976c93c09c5ca 100644 --- a/src/controller/python/chip/internal/commissioner.py +++ b/src/controller/python/chip/internal/commissioner.py @@ -15,7 +15,6 @@ # from chip.configuration import GetLocalNodeId from chip.native import NativeLibraryHandleMethodArguments, GetLibraryHandle -from ctypes import c_uint64, c_uint32, c_uint16 from enum import Enum from typing import Optional from chip.internal.types import NetworkCredentialsRequested, OperationalCredentialsRequested, PairingComplete @@ -103,11 +102,12 @@ def _SetNativeCallSignatues(handle: ctypes.CDLL): """Sets up the FFI types for the cdll handle.""" setter = NativeLibraryHandleMethodArguments(handle) - setter.Set('pychip_internal_Commissioner_New', Commissioner_p, [c_uint64]) + setter.Set('pychip_internal_Commissioner_New', + Commissioner_p, [ctypes.c_uint64]) setter.Set('pychip_internal_Commissioner_Unpair', - c_uint32, [Commissioner_p, c_uint64]) + ctypes.c_uint32, [Commissioner_p, ctypes.c_uint64]) setter.Set('pychip_internal_Commissioner_BleConnectForPairing', - c_uint32, [Commissioner_p, c_uint64, c_uint32, c_uint16]) + ctypes.c_uint32, [Commissioner_p, ctypes.c_uint64, ctypes.c_uint32, cctypes._uint16]) setter.Set('pychip_internal_PairingDelegate_SetPairingCompleteCallback', None, [ PairingComplete]) diff --git a/src/controller/python/chip/logging/library_handle.py b/src/controller/python/chip/logging/library_handle.py index 5dadeb2cbe4f2b..0ed77f64d89978 100644 --- a/src/controller/python/chip/logging/library_handle.py +++ b/src/controller/python/chip/logging/library_handle.py @@ -16,7 +16,6 @@ import chip.native import ctypes -from ctypes import c_void_p from chip.logging.types import LogRedirectCallback_t @@ -35,6 +34,6 @@ def _GetLoggingLibraryHandle() -> ctypes.CDLL: setter = chip.native.NativeLibraryHandleMethodArguments(handle) setter.Set('pychip_logging_set_callback', - c_void_p, [LogRedirectCallback_t]) + ctypes.c_void_p, [LogRedirectCallback_t]) return handle diff --git a/src/controller/python/templates/helper.js b/src/controller/python/templates/helper.js index db60357e3edb37..874526cab70910 100644 --- a/src/controller/python/templates/helper.js +++ b/src/controller/python/templates/helper.js @@ -41,7 +41,9 @@ function asPythonType(zclType) return 'str'; case 'uint8_t *': case 'chip::ByteSpan': - return 'bytes' + return 'bytes'; + case 'chip::CharSpan': + return 'str'; } } diff --git a/src/controller/python/templates/python-CHIPClusters-cpp.zapt b/src/controller/python/templates/python-CHIPClusters-cpp.zapt index f75cb2feea4717..3bf3017ff65295 100644 --- a/src/controller/python/templates/python-CHIPClusters-cpp.zapt +++ b/src/controller/python/templates/python-CHIPClusters-cpp.zapt @@ -88,15 +88,11 @@ void OnAttributeResponse(void * /* context */, bool value) {{#chip_client_clusters}} {{#chip_server_cluster_attributes}} {{#if isList}} -static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeResponse(void * context, const DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & list) +static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttributeResponse(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} list) { - uint16_t count = 0; - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { if (gFailureResponseDelegate != nullptr) { @@ -110,7 +106,7 @@ static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttri if (count > 0) ChipLogProgress(Zcl, " ["); - iter = list.begin(); + auto iter = list.begin(); while (iter.Next()) { #if CHIP_PROGRESS_LOGGING @@ -136,6 +132,14 @@ static void On{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}ListAttri ChipLogProgress(Zcl, " {{asPrintFormat type}},", entry); {{/if}} } + if (iter.GetStatus() != CHIP_NO_ERROR) + { + if (gFailureResponseDelegate != nullptr) + { + gFailureResponseDelegate(EMBER_ZCL_STATUS_INVALID_VALUE); + } + return; + } if (count > 0) ChipLogProgress(Zcl, " ]"); @@ -185,7 +189,7 @@ chip::ChipError::StorageType chip_ime_AppendCommand_{{asUpperCamelCase clusterNa VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::{{asUpperCamelCase clusterName}}Cluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.{{asUpperCamelCase name}}(nullptr, nullptr{{#chip_cluster_command_arguments_with_structs_expanded}}, {{#if (isString type)}}chip::ByteSpan({{asLowerCamelCase label}}, {{asLowerCamelCase label}}_Len){{else}}{{asLowerCamelCase label}}{{/if}}{{/chip_cluster_command_arguments_with_structs_expanded}}).AsInteger(); + return cluster.{{asUpperCamelCase name}}(nullptr, nullptr{{#chip_cluster_command_arguments_with_structs_expanded}}, {{#if (isOctetString type)}}chip::ByteSpan({{asLowerCamelCase label}}, {{asLowerCamelCase label}}_Len){{else if (isCharString type)}}chip::CharSpan(reinterpret_cast({{asLowerCamelCase label}}), {{asLowerCamelCase label}}_Len){{else}}{{asLowerCamelCase label}}{{/if}}{{/chip_cluster_command_arguments_with_structs_expanded}}).AsInteger(); } {{/chip_cluster_commands}} @@ -223,7 +227,7 @@ chip::ChipError::StorageType chip_ime_WriteAttribute_{{asUpperCamelCase parent.n VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger()); chip::Controller::{{asUpperCamelCase parent.name}}Cluster cluster; cluster.Associate(device, ZCLendpointId); - return cluster.WriteAttribute{{asUpperCamelCase name}}(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), {{#if (isString type)}} chip::ByteSpan(value, len){{else}}value{{/if}}).AsInteger(); + return cluster.WriteAttribute{{asUpperCamelCase name}}(gDefaultSuccessCallback.Cancel(), gDefaultFailureCallback.Cancel(), {{#if (isOctetString type)}} chip::ByteSpan(value, len){{else if (isCharString type)}} chip::CharSpan(reinterpret_cast(value), len){{else}}value{{/if}}).AsInteger(); } {{/if}} {{/chip_server_cluster_attributes}} diff --git a/src/controller/python/templates/python-CHIPClusters-py.zapt b/src/controller/python/templates/python-CHIPClusters-py.zapt index 0d2f988a67bf32..08042b9b865376 100644 --- a/src/controller/python/templates/python-CHIPClusters-py.zapt +++ b/src/controller/python/templates/python-CHIPClusters-py.zapt @@ -111,7 +111,9 @@ class ChipClusters: if not func: raise UnknownAttribute(cluster, attribute) funcCaller = self._ChipStack.Call if imEnabled else self._ChipStack.CallAsync - funcCaller(lambda: func(device, endpoint, groupid, value)) + res = funcCaller(lambda: func(device, endpoint, groupid, value)) + if res != 0: + raise self._ChipStack.ErrorToException(res) # Cluster commands diff --git a/src/controller/python/test/test_scripts/base.py b/src/controller/python/test/test_scripts/base.py index 031d2280500fa8..bbe6d0d61e462f 100644 --- a/src/controller/python/test/test_scripts/base.py +++ b/src/controller/python/test/test_scripts/base.py @@ -279,17 +279,21 @@ class AttributeWriteRequest: failed_zcl = [] for req in requests: try: - res = self.devCtrl.ZCLWriteAttribute(cluster=req.cluster, - attribute=req.attribute, - nodeid=nodeid, - endpoint=endpoint, - groupid=group, - value=req.value) - TestResult(f"Write attribute {req.cluster}.{req.attribute}", res).assertStatusEqual( - req.expected_status) - if req.expected_status != IM.Status.Success: - # If the write interaction is expected to success, proceed to verify it. - continue + try: + self.devCtrl.ZCLWriteAttribute(cluster=req.cluster, + attribute=req.attribute, + nodeid=nodeid, + endpoint=endpoint, + groupid=group, + value=req.value) + if req.expected_status != IM.Status.Success: + raise AssertionError( + f"Write attribute {req.cluster}.{req.attribute} expects failure but got success response") + except Exception as ex: + if req.expected_status != IM.Status.Success: + continue + else: + raise ex res = self.devCtrl.ZCLReadAttribute( cluster=req.cluster, attribute=req.attribute, nodeid=nodeid, endpoint=endpoint, groupid=group) TestResult(f"Read attribute {req.cluster}.{req.attribute}", res).assertValueEqual( diff --git a/src/controller/tests/data_model/BUILD.gn b/src/controller/tests/data_model/BUILD.gn index fa588d7b2ebeb8..1dd31e95667e74 100644 --- a/src/controller/tests/data_model/BUILD.gn +++ b/src/controller/tests/data_model/BUILD.gn @@ -25,6 +25,7 @@ chip_test_suite("interaction-tests") { if (chip_device_platform != "mbed" && chip_device_platform != "efr32") { test_sources = [ "TestCommands.cpp" ] test_sources += [ "TestRead.cpp" ] + test_sources += [ "TestWrite.cpp" ] } public_deps = [ diff --git a/src/controller/tests/data_model/TestWrite.cpp b/src/controller/tests/data_model/TestWrite.cpp new file mode 100644 index 00000000000000..2b38213759e1e3 --- /dev/null +++ b/src/controller/tests/data_model/TestWrite.cpp @@ -0,0 +1,259 @@ +/* + * + * Copyright (c) 2021 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 "app-common/zap-generated/ids/Clusters.h" +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace chip; +using namespace chip::app::Clusters; + +namespace { +chip::TransportMgrBase gTransportManager; +chip::Test::LoopbackTransport gLoopback; +chip::Test::IOContext gIOContext; +chip::Messaging::ExchangeManager * gExchangeManager; +secure_channel::MessageCounterManager gMessageCounterManager; + +using TestContext = chip::Test::MessagingContext; +TestContext sContext; + +constexpr EndpointId kTestEndpointId = 1; + +enum ResponseDirective +{ + kSendAttributeSuccess, + kSendAttributeError, +}; + +ResponseDirective responseDirective; + +} // namespace + +namespace chip { +namespace app { + +void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, chip::TLV::TLVReader & aReader, + CommandHandler * apCommandObj) +{} + +bool ServerClusterCommandExists(const ConcreteCommandPath & aCommandPath) +{ + // Mock cluster catalog, only support one command on one cluster on one endpoint. + return (aCommandPath.mEndpointId == kTestEndpointId && aCommandPath.mClusterId == TestCluster::Id); +} + +CHIP_ERROR ReadSingleClusterData(const ConcreteAttributePath & aPath, TLV::TLVWriter * apWriter, bool * apDataExists) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +CHIP_ERROR WriteSingleClusterData(ClusterInfo & aClusterInfo, TLV::TLVReader & aReader, WriteHandler * aWriteHandler) +{ + if (aClusterInfo.mClusterId == TestCluster::Id && + aClusterInfo.mFieldId == TestCluster::Attributes::ListStructOctetString::TypeInfo::GetAttributeId()) + { + if (responseDirective == kSendAttributeSuccess) + { + TestCluster::Attributes::ListStructOctetString::TypeInfo::DecodableType value; + + ReturnErrorOnFailure(DataModel::Decode(aReader, value)); + + auto iter = value.begin(); + uint8_t i = 0; + while (iter.Next()) + { + auto & item = iter.GetValue(); + + VerifyOrReturnError(item.fabricIndex == i, CHIP_ERROR_INVALID_ARGUMENT); + i++; + } + + VerifyOrReturnError(i == 4, CHIP_ERROR_INVALID_ARGUMENT); + + AttributePathParams attributePathParams(aClusterInfo.mClusterId, aClusterInfo.mEndpointId, aClusterInfo.mFieldId); + aWriteHandler->AddStatus(attributePathParams, Protocols::InteractionModel::Status::Success); + } + else + { + AttributePathParams attributePathParams(aClusterInfo.mClusterId, aClusterInfo.mEndpointId, aClusterInfo.mFieldId); + aWriteHandler->AddStatus(attributePathParams, Protocols::InteractionModel::Status::Failure); + } + + return CHIP_NO_ERROR; + } + + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +} // namespace app +} // namespace chip + +namespace { + +class TestWriteInteraction +{ +public: + TestWriteInteraction() {} + + static void TestDataResponse(nlTestSuite * apSuite, void * apContext); + static void TestAttributeError(nlTestSuite * apSuite, void * apContext); + static void TestWriteTimeout(nlTestSuite * apSuite, void * apContext); + +private: +}; + +void TestWriteInteraction::TestDataResponse(nlTestSuite * apSuite, void * apContext) +{ + TestContext & ctx = *static_cast(apContext); + auto sessionHandle = ctx.GetSessionBobToAlice(); + bool onSuccessCbInvoked = false, onFailureCbInvoked = false; + TestCluster::Structs::TestListStructOctet::Type valueBuf[4]; + TestCluster::Attributes::ListStructOctetString::TypeInfo::Type value; + + value = valueBuf; + + uint8_t i = 0; + for (auto & item : valueBuf) + { + item.fabricIndex = i; + i++; + } + + responseDirective = kSendAttributeSuccess; + + // Passing of stack variables by reference is only safe because of synchronous completion of the interaction. Otherwise, it's + // not safe to do so. + auto onSuccessCb = [&onSuccessCbInvoked](const app::ConcreteAttributePath & attributePath) { onSuccessCbInvoked = true; }; + + // Passing of stack variables by reference is only safe because of synchronous completion of the interaction. Otherwise, it's + // not safe to do so. + auto onFailureCb = [&onFailureCbInvoked](const app::ConcreteAttributePath * attributePath, app::StatusIB status, + CHIP_ERROR aError) { onFailureCbInvoked = true; }; + + chip::Controller::WriteAttribute( + gExchangeManager, sessionHandle, kTestEndpointId, value, onSuccessCb, onFailureCb); + + NL_TEST_ASSERT(apSuite, onSuccessCbInvoked && !onFailureCbInvoked); + NL_TEST_ASSERT(apSuite, chip::app::InteractionModelEngine::GetInstance()->GetNumActiveWriteHandlers() == 0); + NL_TEST_ASSERT(apSuite, gExchangeManager->GetNumActiveExchanges() == 0); +} + +void TestWriteInteraction::TestAttributeError(nlTestSuite * apSuite, void * apContext) +{ + TestContext & ctx = *static_cast(apContext); + auto sessionHandle = ctx.GetSessionBobToAlice(); + bool onSuccessCbInvoked = false, onFailureCbInvoked = false; + TestCluster::Attributes::ListStructOctetString::TypeInfo::Type value; + TestCluster::Structs::TestListStructOctet::Type valueBuf[4]; + + value = valueBuf; + + uint8_t i = 0; + for (auto & item : valueBuf) + { + item.fabricIndex = i; + i++; + } + + responseDirective = kSendAttributeError; + + // Passing of stack variables by reference is only safe because of synchronous completion of the interaction. Otherwise, it's + // not safe to do so. + auto onSuccessCb = [&onSuccessCbInvoked](const app::ConcreteAttributePath & attributePath) { onSuccessCbInvoked = true; }; + + // Passing of stack variables by reference is only safe because of synchronous completion of the interaction. Otherwise, it's + // not safe to do so. + auto onFailureCb = [apSuite, &onFailureCbInvoked](const app::ConcreteAttributePath * attributePath, app::StatusIB status, + CHIP_ERROR aError) { + NL_TEST_ASSERT(apSuite, attributePath != nullptr); + onFailureCbInvoked = true; + }; + + chip::Controller::WriteAttribute( + gExchangeManager, sessionHandle, kTestEndpointId, value, onSuccessCb, onFailureCb); + + NL_TEST_ASSERT(apSuite, !onSuccessCbInvoked && onFailureCbInvoked); + NL_TEST_ASSERT(apSuite, chip::app::InteractionModelEngine::GetInstance()->GetNumActiveWriteHandlers() == 0); + NL_TEST_ASSERT(apSuite, gExchangeManager->GetNumActiveExchanges() == 0); +} + +// clang-format off +const nlTest sTests[] = +{ + NL_TEST_DEF("TestDataResponse", TestWriteInteraction::TestDataResponse), + NL_TEST_DEF("TestAttributeError", TestWriteInteraction::TestAttributeError), + NL_TEST_SENTINEL() +}; +// clang-format on + +int Initialize(void * aContext); +int Finalize(void * aContext); + +// clang-format off +nlTestSuite sSuite = +{ + "TestWrite", + &sTests[0], + Initialize, + Finalize +}; +// clang-format on + +int Initialize(void * aContext) +{ + // Initialize System memory and resources + VerifyOrReturnError(chip::Platform::MemoryInit() == CHIP_NO_ERROR, FAILURE); + VerifyOrReturnError(gIOContext.Init(&sSuite) == CHIP_NO_ERROR, FAILURE); + VerifyOrReturnError(gTransportManager.Init(&gLoopback) == CHIP_NO_ERROR, FAILURE); + + auto * ctx = static_cast(aContext); + VerifyOrReturnError(ctx->Init(&sSuite, &gTransportManager, &gIOContext) == CHIP_NO_ERROR, FAILURE); + + gTransportManager.SetSessionManager(&ctx->GetSecureSessionManager()); + gExchangeManager = &ctx->GetExchangeManager(); + VerifyOrReturnError( + chip::app::InteractionModelEngine::GetInstance()->Init(&ctx->GetExchangeManager(), nullptr) == CHIP_NO_ERROR, FAILURE); + return SUCCESS; +} + +int Finalize(void * aContext) +{ + // Shutdown will ensure no leaked exchange context. + CHIP_ERROR err = reinterpret_cast(aContext)->Shutdown(); + gIOContext.Shutdown(); + chip::Platform::MemoryShutdown(); + return (err == CHIP_NO_ERROR) ? SUCCESS : FAILURE; +} + +} // namespace + +int TestWriteInteractionTest() +{ + nlTestRunner(&sSuite, &sContext); + + return (nlTestRunnerStats(&sSuite)); +} + +CHIP_REGISTER_TEST_SUITE(TestWriteInteractionTest) diff --git a/src/darwin/Framework/CHIP/CHIPCluster.mm b/src/darwin/Framework/CHIP/CHIPCluster.mm index fd6ba146dfb1ff..ab231c5a488870 100644 --- a/src/darwin/Framework/CHIP/CHIPCluster.mm +++ b/src/darwin/Framework/CHIP/CHIPCluster.mm @@ -48,15 +48,14 @@ - (instancetype)initWithDevice:(CHIPDevice *)device endpoint:(EndpointId)endpoin return nullptr; } -- (chip::ByteSpan)asSpan:(id)value +- (chip::ByteSpan)asByteSpan:(NSData *)value { - if ([value isKindOfClass:[NSData class]]) { - NSData * v = (NSData *) value; - return chip::ByteSpan((const uint8_t *) v.bytes, v.length); - } else { - NSString * v = (NSString *) value; - return chip::ByteSpan((const uint8_t *) [v dataUsingEncoding:NSUTF8StringEncoding].bytes, - [v lengthOfBytesUsingEncoding:NSUTF8StringEncoding]); - } + return chip::ByteSpan(static_cast(value.bytes), value.length); +} + +- (chip::CharSpan)asCharSpan:(NSString *)value +{ + return chip::CharSpan(static_cast([value dataUsingEncoding:NSUTF8StringEncoding].bytes), + [value lengthOfBytesUsingEncoding:NSUTF8StringEncoding]); } @end diff --git a/src/darwin/Framework/CHIP/CHIPCluster_internal.h b/src/darwin/Framework/CHIP/CHIPCluster_internal.h index 310f2511d7b621..b196306f0a3ee4 100644 --- a/src/darwin/Framework/CHIP/CHIPCluster_internal.h +++ b/src/darwin/Framework/CHIP/CHIPCluster_internal.h @@ -27,5 +27,6 @@ @interface CHIPCluster () @property (readonly, nonatomic) dispatch_queue_t callbackQueue; - (chip::Controller::ClusterBase *)getCluster; -- (chip::ByteSpan)asSpan:(id)value; +- (chip::ByteSpan)asByteSpan:(NSData *)value; +- (chip::CharSpan)asCharSpan:(NSString *)value; @end diff --git a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt index 95c88f21a36f75..9efb7139bd555f 100644 --- a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt +++ b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt @@ -22,7 +22,17 @@ using chip::Callback::Cancelable; {{#chip_cluster_commands}} {{#*inline "callbackName"}}{{#if hasSpecificResponse}}{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase responseName}}{{else}}DefaultSuccess{{/if}}{{/inline}} -{{#*inline "callbackParams"}}{{#chip_cluster_command_arguments_with_structs_expanded}}, {{#if (isString type)}}[self asSpan:{{/if}}{{asLowerCamelCase label}}{{#if (isString type)}}]{{/if}}{{/chip_cluster_command_arguments_with_structs_expanded}}{{/inline}} +{{#*inline "callbackParams"}}{{#chip_cluster_command_arguments_with_structs_expanded}}, + {{#if_chip_enum type}} + static_cast<{{chipType}}>({{asLowerCamelCase label}}) + {{else if (isOctetString type)}} + [self asByteSpan:{{asLowerCamelCase label}}] + {{else if (isCharString type)}} + [self asCharSpan:{{asLowerCamelCase label}}] + {{else}} + {{asLowerCamelCase label}} + {{/if_chip_enum}} +{{/chip_cluster_command_arguments_with_structs_expanded}}{{/inline}} {{#if (zcl_command_arguments_count this.id)}} - (void){{asLowerCamelCase name}}:{{#chip_cluster_command_arguments_with_structs_expanded}}{{#not_first}}{{asLowerCamelCase label}}:{{/not_first}}({{asObjectiveCBasicType type}}){{asLowerCamelCase label}} {{/chip_cluster_command_arguments_with_structs_expanded}}responseHandler:(ResponseHandler)responseHandler {{else}} @@ -47,7 +57,17 @@ using chip::Callback::Cancelable; {{#if isWritableAttribute}} {{#*inline "callbackName"}}DefaultSuccess{{/inline}} -{{#*inline "callbackParams"}}, {{#if (isString type)}}[self asSpan:{{/if}}value{{#if (isString type)}}]{{/if}}{{/inline}} +{{#*inline "callbackParams"}}, + {{#if_chip_enum type}} + static_cast<{{chipType}}>(value) + {{else if (isOctetString type)}} + [self asByteSpan:value] + {{else if (isCharString type)}} + [self asCharSpan:value] + {{else}} + value + {{/if_chip_enum}} +{{/inline}} - (void)write{{>attribute}}WithValue:({{asObjectiveCBasicType type}})value responseHandler:(ResponseHandler)responseHandler { new CHIP{{>callbackName}}CallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { diff --git a/src/darwin/Framework/CHIP/templates/CHIPTestClustersObjc-src.zapt b/src/darwin/Framework/CHIP/templates/CHIPTestClustersObjc-src.zapt index 7d009ad7513935..8e4ffc1686f193 100644 --- a/src/darwin/Framework/CHIP/templates/CHIPTestClustersObjc-src.zapt +++ b/src/darwin/Framework/CHIP/templates/CHIPTestClustersObjc-src.zapt @@ -31,7 +31,15 @@ using chip::Callback::Cancelable; {{#unless isStruct}} {{#*inline "attribute"}}Attribute{{asUpperCamelCase name}}{{/inline}} {{#*inline "callbackName"}}DefaultSuccess{{/inline}} -{{#*inline "callbackParams"}}, {{#if (isString type)}}[self asSpan:{{/if}}value{{#if (isString type)}}]{{/if}}{{/inline}} +{{#*inline "callbackParams"}}, + {{#if (isOctetString type)}} + [self asByteSpan:value] + {{else if (isCharString type)}} + [self asCharSpan:value] + {{else}} + value + {{/if}} +{{/inline}} - (void)write{{>attribute}}WithValue:({{asObjectiveCBasicType type}})value responseHandler:(ResponseHandler)responseHandler { new CHIP{{>callbackName}}CallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { diff --git a/src/darwin/Framework/CHIP/templates/partials/CHIPCallbackBridge.zapt b/src/darwin/Framework/CHIP/templates/partials/CHIPCallbackBridge.zapt index 746ea54b6f520b..d089aba436bea3 100644 --- a/src/darwin/Framework/CHIP/templates/partials/CHIPCallbackBridge.zapt +++ b/src/darwin/Framework/CHIP/templates/partials/CHIPCallbackBridge.zapt @@ -10,7 +10,7 @@ public: {{#if (isStrEqual partial-type "Command")}} {{#chip_cluster_response_arguments}}, {{asUnderlyingZclType type}} {{asSymbol label}}{{/chip_cluster_response_arguments}} {{else if (isStrEqual partial-type "List")}} - , const chip::app::DataModel::DecodableList<{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & list + , {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} list {{else if partial-type}} , {{asUnderlyingZclType partial-type}} value {{else}} @@ -22,8 +22,7 @@ void CHIP{{> @partial-block}}Bridge::OnSuccessFn(void * context {{#if (isStrEqual partial-type "Command")}} {{#chip_cluster_response_arguments}}, {{asUnderlyingZclType type}} {{asSymbol label}}{{/chip_cluster_response_arguments}} {{else if (isStrEqual partial-type "List")}} - , const chip::app::DataModel::DecodableList - <{{zapTypeToDecodableClusterObjectType type ns=parent.name}}> & list + , {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} list {{else if partial-type}} , {{asUnderlyingZclType partial-type}} value {{else}} diff --git a/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt b/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt index e36c0f6bb45a0f..bff95b03eaa51c 100644 --- a/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt +++ b/src/darwin/Framework/CHIP/templates/partials/test_cluster.zapt @@ -27,7 +27,7 @@ bool testSendCluster{{parent.filename}}_{{asTestIndex index}}_{{asUpperCamelCase NSString * {{asLowerCamelCase name}}Argument= @"{{definedValue}}"; {{/if}} {{else}} - {{chipType}} {{asLowerCamelCase name}}Argument = {{definedValue}}{{asTypeLiteralSuffix type}}; + {{asObjectiveCBasicType type}} {{asLowerCamelCase name}}Argument = {{definedValue}}{{asTypeLiteralSuffix type}}; {{/if}} {{/chip_tests_item_parameters}} {{#if isCommand}} diff --git a/src/darwin/Framework/CHIP/templates/tests.js b/src/darwin/Framework/CHIP/templates/tests.js index e2a983142faafd..b36006cdeda9bd 100644 --- a/src/darwin/Framework/CHIP/templates/tests.js +++ b/src/darwin/Framework/CHIP/templates/tests.js @@ -23,6 +23,7 @@ function getTests() const ColorControl = [ 'Test_TC_CC_1_1', + 'Test_TC_CC_2_1', 'Test_TC_CC_3_1', 'Test_TC_CC_3_2', 'Test_TC_CC_3_3', @@ -114,6 +115,7 @@ function getTests() 'TestConstraints', 'TestDelayCommands', 'TestDescriptorCluster', + 'TestBasicInformation', 'TestOperationalCredentialsCluster', ]; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm index 92f7279b3f13bb..58f0694bc222b0 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm @@ -661,6 +661,17 @@ }); }; +void CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackBridge::OnSuccessFn( + void * context, uint8_t status, chip::ByteSpan content, uint32_t timeStamp, uint32_t timeSinceBoot) +{ + DispatchSuccess(context, @ { + @"status" : [NSNumber numberWithUnsignedChar:status], + @"content" : [NSData dataWithBytes:content.data() length:content.size()], + @"timeStamp" : [NSNumber numberWithUnsignedLong:timeStamp], + @"timeSinceBoot" : [NSNumber numberWithUnsignedLong:timeSinceBoot], + }); +}; + void CHIPDoorLockClusterClearAllPinsResponseCallbackBridge::OnSuccessFn(void * context, uint8_t status) { DispatchSuccess(context, @ { @@ -1242,6 +1253,14 @@ }); }; +void CHIPTestClusterClusterTestEnumsResponseCallbackBridge::OnSuccessFn(void * context, chip::VendorId arg1, uint8_t arg2) +{ + DispatchSuccess(context, @ { + @"arg1" : [NSNumber numberWithUnsignedShort:arg1], + @"arg2" : [NSNumber numberWithUnsignedChar:arg2], + }); +}; + void CHIPTestClusterClusterTestListInt8UReverseResponseCallbackBridge::OnSuccessFn( void * context, /* TYPE WARNING: array array defaults to */ uint8_t * arg1) { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h index 9a0209d1a840cd..d630388738e32b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h @@ -521,6 +521,17 @@ class CHIPContentLauncherClusterLaunchURLResponseCallbackBridge static void OnSuccessFn(void * context, chip::CharSpan data, uint8_t contentLaunchStatus); }; +class CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackBridge + : public CHIPCallbackBridge +{ +public: + CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, + CHIPActionBlock action, bool keepAlive = false) : + CHIPCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive){}; + + static void OnSuccessFn(void * context, uint8_t status, chip::ByteSpan content, uint32_t timeStamp, uint32_t timeSinceBoot); +}; + class CHIPDoorLockClusterClearAllPinsResponseCallbackBridge : public CHIPCallbackBridge { public: @@ -1253,6 +1264,16 @@ class CHIPTestClusterClusterTestAddArgumentsResponseCallbackBridge static void OnSuccessFn(void * context, uint8_t returnValue); }; +class CHIPTestClusterClusterTestEnumsResponseCallbackBridge : public CHIPCallbackBridge +{ +public: + CHIPTestClusterClusterTestEnumsResponseCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, CHIPActionBlock action, + bool keepAlive = false) : + CHIPCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive){}; + + static void OnSuccessFn(void * context, chip::VendorId arg1, uint8_t arg2); +}; + class CHIPTestClusterClusterTestListInt8UReverseResponseCallbackBridge : public CHIPCallbackBridge { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h index 9d7e5373218c11..1c0593b2cf367f 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h @@ -244,6 +244,22 @@ NS_ASSUME_NONNULL_BEGIN @end +/** + * Cluster Boolean State + * + */ +@interface CHIPBooleanState : CHIPCluster + +- (void)readAttributeStateValueWithResponseHandler:(ResponseHandler)responseHandler; +- (void)subscribeAttributeStateValueWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + responseHandler:(ResponseHandler)responseHandler; +- (void)reportAttributeStateValueWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; + +@end + /** * Cluster Bridged Device Basic * @@ -844,6 +860,30 @@ NS_ASSUME_NONNULL_BEGIN @end +/** + * Cluster Illuminance Measurement + * + */ +@interface CHIPIlluminanceMeasurement : CHIPCluster + +- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; +- (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + responseHandler:(ResponseHandler)responseHandler; +- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeToleranceWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeLightSensorTypeWithResponseHandler:(ResponseHandler)responseHandler; + +- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler; + +@end + /** * Cluster Keypad Input * @@ -1473,6 +1513,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)test:(ResponseHandler)responseHandler; - (void)testAddArguments:(uint8_t)arg1 arg2:(uint8_t)arg2 responseHandler:(ResponseHandler)responseHandler; +- (void)testEnumsRequest:(uint16_t)arg1 arg2:(uint8_t)arg2 responseHandler:(ResponseHandler)responseHandler; - (void)testListInt8UArgumentRequest:(uint8_t)arg1 responseHandler:(ResponseHandler)responseHandler; - (void)testListInt8UReverseRequest:(uint8_t)arg1 responseHandler:(ResponseHandler)responseHandler; - (void)testListStructArgumentRequest:(uint8_t)a @@ -1562,6 +1603,9 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEpochSWithResponseHandler:(ResponseHandler)responseHandler; - (void)writeAttributeEpochSWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeVendorIdWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; + - (void)readAttributeUnsupportedWithResponseHandler:(ResponseHandler)responseHandler; - (void)writeAttributeUnsupportedWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm index ad5c323d842f9c..9b8ac4c0fa0aad 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm @@ -38,14 +38,14 @@ - (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseH { new CHIPAccountLoginClusterGetSetupPINResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.GetSetupPIN(success, failure, [self asSpan:tempAccountIdentifier]); + return self.cppCluster.GetSetupPIN(success, failure, [self asCharSpan:tempAccountIdentifier]); }); } - (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.Login(success, failure, [self asSpan:tempAccountIdentifier], [self asSpan:setupPIN]); + return self.cppCluster.Login(success, failure, [self asCharSpan:tempAccountIdentifier], [self asCharSpan:setupPIN]); }); } @@ -81,8 +81,8 @@ - (void)openCommissioningWindow:(uint16_t)commissioningTimeout responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.OpenCommissioningWindow(success, failure, commissioningTimeout, [self asSpan:PAKEVerifier], - discriminator, iterations, [self asSpan:salt], passcodeID); + return self.cppCluster.OpenCommissioningWindow(success, failure, commissioningTimeout, [self asByteSpan:PAKEVerifier], + discriminator, iterations, [self asByteSpan:salt], passcodeID); }); } @@ -112,7 +112,7 @@ @implementation CHIPApplicationBasic - (void)changeStatus:(uint8_t)status responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.ChangeStatus(success, failure, status); + return self.cppCluster.ChangeStatus(success, failure, static_cast(status)); }); } @@ -188,7 +188,8 @@ - (void)launchApp:(NSString *)data { new CHIPApplicationLauncherClusterLaunchAppResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.LaunchApp(success, failure, [self asSpan:data], catalogVendorId, [self asSpan:applicationId]); + return self.cppCluster.LaunchApp( + success, failure, [self asCharSpan:data], catalogVendorId, [self asCharSpan:applicationId]); }); } @@ -233,7 +234,7 @@ @implementation CHIPAudioOutput - (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.RenameOutput(success, failure, index, [self asSpan:name]); + return self.cppCluster.RenameOutput(success, failure, index, [self asCharSpan:name]); }); } @@ -385,7 +386,7 @@ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^ - (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeUserLabel(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeUserLabel(success, failure, [self asCharSpan:value]); }); } @@ -399,7 +400,7 @@ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^ - (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeLocation(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeLocation(success, failure, [self asCharSpan:value]); }); } @@ -623,6 +624,48 @@ new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Can @end +@implementation CHIPBooleanState + +- (chip::Controller::ClusterBase *)getCluster +{ + return &_cppCluster; +} + +- (void)readAttributeStateValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPBooleanAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeStateValue(success, failure); + }); +} + +- (void)subscribeAttributeStateValueWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + responseHandler:(ResponseHandler)responseHandler +{ + new CHIPBooleanAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.SubscribeAttributeStateValue(success, failure, minInterval, maxInterval); + }); +} + +- (void)reportAttributeStateValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPBooleanAttributeCallbackBridge( + self.callbackQueue, responseHandler, + ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReportAttributeStateValue(success); + }, + true); +} + +- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeClusterRevision(success, failure); + }); +} + +@end + @implementation CHIPBridgedDeviceBasic - (chip::Controller::ClusterBase *)getCluster @@ -661,7 +704,7 @@ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^ - (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeUserLabel(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeUserLabel(success, failure, [self asCharSpan:value]); }); } @@ -761,8 +804,8 @@ - (void)colorLoopSet:(uint8_t)updateFlags responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.ColorLoopSet( - success, failure, updateFlags, action, direction, time, startHue, optionsMask, optionsOverride); + return self.cppCluster.ColorLoopSet(success, failure, updateFlags, static_cast(action), + static_cast(direction), time, startHue, optionsMask, optionsOverride); }); } @@ -773,7 +816,8 @@ - (void)enhancedMoveHue:(uint8_t)moveMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.EnhancedMoveHue(success, failure, moveMode, rate, optionsMask, optionsOverride); + return self.cppCluster.EnhancedMoveHue( + success, failure, static_cast(moveMode), rate, optionsMask, optionsOverride); }); } @@ -786,7 +830,7 @@ - (void)enhancedMoveToHue:(uint16_t)enhancedHue { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.EnhancedMoveToHue( - success, failure, enhancedHue, direction, transitionTime, optionsMask, optionsOverride); + success, failure, enhancedHue, static_cast(direction), transitionTime, optionsMask, optionsOverride); }); } @@ -811,7 +855,8 @@ - (void)enhancedStepHue:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.EnhancedStepHue(success, failure, stepMode, stepSize, transitionTime, optionsMask, optionsOverride); + return self.cppCluster.EnhancedStepHue( + success, failure, static_cast(stepMode), stepSize, transitionTime, optionsMask, optionsOverride); }); } @@ -835,8 +880,8 @@ - (void)moveColorTemperature:(uint8_t)moveMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.MoveColorTemperature( - success, failure, moveMode, rate, colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); + return self.cppCluster.MoveColorTemperature(success, failure, static_cast(moveMode), rate, colorTemperatureMinimum, + colorTemperatureMaximum, optionsMask, optionsOverride); }); } @@ -847,7 +892,7 @@ - (void)moveHue:(uint8_t)moveMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.MoveHue(success, failure, moveMode, rate, optionsMask, optionsOverride); + return self.cppCluster.MoveHue(success, failure, static_cast(moveMode), rate, optionsMask, optionsOverride); }); } @@ -858,7 +903,7 @@ - (void)moveSaturation:(uint8_t)moveMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.MoveSaturation(success, failure, moveMode, rate, optionsMask, optionsOverride); + return self.cppCluster.MoveSaturation(success, failure, static_cast(moveMode), rate, optionsMask, optionsOverride); }); } @@ -894,7 +939,8 @@ - (void)moveToHue:(uint8_t)hue responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.MoveToHue(success, failure, hue, direction, transitionTime, optionsMask, optionsOverride); + return self.cppCluster.MoveToHue( + success, failure, hue, static_cast(direction), transitionTime, optionsMask, optionsOverride); }); } @@ -944,8 +990,8 @@ - (void)stepColorTemperature:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.StepColorTemperature(success, failure, stepMode, stepSize, transitionTime, colorTemperatureMinimum, - colorTemperatureMaximum, optionsMask, optionsOverride); + return self.cppCluster.StepColorTemperature(success, failure, static_cast(stepMode), stepSize, transitionTime, + colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride); }); } @@ -957,7 +1003,8 @@ - (void)stepHue:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.StepHue(success, failure, stepMode, stepSize, transitionTime, optionsMask, optionsOverride); + return self.cppCluster.StepHue( + success, failure, static_cast(stepMode), stepSize, transitionTime, optionsMask, optionsOverride); }); } @@ -969,7 +1016,8 @@ - (void)stepSaturation:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.StepSaturation(success, failure, stepMode, stepSize, transitionTime, optionsMask, optionsOverride); + return self.cppCluster.StepSaturation( + success, failure, static_cast(stepMode), stepSize, transitionTime, optionsMask, optionsOverride); }); } @@ -1550,7 +1598,7 @@ - (void)launchContent:(bool)autoPlay data:(NSString *)data responseHandler:(Resp { new CHIPContentLauncherClusterLaunchContentResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.LaunchContent(success, failure, autoPlay, [self asSpan:data]); + return self.cppCluster.LaunchContent(success, failure, autoPlay, [self asCharSpan:data]); }); } @@ -1558,7 +1606,7 @@ - (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString { new CHIPContentLauncherClusterLaunchURLResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.LaunchURL(success, failure, [self asSpan:contentURL], [self asSpan:displayString]); + return self.cppCluster.LaunchURL(success, failure, [self asCharSpan:contentURL], [self asCharSpan:displayString]); }); } @@ -1647,10 +1695,11 @@ - (void)retrieveLogsRequest:(uint8_t)intent transferFileDesignator:(NSData *)transferFileDesignator responseHandler:(ResponseHandler)responseHandler { - new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.RetrieveLogsRequest( - success, failure, intent, requestedProtocol, [self asSpan:transferFileDesignator]); - }); + new CHIPDiagnosticLogsClusterRetrieveLogsResponseCallbackBridge( + self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.RetrieveLogsRequest(success, failure, static_cast(intent), + static_cast(requestedProtocol), [self asByteSpan:transferFileDesignator]); + }); } @end @@ -1778,7 +1827,7 @@ - (void)lockDoor:(NSData *)pin responseHandler:(ResponseHandler)responseHandler { new CHIPDoorLockClusterLockDoorResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.LockDoor(success, failure, [self asSpan:pin]); + return self.cppCluster.LockDoor(success, failure, [self asByteSpan:pin]); }); } @@ -1803,7 +1852,8 @@ - (void)setPin:(uint16_t)userId { new CHIPDoorLockClusterSetPinResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.SetPin(success, failure, userId, userStatus, userType, [self asSpan:pin]); + return self.cppCluster.SetPin( + success, failure, userId, static_cast(userStatus), static_cast(userType), [self asByteSpan:pin]); }); } @@ -1815,7 +1865,8 @@ - (void)setRfid:(uint16_t)userId { new CHIPDoorLockClusterSetRfidResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.SetRfid(success, failure, userId, userStatus, userType, [self asSpan:id]); + return self.cppCluster.SetRfid( + success, failure, userId, static_cast(userStatus), static_cast(userType), [self asByteSpan:id]); }); } @@ -1823,7 +1874,7 @@ - (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler: { new CHIPDoorLockClusterSetUserTypeResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.SetUserType(success, failure, userId, userType); + return self.cppCluster.SetUserType(success, failure, userId, static_cast(userType)); }); } @@ -1859,7 +1910,7 @@ - (void)unlockDoor:(NSData *)pin responseHandler:(ResponseHandler)responseHandle { new CHIPDoorLockClusterUnlockDoorResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.UnlockDoor(success, failure, [self asSpan:pin]); + return self.cppCluster.UnlockDoor(success, failure, [self asByteSpan:pin]); }); } @@ -1867,7 +1918,7 @@ - (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSData *)pin responseH { new CHIPDoorLockClusterUnlockWithTimeoutResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.UnlockWithTimeout(success, failure, timeoutInSeconds, [self asSpan:pin]); + return self.cppCluster.UnlockWithTimeout(success, failure, timeoutInSeconds, [self asByteSpan:pin]); }); } @@ -2195,7 +2246,7 @@ - (void)setRegulatoryConfig:(uint8_t)location new CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.SetRegulatoryConfig( - success, failure, location, [self asSpan:countryCode], breadcrumb, timeoutMs); + success, failure, static_cast(location), [self asCharSpan:countryCode], breadcrumb, timeoutMs); }); } @@ -2325,14 +2376,14 @@ - (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandl { new CHIPGroupsClusterAddGroupResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AddGroup(success, failure, groupId, [self asSpan:groupName]); + return self.cppCluster.AddGroup(success, failure, groupId, [self asCharSpan:groupName]); }); } - (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AddGroupIfIdentifying(success, failure, groupId, [self asSpan:groupName]); + return self.cppCluster.AddGroupIfIdentifying(success, failure, groupId, [self asCharSpan:groupName]); }); } @@ -2410,7 +2461,8 @@ - (void)triggerEffect:(uint8_t)effectIdentifier responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.TriggerEffect(success, failure, effectIdentifier, effectVariant); + return self.cppCluster.TriggerEffect( + success, failure, static_cast(effectIdentifier), static_cast(effectVariant)); }); } @@ -2444,6 +2496,76 @@ new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Can @end +@implementation CHIPIlluminanceMeasurement + +- (chip::Controller::ClusterBase *)getCluster +{ + return &_cppCluster; +} + +- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeMeasuredValue(success, failure); + }); +} + +- (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + responseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.SubscribeAttributeMeasuredValue(success, failure, minInterval, maxInterval); + }); +} + +- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge( + self.callbackQueue, responseHandler, + ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReportAttributeMeasuredValue(success); + }, + true); +} + +- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeMinMeasuredValue(success, failure); + }); +} + +- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeMaxMeasuredValue(success, failure); + }); +} + +- (void)readAttributeToleranceWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeTolerance(success, failure); + }); +} + +- (void)readAttributeLightSensorTypeWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeLightSensorType(success, failure); + }); +} + +- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeClusterRevision(success, failure); + }); +} + +@end + @implementation CHIPKeypadInput - (chip::Controller::ClusterBase *)getCluster @@ -2455,7 +2577,7 @@ - (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandle { new CHIPKeypadInputClusterSendKeyResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.SendKey(success, failure, keyCode); + return self.cppCluster.SendKey(success, failure, static_cast(keyCode)); }); } @@ -2482,7 +2604,7 @@ - (void)move:(uint8_t)moveMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.Move(success, failure, moveMode, rate, optionMask, optionOverride); + return self.cppCluster.Move(success, failure, static_cast(moveMode), rate, optionMask, optionOverride); }); } @@ -2507,7 +2629,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.MoveWithOnOff(success, failure, moveMode, rate); + return self.cppCluster.MoveWithOnOff(success, failure, static_cast(moveMode), rate); }); } @@ -2519,7 +2641,8 @@ - (void)step:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.Step(success, failure, stepMode, stepSize, transitionTime, optionMask, optionOverride); + return self.cppCluster.Step( + success, failure, static_cast(stepMode), stepSize, transitionTime, optionMask, optionOverride); }); } @@ -2529,7 +2652,7 @@ - (void)stepWithOnOff:(uint8_t)stepMode responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.StepWithOnOff(success, failure, stepMode, stepSize, transitionTime); + return self.cppCluster.StepWithOnOff(success, failure, static_cast(stepMode), stepSize, transitionTime); }); } @@ -2762,7 +2885,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.RenameInput(success, failure, index, [self asSpan:name]); + return self.cppCluster.RenameInput(success, failure, index, [self asCharSpan:name]); }); } @@ -2978,7 +3101,7 @@ - (void)addThreadNetwork:(NSData *)operationalDataset { new CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AddThreadNetwork(success, failure, [self asSpan:operationalDataset], breadcrumb, timeoutMs); + return self.cppCluster.AddThreadNetwork(success, failure, [self asByteSpan:operationalDataset], breadcrumb, timeoutMs); }); } @@ -2991,7 +3114,7 @@ - (void)addWiFiNetwork:(NSData *)ssid new CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.AddWiFiNetwork( - success, failure, [self asSpan:ssid], [self asSpan:credentials], breadcrumb, timeoutMs); + success, failure, [self asByteSpan:ssid], [self asByteSpan:credentials], breadcrumb, timeoutMs); }); } @@ -3002,7 +3125,7 @@ - (void)disableNetwork:(NSData *)networkID { new CHIPNetworkCommissioningClusterDisableNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.DisableNetwork(success, failure, [self asSpan:networkID], breadcrumb, timeoutMs); + return self.cppCluster.DisableNetwork(success, failure, [self asByteSpan:networkID], breadcrumb, timeoutMs); }); } @@ -3013,7 +3136,7 @@ - (void)enableNetwork:(NSData *)networkID { new CHIPNetworkCommissioningClusterEnableNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.EnableNetwork(success, failure, [self asSpan:networkID], breadcrumb, timeoutMs); + return self.cppCluster.EnableNetwork(success, failure, [self asByteSpan:networkID], breadcrumb, timeoutMs); }); } @@ -3031,7 +3154,7 @@ - (void)removeNetwork:(NSData *)networkID { new CHIPNetworkCommissioningClusterRemoveNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.RemoveNetwork(success, failure, [self asSpan:networkID], breadcrumb, timeoutMs); + return self.cppCluster.RemoveNetwork(success, failure, [self asByteSpan:networkID], breadcrumb, timeoutMs); }); } @@ -3042,7 +3165,7 @@ - (void)scanNetworks:(NSData *)ssid { new CHIPNetworkCommissioningClusterScanNetworksResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.ScanNetworks(success, failure, [self asSpan:ssid], breadcrumb, timeoutMs); + return self.cppCluster.ScanNetworks(success, failure, [self asByteSpan:ssid], breadcrumb, timeoutMs); }); } @@ -3053,7 +3176,8 @@ - (void)updateThreadNetwork:(NSData *)operationalDataset { new CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.UpdateThreadNetwork(success, failure, [self asSpan:operationalDataset], breadcrumb, timeoutMs); + return self.cppCluster.UpdateThreadNetwork( + success, failure, [self asByteSpan:operationalDataset], breadcrumb, timeoutMs); }); } @@ -3066,7 +3190,7 @@ - (void)updateWiFiNetwork:(NSData *)ssid new CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.UpdateWiFiNetwork( - success, failure, [self asSpan:ssid], [self asSpan:credentials], breadcrumb, timeoutMs); + success, failure, [self asByteSpan:ssid], [self asByteSpan:credentials], breadcrumb, timeoutMs); }); } @@ -3097,7 +3221,7 @@ - (void)applyUpdateRequest:(NSData *)updateToken newVersion:(uint32_t)newVersion { new CHIPOtaSoftwareUpdateProviderClusterApplyUpdateRequestResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.ApplyUpdateRequest(success, failure, [self asSpan:updateToken], newVersion); + return self.cppCluster.ApplyUpdateRequest(success, failure, [self asByteSpan:updateToken], newVersion); }); } @@ -3106,7 +3230,7 @@ - (void)notifyUpdateApplied:(NSData *)updateToken responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.NotifyUpdateApplied(success, failure, [self asSpan:updateToken], softwareVersion); + return self.cppCluster.NotifyUpdateApplied(success, failure, [self asByteSpan:updateToken], softwareVersion); }); } @@ -3123,7 +3247,8 @@ - (void)queryImage:(uint16_t)vendorId new CHIPOtaSoftwareUpdateProviderClusterQueryImageResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.QueryImage(success, failure, vendorId, productId, hardwareVersion, softwareVersion, - protocolsSupported, [self asSpan:location], requestorCanConsent, [self asSpan:metadataForProvider]); + static_cast(protocolsSupported), [self asCharSpan:location], requestorCanConsent, + [self asByteSpan:metadataForProvider]); }); } @@ -3150,8 +3275,8 @@ - (void)announceOtaProvider:(uint64_t)providerLocation responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AnnounceOtaProvider( - success, failure, providerLocation, vendorId, announcementReason, [self asSpan:metadataForNode]); + return self.cppCluster.AnnounceOtaProvider(success, failure, providerLocation, static_cast(vendorId), + static_cast(announcementReason), [self asByteSpan:metadataForNode]); }); } @@ -3165,7 +3290,7 @@ new CHIPOctetStringAttributeCallbackBridge(self.callbackQueue, responseHandler, - (void)writeAttributeDefaultOtaProviderWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeDefaultOtaProvider(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeDefaultOtaProvider(success, failure, [self asByteSpan:value]); }); } @@ -3258,7 +3383,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)offWithEffect:(uint8_t)effectId effectVariant:(uint8_t)effectVariant responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.OffWithEffect(success, failure, effectId, effectVariant); + return self.cppCluster.OffWithEffect(success, failure, static_cast(effectId), static_cast(effectVariant)); }); } @@ -3364,7 +3489,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeStartUpOnOffWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeStartUpOnOff(success, failure, value); + return self.cppCluster.WriteAttributeStartUpOnOff(success, failure, static_cast(value)); }); } @@ -3408,7 +3533,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeSwitchActionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSwitchActions(success, failure, value); + return self.cppCluster.WriteAttributeSwitchActions(success, failure, static_cast(value)); }); } @@ -3437,15 +3562,15 @@ - (void)addNOC:(NSData *)NOCValue { new CHIPOperationalCredentialsClusterNOCResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AddNOC(success, failure, [self asSpan:NOCValue], [self asSpan:ICACValue], [self asSpan:IPKValue], - caseAdminNode, adminVendorId); + return self.cppCluster.AddNOC(success, failure, [self asByteSpan:NOCValue], [self asByteSpan:ICACValue], + [self asByteSpan:IPKValue], caseAdminNode, adminVendorId); }); } - (void)addTrustedRootCertificate:(NSData *)rootCertificate responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AddTrustedRootCertificate(success, failure, [self asSpan:rootCertificate]); + return self.cppCluster.AddTrustedRootCertificate(success, failure, [self asByteSpan:rootCertificate]); }); } @@ -3453,7 +3578,7 @@ - (void)attestationRequest:(NSData *)attestationNonce responseHandler:(ResponseH { new CHIPOperationalCredentialsClusterAttestationResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.AttestationRequest(success, failure, [self asSpan:attestationNonce]); + return self.cppCluster.AttestationRequest(success, failure, [self asByteSpan:attestationNonce]); }); } @@ -3469,7 +3594,7 @@ - (void)opCSRRequest:(NSData *)CSRNonce responseHandler:(ResponseHandler)respons { new CHIPOperationalCredentialsClusterOpCSRResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.OpCSRRequest(success, failure, [self asSpan:CSRNonce]); + return self.cppCluster.OpCSRRequest(success, failure, [self asByteSpan:CSRNonce]); }); } @@ -3484,7 +3609,7 @@ new CHIPOperationalCredentialsClusterNOCResponseCallbackBridge( - (void)removeTrustedRootCertificate:(NSData *)trustedRootIdentifier responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.RemoveTrustedRootCertificate(success, failure, [self asSpan:trustedRootIdentifier]); + return self.cppCluster.RemoveTrustedRootCertificate(success, failure, [self asByteSpan:trustedRootIdentifier]); }); } @@ -3492,7 +3617,7 @@ - (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)res { new CHIPOperationalCredentialsClusterNOCResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.UpdateFabricLabel(success, failure, [self asSpan:label]); + return self.cppCluster.UpdateFabricLabel(success, failure, [self asCharSpan:label]); }); } @@ -3500,7 +3625,7 @@ - (void)updateNOC:(NSData *)NOCValue ICACValue:(NSData *)ICACValue responseHandl { new CHIPOperationalCredentialsClusterNOCResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.UpdateNOC(success, failure, [self asSpan:NOCValue], [self asSpan:ICACValue]); + return self.cppCluster.UpdateNOC(success, failure, [self asByteSpan:NOCValue], [self asByteSpan:ICACValue]); }); } @@ -3866,7 +3991,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeOperationMode(success, failure, value); + return self.cppCluster.WriteAttributeOperationMode(success, failure, static_cast(value)); }); } @@ -3880,7 +4005,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeControlModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeControlMode(success, failure, value); + return self.cppCluster.WriteAttributeControlMode(success, failure, static_cast(value)); }); } @@ -3982,7 +4107,7 @@ - (void)addScene:(uint16_t)groupId new CHIPScenesClusterAddSceneResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { return self.cppCluster.AddScene( - success, failure, groupId, sceneId, transitionTime, [self asSpan:sceneName], clusterId, length, value); + success, failure, groupId, sceneId, transitionTime, [self asCharSpan:sceneName], clusterId, length, value); }); } @@ -4184,7 +4309,7 @@ - (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)respons { new CHIPTvChannelClusterChangeChannelResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.ChangeChannel(success, failure, [self asSpan:match]); + return self.cppCluster.ChangeChannel(success, failure, [self asCharSpan:match]); }); } @@ -4246,7 +4371,7 @@ - (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(Re { new CHIPTargetNavigatorClusterNavigateTargetResponseCallbackBridge( self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.NavigateTarget(success, failure, target, [self asSpan:data]); + return self.cppCluster.NavigateTarget(success, failure, target, [self asCharSpan:data]); }); } @@ -4345,6 +4470,15 @@ new CHIPTestClusterClusterTestAddArgumentsResponseCallbackBridge( }); } +- (void)testEnumsRequest:(uint16_t)arg1 arg2:(uint8_t)arg2 responseHandler:(ResponseHandler)responseHandler +{ + new CHIPTestClusterClusterTestEnumsResponseCallbackBridge( + self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.TestEnumsRequest( + success, failure, static_cast(arg1), static_cast(arg2)); + }); +} + - (void)testListInt8UArgumentRequest:(uint8_t)arg1 responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { @@ -4369,7 +4503,8 @@ - (void)testListStructArgumentRequest:(uint8_t)a responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.TestListStructArgumentRequest(success, failure, a, b, c, [self asSpan:d], [self asSpan:e], f); + return self.cppCluster.TestListStructArgumentRequest( + success, failure, a, b, static_cast(c), [self asByteSpan:d], [self asCharSpan:e], f); }); } @@ -4397,7 +4532,8 @@ - (void)testStructArgumentRequest:(uint8_t)a responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.TestStructArgumentRequest(success, failure, a, b, c, [self asSpan:d], [self asSpan:e], f); + return self.cppCluster.TestStructArgumentRequest( + success, failure, a, b, static_cast(c), [self asByteSpan:d], [self asCharSpan:e], f); }); } @@ -4600,7 +4736,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeEnum8(success, failure, value); + return self.cppCluster.WriteAttributeEnum8(success, failure, static_cast(value)); }); } @@ -4614,7 +4750,7 @@ new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Can - (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeEnum16(success, failure, value); + return self.cppCluster.WriteAttributeEnum16(success, failure, static_cast(value)); }); } @@ -4628,7 +4764,7 @@ new CHIPOctetStringAttributeCallbackBridge(self.callbackQueue, responseHandler, - (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeOctetString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeOctetString(success, failure, [self asByteSpan:value]); }); } @@ -4666,7 +4802,7 @@ new CHIPOctetStringAttributeCallbackBridge(self.callbackQueue, responseHandler, - (void)writeAttributeLongOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeLongOctetString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeLongOctetString(success, failure, [self asByteSpan:value]); }); } @@ -4680,7 +4816,7 @@ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^ - (void)writeAttributeCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeCharString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeCharString(success, failure, [self asCharSpan:value]); }); } @@ -4694,7 +4830,7 @@ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^ - (void)writeAttributeLongCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeLongCharString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeLongCharString(success, failure, [self asCharSpan:value]); }); } @@ -4726,6 +4862,20 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc }); } +- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler +{ + new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.ReadAttributeVendorId(success, failure); + }); +} + +- (void)writeAttributeVendorIdWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeVendorId(success, failure, static_cast(value)); + }); +} + - (void)readAttributeUnsupportedWithResponseHandler:(ResponseHandler)responseHandler { new CHIPBooleanAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { @@ -4792,7 +4942,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.SetpointRaiseLower(success, failure, mode, amount); + return self.cppCluster.SetpointRaiseLower(success, failure, static_cast(mode), amount); }); } @@ -4944,7 +5094,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeControlSequenceOfOperation(success, failure, value); + return self.cppCluster.WriteAttributeControlSequenceOfOperation(success, failure, static_cast(value)); }); } @@ -4958,7 +5108,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSystemMode(success, failure, value); + return self.cppCluster.WriteAttributeSystemMode(success, failure, static_cast(value)); }); } @@ -5016,7 +5166,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeTemperatureDisplayModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeTemperatureDisplayMode(success, failure, value); + return self.cppCluster.WriteAttributeTemperatureDisplayMode(success, failure, static_cast(value)); }); } @@ -5030,7 +5180,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeKeypadLockoutWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeKeypadLockout(success, failure, value); + return self.cppCluster.WriteAttributeKeypadLockout(success, failure, static_cast(value)); }); } @@ -5044,7 +5194,7 @@ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeScheduleProgrammingVisibilityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeScheduleProgrammingVisibility(success, failure, value); + return self.cppCluster.WriteAttributeScheduleProgrammingVisibility(success, failure, static_cast(value)); }); } diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc_internal.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc_internal.h index 99b042bcfa15b4..5b5305355b3d69 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc_internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc_internal.h @@ -57,6 +57,10 @@ @property (readonly) chip::Controller::BindingCluster cppCluster; @end +@interface CHIPBooleanState () +@property (readonly) chip::Controller::BooleanStateCluster cppCluster; +@end + @interface CHIPBridgedDeviceBasic () @property (readonly) chip::Controller::BridgedDeviceBasicCluster cppCluster; @end @@ -117,6 +121,10 @@ @property (readonly) chip::Controller::IdentifyCluster cppCluster; @end +@interface CHIPIlluminanceMeasurement () +@property (readonly) chip::Controller::IlluminanceMeasurementCluster cppCluster; +@end + @interface CHIPKeypadInput () @property (readonly) chip::Controller::KeypadInputCluster cppCluster; @end diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h index 4b99093d2e5c38..9a8c504d6d2932 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h @@ -143,6 +143,17 @@ NS_ASSUME_NONNULL_BEGIN @end +/** + * Cluster Boolean State + * + */ +@interface CHIPTestBooleanState : CHIPBooleanState + +- (void)writeAttributeStateValueWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeClusterRevisionWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; + +@end + /** * Cluster Bridged Device Basic * @@ -375,6 +386,21 @@ NS_ASSUME_NONNULL_BEGIN @end +/** + * Cluster Illuminance Measurement + * + */ +@interface CHIPTestIlluminanceMeasurement : CHIPIlluminanceMeasurement + +- (void)writeAttributeMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeMinMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeMaxMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeToleranceWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeLightSensorTypeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler; +- (void)writeAttributeClusterRevisionWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler; + +@end + /** * Cluster Keypad Input * diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm index e588bb72641834..cb0060b11121fa 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm @@ -82,7 +82,7 @@ @implementation CHIPTestApplicationBasic - (void)writeAttributeVendorNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeVendorName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeVendorName(success, failure, [self asCharSpan:value]); }); } @@ -96,7 +96,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeApplicationNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeApplicationName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeApplicationName(success, failure, [self asCharSpan:value]); }); } @@ -110,7 +110,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeApplicationIdWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeApplicationId(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeApplicationId(success, failure, [self asCharSpan:value]); }); } @@ -267,7 +267,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeVendorNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeVendorName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeVendorName(success, failure, [self asCharSpan:value]); }); } @@ -281,7 +281,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeProductNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductName(success, failure, [self asCharSpan:value]); }); } @@ -302,7 +302,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeHardwareVersionStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeHardwareVersionString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeHardwareVersionString(success, failure, [self asCharSpan:value]); }); } @@ -316,42 +316,42 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeSoftwareVersionStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSoftwareVersionString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeSoftwareVersionString(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeManufacturingDateWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeManufacturingDate(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeManufacturingDate(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributePartNumberWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributePartNumber(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributePartNumber(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeProductURLWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductURL(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductURL(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeProductLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductLabel(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductLabel(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeSerialNumberWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSerialNumber(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeSerialNumber(success, failure, [self asCharSpan:value]); }); } @@ -418,6 +418,33 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc @end +@interface CHIPTestBooleanState () +@property (readonly) chip::Controller::BooleanStateClusterTest cppCluster; +@end + +@implementation CHIPTestBooleanState + +- (chip::Controller::ClusterBase *)getCluster +{ + return &_cppCluster; +} + +- (void)writeAttributeStateValueWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeStateValue(success, failure, value); + }); +} + +- (void)writeAttributeClusterRevisionWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeClusterRevision(success, failure, value); + }); +} + +@end + @interface CHIPTestBridgedDeviceBasic () @property (readonly) chip::Controller::BridgedDeviceBasicClusterTest cppCluster; @end @@ -432,7 +459,7 @@ @implementation CHIPTestBridgedDeviceBasic - (void)writeAttributeVendorNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeVendorName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeVendorName(success, failure, [self asCharSpan:value]); }); } @@ -446,7 +473,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeProductNameWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductName(success, failure, [self asCharSpan:value]); }); } @@ -460,7 +487,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeHardwareVersionStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeHardwareVersionString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeHardwareVersionString(success, failure, [self asCharSpan:value]); }); } @@ -474,42 +501,42 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeSoftwareVersionStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSoftwareVersionString(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeSoftwareVersionString(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeManufacturingDateWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeManufacturingDate(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeManufacturingDate(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributePartNumberWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributePartNumber(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributePartNumber(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeProductURLWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductURL(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductURL(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeProductLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeProductLabel(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeProductLabel(success, failure, [self asCharSpan:value]); }); } - (void)writeAttributeSerialNumberWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeSerialNumber(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeSerialNumber(success, failure, [self asCharSpan:value]); }); } @@ -585,7 +612,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeCompensationTextWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeCompensationText(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeCompensationText(success, failure, [self asCharSpan:value]); }); } @@ -1299,6 +1326,61 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc @end +@interface CHIPTestIlluminanceMeasurement () +@property (readonly) chip::Controller::IlluminanceMeasurementClusterTest cppCluster; +@end + +@implementation CHIPTestIlluminanceMeasurement + +- (chip::Controller::ClusterBase *)getCluster +{ + return &_cppCluster; +} + +- (void)writeAttributeMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeMeasuredValue(success, failure, value); + }); +} + +- (void)writeAttributeMinMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeMinMeasuredValue(success, failure, value); + }); +} + +- (void)writeAttributeMaxMeasuredValueWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeMaxMeasuredValue(success, failure, value); + }); +} + +- (void)writeAttributeToleranceWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeTolerance(success, failure, value); + }); +} + +- (void)writeAttributeLightSensorTypeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeLightSensorType(success, failure, value); + }); +} + +- (void)writeAttributeClusterRevisionWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler +{ + new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { + return self.cppCluster.WriteAttributeClusterRevision(success, failure, value); + }); +} + +@end + @interface CHIPTestKeypadInput () @property (readonly) chip::Controller::KeypadInputClusterTest cppCluster; @end @@ -1756,7 +1838,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeDescriptionWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeDescription(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeDescription(success, failure, [self asCharSpan:value]); }); } @@ -2204,14 +2286,14 @@ @implementation CHIPTestTvChannel - (void)writeAttributeTvChannelLineupWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeTvChannelLineup(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeTvChannelLineup(success, failure, [self asByteSpan:value]); }); } - (void)writeAttributeCurrentTvChannelWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeCurrentTvChannel(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeCurrentTvChannel(success, failure, [self asByteSpan:value]); }); } @@ -2436,7 +2518,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeNetworkNameWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeNetworkName(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeNetworkName(success, failure, [self asByteSpan:value]); }); } @@ -2457,7 +2539,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeMeshLocalPrefixWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeMeshLocalPrefix(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeMeshLocalPrefix(success, failure, [self asByteSpan:value]); }); } @@ -2821,7 +2903,7 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc - (void)writeAttributeChannelMaskWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeChannelMask(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeChannelMask(success, failure, [self asByteSpan:value]); }); } @@ -2848,7 +2930,7 @@ @implementation CHIPTestWakeOnLan - (void)writeAttributeWakeOnLanMacAddressWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeWakeOnLanMacAddress(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeWakeOnLanMacAddress(success, failure, [self asCharSpan:value]); }); } @@ -2875,7 +2957,7 @@ @implementation CHIPTestWiFiNetworkDiagnostics - (void)writeAttributeBssidWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler { new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) { - return self.cppCluster.WriteAttributeBssid(success, failure, [self asSpan:value]); + return self.cppCluster.WriteAttributeBssid(success, failure, [self asByteSpan:value]); }); } diff --git a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m index 2fbdf078211132..20e78e75311c67 100644 --- a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m @@ -272,6 +272,3033 @@ - (void)testSendClusterTest_TC_CC_1_1_000000_WriteAttribute [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +- (void)testSendClusterTest_TC_CC_2_1_000000_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads mandatory attribute: CurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads mandatory attribute: CurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000001_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: current hue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: current hue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedCharValue], 254); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000002_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default value to mandatory attribute: CurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t currentHueArgument = 0; + [cluster writeAttributeCurrentHueWithValue:currentHueArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default value to mandatory attribute: CurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000003_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: CurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: CurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000004_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads mandatory attribute: CurrentSaturation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentSaturationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads mandatory attribute: CurrentSaturation Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000005_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: CurrentSaturation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentSaturationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: CurrentSaturation Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedCharValue], 254); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000006_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default value to mandatory attribute: CurrentSaturation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t currentSaturationArgument = 0; + [cluster + writeAttributeCurrentSaturationWithValue:currentSaturationArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default value to mandatory attribute: CurrentSaturation Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000007_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: CurrentSaturation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentSaturationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: CurrentSaturation Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000008_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: CurrentX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: CurrentX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 24939U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000009_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: CurrentX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: CurrentX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000010_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default value to mandatory attribute: CurrentX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t currentXArgument = 24939U; + [cluster writeAttributeCurrentXWithValue:currentXArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default value to mandatory attribute: CurrentX Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000011_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: CurrentX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: CurrentX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 24939U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000012_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: CurrentY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: CurrentY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 24701U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000013_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: CurrentY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: CurrentY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000014_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: CurrentY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t currentYArgument = 24701U; + [cluster writeAttributeCurrentYWithValue:currentYArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: CurrentY Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000015_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: CurrentY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCurrentYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: CurrentY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 24701U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000016_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Validate constraints of attribute: ColorTemperatureMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTemperatureWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorTemperatureMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000017_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: ColorMode"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorModeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorMode Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedCharValue], 2); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000018_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Options"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorControlOptionsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Options Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000019_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: Options"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorControlOptionsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: Options Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000020_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default values to mandatory attribute: Options"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t colorControlOptionsArgument = 0; + [cluster writeAttributeColorControlOptionsWithValue:colorControlOptionsArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: Options Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000021_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: Options"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorControlOptionsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: Options Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000022_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: EnhancedCurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeEnhancedCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: EnhancedCurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000023_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: EnhancedCurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeEnhancedCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: EnhancedCurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000024_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: EnhancedCurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t enhancedCurrentHueArgument = 0U; + [cluster + writeAttributeEnhancedCurrentHueWithValue:enhancedCurrentHueArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: EnhancedCurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000025_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: EnhancedCurrentHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeEnhancedCurrentHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: EnhancedCurrentHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000026_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: EnhancedColorMode"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeEnhancedColorModeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: EnhancedColorMode Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000027_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorLoopActive"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopActiveWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorLoopActive Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000028_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: ColorLoopActive"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopActiveWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorLoopActive Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000029_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorLoopActive"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t colorLoopActiveArgument = 0; + [cluster writeAttributeColorLoopActiveWithValue:colorLoopActiveArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorLoopActive Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000030_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: ColorLoopActive"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopActiveWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorLoopActive Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000031_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorLoopDirection"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopDirectionWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorLoopDirection Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000032_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: ColorLoopDirection"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopDirectionWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorLoopDirection Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000033_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorLoopDirection"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t colorLoopDirectionArgument = 0; + [cluster + writeAttributeColorLoopDirectionWithValue:colorLoopDirectionArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorLoopDirection Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000034_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: ColorLoopDirection"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopDirectionWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorLoopDirection Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000035_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorLoopTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorLoopTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 25U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000036_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: ColorLoopTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorLoopTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000037_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorLoopTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorLoopTimeArgument = 25U; + [cluster writeAttributeColorLoopTimeWithValue:colorLoopTimeArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorLoopTime Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000038_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: ColorLoopTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorLoopTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 25U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000039_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorLoopStartEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStartEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorLoopStartEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 8960U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000040_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Validate constraints of attribute: ColorLoopStartEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStartEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorLoopStartEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000041_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorLoopStartEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorLoopStartEnhancedHueArgument = 8960U; + [cluster writeAttributeColorLoopStartEnhancedHueWithValue:colorLoopStartEnhancedHueArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: " + @"ColorLoopStartEnhancedHue Error: %@", + err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000042_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back mandatory attribute: ColorLoopStartEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStartEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorLoopStartEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 8960U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000043_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorLoopStoredEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStoredEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorLoopStoredEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000044_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Validate constraints of attribute: ColorLoopStoredEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStoredEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorLoopStoredEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000045_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorLoopStoredEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorLoopStoredEnhancedHueArgument = 0U; + [cluster writeAttributeColorLoopStoredEnhancedHueWithValue:colorLoopStoredEnhancedHueArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: " + @"ColorLoopStoredEnhancedHue Error: %@", + err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000046_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back mandatory attribute: ColorLoopStoredEnhancedHue"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorLoopStoredEnhancedHueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorLoopStoredEnhancedHue Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000047_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorCapabilities"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorCapabilitiesWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorCapabilities Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000048_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: ColorCapabilities"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorCapabilitiesWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorCapabilities Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000049_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorCapabilities"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorCapabilitiesArgument = 0U; + [cluster + writeAttributeColorCapabilitiesWithValue:colorCapabilitiesArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorCapabilities Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000050_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back mandatory attribute: ColorCapabilities"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorCapabilitiesWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorCapabilities Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000051_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorTempPhysicalMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMinWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorTempPhysicalMinMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000052_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Validate constraints of attribute: ColorTempPhysicalMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMinWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorTempPhysicalMinMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000053_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorTempPhysicalMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorTempPhysicalMinArgument = 0U; + [cluster writeAttributeColorTempPhysicalMinWithValue:colorTempPhysicalMinArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorTempPhysicalMinMireds " + @"Error: %@", + err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000054_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back mandatory attribute: ColorTempPhysicalMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMinWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorTempPhysicalMinMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000055_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: ColorTempPhysicalMaxMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMaxWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: ColorTempPhysicalMaxMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 65279U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000056_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Validate constraints of attribute: ColorTempPhysicalMaxMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMaxWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: ColorTempPhysicalMaxMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000057_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to mandatory attribute: ColorTempPhysicalMaxMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorTempPhysicalMaxArgument = 65279U; + [cluster writeAttributeColorTempPhysicalMaxWithValue:colorTempPhysicalMaxArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to mandatory attribute: ColorTempPhysicalMaxMireds " + @"Error: %@", + err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000058_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back mandatory attribute: ColorTempPhysicalMaxMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorTempPhysicalMaxWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back mandatory attribute: ColorTempPhysicalMaxMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 65279U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000059_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read the optional attribute: CoupleColorTempToLevelMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: CoupleColorTempToLevelMinMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000060_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to optional attribute: CoupleColorTempToLevelMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t coupleColorTempToLevelMinMiredsArgument = 0U; + [cluster writeAttributeCoupleColorTempToLevelMinMiredsWithValue:coupleColorTempToLevelMinMiredsArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to optional attribute: " + @"CoupleColorTempToLevelMinMireds Error: %@", + err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000061_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back optional attribute: CoupleColorTempToLevelMinMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back optional attribute: CoupleColorTempToLevelMinMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000062_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Read the optional attribute: StartUpColorTemperatureMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeStartUpColorTemperatureMiredsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: StartUpColorTemperatureMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000063_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to optional attribute: StartUpColorTemperatureMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t startUpColorTemperatureMiredsArgument = 0U; + [cluster writeAttributeStartUpColorTemperatureMiredsWithValue:startUpColorTemperatureMiredsArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to optional attribute: " + @"StartUpColorTemperatureMireds Error: %@", + err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000064_ReadAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Reads back optional attribute: StartUpColorTemperatureMireds"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeStartUpColorTemperatureMiredsWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back optional attribute: StartUpColorTemperatureMireds Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000065_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the Optional attribute: RemainingTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeRemainingTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the Optional attribute: RemainingTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000066_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: RemainingTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeRemainingTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: RemainingTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 254); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000067_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to optional attribute: RemainingTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t remainingTimeArgument = 0U; + [cluster writeAttributeRemainingTimeWithValue:remainingTimeArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to optional attribute: RemainingTime Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000068_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back optional attribute: RemainingTime"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeRemainingTimeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back optional attribute: RemainingTime Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000069_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: DriftCompensation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeDriftCompensationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: DriftCompensation Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedCharValue], 4); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000070_WriteAttribute +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"Write the default values to optional attribute: DriftCompensation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t driftCompensationArgument = 0; + [cluster + writeAttributeDriftCompensationWithValue:driftCompensationArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default values to optional attribute: DriftCompensation Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000071_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Reads back optional attribute: DriftCompensation"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeDriftCompensationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Reads back optional attribute: DriftCompensation Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000072_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: CompensationText"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeCompensationTextWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: CompensationText Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] length], 254); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000073_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: NumberOfPrimaries"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeNumberOfPrimariesWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: NumberOfPrimaries Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedCharValue], 6); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000074_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: NumberOfPrimaries"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint8_t numberOfPrimariesArgument = 0; + [cluster writeAttributeNumberOfPrimariesWithValue:numberOfPrimariesArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: NumberOfPrimaries Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000075_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: NumberOfPrimaries"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeNumberOfPrimariesWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: NumberOfPrimaries Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedCharValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000076_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary1X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary1XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary1X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000077_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary1X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary1XArgument = 0U; + [cluster writeAttributePrimary1XWithValue:primary1XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary1X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000078_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary1X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary1XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary1X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000079_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary1Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary1YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary1Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000080_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary1Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary1YArgument = 0U; + [cluster writeAttributePrimary1YWithValue:primary1YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary1Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000081_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary1Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary1YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary1Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000082_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary1Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary1IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary1Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000083_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary2X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary2XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary2X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000084_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary2X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary2XArgument = 0U; + [cluster writeAttributePrimary2XWithValue:primary2XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary2X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000085_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary2X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary2XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary2X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000086_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary2Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary2YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary2Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000087_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary2Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary2YArgument = 0U; + [cluster writeAttributePrimary2YWithValue:primary2YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary2Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000088_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary2Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary2YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary2Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000089_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Validate constraints of attribute: Primary2Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary2IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Validate constraints of attribute: Primary2Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000090_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary3X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary3XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary3X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000091_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary3X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary3XArgument = 0U; + [cluster writeAttributePrimary3XWithValue:primary3XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary3X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000092_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary3X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary3XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary3X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000093_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary3Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary3YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary3Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000094_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary3Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary3YArgument = 0U; + [cluster writeAttributePrimary3YWithValue:primary3YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary3Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000095_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary3Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary3YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary3Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000096_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary3Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary3IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary3Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000097_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary4X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary4XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary4X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000098_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary4X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary4XArgument = 0U; + [cluster writeAttributePrimary4XWithValue:primary4XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary4X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000099_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary4X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary4XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary4X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000100_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary4Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary4YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary4Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000101_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary4Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary4YArgument = 0U; + [cluster writeAttributePrimary4YWithValue:primary4YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary4Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000102_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary4Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary4YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary4Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000103_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary4Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary4IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary4Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000104_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary5X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary5XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary5X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000105_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary5X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary5XArgument = 0U; + [cluster writeAttributePrimary5XWithValue:primary5XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary5X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000106_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary5X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary5XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary5X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000107_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary5Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary5YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary5Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000108_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary5Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary5YArgument = 0U; + [cluster writeAttributePrimary5YWithValue:primary5YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary5Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000109_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary5Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary5YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary5Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000110_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary5Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary5IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary5Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000111_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary6X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary6XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary6X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000112_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary6X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary6XArgument = 0U; + [cluster writeAttributePrimary6XWithValue:primary6XArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary6X Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000113_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary6X"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary6XWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary6X Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000114_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary6Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary6YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary6Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000115_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default mandatory attribute: Primary6Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t primary6YArgument = 0U; + [cluster writeAttributePrimary6YWithValue:primary6YArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default mandatory attribute: Primary6Y Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000116_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the mandatory attribute: Primary6Y"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary6YWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the mandatory attribute: Primary6Y Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000117_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the mandatory attribute: Primary6Intensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributePrimary6IntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the mandatory attribute: Primary6Intensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000118_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: WhitePointX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeWhitePointXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: WhitePointX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000119_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: WhitePointX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t whitePointXArgument = 0U; + [cluster writeAttributeWhitePointXWithValue:whitePointXArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: WhitePointX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000120_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: WhitePointX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeWhitePointXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: WhitePointX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000121_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: WhitePointY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeWhitePointYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: WhitePointY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000122_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: WhitePointY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t whitePointYArgument = 0U; + [cluster writeAttributeWhitePointYWithValue:whitePointYArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: WhitePointY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000123_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: WhitePointY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeWhitePointYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: WhitePointY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000124_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointRX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointRXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointRX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000125_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointRX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointRXArgument = 0U; + [cluster writeAttributeColorPointRXWithValue:colorPointRXArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointRX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000126_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointRX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointRXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointRX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000127_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointRY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointRYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointRY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000128_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointRY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointRYArgument = 0U; + [cluster writeAttributeColorPointRYWithValue:colorPointRYArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointRY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000129_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointRY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointRYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointRY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000130_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointRIntensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointRIntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointRIntensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000131_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointGX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointGXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointGX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000132_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointGX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointGXArgument = 0U; + [cluster writeAttributeColorPointGXWithValue:colorPointGXArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointGX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000133_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointGX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointGXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointGX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000134_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointGY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointGYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointGY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000135_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointGY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointGYArgument = 0U; + [cluster writeAttributeColorPointGYWithValue:colorPointGYArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointGY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000136_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointGY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointGYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointGY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000137_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointGIntensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointGIntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointGIntensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000138_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointBX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointBXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointBX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000139_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointBX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointBXArgument = 0U; + [cluster writeAttributeColorPointBXWithValue:colorPointBXArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointBX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000140_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointBX"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointBXWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointBX Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000141_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointBY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointBYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointBY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertLessThanOrEqual([values[@"value"] unsignedShortValue], 65279); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000142_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write the default optional attribute: ColorPointBY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint16_t colorPointBYArgument = 0U; + [cluster writeAttributeColorPointBYWithValue:colorPointBYArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write the default optional attribute: ColorPointBY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000143_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back the optional attribute: ColorPointBY"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointBYWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back the optional attribute: ColorPointBY Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTest_TC_CC_2_1_000144_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read the optional attribute: ColorPointBIntensity"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestColorControl * cluster = [[CHIPTestColorControl alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeColorPointBIntensityWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read the optional attribute: ColorPointBIntensity Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + - (void)testSendClusterTest_TC_CC_3_1_000000_On { XCTestExpectation * expectation = [self expectationWithDescription:@"Turn on light for color control tests"]; @@ -4269,7 +7296,7 @@ - (void)testSendClusterTest_TC_OO_1_1_000000_ReadAttribute XCTAssertEqual(err.code, 0); - XCTAssertEqual([values[@"value"] unsignedShortValue], 3U); + XCTAssertEqual([values[@"value"] unsignedShortValue], 4U); [expectation fulfill]; }]; @@ -4312,7 +7339,7 @@ - (void)testSendClusterTest_TC_OO_1_1_000002_ReadAttribute XCTAssertEqual(err.code, 0); - XCTAssertEqual([values[@"value"] unsignedShortValue], 3U); + XCTAssertEqual([values[@"value"] unsignedShortValue], 4U); [expectation fulfill]; }]; @@ -8638,115 +11665,225 @@ - (void)testSendClusterTestCluster_000116_ReadAttribute [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } -- (void)testSendClusterTestCluster_000117_WriteAttribute +- (void)testSendClusterTestCluster_000117_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute EPOCH_S Min Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + uint32_t epochSArgument = 0UL; + [cluster writeAttributeEpochSWithValue:epochSArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write attribute EPOCH_S Min Value Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestCluster_000118_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute EPOCH_S Min Value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeEpochSWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read attribute EPOCH_S Min Value Error: %@", err); + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] unsignedLongValue], 0UL); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestCluster_000119_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute UNSUPPORTED"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeUnsupportedWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read attribute UNSUPPORTED Error: %@", err); + + if (err.code == CHIPErrorCodeUnsupportedAttribute) { + [expectation fulfill]; + return; + } + + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"value"] boolValue], 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestCluster_000120_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Writeattribute UNSUPPORTED"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + bool unsupportedArgument = 0; + [cluster writeAttributeUnsupportedWithValue:unsupportedArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Writeattribute UNSUPPORTED Error: %@", err); + + if (err.code == CHIPErrorCodeUnsupportedAttribute) { + [expectation fulfill]; + return; + } + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestCluster_000121_Test +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Send Test Command to unsupported endpoint"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:200 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster test:^(NSError * err, NSDictionary * values) { + NSLog(@"Send Test Command to unsupported endpoint Error: %@", err); + + XCTAssertEqual(err.code, 1); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestCluster_000122_ReadAttribute { - XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute EPOCH_S Min Value"]; + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute vendor_id Default Value"]; CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; XCTAssertNotNil(cluster); - uint32_t epochSArgument = 0UL; - [cluster writeAttributeEpochSWithValue:epochSArgument - responseHandler:^(NSError * err, NSDictionary * values) { - NSLog(@"Write attribute EPOCH_S Min Value Error: %@", err); + [cluster readAttributeVendorIdWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read attribute vendor_id Default Value Error: %@", err); - XCTAssertEqual(err.code, 0); + XCTAssertEqual(err.code, 0); - [expectation fulfill]; - }]; + XCTAssertEqual([values[@"value"] unsignedShortValue], 0U); + + [expectation fulfill]; + }]; [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } -- (void)testSendClusterTestCluster_000118_ReadAttribute +- (void)testSendClusterTestCluster_000123_WriteAttribute { - XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute EPOCH_S Min Value"]; + XCTestExpectation * expectation = [self expectationWithDescription:@"Write attribute vendor_id"]; CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; XCTAssertNotNil(cluster); - [cluster readAttributeEpochSWithResponseHandler:^(NSError * err, NSDictionary * values) { - NSLog(@"Read attribute EPOCH_S Min Value Error: %@", err); - - XCTAssertEqual(err.code, 0); + uint16_t vendorIdArgument = 17U; + [cluster writeAttributeVendorIdWithValue:vendorIdArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write attribute vendor_id Error: %@", err); - XCTAssertEqual([values[@"value"] unsignedLongValue], 0UL); + XCTAssertEqual(err.code, 0); - [expectation fulfill]; - }]; + [expectation fulfill]; + }]; [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } -- (void)testSendClusterTestCluster_000119_ReadAttribute +- (void)testSendClusterTestCluster_000124_ReadAttribute { - XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute UNSUPPORTED"]; + XCTestExpectation * expectation = [self expectationWithDescription:@"Read attribute vendor_id"]; CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; XCTAssertNotNil(cluster); - [cluster readAttributeUnsupportedWithResponseHandler:^(NSError * err, NSDictionary * values) { - NSLog(@"Read attribute UNSUPPORTED Error: %@", err); - - if (err.code == CHIPErrorCodeUnsupportedAttribute) { - [expectation fulfill]; - return; - } + [cluster readAttributeVendorIdWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read attribute vendor_id Error: %@", err); XCTAssertEqual(err.code, 0); - XCTAssertEqual([values[@"value"] boolValue], 0); + XCTAssertEqual([values[@"value"] unsignedShortValue], 17U); [expectation fulfill]; }]; [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } -- (void)testSendClusterTestCluster_000120_WriteAttribute +- (void)testSendClusterTestCluster_000125_WriteAttribute { - XCTestExpectation * expectation = [self expectationWithDescription:@"Writeattribute UNSUPPORTED"]; + XCTestExpectation * expectation = [self expectationWithDescription:@"Restore attribute vendor_id"]; CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; XCTAssertNotNil(cluster); - bool unsupportedArgument = 0; - [cluster writeAttributeUnsupportedWithValue:unsupportedArgument - responseHandler:^(NSError * err, NSDictionary * values) { - NSLog(@"Writeattribute UNSUPPORTED Error: %@", err); - - if (err.code == CHIPErrorCodeUnsupportedAttribute) { - [expectation fulfill]; - return; - } + uint16_t vendorIdArgument = 0U; + [cluster writeAttributeVendorIdWithValue:vendorIdArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Restore attribute vendor_id Error: %@", err); - XCTAssertEqual(err.code, 0); + XCTAssertEqual(err.code, 0); - [expectation fulfill]; - }]; + [expectation fulfill]; + }]; [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } -- (void)testSendClusterTestCluster_000121_Test +- (void)testSendClusterTestCluster_000126_TestEnumsRequest { - XCTestExpectation * expectation = [self expectationWithDescription:@"Send Test Command to unsupported endpoint"]; + XCTestExpectation * expectation = [self expectationWithDescription:@"Send a command with a vendor_id and enum"]; CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); - CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:200 queue:queue]; + CHIPTestTestCluster * cluster = [[CHIPTestTestCluster alloc] initWithDevice:device endpoint:1 queue:queue]; XCTAssertNotNil(cluster); - [cluster test:^(NSError * err, NSDictionary * values) { - NSLog(@"Send Test Command to unsupported endpoint Error: %@", err); + uint16_t arg1Argument = 20003U; + uint8_t arg2Argument = 101; + [cluster testEnumsRequest:arg1Argument + arg2:arg2Argument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Send a command with a vendor_id and enum Error: %@", err); - XCTAssertEqual(err.code, 1); - [expectation fulfill]; - }]; + XCTAssertEqual(err.code, 0); + + XCTAssertEqual([values[@"arg1"] unsignedShortValue], 20003U); + XCTAssertEqual([values[@"arg2"] unsignedCharValue], 101); + + [expectation fulfill]; + }]; [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } @@ -8930,6 +12067,93 @@ - (void)testSendClusterTestDescriptorCluster_000003_ReadAttribute [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +- (void)testSendClusterTestBasicInformation_000000_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read location"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeLocationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read location Error: %@", err); + + XCTAssertEqual(err.code, 0); + + NSString * locationArgument = @""; + XCTAssertTrue([values[@"value"] isEqualToString:locationArgument]); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestBasicInformation_000001_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Write location"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue]; + XCTAssertNotNil(cluster); + + NSString * locationArgument = @"us"; + [cluster writeAttributeLocationWithValue:locationArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Write location Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestBasicInformation_000002_ReadAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Read back location"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeLocationWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Read back location Error: %@", err); + + XCTAssertEqual(err.code, 0); + + NSString * locationArgument = @"us"; + XCTAssertTrue([values[@"value"] isEqualToString:locationArgument]); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} +- (void)testSendClusterTestBasicInformation_000003_WriteAttribute +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"Restore initial location value"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue]; + XCTAssertNotNil(cluster); + + NSString * locationArgument = @""; + [cluster writeAttributeLocationWithValue:locationArgument + responseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"Restore initial location value Error: %@", err); + + XCTAssertEqual(err.code, 0); + + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + - (void)testSendClusterTestOperationalCredentialsCluster_000000_ReadAttribute { XCTestExpectation * expectation = [self expectationWithDescription:@"Read number of supported fabrics"]; @@ -9670,6 +12894,43 @@ - (void)testSendClusterBindingReadAttributeClusterRevisionWithResponseHandler [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +- (void)testSendClusterBooleanStateReadAttributeStateValueWithResponseHandler +{ + XCTestExpectation * expectation = [self expectationWithDescription:@"BooleanStateReadAttributeStateValueWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPBooleanState * cluster = [[CHIPBooleanState alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeStateValueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"BooleanState StateValue Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterBooleanStateReadAttributeClusterRevisionWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"BooleanStateReadAttributeClusterRevisionWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPBooleanState * cluster = [[CHIPBooleanState alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeClusterRevisionWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"BooleanState ClusterRevision Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + - (void)testSendClusterBridgedDeviceBasicReadAttributeVendorNameWithResponseHandler { XCTestExpectation * expectation = @@ -12330,6 +15591,120 @@ - (void)testSendClusterIdentifyReadAttributeClusterRevisionWithResponseHandler [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +- (void)testSendClusterIlluminanceMeasurementReadAttributeMeasuredValueWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeMeasuredValueWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeMeasuredValueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement MeasuredValue Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterIlluminanceMeasurementReadAttributeMinMeasuredValueWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeMinMeasuredValueWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeMinMeasuredValueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement MinMeasuredValue Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterIlluminanceMeasurementReadAttributeMaxMeasuredValueWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeMaxMeasuredValueWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeMaxMeasuredValueWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement MaxMeasuredValue Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterIlluminanceMeasurementReadAttributeToleranceWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeToleranceWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeToleranceWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement Tolerance Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterIlluminanceMeasurementReadAttributeLightSensorTypeWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeLightSensorTypeWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeLightSensorTypeWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement LightSensorType Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + +- (void)testSendClusterIlluminanceMeasurementReadAttributeClusterRevisionWithResponseHandler +{ + XCTestExpectation * expectation = + [self expectationWithDescription:@"IlluminanceMeasurementReadAttributeClusterRevisionWithResponseHandler"]; + + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + CHIPIlluminanceMeasurement * cluster = [[CHIPIlluminanceMeasurement alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + [cluster readAttributeClusterRevisionWithResponseHandler:^(NSError * err, NSDictionary * values) { + NSLog(@"IlluminanceMeasurement ClusterRevision Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + - (void)testSendClusterKeypadInputReadAttributeClusterRevisionWithResponseHandler { XCTestExpectation * expectation = diff --git a/src/include/platform/CHIPDeviceConfig.h b/src/include/platform/CHIPDeviceConfig.h index 9233823fc7d14a..2dfbf7a796ca12 100644 --- a/src/include/platform/CHIPDeviceConfig.h +++ b/src/include/platform/CHIPDeviceConfig.h @@ -696,7 +696,7 @@ * Amount of services available for advertising using SRP. */ #ifndef CHIP_DEVICE_CONFIG_THREAD_SRP_MAX_SERVICES -#define CHIP_DEVICE_CONFIG_THREAD_SRP_MAX_SERVICES 3 +#define CHIP_DEVICE_CONFIG_THREAD_SRP_MAX_SERVICES (CHIP_CONFIG_MAX_DEVICE_ADMINS + 1) #endif /** diff --git a/src/include/platform/internal/DeviceControlServer.h b/src/include/platform/internal/DeviceControlServer.h index 5ab00a8503b48f..f4e11e6532e426 100644 --- a/src/include/platform/internal/DeviceControlServer.h +++ b/src/include/platform/internal/DeviceControlServer.h @@ -34,7 +34,7 @@ class DeviceControlServer final public: // ===== Members for internal use by other Device Layer components. - CHIP_ERROR ArmFailSafe(uint16_t expiryLengthSeconds); + CHIP_ERROR ArmFailSafe(System::Clock::Timeout expiryLength); CHIP_ERROR DisarmFailSafe(); CHIP_ERROR CommissioningComplete(); CHIP_ERROR SetRegulatoryConfig(uint8_t location, const CharSpan & countryCode, uint64_t breadcrumb); diff --git a/src/inet/IPAddress-StringFuncts.cpp b/src/inet/IPAddress-StringFuncts.cpp index 48864f18a460b8..86aeafe5ba7104 100644 --- a/src/inet/IPAddress-StringFuncts.cpp +++ b/src/inet/IPAddress-StringFuncts.cpp @@ -107,7 +107,7 @@ bool IPAddress::FromString(const char * str, IPAddress & output) if (inet_pton(AF_INET, str, &ipv4Addr) < 1) return false; #endif // !CHIP_SYSTEM_CONFIG_USE_LWIP - output = FromIPv4(ipv4Addr); + output = IPAddress(ipv4Addr); } else #endif // INET_CONFIG_ENABLE_IPV4 @@ -121,7 +121,7 @@ bool IPAddress::FromString(const char * str, IPAddress & output) if (inet_pton(AF_INET6, str, &ipv6Addr) < 1) return false; #endif // !CHIP_SYSTEM_CONFIG_USE_LWIP - output = FromIPv6(ipv6Addr); + output = IPAddress(ipv6Addr); } return true; diff --git a/src/inet/IPAddress.cpp b/src/inet/IPAddress.cpp index 259daf7814ba75..2005359bfbb96f 100644 --- a/src/inet/IPAddress.cpp +++ b/src/inet/IPAddress.cpp @@ -23,7 +23,7 @@ * related enumerated constants. The CHIP Inet Layer uses objects * of this class to represent Internet protocol addresses of both * IPv4 and IPv6 address families. (IPv4 addresses are stored - * internally in the V4COMPAT format, reserved for that purpose.) + * internally as IPv4-Mapped IPv6 addresses.) * */ @@ -70,55 +70,80 @@ IPAddress & IPAddress::operator=(const IPAddress & other) #if CHIP_SYSTEM_CONFIG_USE_LWIP -#if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 -ip_addr_t IPAddress::ToLwIPAddr(void) const +IPAddress::IPAddress(const ip6_addr_t & ipv6Addr) { - ip_addr_t ret; + static_assert(sizeof(ip6_addr_t) == sizeof(Addr), "ip6_addr_t size mismatch"); + memcpy(Addr, &ipv6Addr, sizeof(ipv6Addr)); +} - switch (Type()) +#if INET_CONFIG_ENABLE_IPV4 || LWIP_IPV4 + +IPAddress::IPAddress(const ip4_addr_t & ipv4Addr) +{ + Addr[0] = 0; + Addr[1] = 0; + Addr[2] = htonl(0xFFFF); + Addr[3] = ipv4Addr.addr; +} + +IPAddress::IPAddress(const ip_addr_t & addr) +{ + switch (IP_GET_TYPE(&addr)) { #if INET_CONFIG_ENABLE_IPV4 - case IPAddressType::kIPv4: - IP_SET_TYPE_VAL(ret, IPADDR_TYPE_V4); - *ip_2_ip4(&ret) = IPAddress::ToIPv4(); + case IPADDR_TYPE_V4: + *this = IPAddress(*ip_2_ip4(&addr)); break; #endif // INET_CONFIG_ENABLE_IPV4 - case IPAddressType::kIPv6: - IP_SET_TYPE_VAL(ret, IPADDR_TYPE_V6); - *ip_2_ip6(&ret) = IPAddress::ToIPv6(); + case IPADDR_TYPE_V6: + *this = IPAddress(*ip_2_ip6(&addr)); break; default: -#if INET_CONFIG_ENABLE_IPV4 - ret = *IP_ADDR_ANY; -#else - ret = *IP6_ADDR_ANY; -#endif + *this = Any; break; } +} - return ret; +#endif // INET_CONFIG_ENABLE_IPV4 || LWIP_IPV4 + +#if INET_CONFIG_ENABLE_IPV4 + +ip4_addr_t IPAddress::ToIPv4() const +{ + ip4_addr_t ipAddr; + memcpy(&ipAddr, &Addr[3], sizeof(ipAddr)); + return ipAddr; } -IPAddress IPAddress::FromLwIPAddr(const ip_addr_t & addr) +#endif // INET_CONFIG_ENABLE_IPV4 + +#if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 +ip_addr_t IPAddress::ToLwIPAddr(void) const { - IPAddress ret; + ip_addr_t ret; - switch (IP_GET_TYPE(&addr)) + switch (Type()) { #if INET_CONFIG_ENABLE_IPV4 - case IPADDR_TYPE_V4: - ret = IPAddress::FromIPv4(*ip_2_ip4(&addr)); + case IPAddressType::kIPv4: + IP_SET_TYPE_VAL(ret, IPADDR_TYPE_V4); + *ip_2_ip4(&ret) = IPAddress::ToIPv4(); break; #endif // INET_CONFIG_ENABLE_IPV4 - case IPADDR_TYPE_V6: - ret = IPAddress::FromIPv6(*ip_2_ip6(&addr)); + case IPAddressType::kIPv6: + IP_SET_TYPE_VAL(ret, IPADDR_TYPE_V6); + *ip_2_ip6(&ret) = IPAddress::ToIPv6(); break; default: - ret = Any; +#if INET_CONFIG_ENABLE_IPV4 + ret = *IP_ADDR_ANY; +#else + ret = *IP6_ADDR_ANY; +#endif break; } @@ -150,25 +175,6 @@ lwip_ip_addr_type IPAddress::ToLwIPAddrType(IPAddressType typ) } #endif // LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 -#if INET_CONFIG_ENABLE_IPV4 -ip4_addr_t IPAddress::ToIPv4() const -{ - ip4_addr_t ipAddr; - memcpy(&ipAddr, &Addr[3], sizeof(ipAddr)); - return ipAddr; -} - -IPAddress IPAddress::FromIPv4(const ip4_addr_t & ipv4Addr) -{ - IPAddress ipAddr; - ipAddr.Addr[0] = 0; - ipAddr.Addr[1] = 0; - ipAddr.Addr[2] = htonl(0xFFFF); - ipAddr.Addr[3] = ipv4Addr.addr; - return ipAddr; -} -#endif // INET_CONFIG_ENABLE_IPV4 - ip6_addr_t IPAddress::ToIPv6() const { ip6_addr_t ipAddr; @@ -177,18 +183,26 @@ ip6_addr_t IPAddress::ToIPv6() const return ipAddr; } -IPAddress IPAddress::FromIPv6(const ip6_addr_t & ipv6Addr) -{ - IPAddress ipAddr; - static_assert(sizeof(ipAddr) == sizeof(Addr), "ip6_addr_t size mismatch"); - memcpy(ipAddr.Addr, &ipv6Addr, sizeof(ipv6Addr)); - return ipAddr; -} - #endif // CHIP_SYSTEM_CONFIG_USE_LWIP #if CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_CONFIG_USE_NETWORK_FRAMEWORK +#if INET_CONFIG_ENABLE_IPV4 +IPAddress::IPAddress(const struct in_addr & ipv4Addr) +{ + Addr[0] = 0; + Addr[1] = 0; + Addr[2] = htonl(0xFFFF); + Addr[3] = ipv4Addr.s_addr; +} +#endif // INET_CONFIG_ENABLE_IPV4 + +IPAddress::IPAddress(const struct in6_addr & ipv6Addr) +{ + static_assert(sizeof(*this) == sizeof(ipv6Addr), "in6_addr size mismatch"); + memcpy(Addr, &ipv6Addr, sizeof(ipv6Addr)); +} + #if INET_CONFIG_ENABLE_IPV4 struct in_addr IPAddress::ToIPv4() const { @@ -196,16 +210,6 @@ struct in_addr IPAddress::ToIPv4() const ipv4Addr.s_addr = Addr[3]; return ipv4Addr; } - -IPAddress IPAddress::FromIPv4(const struct in_addr & ipv4Addr) -{ - IPAddress ipAddr; - ipAddr.Addr[0] = 0; - ipAddr.Addr[1] = 0; - ipAddr.Addr[2] = htonl(0xFFFF); - ipAddr.Addr[3] = ipv4Addr.s_addr; - return ipAddr; -} #endif // INET_CONFIG_ENABLE_IPV4 struct in6_addr IPAddress::ToIPv6() const @@ -216,22 +220,14 @@ struct in6_addr IPAddress::ToIPv6() const return ipAddr; } -IPAddress IPAddress::FromIPv6(const struct in6_addr & ipv6Addr) -{ - IPAddress ipAddr; - static_assert(sizeof(ipAddr) == sizeof(ipv6Addr), "in6_addr size mismatch"); - memcpy(ipAddr.Addr, &ipv6Addr, sizeof(ipv6Addr)); - return ipAddr; -} - -IPAddress IPAddress::FromSockAddr(const struct sockaddr & sockaddr) +IPAddress IPAddress::FromSockAddr(const SockAddr & sockaddr) { #if INET_CONFIG_ENABLE_IPV4 - if (sockaddr.sa_family == AF_INET) - return FromIPv4(reinterpret_cast(&sockaddr)->sin_addr); + if (sockaddr.any.sa_family == AF_INET) + return FromSockAddr(sockaddr.in); #endif // INET_CONFIG_ENABLE_IPV4 - if (sockaddr.sa_family == AF_INET6) - return FromIPv6(reinterpret_cast(&sockaddr)->sin6_addr); + if (sockaddr.any.sa_family == AF_INET6) + return FromSockAddr(sockaddr.in6); return Any; } diff --git a/src/inet/IPAddress.h b/src/inet/IPAddress.h index 7d426ef7adc449..a688efb543ab29 100644 --- a/src/inet/IPAddress.h +++ b/src/inet/IPAddress.h @@ -23,13 +23,15 @@ * related enumerated constants. The CHIP Inet Layer uses objects * of this class to represent Internet protocol addresses of both * IPv4 and IPv6 address families. (IPv4 addresses are stored - * internally in the V4COMPAT format, reserved for that purpose.) + * internally as IPv4-Mapped IPv6 addresses.) */ #pragma once #include #include +#include +#include #include #include @@ -109,9 +111,20 @@ enum class IPv6MulticastFlag : uint8_t }; using IPv6MulticastFlags = BitFlags; +#if CHIP_SYSTEM_CONFIG_USE_SOCKETS +union SockAddr +{ + sockaddr any; + sockaddr_in in; + sockaddr_in6 in6; + sockaddr_storage storage; +}; +#endif // CHIP_SYSTEM_CONFIG_USE_SOCKETS + /** - * Internet protocol address + * @brief Internet protocol address * + * @details * The CHIP Inet Layer uses objects of this class to represent Internet * protocol addresses (independent of protocol version). */ @@ -128,21 +141,33 @@ class DLL_EXPORT IPAddress static constexpr uint16_t kMaxStringLength = INET6_ADDRSTRLEN; #endif // CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_CONFIG_USE_NETWORK_FRAMEWORK - IPAddress() = default; - - /** - * Copy constructor for the IPAddress class. - * - */ +public: + IPAddress() = default; IPAddress(const IPAddress & other) = default; +#if CHIP_SYSTEM_CONFIG_USE_LWIP + explicit IPAddress(const ip6_addr_t & ipv6Addr); +#if INET_CONFIG_ENABLE_IPV4 || LWIP_IPV4 + explicit IPAddress(const ip4_addr_t & ipv4Addr); + explicit IPAddress(const ip_addr_t & addr); +#endif // INET_CONFIG_ENABLE_IPV4 +#endif // CHIP_SYSTEM_CONFIG_USE_LWIP + +#if CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_CONFIG_USE_NETWORK_FRAMEWORK + explicit IPAddress(const struct in6_addr & ipv6Addr); +#if INET_CONFIG_ENABLE_IPV4 + explicit IPAddress(const struct in_addr & ipv4Addr); +#endif // INET_CONFIG_ENABLE_IPV4 +#endif // CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_CONFIG_USE_NETWORK_FRAMEWORK + /** * @brief Opaque word array to contain IP addresses (independent of protocol version) * * @details * IPv6 address use all 128-bits split into four 32-bit network byte - * ordered unsigned integers. IPv4 addresses are V4COMPAT, i.e. the - * first three words are zero, and the fourth word contains the IPv4 + * ordered unsigned integers. IPv4 addresses are IPv4-Mapped IPv6 addresses, + * i.e. the first two words are zero, the third word contains 0xFFFF in + * network byte order, and the fourth word contains the IPv4 * address in network byte order. */ uint32_t Addr[4]; @@ -375,8 +400,8 @@ class DLL_EXPORT IPAddress * @details * Use WriteAddress(uint8_t *&p) to encode the IP address in * the binary format defined by RFC 4291 for IPv6 addresses. IPv4 - * addresses are encoded according to section 2.5.5.1 "IPv4-Compatible - * IPv6 Address" (V4COMPAT). + * addresses are encoded according to section 2.5.5.2 "IPv4-Mapped + * IPv6 Address". */ void WriteAddress(uint8_t *& p) const; @@ -462,42 +487,6 @@ class DLL_EXPORT IPAddress * either unspecified or not an IPv4 address. */ - /** - * @fn static IPAddress FromIPv4(const struct in_addr & addr) - * - * @brief Inject the IPv4 address from a platform data structure. - * - * @details - * Use FromIPv4(const ip4_addr_t &addr) to inject \c addr as an - * IPv4 address. - * - * The argument \c addr is either of type const struct in_addr& - * (on POSIX) or const ip4_addr_t& (on LwIP). - * - * @return The constructed IP address. - */ - /** - * @overload static IPAddress FromIPv4(const ip4_addr_t &addr) - */ - - /** - * @fn static IPAddress FromIPv6(const struct in6_addr& addr) - * - * @brief Inject the IPv6 address from a platform data structure. - * - * @details - * Use FromIPv6(const ip6_addr_t &addr) to inject \c addr as an - * IPv6 address. - * - * The argument \c addr is either of type const struct in6_addr& - * (on POSIX) or const ip6_addr_t& (on LwIP). - * - * @return The constructed IP address. - */ - /** - * @overload static IPAddress FromIPv6(const ip6_addr_t &addr) - */ - #if CHIP_SYSTEM_CONFIG_USE_LWIP #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 @@ -514,21 +503,6 @@ class DLL_EXPORT IPAddress */ ip_addr_t ToLwIPAddr(void) const; - /** - * @fn static IPAddress FromLwIPAddr(const ip_addr_t& addr) - * - * @brief Inject the IP address from an LwIP ip_addr_t structure. - * - * @details - * Use FromLwIPAddr(const ip_addr_t &addr) to inject \c addr as an - * Inet layer IP address. - * - * The argument \c addr is of type const ip_addr_t& (on LwIP). - * - * @return The constructed IP address. - */ - static IPAddress FromLwIPAddr(const ip_addr_t & addr); - /** * @brief Convert the INET layer address type to its underlying LwIP type. * @@ -540,11 +514,9 @@ class DLL_EXPORT IPAddress #endif // LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 ip6_addr_t ToIPv6(void) const; - static IPAddress FromIPv6(const ip6_addr_t & addr); #if INET_CONFIG_ENABLE_IPV4 ip4_addr_t ToIPv4(void) const; - static IPAddress FromIPv4(const ip4_addr_t & addr); #endif // INET_CONFIG_ENABLE_IPV4 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP @@ -552,23 +524,20 @@ class DLL_EXPORT IPAddress #if CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_CONFIG_USE_NETWORK_FRAMEWORK struct in6_addr ToIPv6() const; - static IPAddress FromIPv6(const struct in6_addr & addr); #if INET_CONFIG_ENABLE_IPV4 struct in_addr ToIPv4() const; - static IPAddress FromIPv4(const struct in_addr & addr); #endif // INET_CONFIG_ENABLE_IPV4 /** - * @brief Inject the IPv6 address from a POSIX struct sockaddr& - * - * @details - * Use FromSockAddr(const struct sockaddr& sockaddr) to inject - * sockaddr.sa_addr as an IPv6 address. - * - * @return The constructed IP address. + * Get the IP address from a SockAddr. */ - static IPAddress FromSockAddr(const struct sockaddr & sockaddr); + static IPAddress FromSockAddr(const SockAddr & sockaddr); + static IPAddress FromSockAddr(const sockaddr & sockaddr) { return FromSockAddr(reinterpret_cast(sockaddr)); } + static IPAddress FromSockAddr(const sockaddr_in6 & sockaddr) { return IPAddress(sockaddr.sin6_addr); } +#if INET_CONFIG_ENABLE_IPV4 + static IPAddress FromSockAddr(const sockaddr_in & sockaddr) { return IPAddress(sockaddr.sin_addr); } +#endif // INET_CONFIG_ENABLE_IPV4 #endif // CHIP_SYSTEM_CONFIG_USE_SOCKETS || CHIP_SYSTEM_USE_NETWORK_FRAMEWORK @@ -614,7 +583,7 @@ class DLL_EXPORT IPAddress * @brief Construct an IPv6 multicast address from its parts. * * @details - * Use MakeIPv6Multicast(IPv6MulticastFlag flags, uint8_t scope, + * Use MakeIPv6Multicast(uint8_t flags, uint8_t scope, * uint32_t groupId) to construct an IPv6 multicast * address with \c flags for routing scope \c scope and group * identifier \c groupId. @@ -639,7 +608,7 @@ class DLL_EXPORT IPAddress * @brief Construct a transient IPv6 multicast address from its parts. * * @details - * Use MakeIPv6TransientMulticast(IPv6MulticastFlag flags, uint8_t scope, + * Use MakeIPv6TransientMulticast(uint8_t flags, uint8_t scope, * uint8_t groupId[14]) to construct a transient IPv6 * multicast address with \c flags for routing scope \c scope and * group identifier octets \c groupId. diff --git a/src/inet/IPEndPointBasis.cpp b/src/inet/IPEndPointBasis.cpp index 9c3a0075804fab..f88841a0b4d1b1 100644 --- a/src/inet/IPEndPointBasis.cpp +++ b/src/inet/IPEndPointBasis.cpp @@ -50,13 +50,6 @@ #include #include -#if INET_CONFIG_ENABLE_IPV4 -#define LWIP_IPV4_ADDR_T ip4_addr_t -#define IPV4_TO_LWIPADDR(aAddress) (aAddress).ToIPv4() -#endif // INET_CONFIG_ENABLE_IPV4 -#define LWIP_IPV6_ADDR_T ip6_addr_t -#define IPV6_TO_LWIPADDR(aAddress) (aAddress).ToIPv6() - #if !defined(RAW_FLAGS_MULTICAST_LOOP) || !defined(UDP_FLAGS_MULTICAST_LOOP) || !defined(raw_clear_flags) || \ !defined(raw_set_flags) || !defined(udp_clear_flags) || !defined(udp_set_flags) #define HAVE_LWIP_MULTICAST_LOOP 0 @@ -137,44 +130,6 @@ static CHIP_ERROR CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddr #if CHIP_SYSTEM_CONFIG_USE_LWIP -#if INET_CONFIG_ENABLE_IPV4 -#if LWIP_IPV4 && LWIP_IGMP -static CHIP_ERROR LwIPIPv4JoinLeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress, - err_t (*aMethod)(struct netif *, const LWIP_IPV4_ADDR_T *)) -{ - struct netif * const lNetif = IPEndPointBasis::FindNetifFromInterfaceId(aInterfaceId); - VerifyOrReturnError(lNetif != nullptr, INET_ERROR_UNKNOWN_INTERFACE); - - const LWIP_IPV4_ADDR_T lIPv4Address = IPV4_TO_LWIPADDR(aAddress); - const err_t lStatus = aMethod(lNetif, &lIPv4Address); - - if (lStatus == ERR_MEM) - { - return CHIP_ERROR_NO_MEMORY; - } - return chip::System::MapErrorLwIP(lStatus); -} -#endif // LWIP_IPV4 && LWIP_IGMP -#endif // INET_CONFIG_ENABLE_IPV4 - -#ifdef HAVE_IPV6_MULTICAST -static CHIP_ERROR LwIPIPv6JoinLeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress, - err_t (*aMethod)(struct netif *, const LWIP_IPV6_ADDR_T *)) -{ - struct netif * const lNetif = IPEndPointBasis::FindNetifFromInterfaceId(aInterfaceId); - VerifyOrReturnError(lNetif != nullptr, INET_ERROR_UNKNOWN_INTERFACE); - - const LWIP_IPV6_ADDR_T lIPv6Address = IPV6_TO_LWIPADDR(aAddress); - const err_t lStatus = aMethod(lNetif, &lIPv6Address); - - if (lStatus == ERR_MEM) - { - return CHIP_ERROR_NO_MEMORY; - } - return chip::System::MapErrorLwIP(lStatus); -} -#endif // LWIP_IPV6_MLD && LWIP_IPV6_ND && LWIP_IPV6 - CHIP_ERROR IPEndPointBasis::SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback) { CHIP_ERROR lRetval = CHIP_ERROR_NOT_IMPLEMENTED; @@ -222,6 +177,44 @@ CHIP_ERROR IPEndPointBasis::SetMulticastLoopback(IPVersion aIPVersion, bool aLoo void IPEndPointBasis::InitImpl() {} +#if INET_CONFIG_ENABLE_IPV4 +#if LWIP_IPV4 && LWIP_IGMP +static CHIP_ERROR LwIPIPv4JoinLeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress, + err_t (*aMethod)(struct netif *, const ip4_addr_t *)) +{ + struct netif * const lNetif = IPEndPointBasis::FindNetifFromInterfaceId(aInterfaceId); + VerifyOrReturnError(lNetif != nullptr, INET_ERROR_UNKNOWN_INTERFACE); + + const ip4_addr_t lIPv4Address = aAddress.ToIPv4(); + const err_t lStatus = aMethod(lNetif, &lIPv4Address); + + if (lStatus == ERR_MEM) + { + return CHIP_ERROR_NO_MEMORY; + } + return chip::System::MapErrorLwIP(lStatus); +} +#endif // LWIP_IPV4 && LWIP_IGMP +#endif // INET_CONFIG_ENABLE_IPV4 + +#ifdef HAVE_IPV6_MULTICAST +static CHIP_ERROR LwIPIPv6JoinLeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress, + err_t (*aMethod)(struct netif *, const ip6_addr_t *)) +{ + struct netif * const lNetif = IPEndPointBasis::FindNetifFromInterfaceId(aInterfaceId); + VerifyOrReturnError(lNetif != nullptr, INET_ERROR_UNKNOWN_INTERFACE); + + const ip6_addr_t lIPv6Address = aAddress.ToIPv6(); + const err_t lStatus = aMethod(lNetif, &lIPv6Address); + + if (lStatus == ERR_MEM) + { + return CHIP_ERROR_NO_MEMORY; + } + return chip::System::MapErrorLwIP(lStatus); +} +#endif // LWIP_IPV6_MLD && LWIP_IPV6_ND && LWIP_IPV6 + #if INET_CONFIG_ENABLE_IPV4 CHIP_ERROR IPEndPointBasis::IPv4JoinLeaveMulticastGroupImpl(InterfaceId aInterfaceId, const IPAddress & aAddress, bool join) { @@ -244,6 +237,24 @@ CHIP_ERROR IPEndPointBasis::IPv6JoinLeaveMulticastGroupImpl(InterfaceId aInterfa #endif // HAVE_IPV6_MULTICAST } +struct netif * IPEndPointBasis::FindNetifFromInterfaceId(InterfaceId aInterfaceId) +{ + struct netif * lRetval = NULL; + +#if LWIP_VERSION_MAJOR >= 2 && LWIP_VERSION_MINOR >= 0 && defined(NETIF_FOREACH) + NETIF_FOREACH(lRetval) + { + if (lRetval == aInterfaceId) + break; + } +#else // LWIP_VERSION_MAJOR < 2 || !defined(NETIF_FOREACH) + for (lRetval = netif_list; lRetval != NULL && lRetval != aInterfaceId; lRetval = lRetval->next) + ; +#endif // LWIP_VERSION_MAJOR >= 2 && LWIP_VERSION_MINOR >= 0 && defined(NETIF_FOREACH) + + return (lRetval); +} + void IPEndPointBasis::HandleDataReceived(System::PacketBufferHandle && aBuffer) { if ((mState == State::kListening) && (OnMessageReceived != NULL)) @@ -264,32 +275,6 @@ void IPEndPointBasis::HandleDataReceived(System::PacketBufferHandle && aBuffer) } } -/** - * @brief Get LwIP IP layer source and destination addressing information. - * - * @param[in] aBuffer the packet buffer containing the IP message - * - * @returns a pointer to the address information on success; otherwise, - * NULL if there is insufficient space in the packet for - * the address information. - * - * @details - * When using LwIP information about the packet is 'hidden' in the - * reserved space before the start of the data in the packet - * buffer. This is necessary because the system layer events only - * have two arguments, which in this case are used to convey the - * pointer to the end point and the pointer to the buffer. - * - * In most cases this trick of storing information before the data - * works because the first buffer in an LwIP IP message contains - * the space that was used for the Ethernet/IP/UDP headers. However, - * given the current size of the IPPacketInfo structure (40 bytes), - * it is possible for there to not be enough room to store the - * structure along with the payload in a single packet buffer. In - * practice, this should only happen for extremely large IPv4 - * packets that arrive without an Ethernet header. - * - */ IPPacketInfo * IPEndPointBasis::GetPacketInfo(const System::PacketBufferHandle & aBuffer) { uintptr_t lStart; @@ -310,50 +295,10 @@ IPPacketInfo * IPEndPointBasis::GetPacketInfo(const System::PacketBufferHandle & return (lPacketInfo); } -CHIP_ERROR IPEndPointBasis::PostPacketBufferEvent(chip::System::LayerLwIP * aLayer, System::Object & aTarget, - System::EventType aEventType, System::PacketBufferHandle && aBuffer) -{ - VerifyOrReturnError(aLayer != nullptr, CHIP_ERROR_INVALID_ARGUMENT); - - const CHIP_ERROR error = - aLayer->PostEvent(aTarget, aEventType, (uintptr_t) System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(aBuffer)); - if (error == CHIP_NO_ERROR) - { - // If PostEvent() succeeded, it has ownership of the buffer, so we need to release it (without freeing it). - static_cast(std::move(aBuffer).UnsafeRelease()); - } - return error; -} - -struct netif * IPEndPointBasis::FindNetifFromInterfaceId(InterfaceId aInterfaceId) -{ - struct netif * lRetval = NULL; - -#if LWIP_VERSION_MAJOR >= 2 && LWIP_VERSION_MINOR >= 0 && defined(NETIF_FOREACH) - NETIF_FOREACH(lRetval) - { - if (lRetval == aInterfaceId) - break; - } -#else // LWIP_VERSION_MAJOR < 2 || !defined(NETIF_FOREACH) - for (lRetval = netif_list; lRetval != NULL && lRetval != aInterfaceId; lRetval = lRetval->next) - ; -#endif // LWIP_VERSION_MAJOR >= 2 && LWIP_VERSION_MINOR >= 0 && defined(NETIF_FOREACH) - - return (lRetval); -} - #endif // CHIP_SYSTEM_CONFIG_USE_LWIP #if CHIP_SYSTEM_CONFIG_USE_SOCKETS -union PeerSockAddr -{ - sockaddr any; - sockaddr_in in; - sockaddr_in6 in6; -}; - #if CHIP_SYSTEM_CONFIG_USE_PLATFORM_MULTICAST_API IPEndPointBasis::MulticastGroupHandler IPEndPointBasis::sJoinMulticastGroupHandler; IPEndPointBasis::MulticastGroupHandler IPEndPointBasis::sLeaveMulticastGroupHandler; @@ -401,7 +346,24 @@ static CHIP_ERROR SocketsSetMulticastLoopback(int aSocket, IPVersion aIPVersion, #endif // IPV6_MULTICAST_LOOP } +CHIP_ERROR IPEndPointBasis::SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback) +{ + CHIP_ERROR lRetval = CHIP_ERROR_NOT_IMPLEMENTED; + + lRetval = SocketsSetMulticastLoopback(mSocket, aIPVersion, aLoopback); + SuccessOrExit(lRetval); + +exit: + return (lRetval); +} + +void IPEndPointBasis::InitImpl() +{ + mBoundIntfId = INET_NULL_INTERFACEID; +} + #if INET_CONFIG_ENABLE_IPV4 + static CHIP_ERROR SocketsIPv4JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand) { @@ -436,6 +398,12 @@ static CHIP_ERROR SocketsIPv4JoinLeaveMulticastGroup(int aSocket, InterfaceId aI } return CHIP_NO_ERROR; } + +CHIP_ERROR IPEndPointBasis::IPv4JoinLeaveMulticastGroupImpl(InterfaceId aInterfaceId, const IPAddress & aAddress, bool join) +{ + return SocketsIPv4JoinLeaveMulticastGroup(mSocket, aInterfaceId, aAddress, join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP); +} + #endif // INET_CONFIG_ENABLE_IPV4 #if INET_IPV6_ADD_MEMBERSHIP || INET_IPV6_DROP_MEMBERSHIP @@ -460,29 +428,6 @@ static CHIP_ERROR SocketsIPv6JoinLeaveMulticastGroup(int aSocket, InterfaceId aI } #endif // INET_IPV6_ADD_MEMBERSHIP || INET_IPV6_DROP_MEMBERSHIP -CHIP_ERROR IPEndPointBasis::SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback) -{ - CHIP_ERROR lRetval = CHIP_ERROR_NOT_IMPLEMENTED; - - lRetval = SocketsSetMulticastLoopback(mSocket, aIPVersion, aLoopback); - SuccessOrExit(lRetval); - -exit: - return (lRetval); -} - -void IPEndPointBasis::InitImpl() -{ - mBoundIntfId = INET_NULL_INTERFACEID; -} - -#if INET_CONFIG_ENABLE_IPV4 -CHIP_ERROR IPEndPointBasis::IPv4JoinLeaveMulticastGroupImpl(InterfaceId aInterfaceId, const IPAddress & aAddress, bool join) -{ - return SocketsIPv4JoinLeaveMulticastGroup(mSocket, aInterfaceId, aAddress, join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP); -} -#endif // INET_CONFIG_ENABLE_IPV4 - CHIP_ERROR IPEndPointBasis::IPv6JoinLeaveMulticastGroupImpl(InterfaceId aInterfaceId, const IPAddress & aAddress, bool join) { #if CHIP_SYSTEM_CONFIG_USE_PLATFORM_MULTICAST_API @@ -639,7 +584,7 @@ CHIP_ERROR IPEndPointBasis::SendMsg(const IPPacketInfo * aPktInfo, chip::System: msgHeader.msg_iovlen = 1; // Construct a sockaddr_in/sockaddr_in6 structure containing the destination information. - PeerSockAddr peerSockAddr; + SockAddr peerSockAddr; memset(&peerSockAddr, 0, sizeof(peerSockAddr)); msgHeader.msg_name = &peerSockAddr; if (mAddrType == IPAddressType::kIPv6) @@ -869,7 +814,7 @@ void IPEndPointBasis::HandlePendingIO(uint16_t aPort) if (!lBuffer.IsNull()) { struct iovec msgIOV; - PeerSockAddr lPeerSockAddr; + SockAddr lPeerSockAddr; uint8_t controlData[256]; struct msghdr msgHeader; @@ -903,13 +848,13 @@ void IPEndPointBasis::HandlePendingIO(uint16_t aPort) if (lPeerSockAddr.any.sa_family == AF_INET6) { - lPacketInfo.SrcAddress = IPAddress::FromIPv6(lPeerSockAddr.in6.sin6_addr); + lPacketInfo.SrcAddress = IPAddress(lPeerSockAddr.in6.sin6_addr); lPacketInfo.SrcPort = ntohs(lPeerSockAddr.in6.sin6_port); } #if INET_CONFIG_ENABLE_IPV4 else if (lPeerSockAddr.any.sa_family == AF_INET) { - lPacketInfo.SrcAddress = IPAddress::FromIPv4(lPeerSockAddr.in.sin_addr); + lPacketInfo.SrcAddress = IPAddress(lPeerSockAddr.in.sin_addr); lPacketInfo.SrcPort = ntohs(lPeerSockAddr.in.sin_port); } #endif // INET_CONFIG_ENABLE_IPV4 @@ -935,7 +880,7 @@ void IPEndPointBasis::HandlePendingIO(uint16_t aPort) break; } lPacketInfo.Interface = static_cast(inPktInfo->ipi_ifindex); - lPacketInfo.DestAddress = IPAddress::FromIPv4(inPktInfo->ipi_addr); + lPacketInfo.DestAddress = IPAddress(inPktInfo->ipi_addr); continue; } #endif // defined(IP_PKTINFO) @@ -951,7 +896,7 @@ void IPEndPointBasis::HandlePendingIO(uint16_t aPort) break; } lPacketInfo.Interface = static_cast(in6PktInfo->ipi6_ifindex); - lPacketInfo.DestAddress = IPAddress::FromIPv6(in6PktInfo->ipi6_addr); + lPacketInfo.DestAddress = IPAddress(in6PktInfo->ipi6_addr); continue; } #endif // defined(IPV6_PKTINFO) @@ -1001,36 +946,6 @@ CHIP_ERROR IPEndPointBasis::IPv6JoinLeaveMulticastGroupImpl(InterfaceId aInterfa return CHIP_ERROR_NOT_IMPLEMENTED; } -CHIP_ERROR IPEndPointBasis::ConfigureProtocol(IPAddressType aAddressType, const nw_parameters_t & aParameters) -{ - CHIP_ERROR res = CHIP_NO_ERROR; - - nw_protocol_stack_t protocolStack = nw_parameters_copy_default_protocol_stack(aParameters); - nw_protocol_options_t ipOptions = nw_protocol_stack_copy_internet_protocol(protocolStack); - - switch (aAddressType) - { - - case IPAddressType::kIPv6: - nw_ip_options_set_version(ipOptions, nw_ip_version_6); - break; - -#if INET_CONFIG_ENABLE_IPV4 - case IPAddressType::kIPv4: - nw_ip_options_set_version(ipOptions, nw_ip_version_4); - break; -#endif // INET_CONFIG_ENABLE_IPV4 - - default: - res = INET_ERROR_WRONG_ADDRESS_TYPE; - break; - } - nw_release(ipOptions); - nw_release(protocolStack); - - return res; -} - CHIP_ERROR IPEndPointBasis::Bind(IPAddressType aAddressType, const IPAddress & aAddress, uint16_t aPort, const nw_parameters_t & aParameters) { @@ -1103,6 +1018,36 @@ CHIP_ERROR IPEndPointBasis::SendMsg(const IPPacketInfo * aPktInfo, chip::System: return res; } +CHIP_ERROR IPEndPointBasis::ConfigureProtocol(IPAddressType aAddressType, const nw_parameters_t & aParameters) +{ + CHIP_ERROR res = CHIP_NO_ERROR; + + nw_protocol_stack_t protocolStack = nw_parameters_copy_default_protocol_stack(aParameters); + nw_protocol_options_t ipOptions = nw_protocol_stack_copy_internet_protocol(protocolStack); + + switch (aAddressType) + { + + case IPAddressType::kIPv6: + nw_ip_options_set_version(ipOptions, nw_ip_version_6); + break; + +#if INET_CONFIG_ENABLE_IPV4 + case IPAddressType::kIPv4: + nw_ip_options_set_version(ipOptions, nw_ip_version_4); + break; +#endif // INET_CONFIG_ENABLE_IPV4 + + default: + res = INET_ERROR_WRONG_ADDRESS_TYPE; + break; + } + nw_release(ipOptions); + nw_release(protocolStack); + + return res; +} + void IPEndPointBasis::HandleDataReceived(const nw_connection_t & aConnection) { @@ -1175,7 +1120,7 @@ CHIP_ERROR IPEndPointBasis::GetEndPoint(nw_endpoint_t & aEndPoint, const IPAddre // we want if the locale endpoint is IPv4. if (aAddressType == IPAddressType::kIPv4 && aAddress.Type() == IPAddressType::kAny) { - const IPAddress anyAddr = IPAddress::FromIPv4(aAddress.ToIPv4()); + const IPAddress anyAddr = IPAddress(aAddress.ToIPv4()); anyAddr.ToString(addrStr, sizeof(addrStr)); } else diff --git a/src/inet/IPEndPointBasis.h b/src/inet/IPEndPointBasis.h index d21dd7a86a7fe4..1b3a408ec06e2e 100644 --- a/src/inet/IPEndPointBasis.h +++ b/src/inet/IPEndPointBasis.h @@ -151,12 +151,29 @@ class DLL_EXPORT IPEndPointBasis : public EndPointBasis #if CHIP_SYSTEM_CONFIG_USE_LWIP public: static struct netif * FindNetifFromInterfaceId(InterfaceId aInterfaceId); - static CHIP_ERROR PostPacketBufferEvent(chip::System::LayerLwIP * aLayer, System::Object & aTarget, - System::EventType aEventType, System::PacketBufferHandle && aBuffer); protected: void HandleDataReceived(chip::System::PacketBufferHandle && aBuffer); + /** + * Get LwIP IP layer source and destination addressing information. + * + * @param[in] aBuffer The packet buffer containing the IP message. + * + * @returns a pointer to the address information on success; otherwise, + * nullptr if there is insufficient space in the packet for + * the address information. + * + * When using LwIP information about the packet is 'hidden' in the reserved space before the start of the + * data in the packet buffer. This is necessary because the system layer events only have two arguments, + * which in this case are used to convey the pointer to the end point and the pointer to the buffer. + * + * In most cases this trick of storing information before the data works because the first buffer in an + * LwIP IP message contains the space that was used for the Ethernet/IP/UDP headers. However, given the + * current size of the IPPacketInfo structure (40 bytes), it is possible for there to not be enough room + * to store the structure along with the payload in a single packet buffer. In practice, this should only + * happen for extremely large IPv4 packets that arrive without an Ethernet header. + */ static IPPacketInfo * GetPacketInfo(const chip::System::PacketBufferHandle & aBuffer); #endif // CHIP_SYSTEM_CONFIG_USE_LWIP diff --git a/src/inet/InetInterface.cpp b/src/inet/InetInterface.cpp index 99f74c007ec953..204baa4bd2a408 100644 --- a/src/inet/InetInterface.cpp +++ b/src/inet/InetInterface.cpp @@ -214,12 +214,12 @@ IPAddress InterfaceAddressIterator::GetAddress() if (mCurAddrIndex < LWIP_IPV6_NUM_ADDRESSES) { - return IPAddress::FromIPv6(*netif_ip6_addr(curIntf, mCurAddrIndex)); + return IPAddress(*netif_ip6_addr(curIntf, mCurAddrIndex)); } #if INET_CONFIG_ENABLE_IPV4 && LWIP_IPV4 else { - return IPAddress::FromIPv4(*netif_ip4_addr(curIntf)); + return IPAddress(*netif_ip4_addr(curIntf)); } #endif // INET_CONFIG_ENABLE_IPV4 && LWIP_IPV4 } @@ -844,7 +844,7 @@ IPAddress InterfaceAddressIterator::GetAddress() { if (HasCurrent()) { - return IPAddress::FromIPv6(mIpv6->unicast[mCurAddrIndex].address.in6_addr); + return IPAddress(mIpv6->unicast[mCurAddrIndex].address.in6_addr); } return IPAddress::Any; diff --git a/src/inet/InetLayer.cpp b/src/inet/InetLayer.cpp index 3b1c2cb81b5fd4..b07d14a9d0542c 100644 --- a/src/inet/InetLayer.cpp +++ b/src/inet/InetLayer.cpp @@ -375,7 +375,7 @@ CHIP_ERROR InetLayer::GetLinkLocalAddr(InterfaceId link, IPAddress * llAddr) { if (ip6_addr_isvalid(netif_ip6_addr_state(intf, j)) && ip6_addr_islinklocal(netif_ip6_addr(intf, j))) { - (*llAddr) = IPAddress::FromIPv6(*netif_ip6_addr(intf, j)); + (*llAddr) = IPAddress(*netif_ip6_addr(intf, j)); return CHIP_NO_ERROR; } } @@ -404,7 +404,7 @@ CHIP_ERROR InetLayer::GetLinkLocalAddr(InterfaceId link, IPAddress * llAddr) struct in6_addr * sin6_addr = &(reinterpret_cast(ifaddr_iter->ifa_addr))->sin6_addr; if (sin6_addr->s6_addr[0] == 0xfe && (sin6_addr->s6_addr[1] & 0xc0) == 0x80) // Link Local Address { - (*llAddr) = IPAddress::FromIPv6((reinterpret_cast(ifaddr_iter->ifa_addr))->sin6_addr); + (*llAddr) = IPAddress((reinterpret_cast(ifaddr_iter->ifa_addr))->sin6_addr); break; } } @@ -420,7 +420,7 @@ CHIP_ERROR InetLayer::GetLinkLocalAddr(InterfaceId link, IPAddress * llAddr) in6_addr * const ip6_addr = net_if_ipv6_get_ll(iface, NET_ADDR_PREFERRED); VerifyOrReturnError(ip6_addr != nullptr, INET_ERROR_ADDRESS_NOT_FOUND); - *llAddr = IPAddress::FromIPv6(*ip6_addr); + *llAddr = IPAddress(*ip6_addr); #endif // CHIP_SYSTEM_CONFIG_USE_ZEPHYR_NET_IF return CHIP_NO_ERROR; diff --git a/src/inet/TCPEndPoint.cpp b/src/inet/TCPEndPoint.cpp index a1b6a704cd83bf..5681619011728c 100644 --- a/src/inet/TCPEndPoint.cpp +++ b/src/inet/TCPEndPoint.cpp @@ -63,10 +63,8 @@ #include // SOCK_CLOEXEC not defined on all platforms, e.g. iOS/macOS: -#ifdef SOCK_CLOEXEC -#define SOCK_FLAGS SOCK_CLOEXEC -#else -#define SOCK_FLAGS 0 +#ifndef SOCK_CLOEXEC +#define SOCK_CLOEXEC 0 #endif #if defined(SOL_TCP) @@ -265,30 +263,27 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter CHIP_ERROR TCPEndPoint::GetPeerInfo(IPAddress * retAddr, uint16_t * retPort) const { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); // Lock LwIP stack LOCK_TCPIP_CORE(); - if (mTCP != NULL) + CHIP_ERROR res = CHIP_ERROR_CONNECTION_ABORTED; + if (mTCP != nullptr) { *retPort = mTCP->remote_port; #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 - *retAddr = IPAddress::FromLwIPAddr(mTCP->remote_ip); + *retAddr = IPAddress(mTCP->remote_ip); #else // LWIP_VERSION_MAJOR <= 1 || LWIP_VERSION_MINOR >= 5 #if INET_CONFIG_ENABLE_IPV4 - *retAddr = PCB_ISIPV6(mTCP) ? IPAddress::FromIPv6(mTCP->remote_ip.ip6) : IPAddress::FromIPv4(mTCP->remote_ip.ip4); + *retAddr = PCB_ISIPV6(mTCP) ? IPAddress(mTCP->remote_ip.ip6) : IPAddress(mTCP->remote_ip.ip4); #else // !INET_CONFIG_ENABLE_IPV4 - *retAddr = IPAddress::FromIPv6(mTCP->remote_ip.ip6); + *retAddr = IPAddress(mTCP->remote_ip.ip6); #endif // !INET_CONFIG_ENABLE_IPV4 #endif // LWIP_VERSION_MAJOR <= 1 || LWIP_VERSION_MINOR >= 5 + res = CHIP_NO_ERROR; } - else - res = CHIP_ERROR_CONNECTION_ABORTED; // Unlock LwIP stack UNLOCK_TCPIP_CORE(); @@ -296,32 +291,29 @@ CHIP_ERROR TCPEndPoint::GetPeerInfo(IPAddress * retAddr, uint16_t * retPort) con return res; } -CHIP_ERROR TCPEndPoint::GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) +CHIP_ERROR TCPEndPoint::GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) const { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); // Lock LwIP stack LOCK_TCPIP_CORE(); - if (mTCP != NULL) + CHIP_ERROR res = CHIP_ERROR_CONNECTION_ABORTED; + if (mTCP != nullptr) { *retPort = mTCP->local_port; #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 - *retAddr = IPAddress::FromLwIPAddr(mTCP->local_ip); + *retAddr = IPAddress(mTCP->local_ip); #else // LWIP_VERSION_MAJOR <= 1 || LWIP_VERSION_MINOR >= 5 #if INET_CONFIG_ENABLE_IPV4 - *retAddr = PCB_ISIPV6(mTCP) ? IPAddress::FromIPv6(mTCP->local_ip.ip6) : IPAddress::FromIPv4(mTCP->local_ip.ip4); + *retAddr = PCB_ISIPV6(mTCP) ? IPAddress(mTCP->local_ip.ip6) : IPAddress(mTCP->local_ip.ip4); #else // !INET_CONFIG_ENABLE_IPV4 - *retAddr = IPAddress::FromIPv6(mTCP->local_ip.ip6); + *retAddr = IPAddress(mTCP->local_ip.ip6); #endif // !INET_CONFIG_ENABLE_IPV4 #endif // LWIP_VERSION_MAJOR <= 1 || LWIP_VERSION_MINOR >= 5 + res = CHIP_NO_ERROR; } - else - res = CHIP_ERROR_CONNECTION_ABORTED; // Unlock LwIP stack UNLOCK_TCPIP_CORE(); @@ -331,8 +323,8 @@ CHIP_ERROR TCPEndPoint::GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) CHIP_ERROR TCPEndPoint::GetInterfaceId(InterfaceId * retInterface) { - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + // TODO: Does netif_get_by_index(mTCP->netif_idx) do the right thing? I // can't quite tell whether LwIP supports a specific interface id for TCP at // all. For now just claim no particular interface id. @@ -355,18 +347,17 @@ CHIP_ERROR TCPEndPoint::SendQueuedImpl(bool queueWasEmpty) CHIP_ERROR TCPEndPoint::EnableNoDelay() { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); // Lock LwIP stack LOCK_TCPIP_CORE(); - if (mTCP != NULL) + CHIP_ERROR res = CHIP_ERROR_CONNECTION_ABORTED; + if (mTCP != nullptr) + { tcp_nagle_disable(mTCP); - else - res = CHIP_ERROR_CONNECTION_ABORTED; + res = CHIP_NO_ERROR; + } // Unlock LwIP stack UNLOCK_TCPIP_CORE(); @@ -376,10 +367,8 @@ CHIP_ERROR TCPEndPoint::EnableNoDelay() CHIP_ERROR TCPEndPoint::EnableKeepAlive(uint16_t interval, uint16_t timeoutCount) { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + CHIP_ERROR res = CHIP_ERROR_NOT_IMPLEMENTED; #if LWIP_TCP_KEEPALIVE @@ -399,17 +388,16 @@ CHIP_ERROR TCPEndPoint::EnableKeepAlive(uint16_t interval, uint16_t timeoutCount // Enable keepalives for the connection. ip_set_option(mTCP, SOF_KEEPALIVE); + res = CHIP_NO_ERROR; } else + { res = CHIP_ERROR_CONNECTION_ABORTED; + } // Unlock LwIP stack UNLOCK_TCPIP_CORE(); -#else // LWIP_TCP_KEEPALIVE - - res = CHIP_ERROR_NOT_IMPLEMENTED; - #endif // LWIP_TCP_KEEPALIVE return res; @@ -417,10 +405,8 @@ CHIP_ERROR TCPEndPoint::EnableKeepAlive(uint16_t interval, uint16_t timeoutCount CHIP_ERROR TCPEndPoint::DisableKeepAlive() { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + CHIP_ERROR res = CHIP_ERROR_NOT_IMPLEMENTED; #if LWIP_TCP_KEEPALIVE @@ -431,38 +417,17 @@ CHIP_ERROR TCPEndPoint::DisableKeepAlive() { // Disable keepalives on the connection. ip_reset_option(mTCP, SOF_KEEPALIVE); + res = CHIP_NO_ERROR; } else + { res = CHIP_ERROR_CONNECTION_ABORTED; + } // Unlock LwIP stack UNLOCK_TCPIP_CORE(); -#else // LWIP_TCP_KEEPALIVE - - res = CHIP_ERROR_NOT_IMPLEMENTED; - #endif // LWIP_TCP_KEEPALIVE - return res; -} - -CHIP_ERROR TCPEndPoint::AckReceive(uint16_t len) -{ - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; - - // Lock LwIP stack - LOCK_TCPIP_CORE(); - - if (mTCP != NULL) - tcp_recved(mTCP, len); - else - res = CHIP_ERROR_CONNECTION_ABORTED; - - // Unlock LwIP stack - UNLOCK_TCPIP_CORE(); return res; } @@ -657,6 +622,25 @@ void TCPEndPoint::DoCloseImpl(CHIP_ERROR err, State oldState) } } +CHIP_ERROR TCPEndPoint::AckReceive(uint16_t len) +{ + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + CHIP_ERROR res = CHIP_NO_ERROR; + + // Lock LwIP stack + LOCK_TCPIP_CORE(); + + if (mTCP != nullptr) + tcp_recved(mTCP, len); + else + res = CHIP_ERROR_CONNECTION_ABORTED; + + // Unlock LwIP stack + UNLOCK_TCPIP_CORE(); + + return res; +} + #if INET_CONFIG_OVERRIDE_SYSTEM_TCP_USER_TIMEOUT void TCPEndPoint::TCPUserTimeoutHandler(chip::System::Layer * aSystemLayer, void * aAppState) { @@ -1194,7 +1178,9 @@ CHIP_ERROR TCPEndPoint::BindImpl(IPAddressType addrType, const IPAddress & addr, sa.sin6_scope_id = 0; if (bind(mSocket, reinterpret_cast(&sa), static_cast(sizeof(sa))) != 0) + { res = CHIP_ERROR_POSIX(errno); + } } #if INET_CONFIG_ENABLE_IPV4 else if (addrType == IPAddressType::kIPv4) @@ -1206,11 +1192,15 @@ CHIP_ERROR TCPEndPoint::BindImpl(IPAddressType addrType, const IPAddress & addr, sa.sin_addr = addr.ToIPv4(); if (bind(mSocket, reinterpret_cast(&sa), static_cast(sizeof(sa))) != 0) + { res = CHIP_ERROR_POSIX(errno); + } } #endif // INET_CONFIG_ENABLE_IPV4 else + { res = INET_ERROR_WRONG_ADDRESS_TYPE; + } } #if CHIP_SYSTEM_CONFIG_USE_DISPATCH @@ -1242,42 +1232,40 @@ CHIP_ERROR TCPEndPoint::BindImpl(IPAddressType addrType, const IPAddress & addr, CHIP_ERROR TCPEndPoint::ListenImpl(uint16_t backlog) { - CHIP_ERROR res = CHIP_NO_ERROR; - if (listen(mSocket, backlog) != 0) { - res = CHIP_ERROR_POSIX(errno); + return CHIP_ERROR_POSIX(errno); } - else - { - // Enable non-blocking mode for the socket. - int flags = fcntl(mSocket, F_GETFL, 0); - fcntl(mSocket, F_SETFL, flags | O_NONBLOCK); - // Wait for ability to read on this endpoint. - res = static_cast(Layer().SystemLayer()) - ->SetCallback(mWatch, HandlePendingIO, reinterpret_cast(this)); - if (res == CHIP_NO_ERROR) - { - res = static_cast(Layer().SystemLayer())->RequestCallbackOnPendingRead(mWatch); - } + // Enable non-blocking mode for the socket. + int flags = fcntl(mSocket, F_GETFL, 0); + fcntl(mSocket, F_SETFL, flags | O_NONBLOCK); + + // Wait for ability to read on this endpoint. + CHIP_ERROR res = static_cast(Layer().SystemLayer()) + ->SetCallback(mWatch, HandlePendingIO, reinterpret_cast(this)); + if (res == CHIP_NO_ERROR) + { + res = static_cast(Layer().SystemLayer())->RequestCallbackOnPendingRead(mWatch); } + return res; } CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, InterfaceId intfId) { IPAddressType addrType = addr.Type(); - CHIP_ERROR res = GetSocket(addrType); - if (res != CHIP_NO_ERROR) - return res; + + ReturnErrorOnFailure(GetSocket(addrType)); if (intfId == INET_NULL_INTERFACEID) { // The behavior when connecting to an IPv6 link-local address without specifying an outbound // interface is ambiguous. So prevent it in all cases. if (addr.IsIPv6LinkLocal()) + { return INET_ERROR_WRONG_ADDRESS_TYPE; + } } else { @@ -1292,9 +1280,7 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter struct ::ifreq ifr; memset(&ifr, 0, sizeof(ifr)); - res = GetInterfaceName(intfId, ifr.ifr_name, sizeof(ifr.ifr_name)); - if (res != CHIP_NO_ERROR) - return res; + ReturnErrorOnFailure(GetInterfaceName(intfId, ifr.ifr_name, sizeof(ifr.ifr_name))); // Attempt to bind to the interface using SO_BINDTODEVICE which requires privileged access. // If the permission is denied(EACCES) because CHIP is running in a context @@ -1303,7 +1289,7 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter int r = setsockopt(mSocket, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)); if (r < 0 && errno != EACCES) { - return res = CHIP_ERROR_POSIX(errno); + return CHIP_ERROR_POSIX(errno); } if (r < 0) @@ -1312,9 +1298,7 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter // Attempting to initiate a connection via a specific interface is not allowed. // The only way to do this is to bind the local to an address on the desired // interface. - res = BindSrcAddrFromIntf(addrType, intfId); - if (res != CHIP_NO_ERROR) - return res; + ReturnErrorOnFailure(BindSrcAddrFromIntf(addrType, intfId)); } } } @@ -1332,14 +1316,7 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter socklen_t sockaddrsize = 0; const sockaddr * sockaddrptr = nullptr; - union - { - sockaddr any; - sockaddr_in6 in6; -#if INET_CONFIG_ENABLE_IPV4 - sockaddr_in in; -#endif // INET_CONFIG_ENABLE_IPV4 - } sa; + SockAddr sa; memset(&sa, 0, sizeof(sa)); if (addrType == IPAddressType::kIPv6) @@ -1363,13 +1340,15 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter } #endif // INET_CONFIG_ENABLE_IPV4 else + { return INET_ERROR_WRONG_ADDRESS_TYPE; + } int conRes = connect(mSocket, sockaddrptr, sockaddrsize); if (conRes == -1 && errno != EINPROGRESS) { - res = CHIP_ERROR_POSIX(errno); + CHIP_ERROR res = CHIP_ERROR_POSIX(errno); DoClose(res, true); return res; } @@ -1387,7 +1366,9 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter // Wait for ability to read on this endpoint. ReturnErrorOnFailure(static_cast(Layer().SystemLayer())->RequestCallbackOnPendingRead(mWatch)); if (OnConnectComplete != nullptr) + { OnConnectComplete(this, CHIP_NO_ERROR); + } } else { @@ -1396,100 +1377,56 @@ CHIP_ERROR TCPEndPoint::ConnectImpl(const IPAddress & addr, uint16_t port, Inter ReturnErrorOnFailure(static_cast(Layer().SystemLayer())->RequestCallbackOnPendingWrite(mWatch)); } - return res; + return CHIP_NO_ERROR; } CHIP_ERROR TCPEndPoint::GetPeerInfo(IPAddress * retAddr, uint16_t * retPort) const { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; - - union - { - sockaddr any; - sockaddr_in in; - sockaddr_in6 in6; - } sa; - memset(&sa, 0, sizeof(sa)); - socklen_t saLen = sizeof(sa); - - if (getpeername(mSocket, &sa.any, &saLen) != 0) - return CHIP_ERROR_POSIX(errno); - - if (sa.any.sa_family == AF_INET6) - { - *retAddr = IPAddress::FromIPv6(sa.in6.sin6_addr); - *retPort = ntohs(sa.in6.sin6_port); - } -#if INET_CONFIG_ENABLE_IPV4 - else if (sa.any.sa_family == AF_INET) - { - *retAddr = IPAddress::FromIPv4(sa.in.sin_addr); - *retPort = ntohs(sa.in.sin_port); - } -#endif // INET_CONFIG_ENABLE_IPV4 - else - return CHIP_ERROR_INCORRECT_STATE; - - return res; + return GetSocketInfo(getpeername, retAddr, retPort); } -CHIP_ERROR TCPEndPoint::GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) +CHIP_ERROR TCPEndPoint::GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) const { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + return GetSocketInfo(getsockname, retAddr, retPort); +} - union - { - sockaddr any; - sockaddr_in6 in6; -#if INET_CONFIG_ENABLE_IPV4 - sockaddr_in in; -#endif // INET_CONFIG_ENABLE_IPV4 - } sa; +CHIP_ERROR TCPEndPoint::GetSocketInfo(int getname(int, sockaddr *, socklen_t *), IPAddress * retAddr, uint16_t * retPort) const +{ + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + SockAddr sa; memset(&sa, 0, sizeof(sa)); socklen_t saLen = sizeof(sa); - if (getsockname(mSocket, &sa.any, &saLen) != 0) + if (getname(mSocket, &sa.any, &saLen) != 0) + { return CHIP_ERROR_POSIX(errno); + } if (sa.any.sa_family == AF_INET6) { - *retAddr = IPAddress::FromIPv6(sa.in6.sin6_addr); + *retAddr = IPAddress(sa.in6.sin6_addr); *retPort = ntohs(sa.in6.sin6_port); + return CHIP_NO_ERROR; } + #if INET_CONFIG_ENABLE_IPV4 - else if (sa.any.sa_family == AF_INET) + if (sa.any.sa_family == AF_INET) { - *retAddr = IPAddress::FromIPv4(sa.in.sin_addr); + *retAddr = IPAddress(sa.in.sin_addr); *retPort = ntohs(sa.in.sin_port); + return CHIP_NO_ERROR; } #endif // INET_CONFIG_ENABLE_IPV4 - else - return CHIP_ERROR_INCORRECT_STATE; - return res; + return CHIP_ERROR_INCORRECT_STATE; } CHIP_ERROR TCPEndPoint::GetInterfaceId(InterfaceId * retInterface) { - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; - - union - { - sockaddr any; - sockaddr_in6 in6; -#if INET_CONFIG_ENABLE_IPV4 - sockaddr_in in; -#endif // INET_CONFIG_ENABLE_IPV4 - } sa; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + SockAddr sa; memset(&sa, 0, sizeof(sa)); socklen_t saLen = sizeof(sa); @@ -1500,7 +1437,7 @@ CHIP_ERROR TCPEndPoint::GetInterfaceId(InterfaceId * retInterface) if (sa.any.sa_family == AF_INET6) { - if (IPAddress::FromIPv6(sa.in6.sin6_addr).IsIPv6LinkLocal()) + if (IPAddress(sa.in6.sin6_addr).IsIPv6LinkLocal()) { *retInterface = sa.in6.sin6_scope_id; } @@ -1522,7 +1459,7 @@ CHIP_ERROR TCPEndPoint::GetInterfaceId(InterfaceId * retInterface) #endif // INET_CONFIG_ENABLE_IPV4 *retInterface = INET_NULL_INTERFACEID; - return CHIP_ERROR_INCORRECT_STATE; + return INET_ERROR_WRONG_ADDRESS_TYPE; } CHIP_ERROR TCPEndPoint::SendQueuedImpl(bool queueWasEmpty) @@ -1537,82 +1474,72 @@ CHIP_ERROR TCPEndPoint::SendQueuedImpl(bool queueWasEmpty) CHIP_ERROR TCPEndPoint::EnableNoDelay() { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; - - { - int val; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); #ifdef TCP_NODELAY - // Disable TCP Nagle buffering by setting TCP_NODELAY socket option to true - val = 1; - if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_NODELAY, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); -#endif // defined(TCP_NODELAY) + // Disable TCP Nagle buffering by setting TCP_NODELAY socket option to true + int val = 1; + if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_NODELAY, &val, sizeof(val)) != 0) + { + return CHIP_ERROR_POSIX(errno); } +#endif // defined(TCP_NODELAY) - return res; + return CHIP_NO_ERROR; } CHIP_ERROR TCPEndPoint::EnableKeepAlive(uint16_t interval, uint16_t timeoutCount) { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + // Set the idle interval + int val = interval; + if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_IDLE_INTERVAL_OPT_NAME, &val, sizeof(val)) != 0) { - int val; - - // Set the idle interval - val = interval; - if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_IDLE_INTERVAL_OPT_NAME, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); + return CHIP_ERROR_POSIX(errno); + } - // Set the probe retransmission interval. - val = interval; - if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_KEEPINTVL, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); + // Set the probe retransmission interval. + val = interval; + if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_KEEPINTVL, &val, sizeof(val)) != 0) + { + return CHIP_ERROR_POSIX(errno); + } - // Set the probe timeout count - val = timeoutCount; - if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_KEEPCNT, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); + // Set the probe timeout count + val = timeoutCount; + if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_KEEPCNT, &val, sizeof(val)) != 0) + { + return CHIP_ERROR_POSIX(errno); + } - // Enable keepalives for the connection. - val = 1; // enable - if (setsockopt(mSocket, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); + // Enable keepalives for the connection. + val = 1; // enable + if (setsockopt(mSocket, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)) != 0) + { + return CHIP_ERROR_POSIX(errno); } - return res; + return CHIP_NO_ERROR; } CHIP_ERROR TCPEndPoint::DisableKeepAlive() { - CHIP_ERROR res = CHIP_NO_ERROR; - - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); + // Disable keepalives on the connection. + int val = 0; // disable + if (setsockopt(mSocket, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)) != 0) { - int val; - - // Disable keepalives on the connection. - val = 0; // disable - if (setsockopt(mSocket, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val)) != 0) - return CHIP_ERROR_POSIX(errno); + return CHIP_ERROR_POSIX(errno); } - return res; + return CHIP_NO_ERROR; } CHIP_ERROR TCPEndPoint::AckReceive(uint16_t len) { - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); // nothing to do for sockets case return CHIP_NO_ERROR; @@ -1624,7 +1551,9 @@ CHIP_ERROR TCPEndPoint::SetUserTimeoutImpl(uint32_t userTimeoutMillis) // Set the user timeout uint32_t val = userTimeoutMillis; if (setsockopt(mSocket, TCP_SOCKOPT_LEVEL, TCP_USER_TIMEOUT, &val, sizeof(val)) != 0) + { return CHIP_ERROR_POSIX(errno); + } return CHIP_NO_ERROR; #else // TCP_USER_TIMEOUT return CHIP_ERROR_NOT_IMPLEMENTED; @@ -1665,7 +1594,9 @@ CHIP_ERROR TCPEndPoint::DriveSendingImpl() if (lenSentRaw == -1) { if (errno != EAGAIN && errno != EWOULDBLOCK) + { err = (errno == EPIPE) ? INET_ERROR_PEER_DISCONNECTED : CHIP_ERROR_POSIX(errno); + } break; } @@ -1700,7 +1631,9 @@ CHIP_ERROR TCPEndPoint::DriveSendingImpl() } if (OnDataSent != nullptr) + { OnDataSent(this, lenSent); + } #if INET_CONFIG_ENABLE_TCP_SEND_IDLE_CALLBACKS // TCP Send is not Idle; Set state and notify if needed @@ -1736,7 +1669,9 @@ CHIP_ERROR TCPEndPoint::DriveSendingImpl() #endif // INET_CONFIG_OVERRIDE_SYSTEM_TCP_USER_TIMEOUT if (lenSent < bufLen) + { break; + } } if (err == CHIP_NO_ERROR) @@ -1745,7 +1680,9 @@ CHIP_ERROR TCPEndPoint::DriveSendingImpl() if (mState == State::kSendShutdown && mSendQueue.IsNull()) { if (shutdown(mSocket, SHUT_WR) != 0) + { err = CHIP_ERROR_POSIX(errno); + } } } @@ -1786,7 +1723,9 @@ void TCPEndPoint::DoCloseImpl(CHIP_ERROR err, State oldState) lingerStruct.l_linger = 0; if (setsockopt(mSocket, SOL_SOCKET, SO_LINGER, &lingerStruct, sizeof(lingerStruct)) != 0) + { ChipLogError(Inet, "SO_LINGER: %d", errno); + } } static_cast(Layer().SystemLayer())->StopWatchingSocket(&mWatch); @@ -1940,16 +1879,24 @@ CHIP_ERROR TCPEndPoint::GetSocket(IPAddressType addrType) { int family; if (addrType == IPAddressType::kIPv6) + { family = PF_INET6; #if INET_CONFIG_ENABLE_IPV4 + } else if (addrType == IPAddressType::kIPv4) + { family = PF_INET; #endif // INET_CONFIG_ENABLE_IPV4 + } else + { return INET_ERROR_WRONG_ADDRESS_TYPE; - mSocket = ::socket(family, SOCK_STREAM | SOCK_FLAGS, 0); + } + mSocket = ::socket(family, SOCK_STREAM | SOCK_CLOEXEC, 0); if (mSocket == -1) + { return CHIP_ERROR_POSIX(errno); + } ReturnErrorOnFailure(static_cast(Layer().SystemLayer())->StartWatchingSocket(mSocket, &mWatch)); mAddrType = addrType; @@ -2016,7 +1963,9 @@ void TCPEndPoint::HandlePendingIO(System::SocketEvents events) int osConRes; socklen_t optLen = sizeof(osConRes); if (getsockopt(mSocket, SOL_SOCKET, SO_ERROR, &osConRes, &optLen) != 0) + { osConRes = errno; + } #else // On Mbed OS, connect blocks and never returns EINPROGRESS // The socket option SO_ERROR is not available. @@ -2034,13 +1983,17 @@ void TCPEndPoint::HandlePendingIO(System::SocketEvents events) // If in a state where sending is allowed, and there is data to be sent, and the socket is ready for // writing, drive outbound data into the connection. if (IsConnected() && !mSendQueue.IsNull() && events.Has(System::SocketEventFlags::kWrite)) + { DriveSending(); + } // If in a state were receiving is allowed, and the app is ready to receive data, and data is ready // on the socket, receive inbound data from the connection. - if ((mState == State::kConnected || mState == State::kSendShutdown) && ReceiveEnabled && OnDataReceived != nullptr && + if ((mState == State::kConnected || mState == State::kSendShutdown) && mReceiveEnabled && OnDataReceived != nullptr && events.Has(System::SocketEventFlags::kRead)) + { ReceiveData(); + } } Release(); @@ -2052,7 +2005,9 @@ void TCPEndPoint::ReceiveData() bool isNewBuf = true; if (mRcvQueue.IsNull()) + { rcvBuf = System::PacketBufferHandle::New(kMaxReceiveMessageSize, 0); + } else { rcvBuf = mRcvQueue->Last(); @@ -2142,14 +2097,20 @@ void TCPEndPoint::ReceiveData() // the peer has closed. If no OnPeerClose is provided, we assume that the app // wants to close both directions and automatically enter the Closing state. if (mState == State::kConnected && OnPeerClose != nullptr) + { mState = State::kReceiveShutdown; + } else + { mState = State::kClosing; + } // Do not wait for ability to read on this endpoint. (void) static_cast(Layer().SystemLayer())->ClearCallbackOnPendingRead(mWatch); // Call the app's OnPeerClose. if (OnPeerClose != nullptr) + { OnPeerClose(this); + } } // Otherwise, add the new data onto the receive queue. @@ -2163,9 +2124,13 @@ void TCPEndPoint::ReceiveData() rcvBuf->SetDataLength(static_cast(newDataLength)); rcvBuf.RightSize(); if (mRcvQueue.IsNull()) + { mRcvQueue = std::move(rcvBuf); + } else + { mRcvQueue->AddToEnd(std::move(rcvBuf)); + } } else { @@ -2185,12 +2150,7 @@ void TCPEndPoint::HandleIncomingConnection() IPAddress peerAddr; uint16_t peerPort; - union - { - sockaddr any; - sockaddr_in in; - sockaddr_in6 in6; - } sa; + SockAddr sa; memset(&sa, 0, sizeof(sa)); socklen_t saLen = sizeof(sa); @@ -2210,25 +2170,29 @@ void TCPEndPoint::HandleIncomingConnection() // If there's no callback available, fail with an error. if (err == CHIP_NO_ERROR && OnConnectionReceived == nullptr) + { err = CHIP_ERROR_NO_CONNECTION_HANDLER; + } // Extract the peer's address information. if (err == CHIP_NO_ERROR) { if (sa.any.sa_family == AF_INET6) { - peerAddr = IPAddress::FromIPv6(sa.in6.sin6_addr); + peerAddr = IPAddress(sa.in6.sin6_addr); peerPort = ntohs(sa.in6.sin6_port); } #if INET_CONFIG_ENABLE_IPV4 else if (sa.any.sa_family == AF_INET) { - peerAddr = IPAddress::FromIPv4(sa.in.sin_addr); + peerAddr = IPAddress(sa.in.sin_addr); peerPort = ntohs(sa.in.sin_port); } #endif // INET_CONFIG_ENABLE_IPV4 else + { err = CHIP_ERROR_INCORRECT_STATE; + } } // Attempt to allocate an end point object. @@ -2273,7 +2237,9 @@ void TCPEndPoint::HandleIncomingConnection() // Otherwise immediately close the connection, clean up and call the app's error callback. if (conSocket != -1) + { close(conSocket); + } if (conEP != nullptr) { if (conEP->mState == State::kConnected) @@ -2283,7 +2249,9 @@ void TCPEndPoint::HandleIncomingConnection() conEP->Release(); } if (OnAcceptError != nullptr) + { OnAcceptError(this, err); + } } #if INET_CONFIG_OVERRIDE_SYSTEM_TCP_USER_TIMEOUT @@ -2338,13 +2306,13 @@ CHIP_ERROR TCPEndPoint::CheckConnectionProgress(bool & isProgressing) CHIP_ERROR TCPEndPoint::Bind(IPAddressType addrType, const IPAddress & addr, uint16_t port, bool reuseAddr) { + VerifyOrReturnError(mState == State::kReady, CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR res = CHIP_NO_ERROR; - if (mState != State::kReady) - return CHIP_ERROR_INCORRECT_STATE; - if (addr != IPAddress::Any && addr.Type() != IPAddressType::kAny && addr.Type() != addrType) + { return INET_ERROR_WRONG_ADDRESS_TYPE; + } res = BindImpl(addrType, addr, port, reuseAddr); @@ -2358,11 +2326,9 @@ CHIP_ERROR TCPEndPoint::Bind(IPAddressType addrType, const IPAddress & addr, uin CHIP_ERROR TCPEndPoint::Listen(uint16_t backlog) { + VerifyOrReturnError(mState == State::kBound, CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR res = CHIP_NO_ERROR; - if (mState != State::kBound) - return CHIP_ERROR_INCORRECT_STATE; - res = ListenImpl(backlog); if (res == CHIP_NO_ERROR) @@ -2378,11 +2344,9 @@ CHIP_ERROR TCPEndPoint::Listen(uint16_t backlog) CHIP_ERROR TCPEndPoint::Connect(const IPAddress & addr, uint16_t port, InterfaceId intfId) { + VerifyOrReturnError(mState == State::kReady || mState == State::kBound, CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR res = CHIP_NO_ERROR; - if (mState != State::kReady && mState != State::kBound) - return CHIP_ERROR_INCORRECT_STATE; - ReturnErrorOnFailure(ConnectImpl(addr, port, intfId)); StartConnectTimerIfSet(); @@ -2392,12 +2356,9 @@ CHIP_ERROR TCPEndPoint::Connect(const IPAddress & addr, uint16_t port, Interface CHIP_ERROR TCPEndPoint::Send(System::PacketBufferHandle && data, bool push) { + VerifyOrReturnError(mState == State::kConnected || mState == State::kReceiveShutdown, CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR res = CHIP_NO_ERROR; - if (mState != State::kConnected && mState != State::kReceiveShutdown) - { - return CHIP_ERROR_INCORRECT_STATE; - } bool queueWasEmpty = mSendQueue.IsNull(); if (queueWasEmpty) { @@ -2411,15 +2372,16 @@ CHIP_ERROR TCPEndPoint::Send(System::PacketBufferHandle && data, bool push) ReturnErrorOnFailure(SendQueuedImpl(queueWasEmpty)); if (push) + { res = DriveSending(); + } return res; } CHIP_ERROR TCPEndPoint::SetReceivedDataForTesting(System::PacketBufferHandle && data) { - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); mRcvQueue = std::move(data); @@ -2429,24 +2391,26 @@ CHIP_ERROR TCPEndPoint::SetReceivedDataForTesting(System::PacketBufferHandle && uint32_t TCPEndPoint::PendingSendLength() { if (!mSendQueue.IsNull()) + { return mSendQueue->TotalLength(); + } return 0; } uint32_t TCPEndPoint::PendingReceiveLength() { if (!mRcvQueue.IsNull()) + { return mRcvQueue->TotalLength(); + } return 0; } CHIP_ERROR TCPEndPoint::Shutdown() { + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR err = CHIP_NO_ERROR; - if (!IsConnected()) - return CHIP_ERROR_INCORRECT_STATE; - // If fully connected, enter the SendShutdown state. if (mState == State::kConnected) { @@ -2456,7 +2420,9 @@ CHIP_ERROR TCPEndPoint::Shutdown() // Otherwise, if the peer has already closed their end of the connection, else if (mState == State::kReceiveShutdown) + { err = DoClose(err, false); + } return err; } @@ -2501,7 +2467,9 @@ void TCPEndPoint::Free() // Ensure the end point is Closed or Closing. err = Close(); if (err != CHIP_NO_ERROR) + { Abort(); + } // Release the Retain() that happened when the end point was allocated // [on LwIP, the object may still be alive if DoClose() used the @@ -2517,7 +2485,9 @@ void TCPEndPoint::SetIdleTimeout(uint32_t timeoutMS) bool isIdleTimerRunning = lInetLayer.IsIdleTimerRunning(); if (newIdleTimeout > UINT16_MAX) + { newIdleTimeout = UINT16_MAX; + } mIdleTimeout = mRemainingIdleTime = static_cast(newIdleTimeout); if (!isIdleTimerRunning && mIdleTimeout) @@ -2530,13 +2500,9 @@ void TCPEndPoint::SetIdleTimeout(uint32_t timeoutMS) CHIP_ERROR TCPEndPoint::SetUserTimeout(uint32_t userTimeoutMillis) { + VerifyOrReturnError(IsConnected(), CHIP_ERROR_INCORRECT_STATE); CHIP_ERROR res = CHIP_NO_ERROR; - if (!IsConnected()) - { - return CHIP_ERROR_INCORRECT_STATE; - } - #if INET_CONFIG_OVERRIDE_SYSTEM_TCP_USER_TIMEOUT // Store the User timeout configuration if it is being overridden. @@ -2585,7 +2551,7 @@ void TCPEndPoint::Init(InetLayer * inetLayer) { InitEndPointBasis(*inetLayer); - ReceiveEnabled = true; + mReceiveEnabled = true; // Initialize to zero for using system defaults. mConnectTimeoutMsecs = 0; @@ -2615,7 +2581,9 @@ CHIP_ERROR TCPEndPoint::DriveSending() CHIP_ERROR err = DriveSendingImpl(); if (err != CHIP_NO_ERROR) + { DoClose(err, false); + } CHIP_SYSTEM_FAULT_INJECT_ASYNC_EVENT(); @@ -2626,7 +2594,7 @@ void TCPEndPoint::DriveReceiving() { // If there's data in the receive queue and the app is ready to receive it then call the app's callback // with the entire receive queue. - if (!mRcvQueue.IsNull() && ReceiveEnabled && OnDataReceived != nullptr) + if (!mRcvQueue.IsNull() && mReceiveEnabled && OnDataReceived != nullptr) { // Acknowledgement is done after handling the buffers to allow the // application processing to throttle flow. @@ -2643,7 +2611,9 @@ void TCPEndPoint::DriveReceiving() // If the connection is closing, and the receive queue is now empty, call DoClose() to complete // the process of closing the connection. if (mState == State::kClosing && mRcvQueue.IsNull()) + { DoClose(CHIP_NO_ERROR, false); + } } void TCPEndPoint::HandleConnectComplete(CHIP_ERROR err) @@ -2662,7 +2632,9 @@ void TCPEndPoint::HandleConnectComplete(CHIP_ERROR err) HandleConnectCompleteImpl(); if (OnConnectComplete != nullptr) + { OnConnectComplete(this, CHIP_NO_ERROR); + } } // Otherwise, close the connection with an error. @@ -2682,9 +2654,13 @@ CHIP_ERROR TCPEndPoint::DoClose(CHIP_ERROR err, bool suppressCallback) // ... THEN enter the Closing state, allowing the queued data to drain, // ... OTHERWISE go straight to the Closed state. if (IsConnected() && err == CHIP_NO_ERROR && (!mSendQueue.IsNull() || !mRcvQueue.IsNull())) + { mState = State::kClosing; + } else + { mState = State::kClosed; + } if (oldState != State::kClosed) { @@ -2718,12 +2694,16 @@ CHIP_ERROR TCPEndPoint::DoClose(CHIP_ERROR err, bool suppressCallback) if (oldState == State::kConnecting) { if (OnConnectComplete != nullptr) + { OnConnectComplete(this, err); + } } else if ((oldState == State::kConnected || oldState == State::kSendShutdown || oldState == State::kReceiveShutdown || oldState == State::kClosing) && OnConnectionClosed != nullptr) + { OnConnectionClosed(this, err); + } } // Decrement the ref count that was added when the connection started (in Connect()) or listening started (in Listen()). diff --git a/src/inet/TCPEndPoint.h b/src/inet/TCPEndPoint.h index d11fd06ba187c4..0dcad952a21876 100644 --- a/src/inet/TCPEndPoint.h +++ b/src/inet/TCPEndPoint.h @@ -48,6 +48,7 @@ class TCPTest; namespace Inet { class InetLayer; +class TCPTest; /** * @brief Objects of this class represent TCP transport endpoints. @@ -61,31 +62,9 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis { friend class InetLayer; friend class ::chip::Transport::TCPTest; + friend class TCPTest; public: - /** Control switch indicating whether the application is receiving data. */ - bool ReceiveEnabled; - - /** - * Basic dynamic state of the underlying endpoint. - * - * Objects are initialized in the "ready" state, proceed to subsequent - * states corresponding to a simplification of the states of the TCP - * transport state machine. - */ - enum class State : uint8_t - { - kReady = 0, /**< Endpoint initialized, but not bound. */ - kBound = 1, /**< Endpoint bound, but not listening. */ - kListening = 2, /**< Endpoint receiving connections. */ - kConnecting = 3, /**< Endpoint attempting to connect. */ - kConnected = 4, /**< Endpoint connected, ready for tx/rx. */ - kSendShutdown = 5, /**< Endpoint initiated its half-close. */ - kReceiveShutdown = 6, /**< Endpoint responded to half-close. */ - kClosing = 7, /**< Endpoint closing bidirectionally. */ - kClosed = 8 /**< Endpoint closed, ready for release. */ - } mState; - TCPEndPoint() = default; /** @@ -174,7 +153,7 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis * @retval CHIP_ERROR_CONNECTION_ABORTED TCP connection no longer open. * * @details - * Do not use \c NULL pointer values for either argument. + * Do not use \c nullptr for either argument. */ CHIP_ERROR GetPeerInfo(IPAddress * retAddr, uint16_t * retPort) const; @@ -189,9 +168,9 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis * @retval CHIP_ERROR_CONNECTION_ABORTED TCP connection no longer open. * * @details - * Do not use \c NULL pointer values for either argument. + * Do not use \c nullptr for either argument. */ - CHIP_ERROR GetLocalInfo(IPAddress * retAddr, uint16_t * retPort); + CHIP_ERROR GetLocalInfo(IPAddress * retAddr, uint16_t * retPort) const; /** * @brief Extract the interface id of the TCP endpoint. @@ -216,32 +195,27 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis CHIP_ERROR Send(chip::System::PacketBufferHandle && data, bool push = true); /** - * @brief Disable reception. + * Disable reception. * - * @details * Disable all event handlers. Data sent to an endpoint that disables * reception will be acknowledged until the receive window is exhausted. */ - void DisableReceive() { ReceiveEnabled = false; } + void DisableReceive() { mReceiveEnabled = false; } /** - * @brief Enable reception. + * Enable reception. * - * @details * Enable all event handlers. Data sent to an endpoint that disables * reception will be acknowledged until the receive window is exhausted. */ void EnableReceive() { - ReceiveEnabled = true; + mReceiveEnabled = true; DriveReceiving(); } /** - * @brief EnableNoDelay - * - * Switch off nagle buffering algorithm in TCP by setting the - * TCP_NODELAY socket options. + * Switch off Nagle buffering algorithm. */ CHIP_ERROR EnableNoDelay(); @@ -599,6 +573,29 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis private: static chip::System::ObjectPool sPool; + /** + * Basic dynamic state of the underlying endpoint. + * + * Objects are initialized in the "ready" state, proceed to subsequent + * states corresponding to a simplification of the states of the TCP + * transport state machine. + */ + enum class State : uint8_t + { + kReady = 0, /**< Endpoint initialized, but not bound. */ + kBound = 1, /**< Endpoint bound, but not listening. */ + kListening = 2, /**< Endpoint receiving connections. */ + kConnecting = 3, /**< Endpoint attempting to connect. */ + kConnected = 4, /**< Endpoint connected, ready for tx/rx. */ + kSendShutdown = 5, /**< Endpoint initiated its half-close. */ + kReceiveShutdown = 6, /**< Endpoint responded to half-close. */ + kClosing = 7, /**< Endpoint closing bidirectionally. */ + kClosed = 8 /**< Endpoint closed, ready for release. */ + } mState; + + /** Control switch indicating whether the application is receiving data. */ + bool mReceiveEnabled; + chip::System::PacketBufferHandle mRcvQueue; chip::System::PacketBufferHandle mSendQueue; #if INET_TCP_IDLE_CHECK_INTERVAL > 0 @@ -657,7 +654,7 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis #endif // INET_CONFIG_OVERRIDE_SYSTEM_TCP_USER_TIMEOUT - TCPEndPoint(const TCPEndPoint &); // not defined + TCPEndPoint(const TCPEndPoint &) = delete; void Init(InetLayer * inetLayer); CHIP_ERROR DriveSending(); @@ -716,6 +713,7 @@ class DLL_EXPORT TCPEndPoint : public EndPointBasis #endif // CHIP_SYSTEM_CONFIG_USE_LWIP #if CHIP_SYSTEM_CONFIG_USE_SOCKETS + CHIP_ERROR GetSocketInfo(int getname(int, sockaddr *, socklen_t *), IPAddress * retAddr, uint16_t * retPort) const; CHIP_ERROR GetSocket(IPAddressType addrType); void HandlePendingIO(System::SocketEvents events); void ReceiveData(); diff --git a/src/inet/UDPEndPoint.cpp b/src/inet/UDPEndPoint.cpp index eaef4fc599a244..e6ff19e044e30f 100644 --- a/src/inet/UDPEndPoint.cpp +++ b/src/inet/UDPEndPoint.cpp @@ -56,10 +56,8 @@ #include // SOCK_CLOEXEC not defined on all platforms, e.g. iOS/macOS: -#ifdef SOCK_CLOEXEC -#define SOCK_FLAGS SOCK_CLOEXEC -#else -#define SOCK_FLAGS 0 +#ifndef SOCK_CLOEXEC +#define SOCK_CLOEXEC 0 #endif #if CHIP_SYSTEM_CONFIG_USE_ZEPHYR_SOCKET_EXTENSIONS @@ -79,6 +77,8 @@ chip::System::ObjectPool UDPEndPoint #if CHIP_SYSTEM_CONFIG_USE_LWIP +namespace { + /* * Note that for LwIP InterfaceId is already defined to be 'struct * netif'; consequently, some of the checking performed here could @@ -88,7 +88,7 @@ chip::System::ObjectPool UDPEndPoint * udp_bind_netif(aUDP, intfId); * */ -static CHIP_ERROR LwIPBindInterface(struct udp_pcb * aUDP, InterfaceId intfId) +CHIP_ERROR LwIPBindInterface(struct udp_pcb * aUDP, InterfaceId intfId) { CHIP_ERROR res = CHIP_NO_ERROR; @@ -121,6 +121,8 @@ static CHIP_ERROR LwIPBindInterface(struct udp_pcb * aUDP, InterfaceId intfId) return res; } +} // anonymous namespace + CHIP_ERROR UDPEndPoint::BindImpl(IPAddressType addrType, const IPAddress & addr, uint16_t port, InterfaceId intfId) { // Lock LwIP stack @@ -263,91 +265,89 @@ CHIP_ERROR UDPEndPoint::SendMsgImpl(const IPPacketInfo * pktInfo, System::Packet // If a source address has been specified, temporarily override the local_ip of the PCB. // This results in LwIP using the given address being as the source address for the generated // packet, as if the PCB had been bound to that address. - { - err_t lwipErr = ERR_VAL; - const IPAddress & srcAddr = pktInfo->SrcAddress; - const uint16_t & destPort = pktInfo->DestPort; - const InterfaceId & intfId = pktInfo->Interface; + err_t lwipErr = ERR_VAL; + const IPAddress & srcAddr = pktInfo->SrcAddress; + const uint16_t & destPort = pktInfo->DestPort; + const InterfaceId & intfId = pktInfo->Interface; #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 - ip_addr_t lwipSrcAddr = srcAddr.ToLwIPAddr(); - ip_addr_t lwipDestAddr = destAddr.ToLwIPAddr(); + ip_addr_t lwipSrcAddr = srcAddr.ToLwIPAddr(); + ip_addr_t lwipDestAddr = destAddr.ToLwIPAddr(); - ip_addr_t boundAddr; - ip_addr_copy(boundAddr, mUDP->local_ip); + ip_addr_t boundAddr; + ip_addr_copy(boundAddr, mUDP->local_ip); - if (!ip_addr_isany(&lwipSrcAddr)) - { - ip_addr_copy(mUDP->local_ip, lwipSrcAddr); - } + if (!ip_addr_isany(&lwipSrcAddr)) + { + ip_addr_copy(mUDP->local_ip, lwipSrcAddr); + } - if (intfId != INET_NULL_INTERFACEID) - lwipErr = udp_sendto_if(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); - else - lwipErr = udp_sendto(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); + if (intfId != INET_NULL_INTERFACEID) + lwipErr = udp_sendto_if(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); + else + lwipErr = udp_sendto(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); - ip_addr_copy(mUDP->local_ip, boundAddr); + ip_addr_copy(mUDP->local_ip, boundAddr); #else // LWIP_VERSION_MAJOR <= 1 && LWIP_VERSION_MINOR < 5 - ipX_addr_t boundAddr; - ipX_addr_copy(boundAddr, mUDP->local_ip); - - if (PCB_ISIPV6(mUDP)) - { - ip6_addr_t lwipSrcAddr = srcAddr.ToIPv6(); - ip6_addr_t lwipDestAddr = destAddr.ToIPv6(); + ipX_addr_t boundAddr; + ipX_addr_copy(boundAddr, mUDP->local_ip); - if (!ip6_addr_isany(&lwipSrcAddr)) - { - ipX_addr_copy(mUDP->local_ip, *ip6_2_ipX(&lwipSrcAddr)); - } + if (PCB_ISIPV6(mUDP)) + { + ip6_addr_t lwipSrcAddr = srcAddr.ToIPv6(); + ip6_addr_t lwipDestAddr = destAddr.ToIPv6(); - if (intfId != INET_NULL_INTERFACEID) - lwipErr = - udp_sendto_if_ip6(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); - else - lwipErr = udp_sendto_ip6(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); + if (!ip6_addr_isany(&lwipSrcAddr)) + { + ipX_addr_copy(mUDP->local_ip, *ip6_2_ipX(&lwipSrcAddr)); } -#if INET_CONFIG_ENABLE_IPV4 - + if (intfId != INET_NULL_INTERFACEID) + lwipErr = + udp_sendto_if_ip6(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); else - { - ip4_addr_t lwipSrcAddr = srcAddr.ToIPv4(); - ip4_addr_t lwipDestAddr = destAddr.ToIPv4(); - ipX_addr_t boundAddr; + lwipErr = udp_sendto_ip6(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); + } - if (!ip_addr_isany(&lwipSrcAddr)) - { - ipX_addr_copy(mUDP->local_ip, *ip_2_ipX(&lwipSrcAddr)); - } +#if INET_CONFIG_ENABLE_IPV4 - if (intfId != INET_NULL_INTERFACEID) - lwipErr = - udp_sendto_if(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); - else - lwipErr = udp_sendto(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); + else + { + ip4_addr_t lwipSrcAddr = srcAddr.ToIPv4(); + ip4_addr_t lwipDestAddr = destAddr.ToIPv4(); + ipX_addr_t boundAddr; + + if (!ip_addr_isany(&lwipSrcAddr)) + { + ipX_addr_copy(mUDP->local_ip, *ip_2_ipX(&lwipSrcAddr)); } - ipX_addr_copy(mUDP->local_ip, boundAddr); + if (intfId != INET_NULL_INTERFACEID) + lwipErr = udp_sendto_if(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort, intfId); + else + lwipErr = udp_sendto(mUDP, System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(msg), &lwipDestAddr, destPort); + } + + ipX_addr_copy(mUDP->local_ip, boundAddr); #endif // INET_CONFIG_ENABLE_IPV4 #endif // LWIP_VERSION_MAJOR <= 1 || LWIP_VERSION_MINOR >= 5 - if (lwipErr != ERR_OK) - res = chip::System::MapErrorLwIP(lwipErr); - } - // Unlock LwIP stack UNLOCK_TCPIP_CORE(); + if (lwipErr != ERR_OK) + res = chip::System::MapErrorLwIP(lwipErr); + return res; } void UDPEndPoint::CloseImpl() { + // Lock LwIP stack LOCK_TCPIP_CORE(); @@ -485,19 +485,19 @@ void UDPEndPoint::LwIPReceiveUDPMessage(void * arg, struct udp_pcb * pcb, struct if (pktInfo != NULL) { #if LWIP_VERSION_MAJOR > 1 || LWIP_VERSION_MINOR >= 5 - pktInfo->SrcAddress = IPAddress::FromLwIPAddr(*addr); - pktInfo->DestAddress = IPAddress::FromLwIPAddr(*ip_current_dest_addr()); + pktInfo->SrcAddress = IPAddress(*addr); + pktInfo->DestAddress = IPAddress(*ip_current_dest_addr()); #else // LWIP_VERSION_MAJOR <= 1 if (PCB_ISIPV6(pcb)) { - pktInfo->SrcAddress = IPAddress::FromIPv6(*(ip6_addr_t *) addr); - pktInfo->DestAddress = IPAddress::FromIPv6(*ip6_current_dest_addr()); + pktInfo->SrcAddress = IPAddress(*(ip6_addr_t *) addr); + pktInfo->DestAddress = IPAddress(*ip6_current_dest_addr()); } #if INET_CONFIG_ENABLE_IPV4 else { - pktInfo->SrcAddress = IPAddress::FromIPv4(*addr); - pktInfo->DestAddress = IPAddress::FromIPv4(*ip_current_dest_addr()); + pktInfo->SrcAddress = IPAddress(*addr); + pktInfo->DestAddress = IPAddress(*ip_current_dest_addr()); } #endif // INET_CONFIG_ENABLE_IPV4 #endif // LWIP_VERSION_MAJOR <= 1 @@ -507,7 +507,13 @@ void UDPEndPoint::LwIPReceiveUDPMessage(void * arg, struct udp_pcb * pcb, struct pktInfo->DestPort = pcb->local_port; } - PostPacketBufferEvent(lSystemLayer, *ep, kInetEvent_UDPDataReceived, std::move(buf)); + const CHIP_ERROR error = + lSystemLayer->PostEvent(*ep, kInetEvent_UDPDataReceived, (uintptr_t) System::LwIPPacketBufferView::UnsafeGetLwIPpbuf(buf)); + if (error == CHIP_NO_ERROR) + { + // If PostEvent() succeeded, it has ownership of the buffer, so we need to release it (without freeing it). + static_cast(std::move(buf).UnsafeRelease()); + } } #endif // CHIP_SYSTEM_CONFIG_USE_LWIP @@ -526,12 +532,7 @@ CHIP_ERROR UDPEndPoint::BindImpl(IPAddressType addrType, const IPAddress & addr, // If an ephemeral port was requested, retrieve the actual bound port. if (port == 0) { - union - { - struct sockaddr any; - struct sockaddr_in in; - struct sockaddr_in6 in6; - } boundAddr; + SockAddr boundAddr; socklen_t boundAddrLen = sizeof(boundAddr); if (getsockname(mSocket, &boundAddr.any, &boundAddrLen) == 0) @@ -626,7 +627,7 @@ void UDPEndPoint::Free() CHIP_ERROR UDPEndPoint::GetSocket(IPAddressType aAddressType) { - constexpr int lType = (SOCK_DGRAM | SOCK_FLAGS); + constexpr int lType = (SOCK_DGRAM | SOCK_CLOEXEC); constexpr int lProtocol = 0; return IPEndPointBasis::GetSocket(aAddressType, lType, lProtocol); diff --git a/src/inet/tests/TestInetAddress.cpp b/src/inet/tests/TestInetAddress.cpp index 6465593a21cb7e..f29ca49e2b5327 100644 --- a/src/inet/tests/TestInetAddress.cpp +++ b/src/inet/tests/TestInetAddress.cpp @@ -1053,7 +1053,7 @@ void CheckFromIPv6(nlTestSuite * inSuite, void * inContext) struct in6_addr ip_addr; ip_addr = *reinterpret_cast(addr); #endif - test_addr_2 = IPAddress::FromIPv6(ip_addr); + test_addr_2 = IPAddress(ip_addr); CheckAddressQuartets(inSuite, test_addr_1, test_addr_2); @@ -1186,7 +1186,7 @@ void CheckFromIPv4(nlTestSuite * inSuite, void * inContext) ip_addr.s_addr = htonl(lCurrent->mAddr.mAddrQuartets[3]); test_addr_1.Addr[2] = htonl(0xffff); #endif - test_addr_2 = IPAddress::FromIPv4(ip_addr); + test_addr_2 = IPAddress(ip_addr); CheckAddressQuartets(inSuite, test_addr_1, test_addr_2); @@ -1232,7 +1232,7 @@ void CheckFromSocket(nlTestSuite * inSuite, void * inContext) memset(&sock_v4, 0, sizeof(struct sockaddr_in)); sock_v4.sin_family = AF_INET; memcpy(&sock_v4.sin_addr.s_addr, &addr[3], sizeof(struct in_addr)); - test_addr_2 = IPAddress::FromSockAddr(reinterpret_cast(sock_v4)); + test_addr_2 = IPAddress::FromSockAddr(sock_v4); break; #endif // INET_CONFIG_ENABLE_IPV4 @@ -1240,14 +1240,14 @@ void CheckFromSocket(nlTestSuite * inSuite, void * inContext) memset(&sock_v6, 0, sizeof(struct sockaddr_in6)); sock_v6.sin6_family = AF_INET6; memcpy(&sock_v6.sin6_addr.s6_addr, addr, sizeof(struct in6_addr)); - test_addr_2 = IPAddress::FromSockAddr(reinterpret_cast(sock_v6)); + test_addr_2 = IPAddress::FromSockAddr(sock_v6); break; case IPAddressType::kAny: memset(&sock_v6, 0, sizeof(struct sockaddr_in6)); sock_v6.sin6_family = 0; memcpy(&sock_v6.sin6_addr.s6_addr, addr, sizeof(struct in6_addr)); - test_addr_2 = IPAddress::FromSockAddr(reinterpret_cast(sock_v6)); + test_addr_2 = IPAddress::FromSockAddr(sock_v6); break; default: diff --git a/src/inet/tests/TestInetLayer.cpp b/src/inet/tests/TestInetLayer.cpp index 61a54388d960ab..ee3ff88a3ef303 100644 --- a/src/inet/tests/TestInetLayer.cpp +++ b/src/inet/tests/TestInetLayer.cpp @@ -185,6 +185,22 @@ static OptionSet * sToolOptionSets[] = }; // clang-format on +namespace chip { +namespace Inet { + +class TCPTest +{ +public: + static bool StateIsConnected(const TCPEndPoint * endPoint) { return endPoint->mState == TCPEndPoint::State::kConnected; } + static bool StateIsConnectedOrReceiveShutdown(const TCPEndPoint * endPoint) + { + return endPoint->mState == TCPEndPoint::State::kConnected || endPoint->mState == TCPEndPoint::State::kReceiveShutdown; + } +}; + +} // namespace Inet +} // namespace chip + static void CheckSucceededOrFailed(TestState & aTestState, bool & aOutSucceeded, bool & aOutFailed) { const TransferStats & lStats = aTestState.mStats; @@ -570,7 +586,7 @@ static CHIP_ERROR HandleTCPDataReceived(TCPEndPoint * aEndPoint, PacketBufferHan VerifyOrExit(aEndPoint != nullptr, lStatus = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(!aBuffer.IsNull(), lStatus = CHIP_ERROR_INVALID_ARGUMENT); - if (aEndPoint->mState != TCPEndPoint::State::kConnected) + if (!TCPTest::StateIsConnected(aEndPoint)) { lStatus = aEndPoint->SetReceivedDataForTesting(std::move(aBuffer)); INET_FAIL_ERROR(lStatus, "TCPEndPoint::PutBackReceivedData failed"); @@ -654,33 +670,18 @@ static void HandleUDPReceiveError(IPEndPointBasis * aEndPoint, CHIP_ERROR aError static bool IsTransportReadyForSend() { - bool lStatus = false; - if ((gOptFlags & kOptFlagUseUDPIP) == kOptFlagUseUDPIP) { - lStatus = (sUDPIPEndPoint != nullptr); + return (sUDPIPEndPoint != nullptr); } - else if ((gOptFlags & kOptFlagUseTCPIP) == kOptFlagUseTCPIP) + + if ((gOptFlags & kOptFlagUseTCPIP) == kOptFlagUseTCPIP) { - if (sTCPIPEndPoint != nullptr) - { - if (sTCPIPEndPoint->PendingSendLength() == 0) - { - switch (sTCPIPEndPoint->mState) - { - case TCPEndPoint::State::kConnected: - case TCPEndPoint::State::kReceiveShutdown: - lStatus = true; - break; - - default: - break; - } - } - } + return (sTCPIPEndPoint != nullptr) && (sTCPIPEndPoint->PendingSendLength() == 0) && + TCPTest::StateIsConnectedOrReceiveShutdown(sTCPIPEndPoint); } - return (lStatus); + return false; } static CHIP_ERROR PrepareTransportForSend() diff --git a/src/inet/tests/TestLwIPDNS.cpp b/src/inet/tests/TestLwIPDNS.cpp index e53824d95b8592..0d97d6e6f8cae0 100644 --- a/src/inet/tests/TestLwIPDNS.cpp +++ b/src/inet/tests/TestLwIPDNS.cpp @@ -88,7 +88,7 @@ static void found_multi(const char * aName, ip_addr_t * aIpAddrs, uint8_t aNumIp { char addrStr[INET6_ADDRSTRLEN]; - IPAddress::FromIPv4(aIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); + IPAddress(aIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); printf("\t(%d) IPv4: %s\n", i, addrStr); } @@ -145,7 +145,7 @@ static void TestLwIPDNS(void) for (uint8_t i = 0; i < sNumIpAddrs; ++i) { char addrStr[64]; - IPAddress::FromIPv4(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); + IPAddress(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); printf("\t(%d) IPv4: %s\n", i, addrStr); } } @@ -171,7 +171,7 @@ static void TestLwIPDNS(void) for (i = 0; i < sNumIpAddrs; ++i) { char addrStr[64]; - IPAddress::FromIPv4(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); + IPAddress(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); printf("\t(%d) IPv4: %s\n", i, addrStr); } } @@ -197,7 +197,7 @@ static void TestLwIPDNS(void) for (i = 0; i < sNumIpAddrs; ++i) { char addrStr[64]; - IPAddress::FromIPv4(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); + IPAddress(sIpAddrs[i]).ToString(addrStr, sizeof(addrStr)); printf("\t(%d) IPv4: %s\n", i, addrStr); } } diff --git a/src/lib/core/CHIPTLV.h b/src/lib/core/CHIPTLV.h index 930607ddc74993..b68d59bdeb87c5 100644 --- a/src/lib/core/CHIPTLV.h +++ b/src/lib/core/CHIPTLV.h @@ -862,6 +862,15 @@ class DLL_EXPORT TLVReader */ CHIP_ERROR FindElementWithTag(Tag tagInApiForm, TLVReader & destReader) const; + /** + * Count how many elements remain in the currently-open container. Will + * fail with CHIP_ERROR_INCORRECT_STATE if not currently in a container. + * + * @param[out] size On success, set to the number of items following the + * current reader position in the container. + */ + CHIP_ERROR CountRemainingInContainer(size_t * size) const; + /** * The profile id to be used for profile tags encoded in implicit form. * diff --git a/src/lib/core/CHIPTLVReader.cpp b/src/lib/core/CHIPTLVReader.cpp index 6fb6ca06d803e8..31f67bf7d494e9 100644 --- a/src/lib/core/CHIPTLVReader.cpp +++ b/src/lib/core/CHIPTLVReader.cpp @@ -949,6 +949,28 @@ CHIP_ERROR TLVReader::FindElementWithTag(Tag tag, TLVReader & destReader) const return err; } +CHIP_ERROR TLVReader::CountRemainingInContainer(size_t * size) const +{ + if (mContainerType == kTLVType_NotSpecified) + { + return CHIP_ERROR_INCORRECT_STATE; + } + + TLVReader tempReader(*this); + size_t count = 0; + CHIP_ERROR err; + while ((err = tempReader.Next()) == CHIP_NO_ERROR) + { + ++count; + }; + if (err == CHIP_END_OF_TLV) + { + *size = count; + return CHIP_NO_ERROR; + } + return err; +} + CHIP_ERROR ContiguousBufferTLVReader::OpenContainer(ContiguousBufferTLVReader & containerReader) { // We are going to initialize containerReader by calling our superclass diff --git a/src/lib/core/Optional.h b/src/lib/core/Optional.h index 6e14e00f506bc5..c94edfb0d7fa30 100644 --- a/src/lib/core/Optional.h +++ b/src/lib/core/Optional.h @@ -29,6 +29,13 @@ namespace chip { +/// An empty class type used to indicate optional type with uninitialized state. +struct NullOptionalType +{ + explicit NullOptionalType() = default; +}; +constexpr NullOptionalType NullOptional{}; + /** * Pairs an object with a boolean value to determine if the object value * is actually valid or not. @@ -38,6 +45,8 @@ class Optional { public: constexpr Optional() : mHasValue(false) {} + constexpr Optional(NullOptionalType) : mHasValue(false) {} + ~Optional() { if (mHasValue) diff --git a/src/lib/dnssd/Resolver.h b/src/lib/dnssd/Resolver.h index ffa2f5a00f8ee6..4102b6d016e3fa 100644 --- a/src/lib/dnssd/Resolver.h +++ b/src/lib/dnssd/Resolver.h @@ -40,7 +40,7 @@ struct ResolvedNodeData void LogNodeIdResolved() { #if CHIP_PROGRESS_LOGGING - char addrBuffer[Inet::IPAddress::kMaxStringLength + 1]; + char addrBuffer[Inet::IPAddress::kMaxStringLength]; mAddress.ToString(addrBuffer); // Would be nice to log the interface id, but sorting out how to do so // across our differnet InterfaceId implementations is a pain. diff --git a/src/messaging/ExchangeContext.cpp b/src/messaging/ExchangeContext.cpp index 24ee62526ffba4..d784817cda1a14 100644 --- a/src/messaging/ExchangeContext.cpp +++ b/src/messaging/ExchangeContext.cpp @@ -124,7 +124,7 @@ CHIP_ERROR ExchangeContext::SendMessage(Protocols::Id protocolId, uint8_t msgTyp SetResponseExpected(true); // Arm the response timer if a timeout has been specified. - if (mResponseTimeout > 0) + if (mResponseTimeout > System::Clock::Zero) { CHIP_ERROR err = StartResponseTimer(); if (err != CHIP_NO_ERROR) @@ -338,7 +338,7 @@ CHIP_ERROR ExchangeContext::StartResponseTimer() return CHIP_ERROR_INTERNAL; } - return lSystemLayer->StartTimer(chip::System::Clock::Milliseconds32(mResponseTimeout), HandleResponseTimeout, this); + return lSystemLayer->StartTimer(mResponseTimeout, HandleResponseTimeout, this); } void ExchangeContext::CancelResponseTimer() diff --git a/src/messaging/ExchangeContext.h b/src/messaging/ExchangeContext.h index 71dbadfc86b23a..82906ef401bf7f 100644 --- a/src/messaging/ExchangeContext.h +++ b/src/messaging/ExchangeContext.h @@ -61,7 +61,7 @@ class DLL_EXPORT ExchangeContext : public ReliableMessageContext, public Referen friend class ExchangeContextDeletor; public: - typedef uint32_t Timeout; // Type used to express the timeout in this ExchangeContext, in milliseconds + typedef System::Clock::Timeout Timeout; // Type used to express the timeout in this ExchangeContext ExchangeContext(ExchangeManager * em, uint16_t ExchangeId, SessionHandle session, bool Initiator, ExchangeDelegate * delegate); @@ -165,7 +165,7 @@ class DLL_EXPORT ExchangeContext : public ReliableMessageContext, public Referen void SetResponseTimeout(Timeout timeout); private: - Timeout mResponseTimeout = 0; // Maximum time to wait for response (in milliseconds); 0 disables response timeout. + Timeout mResponseTimeout{ 0 }; // Maximum time to wait for response (in milliseconds); 0 disables response timeout. ExchangeDelegate * mDelegate = nullptr; ExchangeManager * mExchangeMgr = nullptr; diff --git a/src/platform/Ameba/ConfigurationManagerImpl.cpp b/src/platform/Ameba/ConfigurationManagerImpl.cpp index 3e18dbdd90b27f..24a6c273889187 100644 --- a/src/platform/Ameba/ConfigurationManagerImpl.cpp +++ b/src/platform/Ameba/ConfigurationManagerImpl.cpp @@ -39,22 +39,22 @@ using namespace ::chip::DeviceLayer::Internal; */ ConfigurationManagerImpl ConfigurationManagerImpl::sInstance; -CHIP_ERROR ConfigurationManagerImpl::_Init() +CHIP_ERROR ConfigurationManagerImpl::Init() { CHIP_ERROR err; bool failSafeArmed; // Initialize the generic implementation base class. - err = Internal::GenericConfigurationManagerImpl::_Init(); + err = Internal::GenericConfigurationManagerImpl::Init(); SuccessOrExit(err); // TODO: initialize NVM component // If the fail-safe was armed when the device last shutdown, initiate a factory reset. - if (_GetFailSafeArmed(failSafeArmed) == CHIP_NO_ERROR && failSafeArmed) + if (GetFailSafeArmed(failSafeArmed) == CHIP_NO_ERROR && failSafeArmed) { ChipLogProgress(DeviceLayer, "Detected fail-safe armed on reboot; initiating factory reset"); - _InitiateFactoryReset(); + InitiateFactoryReset(); } err = CHIP_NO_ERROR; @@ -62,31 +62,31 @@ CHIP_ERROR ConfigurationManagerImpl::_Init() return err; } -CHIP_ERROR ConfigurationManagerImpl::_GetPrimaryWiFiMACAddress(uint8_t * buf) +CHIP_ERROR ConfigurationManagerImpl::GetPrimaryWiFiMACAddress(uint8_t * buf) { return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; } -bool ConfigurationManagerImpl::_CanFactoryReset() +bool ConfigurationManagerImpl::CanFactoryReset() { // TODO: query the application to determine if factory reset is allowed. return true; } -void ConfigurationManagerImpl::_InitiateFactoryReset() +void ConfigurationManagerImpl::InitiateFactoryReset() { PlatformMgr().ScheduleWork(DoFactoryReset); } -CHIP_ERROR ConfigurationManagerImpl::_ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key persistedStorageKey, - uint32_t & value) +CHIP_ERROR ConfigurationManagerImpl::ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key persistedStorageKey, + uint32_t & value) { // TODO return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; } -CHIP_ERROR ConfigurationManagerImpl::_WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key persistedStorageKey, - uint32_t value) +CHIP_ERROR ConfigurationManagerImpl::WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key persistedStorageKey, + uint32_t value) { // TODO return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; diff --git a/src/platform/Ameba/ConfigurationManagerImpl.h b/src/platform/Ameba/ConfigurationManagerImpl.h index 7a6aa50c339da3..4dab60d474208e 100644 --- a/src/platform/Ameba/ConfigurationManagerImpl.h +++ b/src/platform/Ameba/ConfigurationManagerImpl.h @@ -38,14 +38,9 @@ class NetworkProvisioningServerImpl; /** * Concrete implementation of the ConfigurationManager singleton object for the Ameba platform. */ -class ConfigurationManagerImpl final : public ConfigurationManager, - public Internal::GenericConfigurationManagerImpl, +class ConfigurationManagerImpl final : public Internal::GenericConfigurationManagerImpl, private Internal::AmebaConfig { - // Allow the ConfigurationManager interface class to delegate method calls to - // the implementation methods provided by this class. - friend class ConfigurationManager; - // Allow the GenericConfigurationManagerImpl base class to access helper methods and types // defined on this class. #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -55,12 +50,12 @@ class ConfigurationManagerImpl final : public ConfigurationManager, private: // ===== Members that implement the ConfigurationManager public interface. - CHIP_ERROR _Init(void); - CHIP_ERROR _GetPrimaryWiFiMACAddress(uint8_t * buf); - bool _CanFactoryReset(void); - void _InitiateFactoryReset(void); - CHIP_ERROR _ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t & value); - CHIP_ERROR _WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t value); + CHIP_ERROR Init(void) override; + CHIP_ERROR GetPrimaryWiFiMACAddress(uint8_t * buf) override; + bool CanFactoryReset(void) override; + void InitiateFactoryReset(void) override; + CHIP_ERROR ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t & value) override; + CHIP_ERROR WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t value) override; // NOTE: Other public interface methods are implemented by GenericConfigurationManagerImpl<>. diff --git a/src/platform/DeviceControlServer.cpp b/src/platform/DeviceControlServer.cpp index 9d8707eb449ed1..5f4198daea3f87 100644 --- a/src/platform/DeviceControlServer.cpp +++ b/src/platform/DeviceControlServer.cpp @@ -53,9 +53,9 @@ void DeviceControlServer::CommissioningFailedTimerComplete() } } -CHIP_ERROR DeviceControlServer::ArmFailSafe(uint16_t expiryLengthSeconds) +CHIP_ERROR DeviceControlServer::ArmFailSafe(System::Clock::Timeout expiryLength) { - DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(expiryLengthSeconds), HandleArmFailSafe, this); + DeviceLayer::SystemLayer().StartTimer(expiryLength, HandleArmFailSafe, this); return CHIP_NO_ERROR; } diff --git a/src/platform/EFR32/CHIPDevicePlatformConfig.h b/src/platform/EFR32/CHIPDevicePlatformConfig.h index 1f33a29ed95534..09d3a26051a5a0 100644 --- a/src/platform/EFR32/CHIPDevicePlatformConfig.h +++ b/src/platform/EFR32/CHIPDevicePlatformConfig.h @@ -36,9 +36,10 @@ #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1 #define CHIP_DEVICE_CONFIG_ENABLE_DNSSD 1 #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1 +#endif + #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1 #define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DISCOVERY 1 -#endif #define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1 diff --git a/src/platform/EFR32/CHIPPlatformConfig.h b/src/platform/EFR32/CHIPPlatformConfig.h index 6d6f7375272007..0e924de8e8fef2 100644 --- a/src/platform/EFR32/CHIPPlatformConfig.h +++ b/src/platform/EFR32/CHIPPlatformConfig.h @@ -115,6 +115,18 @@ #define CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS 4 #endif // CHIP_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS +/** + * @def CHIP_CONFIG_MAX_DEVICE_ADMINS + * + * @brief + * Maximum number of administrators that can provision the device. Each admin + * can provision the device with their unique operational credentials and manage + * their access control lists. + */ +#ifndef CHIP_CONFIG_MAX_DEVICE_ADMINS +#define CHIP_CONFIG_MAX_DEVICE_ADMINS 5 // 4 fabrics + 1 for rotation slack +#endif + // ==================== Security Configuration Overrides ==================== #ifndef CHIP_CONFIG_MAX_APPLICATION_GROUPS diff --git a/src/platform/ESP32/BLEManagerImpl.h b/src/platform/ESP32/BLEManagerImpl.h index 8f776ae177c99e..92d291b6d0d89e 100644 --- a/src/platform/ESP32/BLEManagerImpl.h +++ b/src/platform/ESP32/BLEManagerImpl.h @@ -198,9 +198,11 @@ class BLEManagerImpl final : public BLEManager, CHIP_ERROR ConfigureAdvertisingData(void); CHIP_ERROR StartAdvertising(void); - static constexpr uint32_t kAdvertiseTimeout = CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT; - static constexpr uint32_t kFastAdvertiseTimeout = CHIP_DEVICE_CONFIG_BLE_ADVERTISING_INTERVAL_CHANGE_TIME; - uint64_t mAdvertiseStartTime; + static constexpr System::Clock::Timeout kAdvertiseTimeout = + System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT); + static constexpr System::Clock::Timeout kFastAdvertiseTimeout = + System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_BLE_ADVERTISING_INTERVAL_CHANGE_TIME); + System::Clock::Timestamp mAdvertiseStartTime; static void HandleFastAdvertisementTimer(System::Layer * systemLayer, void * context); void HandleFastAdvertisementTimer(); diff --git a/src/platform/ESP32/ConnectivityManagerImpl.h b/src/platform/ESP32/ConnectivityManagerImpl.h index cf8a062d2d5163..e39c3b61445d71 100644 --- a/src/platform/ESP32/ConnectivityManagerImpl.h +++ b/src/platform/ESP32/ConnectivityManagerImpl.h @@ -94,8 +94,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, bool _IsWiFiStationEnabled(void); bool _IsWiFiStationApplicationControlled(void); bool _IsWiFiStationConnected(void); - uint32_t _GetWiFiStationReconnectIntervalMS(void); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(void); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationProvisioned(void); void _ClearWiFiStationProvision(void); WiFiAPMode _GetWiFiAPMode(void); @@ -105,8 +105,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _DemandStartWiFiAP(void); void _StopOnDemandWiFiAP(void); void _MaintainOnDemandWiFiAP(void); - uint32_t _GetWiFiAPIdleTimeoutMS(void); - void _SetWiFiAPIdleTimeoutMS(uint32_t val); + System::Clock::Timeout _GetWiFiAPIdleTimeout(void); + void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); CHIP_ERROR _GetAndLogWifiStatsCounters(void); bool _CanStartWiFiScan(); void _OnWiFiScanDone(); @@ -130,14 +130,14 @@ class ConnectivityManagerImpl final : public ConnectivityManager, // ===== Private members reserved for use by this class only. - uint64_t mLastStationConnectFailTime; - uint64_t mLastAPDemandTime; + System::Clock::Timestamp mLastStationConnectFailTime; + System::Clock::Timestamp mLastAPDemandTime; WiFiStationMode mWiFiStationMode; WiFiStationState mWiFiStationState; WiFiAPMode mWiFiAPMode; WiFiAPState mWiFiAPState; - uint32_t mWiFiStationReconnectIntervalMS; - uint32_t mWiFiAPIdleTimeoutMS; + System::Clock::Timeout mWiFiStationReconnectInterval; + System::Clock::Timeout mWiFiAPIdleTimeout; BitFlags mFlags; CHIP_ERROR InitWiFi(void); @@ -180,9 +180,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPApplicationControlled(void) return mWiFiAPMode == kWiFiAPMode_ApplicationControlled; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS(void) +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval(void) { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } inline ConnectivityManager::WiFiAPMode ConnectivityManagerImpl::_GetWiFiAPMode(void) @@ -195,9 +195,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPActive(void) return mWiFiAPState == kWiFiAPState_Active; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiAPIdleTimeoutMS(void) +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiAPIdleTimeout(void) { - return mWiFiAPIdleTimeoutMS; + return mWiFiAPIdleTimeout; } inline bool ConnectivityManagerImpl::_CanStartWiFiScan() diff --git a/src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp b/src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp index c7ee1c99688a1c..eb519645c55507 100644 --- a/src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp +++ b/src/platform/ESP32/ConnectivityManagerImpl_WiFi.cpp @@ -133,7 +133,7 @@ void ConnectivityManagerImpl::_DemandStartWiFiAP(void) { if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } } @@ -142,7 +142,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP(void) { if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - mLastAPDemandTime = 0; + mLastAPDemandTime = System::Clock::Zero; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } } @@ -153,14 +153,14 @@ void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP(void) { if (mWiFiAPState == kWiFiAPState_Activating || mWiFiAPState == kWiFiAPState_Active) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); } } } -void ConnectivityManagerImpl::_SetWiFiAPIdleTimeoutMS(uint32_t val) +void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) { - mWiFiAPIdleTimeoutMS = val; + mWiFiAPIdleTimeout = val; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } @@ -375,14 +375,14 @@ CHIP_ERROR ConnectivityManagerImpl::_GetAndLogWifiStatsCounters(void) CHIP_ERROR ConnectivityManagerImpl::InitWiFi() { - mLastStationConnectFailTime = 0; - mLastAPDemandTime = 0; - mWiFiStationMode = kWiFiStationMode_Disabled; - mWiFiStationState = kWiFiStationState_NotConnected; - mWiFiAPMode = kWiFiAPMode_Disabled; - mWiFiAPState = kWiFiAPState_NotActive; - mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; - mWiFiAPIdleTimeoutMS = CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT; + mLastStationConnectFailTime = System::Clock::Zero; + mLastAPDemandTime = System::Clock::Zero; + mWiFiStationMode = kWiFiStationMode_Disabled; + mWiFiStationState = kWiFiStationState_NotConnected; + mWiFiAPMode = kWiFiAPMode_Disabled; + mWiFiAPState = kWiFiAPState_NotActive; + mWiFiStationReconnectInterval = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); + mWiFiAPIdleTimeout = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT); mFlags.SetRaw(0); // TODO Initialize the Chip Addressing and Routing Module. @@ -551,7 +551,7 @@ void ConnectivityManagerImpl::DriveStationState() { ChangeWiFiStationState(kWiFiStationState_Connected); ChipLogProgress(DeviceLayer, "WiFi station interface connected"); - mLastStationConnectFailTime = 0; + mLastStationConnectFailTime = System::Clock::Zero; OnStationConnected(); } @@ -576,7 +576,7 @@ void ConnectivityManagerImpl::DriveStationState() // Otherwise the station interface is NOT connected to an AP, so... else { - uint64_t now = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp now = System::SystemClock().GetMonotonicTimestamp(); // Advance the station state to NotConnected if it was previously Connected or Disconnecting, // or if a previous initiated connect attempt failed. @@ -588,7 +588,7 @@ void ConnectivityManagerImpl::DriveStationState() if (prevState != kWiFiStationState_Connecting_Failed) { ChipLogProgress(DeviceLayer, "WiFi station interface disconnected"); - mLastStationConnectFailTime = 0; + mLastStationConnectFailTime = System::Clock::Zero; OnStationDisconnected(); } else @@ -604,7 +604,8 @@ void ConnectivityManagerImpl::DriveStationState() { // Initiate a connection to the AP if we haven't done so before, or if enough // time has passed since the last attempt. - if (mLastStationConnectFailTime == 0 || now >= mLastStationConnectFailTime + mWiFiStationReconnectIntervalMS) + if (mLastStationConnectFailTime == System::Clock::Zero || + now >= mLastStationConnectFailTime + mWiFiStationReconnectInterval) { ChipLogProgress(DeviceLayer, "Attempting to connect WiFi station interface"); esp_err_t err = esp_wifi_connect(); @@ -620,12 +621,12 @@ void ConnectivityManagerImpl::DriveStationState() // Otherwise arrange another connection attempt at a suitable point in the future. else { - uint32_t timeToNextConnect = (uint32_t)((mLastStationConnectFailTime + mWiFiStationReconnectIntervalMS) - now); + System::Clock::Timeout timeToNextConnect = (mLastStationConnectFailTime + mWiFiStationReconnectInterval) - now; - ChipLogProgress(DeviceLayer, "Next WiFi station reconnect in %" PRIu32 " ms", timeToNextConnect); + ChipLogProgress(DeviceLayer, "Next WiFi station reconnect in %" PRIu32 " ms", + System::Clock::Milliseconds32(timeToNextConnect).count()); - ReturnOnFailure(DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(timeToNextConnect), - DriveStationState, NULL)); + ReturnOnFailure(DeviceLayer::SystemLayer().StartTimer(timeToNextConnect, DriveStationState, NULL)); } } } @@ -687,8 +688,6 @@ void ConnectivityManagerImpl::DriveAPState() { CHIP_ERROR err = CHIP_NO_ERROR; WiFiAPState targetState; - uint64_t now; - uint32_t apTimeout; bool espAPModeEnabled; // Determine if AP mode is currently enabled in the ESP WiFi layer. @@ -739,18 +738,19 @@ void ConnectivityManagerImpl::DriveAPState() // has been demand for the AP within the idle timeout period. else if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - now = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp now = System::SystemClock().GetMonotonicTimestamp(); - if (mLastAPDemandTime != 0 && now < (mLastAPDemandTime + mWiFiAPIdleTimeoutMS)) + if (mLastAPDemandTime != System::Clock::Zero && now < (mLastAPDemandTime + mWiFiAPIdleTimeout)) { targetState = kWiFiAPState_Active; // Compute the amount of idle time before the AP should be deactivated and // arm a timer to fire at that time. - apTimeout = (uint32_t)((mLastAPDemandTime + mWiFiAPIdleTimeoutMS) - now); - err = DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(apTimeout), DriveAPState, NULL); + System::Clock::Timeout apTimeout = (mLastAPDemandTime + mWiFiAPIdleTimeout) - now; + err = DeviceLayer::SystemLayer().StartTimer(apTimeout, DriveAPState, NULL); SuccessOrExit(err); - ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " ms", apTimeout); + ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " ms", + System::Clock::Milliseconds32(apTimeout).count()); } else { diff --git a/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp b/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp index d01cdc6782de24..cc76952871c069 100644 --- a/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp +++ b/src/platform/ESP32/bluedroid/BLEManagerImpl.cpp @@ -124,6 +124,8 @@ const uint16_t CHIPoBLEGATTAttrCount = sizeof(CHIPoBLEGATTAttrs) / sizeof(CHIPoB } // unnamed namespace BLEManagerImpl BLEManagerImpl::sInstance; +constexpr System::Clock::Timeout BLEManagerImpl::kAdvertiseTimeout; +constexpr System::Clock::Timeout BLEManagerImpl::kFastAdvertiseTimeout; CHIP_ERROR BLEManagerImpl::_Init() { @@ -175,11 +177,9 @@ CHIP_ERROR BLEManagerImpl::_SetAdvertisingEnabled(bool val) if (val) { - mAdvertiseStartTime = System::SystemClock().GetMonotonicMilliseconds(); - ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(kAdvertiseTimeout), - HandleAdvertisementTimer, this)); - ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(kFastAdvertiseTimeout), - HandleFastAdvertisementTimer, this)); + mAdvertiseStartTime = System::SystemClock().GetMonotonicTimestamp(); + ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kAdvertiseTimeout, HandleAdvertisementTimer, this)); + ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this)); } mFlags.Set(Flags::kFastAdvertisingEnabled, val); mFlags.Set(Flags::kAdvertisingRefreshNeeded, 1); @@ -196,7 +196,7 @@ void BLEManagerImpl::HandleAdvertisementTimer(System::Layer * systemLayer, void void BLEManagerImpl::HandleAdvertisementTimer() { - uint64_t currentTimestamp = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp currentTimestamp = System::SystemClock().GetMonotonicTimestamp(); if (currentTimestamp - mAdvertiseStartTime >= kAdvertiseTimeout) { @@ -212,7 +212,7 @@ void BLEManagerImpl::HandleFastAdvertisementTimer(System::Layer * systemLayer, v void BLEManagerImpl::HandleFastAdvertisementTimer() { - uint64_t currentTimestamp = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp currentTimestamp = System::SystemClock().GetMonotonicTimestamp(); if (currentTimestamp - mAdvertiseStartTime >= kFastAdvertiseTimeout) { diff --git a/src/platform/ESP32/nimble/BLEManagerImpl.cpp b/src/platform/ESP32/nimble/BLEManagerImpl.cpp index e1ec0f956636d0..a59ed79a80add9 100644 --- a/src/platform/ESP32/nimble/BLEManagerImpl.cpp +++ b/src/platform/ESP32/nimble/BLEManagerImpl.cpp @@ -95,6 +95,8 @@ SemaphoreHandle_t semaphoreHandle = NULL; } // unnamed namespace BLEManagerImpl BLEManagerImpl::sInstance; +constexpr System::Clock::Timeout BLEManagerImpl::kAdvertiseTimeout; +constexpr System::Clock::Timeout BLEManagerImpl::kFastAdvertiseTimeout; const struct ble_gatt_svc_def BLEManagerImpl::CHIPoBLEGATTAttrs[] = { { .type = BLE_GATT_SVC_TYPE_PRIMARY, @@ -171,11 +173,9 @@ CHIP_ERROR BLEManagerImpl::_SetAdvertisingEnabled(bool val) if (val) { - mAdvertiseStartTime = System::SystemClock().GetMonotonicMilliseconds(); - ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(kAdvertiseTimeout), - HandleAdvertisementTimer, this)); - ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(kFastAdvertiseTimeout), - HandleFastAdvertisementTimer, this)); + mAdvertiseStartTime = System::SystemClock().GetMonotonicTimestamp(); + ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kAdvertiseTimeout, HandleAdvertisementTimer, this)); + ReturnErrorOnFailure(DeviceLayer::SystemLayer().StartTimer(kFastAdvertiseTimeout, HandleFastAdvertisementTimer, this)); } mFlags.Set(Flags::kFastAdvertisingEnabled, val); @@ -194,7 +194,7 @@ void BLEManagerImpl::HandleAdvertisementTimer(System::Layer * systemLayer, void void BLEManagerImpl::HandleAdvertisementTimer() { - uint64_t currentTimestamp = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp currentTimestamp = System::SystemClock().GetMonotonicTimestamp(); if (currentTimestamp - mAdvertiseStartTime >= kAdvertiseTimeout) { @@ -210,7 +210,7 @@ void BLEManagerImpl::HandleFastAdvertisementTimer(System::Layer * systemLayer, v void BLEManagerImpl::HandleFastAdvertisementTimer() { - uint64_t currentTimestamp = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp currentTimestamp = System::SystemClock().GetMonotonicTimestamp(); if (currentTimestamp - mAdvertiseStartTime >= kFastAdvertiseTimeout) { diff --git a/src/platform/Linux/BLEManagerImpl.cpp b/src/platform/Linux/BLEManagerImpl.cpp index 1b03f0f1916884..e22716259bfe6a 100644 --- a/src/platform/Linux/BLEManagerImpl.cpp +++ b/src/platform/Linux/BLEManagerImpl.cpp @@ -46,8 +46,8 @@ namespace Internal { namespace { -static constexpr unsigned kNewConnectionScanTimeoutMs = 10000; -static constexpr unsigned kConnectTimeoutMs = 10000; +static constexpr System::Clock::Timeout kNewConnectionScanTimeout = System::Clock::Seconds16(10); +static constexpr System::Clock::Timeout kConnectTimeout = System::Clock::Seconds16(10); const ChipBleUUID ChipUUID_CHIPoBLEChar_RX = { { 0x18, 0xEE, 0x2E, 0xF5, 0x26, 0x3D, 0x45, 0x59, 0x95, 0x9F, 0x4F, 0x9C, 0x42, 0x9F, 0x9D, 0x11 } }; @@ -702,7 +702,7 @@ void BLEManagerImpl::InitiateScan(BleScanState scanType) return; } - CHIP_ERROR err = mDeviceScanner->StartScan(kNewConnectionScanTimeoutMs); + CHIP_ERROR err = mDeviceScanner->StartScan(kNewConnectionScanTimeout); if (err != CHIP_NO_ERROR) { mBLEScanConfig.mBleScanState = BleScanState::kNotScanning; @@ -803,7 +803,7 @@ void BLEManagerImpl::OnDeviceScanned(BluezDevice1 * device, const chip::Ble::Chi } mBLEScanConfig.mBleScanState = BleScanState::kConnecting; - DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(kConnectTimeoutMs), HandleConnectTimeout, mpEndpoint); + DeviceLayer::SystemLayer().StartTimer(kConnectTimeout, HandleConnectTimeout, mpEndpoint); mDeviceScanner->StopScan(); ConnectDevice(device, mpEndpoint); diff --git a/src/platform/Linux/CHIPDevicePlatformConfig.h b/src/platform/Linux/CHIPDevicePlatformConfig.h index 9c9c86de95f069..fe7bff97a3e8bf 100644 --- a/src/platform/Linux/CHIPDevicePlatformConfig.h +++ b/src/platform/Linux/CHIPDevicePlatformConfig.h @@ -25,8 +25,13 @@ // ==================== Platform Adaptations ==================== +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 1 #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 +#else +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 0 +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 +#endif #ifndef CHIP_DEVICE_CONFIG_ENABLE_THREAD #define CHIP_DEVICE_CONFIG_ENABLE_THREAD CHIP_ENABLE_OPENTHREAD diff --git a/src/platform/Linux/ConnectivityManagerImpl.cpp b/src/platform/Linux/ConnectivityManagerImpl.cpp index 4433ccd63a809d..cd9ea3716c533e 100644 --- a/src/platform/Linux/ConnectivityManagerImpl.cpp +++ b/src/platform/Linux/ConnectivityManagerImpl.cpp @@ -225,8 +225,8 @@ char ConnectivityManagerImpl::sWiFiIfName[]; CHIP_ERROR ConnectivityManagerImpl::_Init() { #if CHIP_DEVICE_CONFIG_ENABLE_WPA - mWiFiStationMode = kWiFiStationMode_Disabled; - mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; + mWiFiStationMode = kWiFiStationMode_Disabled; + mWiFiStationReconnectInterval = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); #endif if (ConnectivityUtils::GetEthInterfaceName(mEthIfName, IFNAMSIZ) == CHIP_NO_ERROR) @@ -311,14 +311,14 @@ CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationMode(ConnectivityManager::WiF return err; } -uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS() +System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval() { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } -CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectIntervalMS(uint32_t val) +CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectInterval(System::Clock::Timeout val) { - mWiFiStationReconnectIntervalMS = val; + mWiFiStationReconnectInterval = val; return CHIP_NO_ERROR; } @@ -436,7 +436,7 @@ void ConnectivityManagerImpl::_DemandStartWiFiAP() if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand start WiFi AP"); - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } else @@ -450,7 +450,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP() if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand stop WiFi AP"); - mLastAPDemandTime = 0; + mLastAPDemandTime = System::Clock::Zero; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } else @@ -465,14 +465,14 @@ void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP() { if (mWiFiAPState == kWiFiAPState_Active) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); } } } -void ConnectivityManagerImpl::_SetWiFiAPIdleTimeoutMS(uint32_t val) +void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) { - mWiFiAPIdleTimeoutMS = val; + mWiFiAPIdleTimeout = val; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } @@ -689,8 +689,6 @@ void ConnectivityManagerImpl::DriveAPState() { CHIP_ERROR err = CHIP_NO_ERROR; WiFiAPState targetState; - uint64_t now; - uint32_t apTimeout; // If the AP interface is not under application control... if (mWiFiAPMode != kWiFiAPMode_ApplicationControlled) @@ -722,18 +720,19 @@ void ConnectivityManagerImpl::DriveAPState() // has been demand for the AP within the idle timeout period. else if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - now = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp now = System::SystemClock().GetMonotonicTimestamp(); - if (mLastAPDemandTime != 0 && now < (mLastAPDemandTime + mWiFiAPIdleTimeoutMS)) + if (mLastAPDemandTime != System::Clock::Zero && now < (mLastAPDemandTime + mWiFiAPIdleTimeout)) { targetState = kWiFiAPState_Active; // Compute the amount of idle time before the AP should be deactivated and // arm a timer to fire at that time. - apTimeout = (uint32_t)((mLastAPDemandTime + mWiFiAPIdleTimeoutMS) - now); - err = DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(apTimeout), DriveAPState, NULL); + System::Clock::Timeout apTimeout = (mLastAPDemandTime + mWiFiAPIdleTimeout) - now; + err = DeviceLayer::SystemLayer().StartTimer(apTimeout, DriveAPState, NULL); SuccessOrExit(err); - ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " s", apTimeout / 1000); + ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " s", + std::chrono::duration_cast(apTimeout).count()); } else { diff --git a/src/platform/Linux/ConnectivityManagerImpl.h b/src/platform/Linux/ConnectivityManagerImpl.h index fd40704fd664e8..c1022fdc14bd94 100644 --- a/src/platform/Linux/ConnectivityManagerImpl.h +++ b/src/platform/Linux/ConnectivityManagerImpl.h @@ -123,8 +123,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, #if CHIP_DEVICE_CONFIG_ENABLE_WPA WiFiStationMode _GetWiFiStationMode(); CHIP_ERROR _SetWiFiStationMode(ConnectivityManager::WiFiStationMode val); - uint32_t _GetWiFiStationReconnectIntervalMS(); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationEnabled(); bool _IsWiFiStationConnected(); bool _IsWiFiStationApplicationControlled(); @@ -139,8 +139,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _DemandStartWiFiAP(); void _StopOnDemandWiFiAP(); void _MaintainOnDemandWiFiAP(); - uint32_t _GetWiFiAPIdleTimeoutMS(); - void _SetWiFiAPIdleTimeoutMS(uint32_t val); + System::Clock::Timeout _GetWiFiAPIdleTimeout(); + void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); static void _OnWpaProxyReady(GObject * source_object, GAsyncResult * res, gpointer user_data); static void _OnWpaInterfaceRemoved(WpaFiW1Wpa_supplicant1 * proxy, const gchar * path, GVariant * properties, @@ -212,9 +212,9 @@ class ConnectivityManagerImpl final : public ConnectivityManager, ConnectivityManager::WiFiStationMode mWiFiStationMode; ConnectivityManager::WiFiAPMode mWiFiAPMode; WiFiAPState mWiFiAPState; - uint64_t mLastAPDemandTime; - uint32_t mWiFiStationReconnectIntervalMS; - uint32_t mWiFiAPIdleTimeoutMS; + System::Clock::Timestamp mLastAPDemandTime; + System::Clock::Timeout mWiFiStationReconnectInterval; + System::Clock::Timeout mWiFiAPIdleTimeout; #endif #if CHIP_DEVICE_CONFIG_ENABLE_WIFI @@ -244,9 +244,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPApplicationControlled() return mWiFiAPMode == kWiFiAPMode_ApplicationControlled; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiAPIdleTimeoutMS() +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiAPIdleTimeout() { - return mWiFiAPIdleTimeoutMS; + return mWiFiAPIdleTimeout; } #endif diff --git a/src/platform/Linux/DnssdImpl.cpp b/src/platform/Linux/DnssdImpl.cpp index e8865c6dd5499f..4452ee78293040 100644 --- a/src/platform/Linux/DnssdImpl.cpp +++ b/src/platform/Linux/DnssdImpl.cpp @@ -314,8 +314,8 @@ void Poller::SystemTimerUpdate(AvahiTimeout * timer) if ((mEarliestTimeout == std::chrono::steady_clock::time_point()) || (timer->mAbsTimeout < mEarliestTimeout)) { mEarliestTimeout = timer->mAbsTimeout; - auto msDelay = std::chrono::duration_cast(steady_clock::now() - mEarliestTimeout).count(); - DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(msDelay), SystemTimerCallback, this); + auto delay = std::chrono::duration_cast(steady_clock::now() - mEarliestTimeout); + DeviceLayer::SystemLayer().StartTimer(delay, SystemTimerCallback, this); } } @@ -722,7 +722,7 @@ void MdnsAvahi::HandleResolve(AvahiServiceResolver * resolver, AvahiIfIndex inte struct in_addr addr4; memcpy(&addr4, &(address->data.ipv4), sizeof(addr4)); - result.mAddress.SetValue(chip::Inet::IPAddress::FromIPv4(addr4)); + result.mAddress.SetValue(chip::Inet::IPAddress(addr4)); #else result_err = CHIP_ERROR_INVALID_ADDRESS; ChipLogError(Discovery, "Ignoring IPv4 mDNS address."); @@ -732,7 +732,7 @@ void MdnsAvahi::HandleResolve(AvahiServiceResolver * resolver, AvahiIfIndex inte struct in6_addr addr6; memcpy(&addr6, &(address->data.ipv6), sizeof(addr6)); - result.mAddress.SetValue(chip::Inet::IPAddress::FromIPv6(addr6)); + result.mAddress.SetValue(chip::Inet::IPAddress(addr6)); break; default: break; diff --git a/src/platform/Linux/PlatformManagerImpl.cpp b/src/platform/Linux/PlatformManagerImpl.cpp index aa2c682c7e9691..944f2cf6765b65 100644 --- a/src/platform/Linux/PlatformManagerImpl.cpp +++ b/src/platform/Linux/PlatformManagerImpl.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include namespace chip { diff --git a/src/platform/Linux/ThreadStackManagerImpl.cpp b/src/platform/Linux/ThreadStackManagerImpl.cpp index 080b0fc6459714..cc95a1a162fb8e 100644 --- a/src/platform/Linux/ThreadStackManagerImpl.cpp +++ b/src/platform/Linux/ThreadStackManagerImpl.cpp @@ -181,7 +181,7 @@ bool ThreadStackManagerImpl::_HaveRouteToAddress(const Inet::IPAddress & destAdd continue; Inet::IPPrefix p; - p.IPAddr = Inet::IPAddress::FromIPv6(*reinterpret_cast(data)); + p.IPAddr = Inet::IPAddress(*reinterpret_cast(data)); p.Length = prefixLength; if (p.MatchAddress(destAddr)) diff --git a/src/platform/Linux/bluez/ChipDeviceScanner.cpp b/src/platform/Linux/bluez/ChipDeviceScanner.cpp index b6da0f4388608b..0be06487812e76 100644 --- a/src/platform/Linux/bluez/ChipDeviceScanner.cpp +++ b/src/platform/Linux/bluez/ChipDeviceScanner.cpp @@ -117,7 +117,7 @@ std::unique_ptr ChipDeviceScanner::Create(BluezAdapter1 * ada return std::make_unique(manager.get(), adapter, cancellable.get(), delegate); } -CHIP_ERROR ChipDeviceScanner::StartScan(unsigned timeoutMs) +CHIP_ERROR ChipDeviceScanner::StartScan(System::Clock::Timeout timeout) { ReturnErrorCodeIf(mIsScanning, CHIP_ERROR_INCORRECT_STATE); @@ -131,8 +131,7 @@ CHIP_ERROR ChipDeviceScanner::StartScan(unsigned timeoutMs) return CHIP_ERROR_INTERNAL; } - CHIP_ERROR err = chip::DeviceLayer::SystemLayer().StartTimer(System::Clock::Milliseconds32(timeoutMs), TimerExpiredCallback, - static_cast(this)); + CHIP_ERROR err = chip::DeviceLayer::SystemLayer().StartTimer(timeout, TimerExpiredCallback, static_cast(this)); if (err != CHIP_NO_ERROR) { diff --git a/src/platform/Linux/bluez/ChipDeviceScanner.h b/src/platform/Linux/bluez/ChipDeviceScanner.h index c92a4b2ab3521c..bbe84ac07268ba 100644 --- a/src/platform/Linux/bluez/ChipDeviceScanner.h +++ b/src/platform/Linux/bluez/ChipDeviceScanner.h @@ -63,7 +63,7 @@ class ChipDeviceScanner ~ChipDeviceScanner(); /// Initiate a scan for devices, with the given timeout - CHIP_ERROR StartScan(unsigned timeoutMs); + CHIP_ERROR StartScan(System::Clock::Timeout timeout); /// Stop any currently running scan CHIP_ERROR StopScan(); diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread_LwIP.cpp b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread_LwIP.cpp index 974808351f4759..bbd527b79df6cb 100644 --- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread_LwIP.cpp +++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread_LwIP.cpp @@ -247,7 +247,7 @@ void GenericThreadStackManagerImpl_OpenThread_LwIP::UpdateThreadInter uint8_t state = netif_ip6_addr_state(mNetIf, addrIdx); if (state != IP6_ADDR_INVALID) { - Inet::IPAddress addr = Inet::IPAddress::FromIPv6(*netif_ip6_addr(mNetIf, addrIdx)); + Inet::IPAddress addr = Inet::IPAddress(*netif_ip6_addr(mNetIf, addrIdx)); char addrStr[50]; addr.ToString(addrStr, sizeof(addrStr)); const char * typeStr; diff --git a/src/platform/P6/ConnectivityManagerImpl.cpp b/src/platform/P6/ConnectivityManagerImpl.cpp index a397a1557f04c4..2106db96391cc3 100644 --- a/src/platform/P6/ConnectivityManagerImpl.cpp +++ b/src/platform/P6/ConnectivityManagerImpl.cpp @@ -122,7 +122,7 @@ void ConnectivityManagerImpl::_DemandStartWiFiAP(void) { if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } } @@ -131,7 +131,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP(void) { if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - mLastAPDemandTime = 0; + mLastAPDemandTime = System::Clock::Zero; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } } @@ -142,14 +142,14 @@ void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP(void) { if (mWiFiAPState == kWiFiAPState_Activating || mWiFiAPState == kWiFiAPState_Active) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); } } } -void ConnectivityManagerImpl::_SetWiFiAPIdleTimeoutMS(uint32_t val) +void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) { - mWiFiAPIdleTimeoutMS = val; + mWiFiAPIdleTimeout = val; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } @@ -180,16 +180,16 @@ CHIP_ERROR ConnectivityManagerImpl::_GetAndLogWifiStatsCounters(void) // ==================== ConnectivityManager Platform Internal Methods ==================== CHIP_ERROR ConnectivityManagerImpl::_Init() { - CHIP_ERROR err = CHIP_NO_ERROR; - cy_rslt_t result = CY_RSLT_SUCCESS; - mLastStationConnectFailTime = 0; - mLastAPDemandTime = 0; - mWiFiStationMode = kWiFiStationMode_Disabled; - mWiFiStationState = kWiFiStationState_NotConnected; - mWiFiAPMode = kWiFiAPMode_Disabled; - mWiFiAPState = kWiFiAPState_NotActive; - mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; - mWiFiAPIdleTimeoutMS = CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT; + CHIP_ERROR err = CHIP_NO_ERROR; + cy_rslt_t result = CY_RSLT_SUCCESS; + mLastStationConnectFailTime = System::Clock::Zero; + mLastAPDemandTime = System::Clock::Zero; + mWiFiStationMode = kWiFiStationMode_Disabled; + mWiFiStationState = kWiFiStationState_NotConnected; + mWiFiAPMode = kWiFiAPMode_Disabled; + mWiFiAPState = kWiFiAPState_NotActive; + mWiFiStationReconnectInterval = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); + mWiFiAPIdleTimeout = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT); mFlags.SetRaw(0); // Ensure that P6 station mode is enabled. @@ -358,8 +358,6 @@ void ConnectivityManagerImpl::DriveAPState() { CHIP_ERROR err = CHIP_NO_ERROR; WiFiAPState targetState; - uint64_t now; - uint32_t apTimeout; bool APModeEnabled; // Determine if AP mode is currently enabled in the P6 WiFi layer. @@ -404,18 +402,19 @@ void ConnectivityManagerImpl::DriveAPState() // has been demand for the AP within the idle timeout period. else if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { - now = System::SystemClock().GetMonotonicMilliseconds(); + System::Clock::Timestamp now = System::SystemClock().GetMonotonicTimestamp(); - if (mLastAPDemandTime != 0 && now < (mLastAPDemandTime + mWiFiAPIdleTimeoutMS)) + if (mLastAPDemandTime != System::Clock::Zero && now < (mLastAPDemandTime + mWiFiAPIdleTimeout)) { targetState = kWiFiAPState_Active; // Compute the amount of idle time before the AP should be deactivated and // arm a timer to fire at that time. - apTimeout = (uint32_t)((mLastAPDemandTime + mWiFiAPIdleTimeoutMS) - now); - err = DeviceLayer::SystemLayer().StartTimer(Clock::Milliseconds32(apTimeout), DriveAPState, NULL); + System::Clock::Timeout apTimeout = (mLastAPDemandTime + mWiFiAPIdleTimeout) - now; + err = DeviceLayer::SystemLayer().StartTimer(apTimeout, DriveAPState, nullptr); SuccessOrExit(err); - ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " ms", apTimeout); + ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " ms", + System::Clock::Milliseconds32(apTimeout).count()); } else { @@ -503,7 +502,7 @@ void ConnectivityManagerImpl::DriveStationState() { ChangeWiFiStationState(kWiFiStationState_Connected); ChipLogProgress(DeviceLayer, "WiFi station interface connected"); - mLastStationConnectFailTime = 0; + mLastStationConnectFailTime = System::Clock::Zero; } // If the WiFi station interface is no longer enabled, or no longer provisioned, @@ -526,7 +525,7 @@ void ConnectivityManagerImpl::DriveStationState() // Otherwise the station interface is NOT connected to an AP, so... else { - uint32_t now = static_cast(System::SystemClock().GetMonotonicMilliseconds()); + System::Clock::Timestamp now = System::SystemClock().GetMonotonicTimestamp(); // Advance the station state to NotConnected if it was previously Connected or Disconnecting, // or if a previous initiated connect attempt failed. @@ -538,7 +537,7 @@ void ConnectivityManagerImpl::DriveStationState() if (prevState != kWiFiStationState_Connecting_Failed) { ChipLogProgress(DeviceLayer, "WiFi station interface disconnected"); - mLastStationConnectFailTime = 0; + mLastStationConnectFailTime = System::Clock::Zero; } else { @@ -552,7 +551,8 @@ void ConnectivityManagerImpl::DriveStationState() { // Initiate a connection to the AP if we haven't done so before, or if enough // time has passed since the last attempt. - if (mLastStationConnectFailTime == 0 || now >= mLastStationConnectFailTime + mWiFiStationReconnectIntervalMS) + if (mLastStationConnectFailTime == System::Clock::Zero || + now >= mLastStationConnectFailTime + mWiFiStationReconnectInterval) { ChangeWiFiStationState(kWiFiStationState_Connecting); ChipLogProgress(DeviceLayer, "Attempting to connect WiFi station interface"); @@ -567,10 +567,11 @@ void ConnectivityManagerImpl::DriveStationState() // Otherwise arrange another connection attempt at a suitable point in the future. else { - uint32_t timeToNextConnect = (uint32_t)((mLastStationConnectFailTime + mWiFiStationReconnectIntervalMS) - now); - ChipLogProgress(DeviceLayer, "Next WiFi station reconnect in %" PRId32 " ms ", timeToNextConnect); + System::Clock::Timeout timeToNextConnect = (mLastStationConnectFailTime + mWiFiStationReconnectInterval) - now; + ChipLogProgress(DeviceLayer, "Next WiFi station reconnect in %" PRIu32 " ms ", + System::Clock::Milliseconds32(timeToNextConnect).count()); - err = DeviceLayer::SystemLayer().StartTimer(Clock::Milliseconds32(timeToNextConnect), DriveStationState, NULL); + err = DeviceLayer::SystemLayer().StartTimer(timeToNextConnect, DriveStationState, NULL); SuccessOrExit(err); } } diff --git a/src/platform/P6/ConnectivityManagerImpl.h b/src/platform/P6/ConnectivityManagerImpl.h index 95e5f40d4049c5..d54ebaf4f0edf9 100644 --- a/src/platform/P6/ConnectivityManagerImpl.h +++ b/src/platform/P6/ConnectivityManagerImpl.h @@ -71,8 +71,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, bool _IsWiFiStationEnabled(void); bool _IsWiFiStationApplicationControlled(void); bool _IsWiFiStationConnected(void); - uint32_t _GetWiFiStationReconnectIntervalMS(void); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(void); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationProvisioned(void); void _ClearWiFiStationProvision(void); CHIP_ERROR _GetAndLogWifiStatsCounters(void); @@ -84,8 +84,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _DemandStartWiFiAP(void); void _StopOnDemandWiFiAP(void); void _MaintainOnDemandWiFiAP(void); - uint32_t _GetWiFiAPIdleTimeoutMS(void); - void _SetWiFiAPIdleTimeoutMS(uint32_t val); + System::Clock::Timeout _GetWiFiAPIdleTimeout(void); + void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); // Service connectivity methods @@ -103,14 +103,14 @@ class ConnectivityManagerImpl final : public ConnectivityManager, static ConnectivityManagerImpl sInstance; // ===== Private members reserved for use by this class only. - uint64_t mLastStationConnectFailTime; - uint64_t mLastAPDemandTime; + System::Clock::Timestamp mLastStationConnectFailTime; + System::Clock::Timestamp mLastAPDemandTime; WiFiStationMode mWiFiStationMode; WiFiStationState mWiFiStationState; WiFiAPMode mWiFiAPMode; WiFiAPState mWiFiAPState; - uint32_t mWiFiStationReconnectIntervalMS; - uint32_t mWiFiAPIdleTimeoutMS; + System::Clock::Timeout mWiFiStationReconnectInterval; + System::Clock::Timeout mWiFiAPIdleTimeout; BitFlags mFlags; bool eventcallback; @@ -141,9 +141,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPApplicationControlled(void) return mWiFiAPMode == kWiFiAPMode_ApplicationControlled; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS(void) +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval(void) { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } inline ConnectivityManager::WiFiAPMode ConnectivityManagerImpl::_GetWiFiAPMode(void) @@ -156,9 +156,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPActive(void) return mWiFiAPState == kWiFiAPState_Active; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiAPIdleTimeoutMS(void) +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiAPIdleTimeout(void) { - return mWiFiAPIdleTimeoutMS; + return mWiFiAPIdleTimeout; } inline bool ConnectivityManagerImpl::_CanStartWiFiScan() diff --git a/src/platform/Tizen/CHIPDevicePlatformConfig.h b/src/platform/Tizen/CHIPDevicePlatformConfig.h index 685887004defa9..d22b7dcae1881c 100644 --- a/src/platform/Tizen/CHIPDevicePlatformConfig.h +++ b/src/platform/Tizen/CHIPDevicePlatformConfig.h @@ -26,8 +26,13 @@ // ==================== Platform Adaptations ==================== +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 1 #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 +#else +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 0 +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 +#endif #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 0 diff --git a/src/platform/Tizen/ConnectivityManagerImpl.cpp b/src/platform/Tizen/ConnectivityManagerImpl.cpp index c9f27c41c08360..dc796f7403786a 100644 --- a/src/platform/Tizen/ConnectivityManagerImpl.cpp +++ b/src/platform/Tizen/ConnectivityManagerImpl.cpp @@ -52,12 +52,12 @@ CHIP_ERROR ConnectivityManagerImpl::_Init(void) { CHIP_ERROR err = CHIP_NO_ERROR; - mWiFiStationMode = kWiFiStationMode_Disabled; - mWiFiAPMode = kWiFiAPMode_Disabled; - mWiFiAPState = kWiFiAPState_NotActive; - mLastAPDemandTime = 0; - mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; - mWiFiAPIdleTimeoutMS = CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT; + mWiFiStationMode = kWiFiStationMode_Disabled; + mWiFiAPMode = kWiFiAPMode_Disabled; + mWiFiAPState = kWiFiAPState_NotActive; + mLastAPDemandTime = System::Clock::Zero; + mWiFiStationReconnectInterval = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); + mWiFiAPIdleTimeout = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT); #if CHIP_DEVICE_CONFIG_ENABLE_WIFI WiFiMgr().Init(); @@ -111,14 +111,14 @@ CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationMode(ConnectivityManager::WiF return err; } -uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS(void) +System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval(void) { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } -CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectIntervalMS(uint32_t val) +CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectInterval(System::Clock::Timeout val) { - mWiFiStationReconnectIntervalMS = val; + mWiFiStationReconnectInterval = val; return CHIP_NO_ERROR; } @@ -193,7 +193,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP(void) {} void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP(void) {} -void ConnectivityManagerImpl::_SetWiFiAPIdleTimeoutMS(uint32_t val) {} +void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) {} void ConnectivityManagerImpl::StartWiFiManagement(void) { diff --git a/src/platform/Tizen/ConnectivityManagerImpl.h b/src/platform/Tizen/ConnectivityManagerImpl.h index 6eabba52a0f997..d2abb44c348c7e 100644 --- a/src/platform/Tizen/ConnectivityManagerImpl.h +++ b/src/platform/Tizen/ConnectivityManagerImpl.h @@ -92,8 +92,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, #if CHIP_DEVICE_CONFIG_ENABLE_WIFI WiFiStationMode _GetWiFiStationMode(void); CHIP_ERROR _SetWiFiStationMode(ConnectivityManager::WiFiStationMode val); - uint32_t _GetWiFiStationReconnectIntervalMS(void); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(void); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationEnabled(void); bool _IsWiFiStationConnected(void); bool _IsWiFiStationApplicationControlled(void); @@ -108,8 +108,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _DemandStartWiFiAP(void); void _StopOnDemandWiFiAP(void); void _MaintainOnDemandWiFiAP(void); - uint32_t _GetWiFiAPIdleTimeoutMS(void); - void _SetWiFiAPIdleTimeoutMS(uint32_t val); + System::Clock::Timeout _GetWiFiAPIdleTimeout(void); + void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); static void ActivateWiFiManager(::chip::System::Layer * aLayer, void * aAppState); static void DeactivateWiFiManager(::chip::System::Layer * aLayer, void * aAppState); @@ -127,9 +127,9 @@ class ConnectivityManagerImpl final : public ConnectivityManager, ConnectivityManager::WiFiStationMode mWiFiStationMode; ConnectivityManager::WiFiAPMode mWiFiAPMode; WiFiAPState mWiFiAPState; - uint64_t mLastAPDemandTime; - uint32_t mWiFiStationReconnectIntervalMS; - uint32_t mWiFiAPIdleTimeoutMS; + System::Clock::Timestamp mLastAPDemandTime; + System::Clock::Timeout mWiFiStationReconnectInterval; + System::Clock::Timeout mWiFiAPIdleTimeout; }; #if CHIP_DEVICE_CONFIG_ENABLE_WIFI @@ -143,9 +143,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPApplicationControlled() return false; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiAPIdleTimeoutMS() +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiAPIdleTimeout() { - return 0; + return System::Clock::Zero; } #endif diff --git a/src/platform/android/CHIPDevicePlatformConfig.h b/src/platform/android/CHIPDevicePlatformConfig.h index f7991316dfaa8b..9e17bd853397e0 100644 --- a/src/platform/android/CHIPDevicePlatformConfig.h +++ b/src/platform/android/CHIPDevicePlatformConfig.h @@ -25,8 +25,13 @@ // ==================== Platform Adaptations ==================== +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 1 #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 1 +#else +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 0 +#define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 +#endif #ifndef CHIP_DEVICE_CONFIG_ENABLE_THREAD #define CHIP_DEVICE_CONFIG_ENABLE_THREAD CHIP_ENABLE_OPENTHREAD diff --git a/src/platform/android/ConnectivityManagerImpl.cpp b/src/platform/android/ConnectivityManagerImpl.cpp index 0e55fd4a5aa85e..114fbcef3d364b 100644 --- a/src/platform/android/ConnectivityManagerImpl.cpp +++ b/src/platform/android/ConnectivityManagerImpl.cpp @@ -82,14 +82,14 @@ CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationMode(ConnectivityManager::WiF return err; } -uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS() +System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval() { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } -CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectIntervalMS(uint32_t val) +CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectInterval(System::Clock::Timeout val) { - mWiFiStationReconnectIntervalMS = val; + mWiFiStationReconnectInterval = val; return CHIP_NO_ERROR; } @@ -144,7 +144,7 @@ void ConnectivityManagerImpl::_DemandStartWiFiAP() if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand start WiFi AP"); - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } else @@ -158,7 +158,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP() if (mWiFiAPMode == kWiFiAPMode_OnDemand || mWiFiAPMode == kWiFiAPMode_OnDemand_NoStationProvision) { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand stop WiFi AP"); - mLastAPDemandTime = 0; + mLastAPDemandTime = System::Clock::Zero; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } else @@ -173,14 +173,14 @@ void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP() { if (mWiFiAPState == kWiFiAPState_Active) { - mLastAPDemandTime = System::SystemClock().GetMonotonicMilliseconds(); + mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); } } } -void ConnectivityManagerImpl::_SetWiFiAPIdleTimeoutMS(uint32_t val) +void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) { - mWiFiAPIdleTimeoutMS = val; + mWiFiAPIdleTimeout = val; DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } diff --git a/src/platform/android/ConnectivityManagerImpl.h b/src/platform/android/ConnectivityManagerImpl.h index 1f5b13300a339a..7b27e3cf867b36 100644 --- a/src/platform/android/ConnectivityManagerImpl.h +++ b/src/platform/android/ConnectivityManagerImpl.h @@ -112,8 +112,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, #if CHIP_DEVICE_CONFIG_ENABLE_WPA WiFiStationMode _GetWiFiStationMode(); CHIP_ERROR _SetWiFiStationMode(ConnectivityManager::WiFiStationMode val); - uint32_t _GetWiFiStationReconnectIntervalMS(); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationEnabled(); bool _IsWiFiStationConnected(); bool _IsWiFiStationApplicationControlled(); @@ -128,8 +128,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _DemandStartWiFiAP(); void _StopOnDemandWiFiAP(); void _MaintainOnDemandWiFiAP(); - uint32_t _GetWiFiAPIdleTimeoutMS(); - void _SetWiFiAPIdleTimeoutMS(uint32_t val); + System::Clock::Timeout _GetWiFiAPIdleTimeout(); + void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); static BitFlags mConnectivityFlag; #endif @@ -155,9 +155,9 @@ class ConnectivityManagerImpl final : public ConnectivityManager, ConnectivityManager::WiFiStationMode mWiFiStationMode; ConnectivityManager::WiFiAPMode mWiFiAPMode; WiFiAPState mWiFiAPState; - uint64_t mLastAPDemandTime; - uint32_t mWiFiStationReconnectIntervalMS; - uint32_t mWiFiAPIdleTimeoutMS; + System::Clock::Timestamp mLastAPDemandTime; + System::Clock::Timeout mWiFiStationReconnectInterval; + System::Clock::Timeout mWiFiAPIdleTimeout; }; #if CHIP_DEVICE_CONFIG_ENABLE_WPA @@ -176,9 +176,9 @@ inline bool ConnectivityManagerImpl::_IsWiFiAPApplicationControlled() return mWiFiAPMode == kWiFiAPMode_ApplicationControlled; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiAPIdleTimeoutMS() +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiAPIdleTimeout() { - return mWiFiAPIdleTimeoutMS; + return mWiFiAPIdleTimeout; } #endif diff --git a/src/platform/mbed/ConnectivityManagerImpl.cpp b/src/platform/mbed/ConnectivityManagerImpl.cpp index 81edfdaddf7c24..8922cd6023f66f 100644 --- a/src/platform/mbed/ConnectivityManagerImpl.cpp +++ b/src/platform/mbed/ConnectivityManagerImpl.cpp @@ -101,15 +101,15 @@ CHIP_ERROR ConnectivityManagerImpl::_Init() { CHIP_ERROR err = CHIP_NO_ERROR; - mWiFiStationMode = kWiFiStationMode_NotSupported; - mWiFiStationState = kWiFiStationState_NotConnected; - mIsProvisioned = false; - mIp4Address = IPAddress::Any; - mIp6Address = IPAddress::Any; - mWiFiAPMode = kWiFiAPMode_NotSupported; - mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; - mWiFiAPIdleTimeoutMS = CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT; - mSecurityType = NSAPI_SECURITY_WPA_WPA2; + mWiFiStationMode = kWiFiStationMode_NotSupported; + mWiFiStationState = kWiFiStationState_NotConnected; + mIsProvisioned = false; + mIp4Address = IPAddress::Any; + mIp6Address = IPAddress::Any; + mWiFiAPMode = kWiFiAPMode_NotSupported; + mWiFiStationReconnectInterval = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); + mWiFiAPIdleTimeout = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT); + mSecurityType = NSAPI_SECURITY_WPA_WPA2; NetworkInterface * net_if = NetworkInterface::get_default_instance(); if (net_if == nullptr) @@ -138,16 +138,18 @@ CHIP_ERROR ConnectivityManagerImpl::_Init() return err; } -CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectIntervalMS(uint32_t val) +CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationReconnectInterval(System::Clock::Timeout val) { CHIP_ERROR err = CHIP_NO_ERROR; - if (mWiFiStationReconnectIntervalMS != val) + if (mWiFiStationReconnectInterval != val) { - ChipLogProgress(DeviceLayer, "WiFi station reconnect interval MS change: %lu -> %lu", mWiFiStationReconnectIntervalMS, val); + ChipLogProgress(DeviceLayer, "WiFi station reconnect interval change: %lu ms -> %lu ms", + System::Clock::Milliseconds32(mWiFiStationReconnectInterval).count(), + System::Clock::Milliseconds32(val).count()); } - mWiFiStationReconnectIntervalMS = val; + mWiFiStationReconnectInterval = val; return err; } diff --git a/src/platform/mbed/ConnectivityManagerImpl.h b/src/platform/mbed/ConnectivityManagerImpl.h index 8207752fb8053b..6482e24e0f1ca8 100644 --- a/src/platform/mbed/ConnectivityManagerImpl.h +++ b/src/platform/mbed/ConnectivityManagerImpl.h @@ -77,8 +77,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, WiFiAPMode _GetWiFiAPMode(void); - uint32_t _GetWiFiStationReconnectIntervalMS(void); - CHIP_ERROR _SetWiFiStationReconnectIntervalMS(uint32_t val); + System::Clock::Timeout _GetWiFiStationReconnectInterval(void); + CHIP_ERROR _SetWiFiStationReconnectInterval(System::Clock::Timeout val); bool _IsWiFiStationConnected(void); bool _IsWiFiStationEnabled(void); bool _IsWiFiStationProvisioned(void); @@ -101,16 +101,17 @@ class ConnectivityManagerImpl final : public ConnectivityManager, friend ConnectivityManagerImpl & ConnectivityMgrImpl(void); static ConnectivityManagerImpl sInstance; - WiFiStationMode mWiFiStationMode = kWiFiStationMode_NotSupported; - WiFiStationState mWiFiStationState = kWiFiStationState_NotConnected; - WiFiAPMode mWiFiAPMode = kWiFiAPMode_NotSupported; - uint32_t mWiFiStationReconnectIntervalMS = CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL; - uint32_t mWiFiAPIdleTimeoutMS = CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT; - WiFiInterface * mWifiInterface = nullptr; - nsapi_security_t mSecurityType = NSAPI_SECURITY_WPA_WPA2; - bool mIsProvisioned = false; - Inet::IPAddress mIp4Address = Inet::IPAddress::Any; - Inet::IPAddress mIp6Address = Inet::IPAddress::Any; + WiFiStationMode mWiFiStationMode = kWiFiStationMode_NotSupported; + WiFiStationState mWiFiStationState = kWiFiStationState_NotConnected; + WiFiAPMode mWiFiAPMode = kWiFiAPMode_NotSupported; + System::Clock::Timeout mWiFiStationReconnectInterval = + System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_STATION_RECONNECT_INTERVAL); + System::Clock::Timeout mWiFiAPIdleTimeout = System::Clock::Milliseconds32(CHIP_DEVICE_CONFIG_WIFI_AP_IDLE_TIMEOUT); + WiFiInterface * mWifiInterface = nullptr; + nsapi_security_t mSecurityType = NSAPI_SECURITY_WPA_WPA2; + bool mIsProvisioned = false; + Inet::IPAddress mIp4Address = Inet::IPAddress::Any; + Inet::IPAddress mIp6Address = Inet::IPAddress::Any; }; inline ConnectivityManager::WiFiAPMode ConnectivityManagerImpl::_GetWiFiAPMode(void) @@ -118,9 +119,9 @@ inline ConnectivityManager::WiFiAPMode ConnectivityManagerImpl::_GetWiFiAPMode(v return mWiFiAPMode; } -inline uint32_t ConnectivityManagerImpl::_GetWiFiStationReconnectIntervalMS(void) +inline System::Clock::Timeout ConnectivityManagerImpl::_GetWiFiStationReconnectInterval(void) { - return mWiFiStationReconnectIntervalMS; + return mWiFiStationReconnectInterval; } /** diff --git a/src/platform/qpg/BLEManagerImpl.cpp b/src/platform/qpg/BLEManagerImpl.cpp index 0d5c05f87e0497..9b353b5949a1e6 100644 --- a/src/platform/qpg/BLEManagerImpl.cpp +++ b/src/platform/qpg/BLEManagerImpl.cpp @@ -430,9 +430,9 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) { ChipBLEDeviceIdentificationInfo mDeviceIdInfo; CHIP_ERROR err; - uint8_t index = 0; - uint8_t mDeviceNameLength = 0; - uint8_t mDeviceIdInfoLength = 0; + uint8_t index = 0; + uint8_t deviceNameLength = 0; + uint8_t deviceIdInfoLength = 0; char deviceName[kMaxDeviceNameLength + 1]; uint8_t advDataBuf[kMaxAdvertisementDataSetSize]; @@ -446,15 +446,15 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) if (!mFlags.Has(Flags::kDeviceNameSet)) { - snprintf(mDeviceName, sizeof(mDeviceName), "%s%04" PRIX32, CHIP_DEVICE_CONFIG_BLE_DEVICE_NAME_PREFIX, (uint32_t) 0); + snprintf(deviceName, sizeof(deviceName), "%s%04" PRIX32, CHIP_DEVICE_CONFIG_BLE_DEVICE_NAME_PREFIX, (uint32_t) 0); deviceName[kMaxDeviceNameLength] = 0; err = MapBLEError(qvCHIP_BleSetDeviceName(deviceName)); SuccessOrExit(err); } - mDeviceNameLength = static_cast(strlen(mDeviceName)); - mDeviceIdInfoLength = sizeof(mDeviceIdInfo); + deviceNameLength = static_cast(strlen(deviceName)); + deviceIdInfoLength = sizeof(mDeviceIdInfo); // Check sizes static_assert(sizeof(mDeviceIdInfo) + CHIP_ADV_SHORT_UUID_LEN + 1 <= UINT8_MAX, "Our length won't fit in a uint8_t"); @@ -467,20 +467,14 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) advDataBuf[index++] = CHIP_ADV_DATA_TYPE_FLAGS; // AD type : flags advDataBuf[index++] = CHIP_ADV_DATA_FLAGS; // AD value - advDataBuf[index++] = static_cast(mDeviceIdInfoLength + CHIP_ADV_SHORT_UUID_LEN + 1); // AD length - advDataBuf[index++] = CHIP_ADV_DATA_TYPE_SERVICE_DATA; // AD type : Service Data - advDataBuf[index++] = chipUUID_CHIPoBLE_Service[1]; // AD value + advDataBuf[index++] = static_cast(deviceIdInfoLength + CHIP_ADV_SHORT_UUID_LEN + 1); // AD length + advDataBuf[index++] = CHIP_ADV_DATA_TYPE_SERVICE_DATA; // AD type : Service Data + advDataBuf[index++] = chipUUID_CHIPoBLE_Service[1]; // AD value advDataBuf[index++] = chipUUID_CHIPoBLE_Service[0]; - memcpy(&advDataBuf[index], (void *) &mDeviceIdInfo, mDeviceIdInfoLength); // AD value - index = static_cast(index + mDeviceIdInfoLength); + memcpy(&advDataBuf[index], (void *) &mDeviceIdInfo, deviceIdInfoLength); // AD value + index = static_cast(index + deviceIdInfoLength); - // TODO remove device name issue #10221 - advDataBuf[index++] = static_cast(mDeviceNameLength + 1); // length - advDataBuf[index++] = CHIP_ADV_DATA_TYPE_NAME; // AD type : name - memcpy(&advDataBuf[index], deviceName, mDeviceNameLength); // AD value - index = static_cast(index + mDeviceNameLength); - - qvCHIP_BleSetAdvData(QV_ADV_DATA_LOC_ADV, index, mAdvDataBuf); + qvCHIP_BleSetAdvData(QV_ADV_DATA_LOC_ADV, index, advDataBuf); // Fill in scan response data index = 0; @@ -489,7 +483,14 @@ CHIP_ERROR BLEManagerImpl::ConfigureAdvertisingData(void) scanRespDataBuf[index++] = chipUUID_CHIPoBLE_Service[1]; // AD value scanRespDataBuf[index++] = chipUUID_CHIPoBLE_Service[0]; - qvCHIP_BleSetAdvData(QV_ADV_DATA_LOC_SCAN, index, mScanRespDataBuf); + VerifyOrExit(index + (deviceNameLength + 2) <= kMaxAdvertisementDataSetSize, err = CHIP_ERROR_BUFFER_TOO_SMALL); + + scanRespDataBuf[index++] = static_cast(deviceNameLength + 1); // length + scanRespDataBuf[index++] = CHIP_ADV_DATA_TYPE_NAME; // AD type : name + memcpy(&scanRespDataBuf[index], deviceName, deviceNameLength); // AD value + index = static_cast(index + deviceNameLength); + + qvCHIP_BleSetAdvData(QV_ADV_DATA_LOC_SCAN, index, scanRespDataBuf); exit: return err; diff --git a/src/platform/qpg/BLEManagerImpl.h b/src/platform/qpg/BLEManagerImpl.h index 4aefa0ae1a070e..595267a100b0f0 100644 --- a/src/platform/qpg/BLEManagerImpl.h +++ b/src/platform/qpg/BLEManagerImpl.h @@ -109,11 +109,8 @@ class BLEManagerImpl final : public BLEManager, private BleLayer, private BlePla CHIPoBLEServiceMode mServiceMode; BitFlags mFlags; - char mDeviceName[kMaxDeviceNameLength + 1]; uint16_t mNumGAPCons; uint16_t mSubscribedConIds[kMaxConnections]; - uint8_t mAdvDataBuf[kMaxAdvertisementDataSetSize]; - uint8_t mScanRespDataBuf[kMaxAdvertisementDataSetSize]; qvCHIP_Ble_Callbacks_t appCbacks; void DriveBLEState(void); diff --git a/src/protocols/bdx/BdxTransferSession.cpp b/src/protocols/bdx/BdxTransferSession.cpp index d7d168168135ce..a4b17ec736a848 100644 --- a/src/protocols/bdx/BdxTransferSession.cpp +++ b/src/protocols/bdx/BdxTransferSession.cpp @@ -64,17 +64,17 @@ TransferSession::TransferSession() mSuppportedXferOpts.ClearAll(); } -void TransferSession::PollOutput(OutputEvent & event, uint64_t curTimeMs) +void TransferSession::PollOutput(OutputEvent & event, System::Clock::Timestamp curTime) { event = OutputEvent(OutputEventType::kNone); if (mShouldInitTimeoutStart) { - mTimeoutStartTimeMs = curTimeMs; + mTimeoutStartTime = curTime; mShouldInitTimeoutStart = false; } - if (mAwaitingResponse && ((curTimeMs - mTimeoutStartTimeMs) >= mTimeoutMs)) + if (mAwaitingResponse && ((curTime - mTimeoutStartTime) >= mTimeout)) { event = OutputEvent(OutputEventType::kTransferTimeout); mState = TransferState::kErrorState; @@ -94,8 +94,8 @@ void TransferSession::PollOutput(OutputEvent & event, uint64_t curTimeMs) event = OutputEvent::StatusReportEvent(OutputEventType::kStatusReceived, mStatusReportData); break; case OutputEventType::kMsgToSend: - event = OutputEvent::MsgToSendEvent(mMsgTypeData, std::move(mPendingMsgHandle)); - mTimeoutStartTimeMs = curTimeMs; + event = OutputEvent::MsgToSendEvent(mMsgTypeData, std::move(mPendingMsgHandle)); + mTimeoutStartTime = curTime; break; case OutputEventType::kInitReceived: event = OutputEvent::TransferInitEvent(mTransferRequestData, std::move(mPendingMsgHandle)); @@ -131,12 +131,12 @@ void TransferSession::PollOutput(OutputEvent & event, uint64_t curTimeMs) mPendingOutput = OutputEventType::kNone; } -CHIP_ERROR TransferSession::StartTransfer(TransferRole role, const TransferInitData & initData, uint32_t timeoutMs) +CHIP_ERROR TransferSession::StartTransfer(TransferRole role, const TransferInitData & initData, System::Clock::Timeout timeout) { VerifyOrReturnError(mState == TransferState::kUnitialized, CHIP_ERROR_INCORRECT_STATE); - mRole = role; - mTimeoutMs = timeoutMs; + mRole = role; + mTimeout = timeout; // Set transfer parameters. They may be overridden later by an Accept message mSuppportedXferOpts = initData.TransferCtlFlags; @@ -169,13 +169,13 @@ CHIP_ERROR TransferSession::StartTransfer(TransferRole role, const TransferInitD } CHIP_ERROR TransferSession::WaitForTransfer(TransferRole role, BitFlags xferControlOpts, - uint16_t maxBlockSize, uint32_t timeoutMs) + uint16_t maxBlockSize, System::Clock::Timeout timeout) { VerifyOrReturnError(mState == TransferState::kUnitialized, CHIP_ERROR_INCORRECT_STATE); // Used to determine compatibility with any future TransferInit parameters mRole = role; - mTimeoutMs = timeoutMs; + mTimeout = timeout; mSuppportedXferOpts = xferControlOpts; mMaxSupportedBlockSize = maxBlockSize; @@ -361,14 +361,14 @@ void TransferSession::Reset() mLastQueryNum = 0; mNextQueryNum = 0; - mTimeoutMs = 0; - mTimeoutStartTimeMs = 0; + mTimeout = System::Clock::Zero; + mTimeoutStartTime = System::Clock::Zero; mShouldInitTimeoutStart = true; mAwaitingResponse = false; } CHIP_ERROR TransferSession::HandleMessageReceived(const PayloadHeader & payloadHeader, System::PacketBufferHandle msg, - uint64_t curTimeMs) + System::Clock::Timestamp curTime) { VerifyOrReturnError(!msg.IsNull(), CHIP_ERROR_INVALID_ARGUMENT); @@ -376,7 +376,7 @@ CHIP_ERROR TransferSession::HandleMessageReceived(const PayloadHeader & payloadH { ReturnErrorOnFailure(HandleBdxMessage(payloadHeader, std::move(msg))); - mTimeoutStartTimeMs = curTimeMs; + mTimeoutStartTime = curTime; } else if (payloadHeader.HasMessageType(Protocols::SecureChannel::MsgType::StatusReport)) { diff --git a/src/protocols/bdx/BdxTransferSession.h b/src/protocols/bdx/BdxTransferSession.h index fb92289380ea1e..628a7d3e7aadc1 100644 --- a/src/protocols/bdx/BdxTransferSession.h +++ b/src/protocols/bdx/BdxTransferSession.h @@ -144,14 +144,14 @@ class DLL_EXPORT TransferSession * TransferSession object. * * Note that if the type outputted is kMsgToSend, the caller is expected to send the message immediately, and the session - * timeout timer will begin at curTimeMs. + * timeout timer will begin at curTime. * * See OutputEventType for all possible output event types. * * @param event Reference to an OutputEvent struct that will be filled out with any pending output data - * @param curTimeMs Current time indicated by the number of milliseconds since some epoch defined by the platform + * @param curTime Current time */ - void PollOutput(OutputEvent & event, uint64_t curTimeMs); + void PollOutput(OutputEvent & event, System::Clock::Timestamp curTime); /** * @brief @@ -162,13 +162,13 @@ class DLL_EXPORT TransferSession * @param role Inidcates whether this object will be sending or receiving data * @param initData Data for initializing this object and for populating a TransferInit message * The role parameter will determine whether to populate a ReceiveInit or SendInit - * @param timeoutMs The amount of time to wait for a response before considering the transfer failed (milliseconds) - * @param curTimeMs The current time since epoch in milliseconds. Needed to set a start time for the transfer timeout. + * @param timeout The amount of time to wait for a response before considering the transfer failed + * @param curTime The current time since epoch. Needed to set a start time for the transfer timeout. * * @return CHIP_ERROR Result of initialization and preparation of a TransferInit message. May also indicate if the * TransferSession object is unable to handle this request. */ - CHIP_ERROR StartTransfer(TransferRole role, const TransferInitData & initData, uint32_t timeoutMs); + CHIP_ERROR StartTransfer(TransferRole role, const TransferInitData & initData, System::Clock::Timeout timeout); /** * @brief @@ -179,13 +179,13 @@ class DLL_EXPORT TransferSession * @param role Inidcates whether this object will be sending or receiving data * @param xferControlOpts Indicates all supported control modes. Used to respond to a TransferInit message * @param maxBlockSize The max Block size that this object supports. - * @param timeoutMs The amount of time to wait for a response before considering the transfer failed (milliseconds) + * @param timeout The amount of time to wait for a response before considering the transfer failed * * @return CHIP_ERROR Result of initialization. May also indicate if the TransferSession object is unable to handle this * request. */ CHIP_ERROR WaitForTransfer(TransferRole role, BitFlags xferControlOpts, uint16_t maxBlockSize, - uint32_t timeoutMs); + System::Clock::Timeout timeout); /** * @brief @@ -263,12 +263,13 @@ class DLL_EXPORT TransferSession * @param payloadHeader A PayloadHeader containing the Protocol type and Message Type * @param msg A PacketBufferHandle pointing to the message buffer to process. May be BDX or StatusReport protocol. * Buffer is expected to start at data (not header). - * @param curTimeMs Current time indicated by the number of milliseconds since some epoch defined by the platform + * @param curTime Current time * * @return CHIP_ERROR Indicates any problems in decoding the message, or if the message is not of the BDX or StatusReport * protocols. */ - CHIP_ERROR HandleMessageReceived(const PayloadHeader & payloadHeader, System::PacketBufferHandle msg, uint64_t curTimeMs); + CHIP_ERROR HandleMessageReceived(const PayloadHeader & payloadHeader, System::PacketBufferHandle msg, + System::Clock::Timestamp curTime); TransferControlFlags GetControlMode() const { return mControlMode; } uint64_t GetStartOffset() const { return mStartOffset; } @@ -349,8 +350,8 @@ class DLL_EXPORT TransferSession uint32_t mLastQueryNum = 0; uint32_t mNextQueryNum = 0; - uint32_t mTimeoutMs = 0; - uint64_t mTimeoutStartTimeMs = 0; + System::Clock::Timeout mTimeout{ 0 }; + System::Clock::Timestamp mTimeoutStartTime{ 0 }; bool mShouldInitTimeoutStart = true; bool mAwaitingResponse = false; }; diff --git a/src/protocols/bdx/TransferFacilitator.cpp b/src/protocols/bdx/TransferFacilitator.cpp index 98ff832089c39e..5a9ce8ef66b92f 100644 --- a/src/protocols/bdx/TransferFacilitator.cpp +++ b/src/protocols/bdx/TransferFacilitator.cpp @@ -29,6 +29,9 @@ namespace chip { namespace bdx { +constexpr System::Clock::Timeout TransferFacilitator::kDefaultPollFreq; +constexpr System::Clock::Timeout TransferFacilitator::kImmediatePollDelay; + CHIP_ERROR TransferFacilitator::OnMessageReceived(chip::Messaging::ExchangeContext * ec, const chip::PayloadHeader & payloadHeader, chip::System::PacketBufferHandle && payload) { @@ -40,7 +43,7 @@ CHIP_ERROR TransferFacilitator::OnMessageReceived(chip::Messaging::ExchangeConte ChipLogDetail(BDX, "%s: message " ChipLogFormatMessageType " protocol " ChipLogFormatProtocolId, __FUNCTION__, payloadHeader.GetMessageType(), ChipLogValueProtocolId(payloadHeader.GetProtocolID())); CHIP_ERROR err = - mTransfer.HandleMessageReceived(payloadHeader, std::move(payload), System::SystemClock().GetMonotonicMilliseconds()); + mTransfer.HandleMessageReceived(payloadHeader, std::move(payload), System::SystemClock().GetMonotonicTimestamp()); if (err != CHIP_NO_ERROR) { ChipLogError(BDX, "failed to handle message: %s", ErrorStr(err)); @@ -71,44 +74,44 @@ void TransferFacilitator::PollTimerHandler(chip::System::Layer * systemLayer, vo void TransferFacilitator::PollForOutput() { TransferSession::OutputEvent outEvent; - mTransfer.PollOutput(outEvent, System::SystemClock().GetMonotonicMilliseconds()); + mTransfer.PollOutput(outEvent, System::SystemClock().GetMonotonicTimestamp()); HandleTransferSessionOutput(outEvent); VerifyOrReturn(mSystemLayer != nullptr, ChipLogError(BDX, "%s mSystemLayer is null", __FUNCTION__)); - mSystemLayer->StartTimer(System::Clock::Milliseconds32(mPollFreqMs), PollTimerHandler, this); + mSystemLayer->StartTimer(mPollFreq, PollTimerHandler, this); } void TransferFacilitator::ScheduleImmediatePoll() { VerifyOrReturn(mSystemLayer != nullptr, ChipLogError(BDX, "%s mSystemLayer is null", __FUNCTION__)); - mSystemLayer->StartTimer(System::Clock::Milliseconds32(kImmediatePollDelayMs), PollTimerHandler, this); + mSystemLayer->StartTimer(System::Clock::Milliseconds32(kImmediatePollDelay), PollTimerHandler, this); } CHIP_ERROR Responder::PrepareForTransfer(System::Layer * layer, TransferRole role, BitFlags xferControlOpts, - uint16_t maxBlockSize, uint32_t timeoutMs, uint32_t pollFreqMs) + uint16_t maxBlockSize, System::Clock::Timeout timeout, System::Clock::Timeout pollFreq) { VerifyOrReturnError(layer != nullptr, CHIP_ERROR_INVALID_ARGUMENT); - mPollFreqMs = pollFreqMs; + mPollFreq = pollFreq; mSystemLayer = layer; - ReturnErrorOnFailure(mTransfer.WaitForTransfer(role, xferControlOpts, maxBlockSize, timeoutMs)); + ReturnErrorOnFailure(mTransfer.WaitForTransfer(role, xferControlOpts, maxBlockSize, timeout)); - mSystemLayer->StartTimer(System::Clock::Milliseconds32(mPollFreqMs), PollTimerHandler, this); + mSystemLayer->StartTimer(mPollFreq, PollTimerHandler, this); return CHIP_NO_ERROR; } CHIP_ERROR Initiator::InitiateTransfer(System::Layer * layer, TransferRole role, const TransferSession::TransferInitData & initData, - uint32_t timeoutMs, uint32_t pollFreqMs) + System::Clock::Timeout timeout, System::Clock::Timeout pollFreq) { VerifyOrReturnError(layer != nullptr, CHIP_ERROR_INVALID_ARGUMENT); - mPollFreqMs = pollFreqMs; + mPollFreq = pollFreq; mSystemLayer = layer; - ReturnErrorOnFailure(mTransfer.StartTransfer(role, initData, timeoutMs)); + ReturnErrorOnFailure(mTransfer.StartTransfer(role, initData, timeout)); - mSystemLayer->StartTimer(System::Clock::Milliseconds32(mPollFreqMs), PollTimerHandler, this); + mSystemLayer->StartTimer(mPollFreq, PollTimerHandler, this); return CHIP_NO_ERROR; } diff --git a/src/protocols/bdx/TransferFacilitator.h b/src/protocols/bdx/TransferFacilitator.h index ec043cb935807a..40f606d3524881 100644 --- a/src/protocols/bdx/TransferFacilitator.h +++ b/src/protocols/bdx/TransferFacilitator.h @@ -44,7 +44,7 @@ namespace bdx { class TransferFacilitator : public Messaging::ExchangeDelegate { public: - TransferFacilitator() : mExchangeCtx(nullptr), mSystemLayer(nullptr), mPollFreqMs(kDefaultPollFreqMs) {} + TransferFacilitator() : mExchangeCtx(nullptr), mSystemLayer(nullptr), mPollFreq(kDefaultPollFreq) {} ~TransferFacilitator() = default; private: @@ -82,9 +82,9 @@ class TransferFacilitator : public Messaging::ExchangeDelegate TransferSession mTransfer; Messaging::ExchangeContext * mExchangeCtx; System::Layer * mSystemLayer; - uint32_t mPollFreqMs; - static constexpr uint32_t kDefaultPollFreqMs = 500; - static constexpr uint32_t kImmediatePollDelayMs = 1; + System::Clock::Timeout mPollFreq; + static constexpr System::Clock::Timeout kDefaultPollFreq = System::Clock::Milliseconds32(500); + static constexpr System::Clock::Timeout kImmediatePollDelay = System::Clock::Milliseconds32(1); }; /** @@ -103,12 +103,12 @@ class Responder : public TransferFacilitator * @param[in] role The role of the Responder: Sender or Receiver of BDX data * @param[in] xferControlOpts Supported transfer modes (see TransferControlFlags) * @param[in] maxBlockSize The supported maximum size of BDX Block data - * @param[in] timeoutMs The chosen timeout delay for the BDX transfer in milliseconds - * @param[in] pollFreqMs The period for the TransferSession poll timer in milliseconds + * @param[in] timeout The chosen timeout delay for the BDX transfer + * @param[in] pollFreq The period for the TransferSession poll timer */ CHIP_ERROR PrepareForTransfer(System::Layer * layer, TransferRole role, BitFlags xferControlOpts, - uint16_t maxBlockSize, uint32_t timeoutMs, - uint32_t pollFreqMs = TransferFacilitator::kDefaultPollFreqMs); + uint16_t maxBlockSize, System::Clock::Timeout timeout, + System::Clock::Timeout pollFreq = TransferFacilitator::kDefaultPollFreq); }; /** @@ -131,7 +131,8 @@ class Initiator : public TransferFacilitator * @param[in] pollFreqMs The period for the TransferSession poll timer in milliseconds */ CHIP_ERROR InitiateTransfer(System::Layer * layer, TransferRole role, const TransferSession::TransferInitData & initData, - uint32_t timeoutMs, uint32_t pollFreqMs = TransferFacilitator::kDefaultPollFreqMs); + System::Clock::Timeout timeout, + System::Clock::Timeout pollFreq = TransferFacilitator::kDefaultPollFreq); }; } // namespace bdx diff --git a/src/protocols/bdx/tests/TestBdxTransferSession.cpp b/src/protocols/bdx/tests/TestBdxTransferSession.cpp index 9cf9557c85cd4a..249b646596c0c2 100644 --- a/src/protocols/bdx/tests/TestBdxTransferSession.cpp +++ b/src/protocols/bdx/tests/TestBdxTransferSession.cpp @@ -21,7 +21,7 @@ using namespace ::chip::Protocols; namespace { // Use this as a timestamp if not needing to test BDX timeouts. -constexpr uint64_t kNoAdvanceTime = 0; +constexpr System::Clock::Timestamp kNoAdvanceTime{ 0 }; const TLV::Tag tlvStrTag = TLV::ContextTag(4); const TLV::Tag tlvListTag = TLV::ProfileTag(7777, 8888); @@ -137,22 +137,22 @@ void VerifyNoMoreOutput(nlTestSuite * inSuite, void * inContext, TransferSession // Helper method for initializing two TransferSession objects, generating a TransferInit message, and passing it to a responding // TransferSession. -void SendAndVerifyTransferInit(nlTestSuite * inSuite, void * inContext, TransferSession::OutputEvent & outEvent, uint32_t timeoutMs, - TransferSession & initiator, TransferRole initiatorRole, TransferSession::TransferInitData initData, - TransferSession & responder, BitFlags & responderControlOpts, - uint16_t responderMaxBlock) +void SendAndVerifyTransferInit(nlTestSuite * inSuite, void * inContext, TransferSession::OutputEvent & outEvent, + System::Clock::Timeout timeout, TransferSession & initiator, TransferRole initiatorRole, + TransferSession::TransferInitData initData, TransferSession & responder, + BitFlags & responderControlOpts, uint16_t responderMaxBlock) { CHIP_ERROR err = CHIP_NO_ERROR; TransferRole responderRole = (initiatorRole == TransferRole::kSender) ? TransferRole::kReceiver : TransferRole::kSender; MessageType expectedInitMsg = (initiatorRole == TransferRole::kSender) ? MessageType::SendInit : MessageType::ReceiveInit; // Initializer responder to wait for transfer - err = responder.WaitForTransfer(responderRole, responderControlOpts, responderMaxBlock, timeoutMs); + err = responder.WaitForTransfer(responderRole, responderControlOpts, responderMaxBlock, timeout); NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); VerifyNoMoreOutput(inSuite, inContext, responder); // Verify initiator outputs respective Init message (depending on role) after StartTransfer() - err = initiator.StartTransfer(initiatorRole, initData, timeoutMs); + err = initiator.StartTransfer(initiatorRole, initData, timeout); NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); initiator.PollOutput(outEvent, kNoAdvanceTime); NL_TEST_ASSERT(inSuite, outEvent.EventType == TransferSession::OutputEventType::kMsgToSend); @@ -357,12 +357,12 @@ void TestInitiatingReceiverReceiverDrive(nlTestSuite * inSuite, void * inContext uint32_t numBlocksSent = 0; // Chosen arbitrarily for this test - uint32_t numBlockSends = 10; - uint16_t proposedBlockSize = 128; - uint16_t testSmallerBlockSize = 64; - uint64_t proposedOffset = 64; - uint64_t proposedLength = 0; - uint32_t timeoutMs = 1000 * 24; + uint32_t numBlockSends = 10; + uint16_t proposedBlockSize = 128; + uint16_t testSmallerBlockSize = 64; + uint64_t proposedOffset = 64; + uint64_t proposedLength = 0; + System::Clock::Timeout timeout = System::Clock::Seconds16(24); // Chosen specifically for this test TransferControlFlags driveMode = TransferControlFlags::kReceiverDrive; @@ -379,7 +379,7 @@ void TestInitiatingReceiverReceiverDrive(nlTestSuite * inSuite, void * inContext BitFlags senderOpts; senderOpts.Set(driveMode); - SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeoutMs, initiatingReceiver, TransferRole::kReceiver, initOptions, + SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeout, initiatingReceiver, TransferRole::kReceiver, initOptions, respondingSender, senderOpts, proposedBlockSize); // Test metadata for Accept message @@ -462,8 +462,8 @@ void TestInitiatingSenderSenderDrive(nlTestSuite * inSuite, void * inContext) TransferControlFlags driveMode = TransferControlFlags::kSenderDrive; // Chosen arbitrarily for this test - uint16_t transferBlockSize = 10; - uint32_t timeoutMs = 1000 * 24; + uint16_t transferBlockSize = 10; + System::Clock::Timeout timeout = System::Clock::Seconds16(24); // Initialize respondingReceiver BitFlags receiverOpts; @@ -487,7 +487,7 @@ void TestInitiatingSenderSenderDrive(nlTestSuite * inSuite, void * inContext) initOptions.Metadata = tlvBuf; initOptions.MetadataLength = metadataSize; - SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeoutMs, initiatingSender, TransferRole::kSender, initOptions, + SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeout, initiatingSender, TransferRole::kSender, initOptions, respondingReceiver, receiverOpts, transferBlockSize); // Verify parsed TLV metadata matches the original @@ -532,7 +532,7 @@ void TestBadAcceptMessageFields(nlTestSuite * inSuite, void * inContext) TransferControlFlags driveMode = TransferControlFlags::kReceiverDrive; uint64_t commonLength = 0; uint64_t commonOffset = 0; - uint32_t timeoutMs = 1000 * 24; + System::Clock::Timeout timeout = System::Clock::Seconds16(24); // Initialize struct with TransferInit parameters TransferSession::TransferInitData initOptions; @@ -550,7 +550,7 @@ void TestBadAcceptMessageFields(nlTestSuite * inSuite, void * inContext) BitFlags responderControl; responderControl.Set(driveMode); - SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeoutMs, initiatingReceiver, TransferRole::kReceiver, initOptions, + SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeout, initiatingReceiver, TransferRole::kReceiver, initOptions, respondingSender, responderControl, maxBlockSize); // Verify AcceptTransfer() returns error for choosing larger max block size @@ -580,9 +580,9 @@ void TestTimeout(nlTestSuite * inSuite, void * inContext) TransferSession initiator; TransferSession::OutputEvent outEvent; - uint32_t timeoutMs = 24; - uint64_t startTimeMs = 100; - uint64_t endTimeMs = 124; + System::Clock::Timeout timeout = System::Clock::Milliseconds32(24); + System::Clock::Timestamp startTime = System::Clock::Milliseconds64(100); + System::Clock::Timestamp endTime = System::Clock::Milliseconds64(124); // Initialize struct with arbitrary TransferInit parameters TransferSession::TransferInitData initOptions; @@ -599,17 +599,17 @@ void TestTimeout(nlTestSuite * inSuite, void * inContext) TransferRole role = TransferRole::kReceiver; // Verify initiator outputs respective Init message (depending on role) after StartTransfer() - err = initiator.StartTransfer(role, initOptions, timeoutMs); + err = initiator.StartTransfer(role, initOptions, timeout); NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); // First PollOutput() should output the TransferInit message - initiator.PollOutput(outEvent, startTimeMs); + initiator.PollOutput(outEvent, startTime); NL_TEST_ASSERT(inSuite, outEvent.EventType == TransferSession::OutputEventType::kMsgToSend); MessageType expectedInitMsg = (role == TransferRole::kSender) ? MessageType::SendInit : MessageType::ReceiveInit; VerifyBdxMessageToSend(inSuite, inContext, outEvent, expectedInitMsg); // Second PollOutput() with no call to HandleMessageReceived() should result in a timeout. - initiator.PollOutput(outEvent, endTimeMs); + initiator.PollOutput(outEvent, endTime); NL_TEST_ASSERT(inSuite, outEvent.EventType == TransferSession::OutputEventType::kTransferTimeout); } @@ -628,9 +628,9 @@ void TestDuplicateBlockError(nlTestSuite * inSuite, void * inContext) uint16_t blockSize = sizeof(fakeData); // Chosen arbitrarily for this test - uint64_t proposedOffset = 64; - uint64_t proposedLength = 0; - uint32_t timeoutMs = 1000 * 24; + uint64_t proposedOffset = 64; + uint64_t proposedLength = 0; + System::Clock::Timeout timeout = System::Clock::Seconds16(24); // Chosen specifically for this test TransferControlFlags driveMode = TransferControlFlags::kReceiverDrive; @@ -647,7 +647,7 @@ void TestDuplicateBlockError(nlTestSuite * inSuite, void * inContext) BitFlags senderOpts; senderOpts.Set(driveMode); - SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeoutMs, initiatingReceiver, TransferRole::kReceiver, initOptions, + SendAndVerifyTransferInit(inSuite, inContext, outEvent, timeout, initiatingReceiver, TransferRole::kReceiver, initOptions, respondingSender, senderOpts, blockSize); // Compose ReceiveAccept parameters struct and give to respondingSender diff --git a/src/protocols/echo/EchoClient.cpp b/src/protocols/echo/EchoClient.cpp index f2379dc8611cb6..e861ffa9feebb4 100644 --- a/src/protocols/echo/EchoClient.cpp +++ b/src/protocols/echo/EchoClient.cpp @@ -30,7 +30,7 @@ namespace Protocols { namespace Echo { // The Echo message timeout value in milliseconds. -constexpr uint32_t kEchoMessageTimeoutMsec = 800; +constexpr System::Clock::Timeout kEchoMessageTimeout = System::Clock::Milliseconds32(800); CHIP_ERROR EchoClient::Init(Messaging::ExchangeManager * exchangeMgr, SessionHandle session) { @@ -77,7 +77,7 @@ CHIP_ERROR EchoClient::SendEchoRequest(System::PacketBufferHandle && payload, Me return CHIP_ERROR_NO_MEMORY; } - mExchangeCtx->SetResponseTimeout(kEchoMessageTimeoutMsec); + mExchangeCtx->SetResponseTimeout(kEchoMessageTimeout); // Send an Echo Request message. Discard the exchange context if the send fails. err = mExchangeCtx->SendMessage(MsgType::EchoRequest, std::move(payload), diff --git a/src/protocols/secure_channel/CASESession.cpp b/src/protocols/secure_channel/CASESession.cpp index e3284f0dca06ab..7d576426d43733 100644 --- a/src/protocols/secure_channel/CASESession.cpp +++ b/src/protocols/secure_channel/CASESession.cpp @@ -87,7 +87,7 @@ using HKDF_sha_crypto = HKDF_sha; // Wait at most 10 seconds for the response from the peer. // This timeout value assumes the underlying transport is reliable. // The session establishment fails if the response is not received within timeout window. -static constexpr ExchangeContext::Timeout kSigma_Response_Timeout = 10000; +static constexpr ExchangeContext::Timeout kSigma_Response_Timeout = System::Clock::Seconds16(10); CASESession::CASESession() { diff --git a/src/protocols/secure_channel/MessageCounterManager.cpp b/src/protocols/secure_channel/MessageCounterManager.cpp index 0ef994e2a48a08..b423ae72ec5355 100644 --- a/src/protocols/secure_channel/MessageCounterManager.cpp +++ b/src/protocols/secure_channel/MessageCounterManager.cpp @@ -37,6 +37,8 @@ namespace chip { namespace secure_channel { +constexpr System::Clock::Timeout MessageCounterManager::kSyncTimeout; + CHIP_ERROR MessageCounterManager::Init(Messaging::ExchangeManager * exchangeMgr) { VerifyOrReturnError(exchangeMgr != nullptr, CHIP_ERROR_INCORRECT_STATE); @@ -197,8 +199,8 @@ CHIP_ERROR MessageCounterManager::SendMsgCounterSyncReq(SessionHandle session, T sendFlags.Set(Messaging::SendMessageFlags::kNoAutoRequestAck).Set(Messaging::SendMessageFlags::kExpectResponse); - // Arm a timer to enforce that a MsgCounterSyncRsp is received before kSyncTimeoutMs. - exchangeContext->SetResponseTimeout(kSyncTimeoutMs); + // Arm a timer to enforce that a MsgCounterSyncRsp is received before kSyncTimeout. + exchangeContext->SetResponseTimeout(kSyncTimeout); // Send the message counter synchronization request in a Secure Channel Protocol::MsgCounterSyncReq message. SuccessOrExit( diff --git a/src/protocols/secure_channel/MessageCounterManager.h b/src/protocols/secure_channel/MessageCounterManager.h index 5eb0ea3cb754ef..d2c39fce9961a7 100644 --- a/src/protocols/secure_channel/MessageCounterManager.h +++ b/src/protocols/secure_channel/MessageCounterManager.h @@ -34,10 +34,10 @@ class ExchangeManager; class MessageCounterManager : public Messaging::ExchangeDelegate, public Transport::MessageCounterManagerInterface { public: - static constexpr uint16_t kChallengeSize = Transport::PeerMessageCounter::kChallengeSize; - static constexpr uint16_t kCounterSize = 4; - static constexpr uint16_t kSyncRespMsgSize = kChallengeSize + kCounterSize; - static constexpr uint32_t kSyncTimeoutMs = 500; + static constexpr uint16_t kChallengeSize = Transport::PeerMessageCounter::kChallengeSize; + static constexpr uint16_t kCounterSize = 4; + static constexpr uint16_t kSyncRespMsgSize = kChallengeSize + kCounterSize; + static constexpr System::Clock::Timeout kSyncTimeout = System::Clock::Milliseconds32(500); MessageCounterManager() : mExchangeMgr(nullptr) {} ~MessageCounterManager() override {} diff --git a/src/protocols/secure_channel/PASESession.cpp b/src/protocols/secure_channel/PASESession.cpp index c7aa758a41c5c9..d4f0c4724f6325 100644 --- a/src/protocols/secure_channel/PASESession.cpp +++ b/src/protocols/secure_channel/PASESession.cpp @@ -62,7 +62,7 @@ const char * kSpake2pKeyExchangeSalt = "SPAKE2P Key Salt"; // Wait at most 30 seconds for the response from the peer. // This timeout value assumes the underlying transport is reliable. // The session establishment fails if the response is not received with in timeout window. -static constexpr ExchangeContext::Timeout kSpake2p_Response_Timeout = 30000; +static constexpr ExchangeContext::Timeout kSpake2p_Response_Timeout = System::Clock::Seconds16(30); #ifdef ENABLE_HSM_PBKDF2 using PBKDF2_sha256_crypto = PBKDF2_sha256HSM; diff --git a/src/transport/CryptoContext.cpp b/src/transport/CryptoContext.cpp index 7ac94a5351ad00..b238591faf4cfc 100644 --- a/src/transport/CryptoContext.cpp +++ b/src/transport/CryptoContext.cpp @@ -37,7 +37,7 @@ namespace chip { namespace { -constexpr size_t kAESCCMIVLen = 12; +constexpr size_t kAESCCMIVLen = 13; constexpr size_t kMaxAADLen = 128; /* Session Establish Key Info */ @@ -137,8 +137,9 @@ CHIP_ERROR CryptoContext::GetIV(const PacketHeader & header, uint8_t * iv, size_ Encoding::LittleEndian::BufferWriter bbuf(iv, len); - bbuf.Put64(header.GetSourceNodeId().ValueOr(0)); + bbuf.Put8(header.GetSecurityFlags()); bbuf.Put32(header.GetMessageCounter()); + bbuf.Put64(header.GetSourceNodeId().ValueOr(0)); return bbuf.Fit() ? CHIP_NO_ERROR : CHIP_ERROR_NO_MEMORY; } diff --git a/src/transport/SessionManager.cpp b/src/transport/SessionManager.cpp index 6bf6d5d3553bf4..0fccd619a16e87 100644 --- a/src/transport/SessionManager.cpp +++ b/src/transport/SessionManager.cpp @@ -189,7 +189,7 @@ CHIP_ERROR SessionManager::SendPreparedMessage(SessionHandle session, const Encr else { auto unauthenticated = session.GetUnauthenticatedSession(); - mUnauthenticatedSessions.MarkSessionActive(unauthenticated.Get()); + mUnauthenticatedSessions.MarkSessionActive(unauthenticated); destination = &unauthenticated->GetPeerAddress(); ChipLogProgress(Inet, @@ -339,13 +339,14 @@ void SessionManager::OnMessageReceived(const PeerAddress & peerAddress, System:: void SessionManager::MessageDispatch(const PacketHeader & packetHeader, const Transport::PeerAddress & peerAddress, System::PacketBufferHandle && msg) { - Transport::UnauthenticatedSession * session = mUnauthenticatedSessions.FindOrAllocateEntry(peerAddress); - if (session == nullptr) + Optional optionalSession = mUnauthenticatedSessions.FindOrAllocateEntry(peerAddress); + if (!optionalSession.HasValue()) { ChipLogError(Inet, "UnauthenticatedSession exhausted"); return; } + Transport::UnauthenticatedSessionHandle session = optionalSession.Value(); SessionManagerDelegate::DuplicateMessage isDuplicate = SessionManagerDelegate::DuplicateMessage::No; // Verify message counter @@ -357,7 +358,7 @@ void SessionManager::MessageDispatch(const PacketHeader & packetHeader, const Tr } VerifyOrDie(err == CHIP_NO_ERROR); - mUnauthenticatedSessions.MarkSessionActive(*session); + mUnauthenticatedSessions.MarkSessionActive(session); PayloadHeader payloadHeader; ReturnOnFailure(payloadHeader.DecodeAndConsume(msg)); @@ -374,8 +375,7 @@ void SessionManager::MessageDispatch(const PacketHeader & packetHeader, const Tr if (mCB != nullptr) { - mCB->OnMessageReceived(packetHeader, payloadHeader, SessionHandle(Transport::UnauthenticatedSessionHandle(*session)), - peerAddress, isDuplicate, std::move(msg)); + mCB->OnMessageReceived(packetHeader, payloadHeader, SessionHandle(session), peerAddress, isDuplicate, std::move(msg)); } } diff --git a/src/transport/SessionManager.h b/src/transport/SessionManager.h index 159251a8202421..43f6e0adbf1a12 100644 --- a/src/transport/SessionManager.h +++ b/src/transport/SessionManager.h @@ -265,11 +265,8 @@ class DLL_EXPORT SessionManager : public TransportMgrDelegate Optional CreateUnauthenticatedSession(const Transport::PeerAddress & peerAddress) { - Transport::UnauthenticatedSession * session = mUnauthenticatedSessions.FindOrAllocateEntry(peerAddress); - if (session == nullptr) - return Optional::Missing(); - - return Optional::Value(SessionHandle(Transport::UnauthenticatedSessionHandle(*session))); + Optional session = mUnauthenticatedSessions.FindOrAllocateEntry(peerAddress); + return session.HasValue() ? MakeOptional(session.Value()) : NullOptional; } private: diff --git a/src/transport/UnauthenticatedSessionTable.h b/src/transport/UnauthenticatedSessionTable.h index 701b27afe1bcca..70b46f26bf56b2 100644 --- a/src/transport/UnauthenticatedSessionTable.h +++ b/src/transport/UnauthenticatedSessionTable.h @@ -44,7 +44,7 @@ class UnauthenticatedSessionDeleter * @brief * An UnauthenticatedSession stores the binding of TransportAddress, and message counters. */ -class UnauthenticatedSession : public ReferenceCounted +class UnauthenticatedSession : public ReferenceCounted { public: UnauthenticatedSession(const PeerAddress & address) : mPeerAddress(address) { mLocalMessageCounter.Init(); } @@ -82,6 +82,39 @@ template FindOrAllocateEntry(const PeerAddress & address) + { + UnauthenticatedSession * result = FindEntry(address); + if (result != nullptr) + return MakeOptional(*result); + + CHIP_ERROR err = AllocEntry(address, result); + if (err == CHIP_NO_ERROR) + { + return MakeOptional(*result); + } + else + { + return Optional::Missing(); + } + } + + /// Mark a session as active + void MarkSessionActive(UnauthenticatedSessionHandle session) + { + session->SetLastActivityTimeMs(mTimeSource.GetCurrentMonotonicTimeMs()); + } + + /// Allows access to the underlying time source used for keeping track of connection active time + Time::TimeSource & GetTimeSource() { return mTimeSource; } + +private: /** * Allocates a new session out of the internal resource pool. * @@ -125,36 +158,6 @@ class UnauthenticatedSessionTable return result; } - /** - * Get a peer given the peer id. If the peer doesn't exist in the cache, allocate a new entry for it. - * - * @return the peer found or allocated, nullptr if not found and allocate failed. - */ - CHECK_RETURN_VALUE - UnauthenticatedSession * FindOrAllocateEntry(const PeerAddress & address) - { - UnauthenticatedSession * result = FindEntry(address); - if (result != nullptr) - return result; - - CHIP_ERROR err = AllocEntry(address, result); - if (err == CHIP_NO_ERROR) - { - return result; - } - else - { - return nullptr; - } - } - - /// Mark a session as active - void MarkSessionActive(UnauthenticatedSession & entry) { entry.SetLastActivityTimeMs(mTimeSource.GetCurrentMonotonicTimeMs()); } - - /// Allows access to the underlying time source used for keeping track of connection active time - Time::TimeSource & GetTimeSource() { return mTimeSource; } - -private: UnauthenticatedSession * FindLeastRecentUsedEntry() { UnauthenticatedSession * result = nullptr; diff --git a/src/transport/raw/MessageHeader.h b/src/transport/raw/MessageHeader.h index d99f2c02c7357a..e3b52a75a7db02 100644 --- a/src/transport/raw/MessageHeader.h +++ b/src/transport/raw/MessageHeader.h @@ -158,6 +158,14 @@ class PacketHeader uint16_t GetSessionId() const { return mSessionId; } Header::SessionType GetSessionType() const { return mSessionType; } + uint8_t GetMessageFlags() const { return mMsgFlags.Raw(); } + + uint8_t GetSecurityFlags() const { return mSecFlags.Raw(); } + + void SetMessageFlags(uint8_t flags) { mMsgFlags.SetRaw(flags); } + + void SetSecurityFlags(uint8_t flags) { mSecFlags.SetRaw(flags); } + bool IsGroupSession() const { return mSessionType == Header::SessionType::kGroupSession; } bool IsUnicastSession() const { return mSessionType == Header::SessionType::kUnicastSession; } diff --git a/third_party/qpg_sdk/qpg_sdk.gni b/third_party/qpg_sdk/qpg_sdk.gni index 1d4b1ac20d65ee..2e4527c004209b 100644 --- a/third_party/qpg_sdk/qpg_sdk.gni +++ b/third_party/qpg_sdk/qpg_sdk.gni @@ -59,8 +59,6 @@ template("qpg_sdk") { include_dirs += [ "${qpg_sdk_root}/${qpg_target_ic}/comps/qvCHIP/inc", "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/config", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/portable/GCC/ARM_CM3", "${qpg_sdk_root}/${qpg_target_ic}/comps/libmbedtls", "${mbedtls_root}/repo/include", "${openthread_root}/include", @@ -178,18 +176,6 @@ template("qpg_sdk") { "${chip_root}/third_party/mbedtls/repo/library/x509write_crt.c", "${chip_root}/third_party/mbedtls/repo/library/x509write_csr.c", "${chip_root}/third_party/mbedtls/repo/library/xtea.c", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/FreeRTOS.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/deprecated_definitions.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/list.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/mpu_wrappers.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/portable.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/projdefs.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/queue.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/semphr.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/stack_macros.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/task.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/include/timers.h", - "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/Source/portable/GCC/ARM_CM3/portmacro.h", "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/config/FreeRTOSConfig.h", "${qpg_sdk_root}/${qpg_target_ic}/comps/gpFreeRTOS/config/hooks.c", "${qpg_sdk_root}/${qpg_target_ic}/comps/libmbedtls/${qpg_target_ic}-mbedtls-config.h", @@ -209,5 +195,6 @@ template("qpg_sdk") { } public_configs = [ ":${sdk_target_name}_config" ] + public_deps = [ "${chip_root}/third_party/qpg_sdk:freertos" ] } } diff --git a/third_party/qpg_sdk/repo b/third_party/qpg_sdk/repo index ca8b067590d4d6..7ca242a064f2db 160000 --- a/third_party/qpg_sdk/repo +++ b/third_party/qpg_sdk/repo @@ -1 +1 @@ -Subproject commit ca8b067590d4d65280417b60dfe4d16dad9b2775 +Subproject commit 7ca242a064f2dbe25fec136aa56934aeb0cf418c diff --git a/third_party/zap/repo b/third_party/zap/repo index 3220a46ba2c386..0376d5eb812d0f 160000 --- a/third_party/zap/repo +++ b/third_party/zap/repo @@ -1 +1 @@ -Subproject commit 3220a46ba2c386b3cbc8312e5cd2064cfad9bfb9 +Subproject commit 0376d5eb812d0f3d5585861b0b88b2480799e92e diff --git a/zzz_generated/all-clusters-app/zap-generated/IMClusterCommandHandler.cpp b/zzz_generated/all-clusters-app/zap-generated/IMClusterCommandHandler.cpp index 0c348ff2f7dbe6..eb357f056e246e 100644 --- a/zzz_generated/all-clusters-app/zap-generated/IMClusterCommandHandler.cpp +++ b/zzz_generated/all-clusters-app/zap-generated/IMClusterCommandHandler.cpp @@ -1607,6 +1607,15 @@ void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandP } break; } + case Commands::TestEnumsRequest::Id: { + Commands::TestEnumsRequest::DecodableType commandData; + TLVError = DataModel::Decode(aDataTlv, commandData); + if (TLVError == CHIP_NO_ERROR) + { + wasHandled = emberAfTestClusterClusterTestEnumsRequestCallback(apCommandObj, aCommandPath, commandData); + } + break; + } case Commands::TestListInt8UArgumentRequest::Id: { Commands::TestListInt8UArgumentRequest::DecodableType commandData; TLVError = DataModel::Decode(aDataTlv, commandData); diff --git a/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h index 2e57e62312e33e..0bd76757258240 100644 --- a/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h @@ -31,6 +31,7 @@ MatterBasicPluginServerInitCallback(); \ MatterBinaryInputBasicPluginServerInitCallback(); \ MatterBindingPluginServerInitCallback(); \ + MatterBooleanStatePluginServerInitCallback(); \ MatterBridgedDeviceBasicPluginServerInitCallback(); \ MatterColorControlPluginServerInitCallback(); \ MatterContentLauncherPluginServerInitCallback(); \ @@ -47,6 +48,7 @@ MatterGroupsPluginServerInitCallback(); \ MatterIasZonePluginServerInitCallback(); \ MatterIdentifyPluginServerInitCallback(); \ + MatterIlluminanceMeasurementPluginServerInitCallback(); \ MatterKeypadInputPluginServerInitCallback(); \ MatterLevelControlPluginServerInitCallback(); \ MatterLowPowerPluginServerInitCallback(); \ diff --git a/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp b/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp index fa3881427262d3..b2a9af107d7029 100644 --- a/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp +++ b/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp @@ -56,6 +56,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_BINDING_CLUSTER_ID: emberAfBindingClusterInitCallback(endpoint); break; + case ZCL_BOOLEAN_STATE_CLUSTER_ID: + emberAfBooleanStateClusterInitCallback(endpoint); + break; case ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID: emberAfBridgedDeviceBasicClusterInitCallback(endpoint); break; @@ -104,6 +107,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_IDENTIFY_CLUSTER_ID: emberAfIdentifyClusterInitCallback(endpoint); break; + case ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID: + emberAfIlluminanceMeasurementClusterInitCallback(endpoint); + break; case ZCL_KEYPAD_INPUT_CLUSTER_ID: emberAfKeypadInputClusterInitCallback(endpoint); break; @@ -242,6 +248,11 @@ void __attribute__((weak)) emberAfBindingClusterInitCallback(EndpointId endpoint // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfBooleanStateClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfBridgedDeviceBasicClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -322,6 +333,11 @@ void __attribute__((weak)) emberAfIdentifyClusterInitCallback(EndpointId endpoin // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfIlluminanceMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h index 309ac68578d2a7..d8723935e1b00c 100644 --- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h @@ -27,109 +27,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,27 +82,27 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server), big-endian */ \ \ - /* 1654 - default ota provider, */ \ + /* 641 - default ota provider, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1671 - Breadcrumb, */ \ + /* 658 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1679 - BasicCommissioningInfoList, */ \ + /* 666 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -183,12 +120,12 @@ \ /* Endpoint: 0, Cluster: Network Commissioning (server), big-endian */ \ \ - /* 1933 - FeatureMap, */ \ + /* 920 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1937 - NetworkInterfaces, */ \ + /* 924 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -204,38 +141,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2191 - UpTime, */ \ + /* 1178 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2199 - TotalOperationalHours, */ \ + /* 1186 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 2203 - CurrentHeapFree, */ \ + /* 1190 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2211 - CurrentHeapUsed, */ \ + /* 1198 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2219 - CurrentHeapHighWatermark, */ \ + /* 1206 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 2227 - NetworkName, */ \ + /* 1214 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2244 - ExtendedPanId, */ \ + /* 1231 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2252 - MeshLocalPrefix, */ \ + /* 1239 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2270 - OverrunCount, */ \ + /* 1257 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2278 - NeighborTableList, */ \ + /* 1265 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -251,7 +188,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2532 - RouteTableList, */ \ + /* 1519 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -267,184 +204,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2786 - PartitionId, */ \ + /* 1773 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2790 - TxTotalCount, */ \ + /* 1777 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2794 - TxUnicastCount, */ \ + /* 1781 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2798 - TxBroadcastCount, */ \ + /* 1785 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2802 - TxAckRequestedCount, */ \ + /* 1789 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2806 - TxAckedCount, */ \ + /* 1793 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2810 - TxNoAckRequestedCount, */ \ + /* 1797 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2814 - TxDataCount, */ \ + /* 1801 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2818 - TxDataPollCount, */ \ + /* 1805 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2822 - TxBeaconCount, */ \ + /* 1809 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2826 - TxBeaconRequestCount, */ \ + /* 1813 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2830 - TxOtherCount, */ \ + /* 1817 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2834 - TxRetryCount, */ \ + /* 1821 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2838 - TxDirectMaxRetryExpiryCount, */ \ + /* 1825 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2842 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1829 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2846 - TxErrCcaCount, */ \ + /* 1833 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2850 - TxErrAbortCount, */ \ + /* 1837 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2854 - TxErrBusyChannelCount, */ \ + /* 1841 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2858 - RxTotalCount, */ \ + /* 1845 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2862 - RxUnicastCount, */ \ + /* 1849 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2866 - RxBroadcastCount, */ \ + /* 1853 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2870 - RxDataCount, */ \ + /* 1857 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2874 - RxDataPollCount, */ \ + /* 1861 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2878 - RxBeaconCount, */ \ + /* 1865 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2882 - RxBeaconRequestCount, */ \ + /* 1869 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2886 - RxOtherCount, */ \ + /* 1873 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2890 - RxAddressFilteredCount, */ \ + /* 1877 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2894 - RxDestAddrFilteredCount, */ \ + /* 1881 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2898 - RxDuplicatedCount, */ \ + /* 1885 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2902 - RxErrNoFrameCount, */ \ + /* 1889 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2906 - RxErrUnknownNeighborCount, */ \ + /* 1893 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2910 - RxErrInvalidSrcAddrCount, */ \ + /* 1897 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2914 - RxErrSecCount, */ \ + /* 1901 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2918 - RxErrFcsCount, */ \ + /* 1905 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2922 - RxErrOtherCount, */ \ + /* 1909 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2926 - ActiveTimestamp, */ \ + /* 1913 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2934 - PendingTimestamp, */ \ + /* 1921 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2942 - delay, */ \ + /* 1929 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2946 - SecurityPolicy, */ \ + /* 1933 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2952 - ChannelMask, */ \ + /* 1939 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2957 - OperationalDatasetComponents, */ \ + /* 1944 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2971 - ActiveNetworkFaultsList, */ \ + /* 1958 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2975 - bssid, */ \ + /* 1962 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2982 - BeaconLostCount, */ \ + /* 1969 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2986 - BeaconRxCount, */ \ + /* 1973 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2990 - PacketMulticastRxCount, */ \ + /* 1977 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2994 - PacketMulticastTxCount, */ \ + /* 1981 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2998 - PacketUnicastRxCount, */ \ + /* 1985 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3002 - PacketUnicastTxCount, */ \ + /* 1989 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3006 - CurrentMaxRate, */ \ + /* 1993 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3014 - OverrunCount, */ \ + /* 2001 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 3022 - PacketRxCount, */ \ + /* 2009 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3030 - PacketTxCount, */ \ + /* 2017 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3038 - TxErrCount, */ \ + /* 2025 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3046 - CollisionCount, */ \ + /* 2033 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3054 - OverrunCount, */ \ + /* 2041 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3062 - TimeSinceReset, */ \ + /* 2049 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 3070 - fabrics list, */ \ + /* 2057 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -463,7 +400,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3390 - TrustedRootCertificates, */ \ + /* 2377 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -489,7 +426,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), big-endian */ \ \ - /* 3790 - groups, */ \ + /* 2777 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -505,7 +442,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4044 - group keys, */ \ + /* 3031 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -523,128 +460,62 @@ \ /* Endpoint: 1, Cluster: On/Off (server), big-endian */ \ \ - /* 4298 - FeatureMap, */ \ + /* 3285 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), big-endian */ \ - \ - /* 4302 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4556 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4810 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 5064 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Power Source (server), big-endian */ \ \ - /* 5318 - Description, */ \ + /* 3289 - Description, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5379 - BatteryVoltage, */ \ + /* 3350 - BatteryVoltage, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5383 - BatteryTimeRemaining, */ \ + /* 3354 - BatteryTimeRemaining, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5387 - ActiveBatteryFaults, */ \ + /* 3358 - ActiveBatteryFaults, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5395 - FeatureMap, */ \ + /* 3366 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), big-endian */ \ \ - /* 5399 - VendorName, */ \ + /* 3370 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5432 - ProductName, */ \ + /* 3403 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5465 - UserLabel, */ \ + /* 3436 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5498 - HardwareVersionString, */ \ + /* 3469 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5563 - SoftwareVersion, */ \ + /* 3534 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5567 - SoftwareVersionString, */ \ + /* 3538 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5632 - ManufacturingDate, */ \ + /* 3603 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5649 - PartNumber, */ \ + /* 3620 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -660,7 +531,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5904 - ProductURL, */ \ + /* 3875 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -676,19 +547,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6159 - ProductLabel, */ \ + /* 4130 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6224 - SerialNumber, */ \ + /* 4195 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), big-endian */ \ \ - /* 6257 - label list, */ \ + /* 4228 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -706,20 +577,20 @@ \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server), big-endian */ \ \ - /* 6511 - lifetime energy consumed, */ \ + /* 4482 - lifetime energy consumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 6515 - FeatureMap, */ \ + /* 4486 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Thermostat (server), big-endian */ \ \ - /* 6519 - FeatureMap, */ \ + /* 4490 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), big-endian */ \ \ - /* 6523 - compensation text, */ \ + /* 4494 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -737,18 +608,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), big-endian */ \ \ - /* 6778 - IAS CIE address, */ \ + /* 4749 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), big-endian */ \ \ - /* 6786 - wake on lan mac address, */ \ + /* 4757 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), big-endian */ \ \ - /* 6819 - tv channel list, */ \ + /* 4790 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -764,17 +635,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7073 - tv channel lineup, */ \ + /* 5044 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7106 - current tv channel, */ \ + /* 5077 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \ \ - /* 7139 - target navigator list, */ \ + /* 5110 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -792,30 +663,30 @@ \ /* Endpoint: 1, Cluster: Media Playback (server), big-endian */ \ \ - /* 7393 - start time, */ \ + /* 5364 - start time, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \ \ - /* 7401 - duration, */ \ + /* 5372 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7409 - position updated at, */ \ + /* 5380 - position updated at, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7417 - position, */ \ + /* 5388 - position, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7425 - playback speed, */ \ + /* 5396 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7433 - seek range end, */ \ + /* 5404 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7441 - seek range start, */ \ + /* 5412 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \ \ - /* 7449 - media input list, */ \ + /* 5420 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -833,7 +704,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), big-endian */ \ \ - /* 7703 - accepts header list, */ \ + /* 5674 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -849,7 +720,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7957 - supported streaming types, */ \ + /* 5928 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -867,7 +738,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), big-endian */ \ \ - /* 8211 - audio output list, */ \ + /* 6182 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -885,7 +756,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \ \ - /* 8465 - application launcher list, */ \ + /* 6436 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -903,45 +774,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \ \ - /* 8719 - vendor name, */ \ + /* 6690 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8752 - application name, */ \ + /* 6723 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8785 - application id, */ \ + /* 6756 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \ \ - /* 8818 - bitmap32, */ \ + /* 6789 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8822 - bitmap64, */ \ + /* 6793 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8830 - int32u, */ \ + /* 6801 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8834 - int64u, */ \ + /* 6805 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8842 - int32s, */ \ + /* 6813 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8846 - int64s, */ \ + /* 6817 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8854 - octet_string, */ \ + /* 6825 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8865 - list_int8u, */ \ + /* 6836 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8875 - list_octet_string, */ \ + /* 6846 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -957,7 +828,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9129 - list_struct_octet_string, */ \ + /* 7100 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -973,7 +844,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9383 - long_octet_string, */ \ + /* 7354 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1028,10 +899,10 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 10385 - char_string, */ \ + /* 8356 - char_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 10396 - long_char_string, */ \ + /* 8367 - long_char_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1086,23 +957,23 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 11398 - epoch_us, */ \ + /* 9369 - epoch_us, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 11406 - epoch_s, */ \ + /* 9377 - epoch_s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server), big-endian */ \ \ - /* 11410 - measurement type, */ \ + /* 9381 - measurement type, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 11414 - total active power, */ \ + /* 9385 - total active power, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 2, Cluster: On/Off (server), big-endian */ \ \ - /* 11418 - FeatureMap, */ \ + /* 9389 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ } @@ -1110,109 +981,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1228,27 +1036,27 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server), little-endian */ \ \ - /* 1654 - default ota provider, */ \ + /* 641 - default ota provider, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1671 - Breadcrumb, */ \ + /* 658 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1679 - BasicCommissioningInfoList, */ \ + /* 666 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1266,12 +1074,12 @@ \ /* Endpoint: 0, Cluster: Network Commissioning (server), little-endian */ \ \ - /* 1933 - FeatureMap, */ \ + /* 920 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1937 - NetworkInterfaces, */ \ + /* 924 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1287,38 +1095,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2191 - UpTime, */ \ + /* 1178 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2199 - TotalOperationalHours, */ \ + /* 1186 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 2203 - CurrentHeapFree, */ \ + /* 1190 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2211 - CurrentHeapUsed, */ \ + /* 1198 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2219 - CurrentHeapHighWatermark, */ \ + /* 1206 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 2227 - NetworkName, */ \ + /* 1214 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2244 - ExtendedPanId, */ \ + /* 1231 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2252 - MeshLocalPrefix, */ \ + /* 1239 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2270 - OverrunCount, */ \ + /* 1257 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2278 - NeighborTableList, */ \ + /* 1265 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1334,7 +1142,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2532 - RouteTableList, */ \ + /* 1519 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1350,184 +1158,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2786 - PartitionId, */ \ + /* 1773 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2790 - TxTotalCount, */ \ + /* 1777 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2794 - TxUnicastCount, */ \ + /* 1781 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2798 - TxBroadcastCount, */ \ + /* 1785 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2802 - TxAckRequestedCount, */ \ + /* 1789 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2806 - TxAckedCount, */ \ + /* 1793 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2810 - TxNoAckRequestedCount, */ \ + /* 1797 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2814 - TxDataCount, */ \ + /* 1801 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2818 - TxDataPollCount, */ \ + /* 1805 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2822 - TxBeaconCount, */ \ + /* 1809 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2826 - TxBeaconRequestCount, */ \ + /* 1813 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2830 - TxOtherCount, */ \ + /* 1817 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2834 - TxRetryCount, */ \ + /* 1821 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2838 - TxDirectMaxRetryExpiryCount, */ \ + /* 1825 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2842 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1829 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2846 - TxErrCcaCount, */ \ + /* 1833 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2850 - TxErrAbortCount, */ \ + /* 1837 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2854 - TxErrBusyChannelCount, */ \ + /* 1841 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2858 - RxTotalCount, */ \ + /* 1845 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2862 - RxUnicastCount, */ \ + /* 1849 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2866 - RxBroadcastCount, */ \ + /* 1853 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2870 - RxDataCount, */ \ + /* 1857 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2874 - RxDataPollCount, */ \ + /* 1861 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2878 - RxBeaconCount, */ \ + /* 1865 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2882 - RxBeaconRequestCount, */ \ + /* 1869 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2886 - RxOtherCount, */ \ + /* 1873 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2890 - RxAddressFilteredCount, */ \ + /* 1877 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2894 - RxDestAddrFilteredCount, */ \ + /* 1881 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2898 - RxDuplicatedCount, */ \ + /* 1885 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2902 - RxErrNoFrameCount, */ \ + /* 1889 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2906 - RxErrUnknownNeighborCount, */ \ + /* 1893 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2910 - RxErrInvalidSrcAddrCount, */ \ + /* 1897 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2914 - RxErrSecCount, */ \ + /* 1901 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2918 - RxErrFcsCount, */ \ + /* 1905 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2922 - RxErrOtherCount, */ \ + /* 1909 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2926 - ActiveTimestamp, */ \ + /* 1913 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2934 - PendingTimestamp, */ \ + /* 1921 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2942 - delay, */ \ + /* 1929 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2946 - SecurityPolicy, */ \ + /* 1933 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2952 - ChannelMask, */ \ + /* 1939 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2957 - OperationalDatasetComponents, */ \ + /* 1944 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2971 - ActiveNetworkFaultsList, */ \ + /* 1958 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2975 - bssid, */ \ + /* 1962 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2982 - BeaconLostCount, */ \ + /* 1969 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2986 - BeaconRxCount, */ \ + /* 1973 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2990 - PacketMulticastRxCount, */ \ + /* 1977 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2994 - PacketMulticastTxCount, */ \ + /* 1981 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2998 - PacketUnicastRxCount, */ \ + /* 1985 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3002 - PacketUnicastTxCount, */ \ + /* 1989 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3006 - CurrentMaxRate, */ \ + /* 1993 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3014 - OverrunCount, */ \ + /* 2001 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 3022 - PacketRxCount, */ \ + /* 2009 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3030 - PacketTxCount, */ \ + /* 2017 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3038 - TxErrCount, */ \ + /* 2025 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3046 - CollisionCount, */ \ + /* 2033 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3054 - OverrunCount, */ \ + /* 2041 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3062 - TimeSinceReset, */ \ + /* 2049 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 3070 - fabrics list, */ \ + /* 2057 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1546,7 +1354,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3390 - TrustedRootCertificates, */ \ + /* 2377 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1572,7 +1380,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), little-endian */ \ \ - /* 3790 - groups, */ \ + /* 2777 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1588,7 +1396,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4044 - group keys, */ \ + /* 3031 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1606,128 +1414,62 @@ \ /* Endpoint: 1, Cluster: On/Off (server), little-endian */ \ \ - /* 4298 - FeatureMap, */ \ + /* 3285 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), little-endian */ \ - \ - /* 4302 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4556 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4810 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 5064 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Power Source (server), little-endian */ \ \ - /* 5318 - Description, */ \ + /* 3289 - Description, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5379 - BatteryVoltage, */ \ + /* 3350 - BatteryVoltage, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5383 - BatteryTimeRemaining, */ \ + /* 3354 - BatteryTimeRemaining, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5387 - ActiveBatteryFaults, */ \ + /* 3358 - ActiveBatteryFaults, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5395 - FeatureMap, */ \ + /* 3366 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), little-endian */ \ \ - /* 5399 - VendorName, */ \ + /* 3370 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5432 - ProductName, */ \ + /* 3403 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5465 - UserLabel, */ \ + /* 3436 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5498 - HardwareVersionString, */ \ + /* 3469 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5563 - SoftwareVersion, */ \ + /* 3534 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5567 - SoftwareVersionString, */ \ + /* 3538 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5632 - ManufacturingDate, */ \ + /* 3603 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5649 - PartNumber, */ \ + /* 3620 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1743,7 +1485,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5904 - ProductURL, */ \ + /* 3875 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1759,19 +1501,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6159 - ProductLabel, */ \ + /* 4130 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6224 - SerialNumber, */ \ + /* 4195 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), little-endian */ \ \ - /* 6257 - label list, */ \ + /* 4228 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1789,20 +1531,20 @@ \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server), little-endian */ \ \ - /* 6511 - lifetime energy consumed, */ \ + /* 4482 - lifetime energy consumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 6515 - FeatureMap, */ \ + /* 4486 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Thermostat (server), little-endian */ \ \ - /* 6519 - FeatureMap, */ \ + /* 4490 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), little-endian */ \ \ - /* 6523 - compensation text, */ \ + /* 4494 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1820,18 +1562,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), little-endian */ \ \ - /* 6778 - IAS CIE address, */ \ + /* 4749 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), little-endian */ \ \ - /* 6786 - wake on lan mac address, */ \ + /* 4757 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), little-endian */ \ \ - /* 6819 - tv channel list, */ \ + /* 4790 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1847,17 +1589,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7073 - tv channel lineup, */ \ + /* 5044 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7106 - current tv channel, */ \ + /* 5077 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \ \ - /* 7139 - target navigator list, */ \ + /* 5110 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1875,30 +1617,30 @@ \ /* Endpoint: 1, Cluster: Media Playback (server), little-endian */ \ \ - /* 7393 - start time, */ \ + /* 5364 - start time, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \ \ - /* 7401 - duration, */ \ + /* 5372 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7409 - position updated at, */ \ + /* 5380 - position updated at, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7417 - position, */ \ + /* 5388 - position, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7425 - playback speed, */ \ + /* 5396 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7433 - seek range end, */ \ + /* 5404 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7441 - seek range start, */ \ + /* 5412 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \ \ - /* 7449 - media input list, */ \ + /* 5420 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1916,7 +1658,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), little-endian */ \ \ - /* 7703 - accepts header list, */ \ + /* 5674 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1932,7 +1674,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7957 - supported streaming types, */ \ + /* 5928 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1950,7 +1692,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), little-endian */ \ \ - /* 8211 - audio output list, */ \ + /* 6182 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1968,7 +1710,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \ \ - /* 8465 - application launcher list, */ \ + /* 6436 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1986,45 +1728,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \ \ - /* 8719 - vendor name, */ \ + /* 6690 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8752 - application name, */ \ + /* 6723 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8785 - application id, */ \ + /* 6756 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \ \ - /* 8818 - bitmap32, */ \ + /* 6789 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8822 - bitmap64, */ \ + /* 6793 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8830 - int32u, */ \ + /* 6801 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8834 - int64u, */ \ + /* 6805 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8842 - int32s, */ \ + /* 6813 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8846 - int64s, */ \ + /* 6817 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8854 - octet_string, */ \ + /* 6825 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8865 - list_int8u, */ \ + /* 6836 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8875 - list_octet_string, */ \ + /* 6846 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -2040,7 +1782,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9129 - list_struct_octet_string, */ \ + /* 7100 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -2056,7 +1798,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9383 - long_octet_string, */ \ + /* 7354 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -2111,10 +1853,10 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 10385 - char_string, */ \ + /* 8356 - char_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 10396 - long_char_string, */ \ + /* 8367 - long_char_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -2169,29 +1911,29 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 11398 - epoch_us, */ \ + /* 9369 - epoch_us, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 11406 - epoch_s, */ \ + /* 9377 - epoch_s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server), little-endian */ \ \ - /* 11410 - measurement type, */ \ + /* 9381 - measurement type, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 11414 - total active power, */ \ + /* 9385 - total active power, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 2, Cluster: On/Off (server), little-endian */ \ \ - /* 11418 - FeatureMap, */ \ + /* 9389 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (157) +#define GENERATED_DEFAULTS_COUNT (150) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -2219,7 +1961,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 467 +#define GENERATED_ATTRIBUTE_COUNT 476 #define GENERATED_ATTRIBUTES \ { \ \ @@ -2229,36 +1971,34 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1249) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1266) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1299) }, /* ProductURL */ \ - { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1556) }, /* ProductLabel */ \ - { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1621) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(236) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(253) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(286) }, /* ProductURL */ \ + { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(543) }, /* ProductLabel */ \ + { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(608) }, /* SerialNumber */ \ { 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ @@ -2269,44 +2009,44 @@ \ /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \ { 0x0001, ZAP_TYPE(OCTET_STRING), 17, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1654) }, /* default ota provider */ \ + ZAP_LONG_DEFAULTS_INDEX(641) }, /* default ota provider */ \ { 0x0002, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* update possible */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1671) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1679) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(658) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(666) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1933) }, /* FeatureMap */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(920) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1937) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2191) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2199) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(924) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1178) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1186) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2203) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2211) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2219) }, /* CurrentHeapHighWatermark */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1190) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1198) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1206) }, /* CurrentHeapHighWatermark */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(2227) }, /* NetworkName */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1214) }, /* NetworkName */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2244) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(2252) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2270) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2278) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2532) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2786) }, /* PartitionId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1231) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1239) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1265) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1519) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* PartitionId */ \ { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ @@ -2319,85 +2059,85 @@ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2790) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2794) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2798) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2802) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2806) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2810) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2814) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2818) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2822) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2826) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2830) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2834) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2838) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2842) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2846) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2850) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2854) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2858) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2862) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2866) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2870) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2874) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2878) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2882) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2886) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2890) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2894) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2898) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2902) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2906) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2910) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2914) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2918) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2922) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2926) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2934) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2942) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2946) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2952) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2957) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2971) }, /* ActiveNetworkFaultsList */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1781) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1789) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1797) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1805) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1809) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1813) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1817) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1821) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1825) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1829) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1833) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1837) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1841) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1845) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1849) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1853) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1857) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1861) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1865) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1869) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1873) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1877) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1881) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1885) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1889) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1893) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1897) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1901) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1905) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1909) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1913) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1921) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1929) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1933) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1939) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1944) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1958) }, /* ActiveNetworkFaultsList */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2975) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1962) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2982) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2986) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2990) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2994) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2998) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3002) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3006) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3014) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1969) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1973) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1977) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1981) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1985) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1989) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1993) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2001) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3022) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3030) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3038) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3046) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3054) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2009) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2017) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2025) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2033) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2041) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3062) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2049) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(3070) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2057) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(3390) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2377) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ @@ -2410,8 +2150,8 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3790) }, /* groups */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4044) }, /* group keys */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2777) }, /* groups */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3031) }, /* group keys */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Identify (server) */ \ @@ -2437,8 +2177,8 @@ { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \ { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \ { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4298) }, /* FeatureMap */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3285) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/off Switch Configuration (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* switch type */ \ @@ -2470,45 +2210,45 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4302) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4556) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4810) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5064) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Power Source (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Status */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* Order */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_LONG_DEFAULTS_INDEX(5318) }, /* Description */ \ - { 0x000B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(5379) }, /* BatteryVoltage */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 61, 0, ZAP_LONG_DEFAULTS_INDEX(3289) }, /* Description */ \ + { 0x000B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3350) }, /* BatteryVoltage */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryPercentRemaining */ \ - { 0x000D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(5383) }, /* BatteryTimeRemaining */ \ + { 0x000D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3354) }, /* BatteryTimeRemaining */ \ { 0x000E, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeLevel */ \ - { 0x0012, ZAP_TYPE(ARRAY), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5387) }, /* ActiveBatteryFaults */ \ + { 0x0012, ZAP_TYPE(ARRAY), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3358) }, /* ActiveBatteryFaults */ \ { 0x001A, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BatteryChargeState */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(5395) }, /* FeatureMap */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3366) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5399) }, /* VendorName */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3370) }, /* VendorName */ \ { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5432) }, /* ProductName */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3403) }, /* ProductName */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(5465) }, /* UserLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(3436) }, /* UserLabel */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5498) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5563) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(3469) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3534) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5567) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(3538) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5632) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5649) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5904) }, /* ProductURL */ \ + ZAP_LONG_DEFAULTS_INDEX(3603) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3620) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3875) }, /* ProductURL */ \ { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(6159) }, /* ProductLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(4130) }, /* ProductLabel */ \ { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(6224) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(4195) }, /* SerialNumber */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* Reachable */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ @@ -2518,9 +2258,13 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6257) }, /* label list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4228) }, /* label list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ + /* Endpoint: 1, Cluster: Boolean State (server) */ \ + { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* StateValue */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* lock state */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* lock type */ \ @@ -2574,11 +2318,11 @@ { 0x0012, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* effective control mode */ \ { 0x0013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* capacity */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* speed */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(6511) }, /* lifetime energy consumed */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4482) }, /* lifetime energy consumed */ \ { 0x0020, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* operation mode */ \ { 0x0021, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* control mode */ \ { 0x0022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* alarm mask */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(6515) }, /* FeatureMap */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4486) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ @@ -2605,7 +2349,7 @@ { 0x0020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ { 0x0021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ { 0x0022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(6519) }, /* FeatureMap */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4490) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ @@ -2622,7 +2366,7 @@ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x616B) }, /* current x */ \ { 0x0004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x607D) }, /* current y */ \ { 0x0005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* drift compensation */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(6523) }, /* compensation text */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(4494) }, /* compensation text */ \ { 0x0007, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x00FA) }, /* color temperature */ \ { 0x0008, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* color mode */ \ { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* color control options */ \ @@ -2671,6 +2415,14 @@ ZAP_EMPTY_DEFAULT() }, /* start up color temperature mireds */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ + /* Endpoint: 1, Cluster: Illuminance Measurement (server) */ \ + { 0x0000, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* MeasuredValue */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* MinMeasuredValue */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* MaxMeasuredValue */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Tolerance */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0xFF) }, /* LightSensorType */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ { 0x0000, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* measured value */ \ { 0x0001, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* min measured value */ \ @@ -2705,37 +2457,37 @@ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* zone state */ \ { 0x0001, ZAP_TYPE(ENUM16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* zone type */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* zone status */ \ - { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6778) }, /* IAS CIE address */ \ + { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(4749) }, /* IAS CIE address */ \ { 0x0011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) }, /* Zone ID */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6786) }, /* wake on lan mac address */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4757) }, /* wake on lan mac address */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: TV Channel (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6819) }, /* tv channel list */ \ - { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7073) }, /* tv channel lineup */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7106) }, /* current tv channel */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4790) }, /* tv channel list */ \ + { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(5044) }, /* tv channel lineup */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(5077) }, /* current tv channel */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7139) }, /* target navigator list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5110) }, /* target navigator list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* playback state */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7393) }, /* start time */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7401) }, /* duration */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7409) }, /* position updated at */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7417) }, /* position */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7425) }, /* playback speed */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7433) }, /* seek range end */ \ - { 0x0007, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(7441) }, /* seek range start */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5364) }, /* start time */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5372) }, /* duration */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5380) }, /* position updated at */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5388) }, /* position */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5396) }, /* playback speed */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5404) }, /* seek range end */ \ + { 0x0007, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5412) }, /* seek range start */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Input (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7449) }, /* media input list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5420) }, /* media input list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current media input */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ @@ -2746,27 +2498,27 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7703) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7957) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5674) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5928) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8211) }, /* audio output list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6182) }, /* audio output list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current audio output */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8465) }, /* application launcher list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6436) }, /* application launcher list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* catalog vendor id */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* application id */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8719) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6690) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8752) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6723) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8785) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6756) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -2778,45 +2530,46 @@ { 0x0000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) }, /* boolean */ \ { 0x0001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap8 */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap16 */ \ - { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8818) }, /* bitmap32 */ \ - { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8822) }, /* bitmap64 */ \ + { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6789) }, /* bitmap32 */ \ + { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6793) }, /* bitmap64 */ \ { 0x0005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8u */ \ { 0x0006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16u */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8830) }, /* int32u */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8834) }, /* int64u */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6801) }, /* int32u */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6805) }, /* int64u */ \ { 0x000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8s */ \ { 0x000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16s */ \ - { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8842) }, /* int32s */ \ - { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8846) }, /* int64s */ \ + { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6813) }, /* int32s */ \ + { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6817) }, /* int64s */ \ { 0x0015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum8 */ \ { 0x0016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum16 */ \ { 0x0019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(8854) }, /* octet_string */ \ - { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(8865) }, /* list_int8u */ \ - { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8875) }, /* list_octet_string */ \ - { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(9129) }, /* list_struct_octet_string */ \ + ZAP_LONG_DEFAULTS_INDEX(6825) }, /* octet_string */ \ + { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(6836) }, /* list_int8u */ \ + { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6846) }, /* list_octet_string */ \ + { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7100) }, /* list_struct_octet_string */ \ { 0x001D, ZAP_TYPE(LONG_OCTET_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(9383) }, /* long_octet_string */ \ - { 0x001E, ZAP_TYPE(CHAR_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(10385) }, /* char_string */ \ + ZAP_LONG_DEFAULTS_INDEX(7354) }, /* long_octet_string */ \ + { 0x001E, ZAP_TYPE(CHAR_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8356) }, /* char_string */ \ { 0x001F, ZAP_TYPE(LONG_CHAR_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(10396) }, /* long_char_string */ \ - { 0x0020, ZAP_TYPE(EPOCH_US), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(11398) }, /* epoch_us */ \ - { 0x0021, ZAP_TYPE(EPOCH_S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(11406) }, /* epoch_s */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + ZAP_LONG_DEFAULTS_INDEX(8367) }, /* long_char_string */ \ + { 0x0020, ZAP_TYPE(EPOCH_US), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(9369) }, /* epoch_us */ \ + { 0x0021, ZAP_TYPE(EPOCH_S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(9377) }, /* epoch_s */ \ + { 0x0022, ZAP_TYPE(VENDOR_ID), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* vendor_id */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \ - { 0x0000, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(11410) }, /* measurement type */ \ - { 0x0304, ZAP_TYPE(INT32S), 4, 0, ZAP_LONG_DEFAULTS_INDEX(11414) }, /* total active power */ \ - { 0x0505, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms voltage */ \ - { 0x0506, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage min */ \ - { 0x0507, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage max */ \ - { 0x0508, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current */ \ - { 0x0509, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current min */ \ - { 0x050A, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current max */ \ - { 0x050B, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power */ \ - { 0x050C, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power min */ \ - { 0x050D, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power max */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(9381) }, /* measurement type */ \ + { 0x0304, ZAP_TYPE(INT32S), 4, 0, ZAP_LONG_DEFAULTS_INDEX(9385) }, /* total active power */ \ + { 0x0505, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms voltage */ \ + { 0x0506, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage min */ \ + { 0x0507, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage max */ \ + { 0x0508, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current */ \ + { 0x0509, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current min */ \ + { 0x050A, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms current max */ \ + { 0x050B, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power */ \ + { 0x050C, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power min */ \ + { 0x050D, ZAP_TYPE(INT16S), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* active power max */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Binding (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -2827,8 +2580,8 @@ { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OnTime */ \ { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OffWaitTime */ \ { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(11418) }, /* FeatureMap */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(9389) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ { 0x0000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy */ \ @@ -2896,7 +2649,7 @@ }; #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 60 +#define GENERATED_CLUSTER_COUNT 62 #define GENERATED_CLUSTERS \ { \ { 0x0003, \ @@ -2906,12 +2659,12 @@ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ chipFuncArrayIdentifyServer }, /* Endpoint: 0, Cluster: Identify (server) */ \ { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(3), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x001D, ZAP_ATTRIBUTE_INDEX(3), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(8), \ 19, \ - 652, \ + 653, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -3011,7 +2764,7 @@ 0x000F, ZAP_ATTRIBUTE_INDEX(184), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \ { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(188), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x001D, ZAP_ATTRIBUTE_INDEX(188), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Descriptor (server) */ \ { \ 0x002F, ZAP_ATTRIBUTE_INDEX(193), 11, 88, ZAP_CLUSTER_MASK(SERVER), NULL \ @@ -3025,116 +2778,122 @@ { \ 0x0040, ZAP_ATTRIBUTE_INDEX(222), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Fixed Label (server) */ \ + { \ + 0x0045, ZAP_ATTRIBUTE_INDEX(224), 2, 3, ZAP_CLUSTER_MASK(SERVER), NULL \ + }, /* Endpoint: 1, Cluster: Boolean State (server) */ \ { 0x0101, \ - ZAP_ATTRIBUTE_INDEX(224), \ + ZAP_ATTRIBUTE_INDEX(226), \ 4, \ 5, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ chipFuncArrayDoorLockServer }, /* Endpoint: 1, Cluster: Door Lock (server) */ \ { \ - 0x0102, ZAP_ATTRIBUTE_INDEX(228), 19, 31, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0102, ZAP_ATTRIBUTE_INDEX(230), 19, 31, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Window Covering (server) */ \ { \ - 0x0103, ZAP_ATTRIBUTE_INDEX(247), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0103, ZAP_ATTRIBUTE_INDEX(249), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Barrier Control (server) */ \ { \ 0x0200, \ - ZAP_ATTRIBUTE_INDEX(252), \ + ZAP_ATTRIBUTE_INDEX(254), \ 24, \ 48, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ chipFuncArrayPumpConfigurationAndControlServer \ }, /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \ { \ - 0x0201, ZAP_ATTRIBUTE_INDEX(276), 18, 33, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0201, ZAP_ATTRIBUTE_INDEX(278), 18, 33, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Thermostat (server) */ \ { \ - 0x0204, ZAP_ATTRIBUTE_INDEX(294), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0204, ZAP_ATTRIBUTE_INDEX(296), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ { 0x0300, \ - ZAP_ATTRIBUTE_INDEX(298), \ + ZAP_ATTRIBUTE_INDEX(300), \ 53, \ 341, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \ { \ - 0x0402, ZAP_ATTRIBUTE_INDEX(351), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0400, ZAP_ATTRIBUTE_INDEX(353), 6, 11, ZAP_CLUSTER_MASK(SERVER), NULL \ + }, /* Endpoint: 1, Cluster: Illuminance Measurement (server) */ \ + { \ + 0x0402, ZAP_ATTRIBUTE_INDEX(359), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ { \ - 0x0403, ZAP_ATTRIBUTE_INDEX(355), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0403, ZAP_ATTRIBUTE_INDEX(363), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ { \ - 0x0404, ZAP_ATTRIBUTE_INDEX(359), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0404, ZAP_ATTRIBUTE_INDEX(367), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ { \ - 0x0405, ZAP_ATTRIBUTE_INDEX(363), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0405, ZAP_ATTRIBUTE_INDEX(371), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \ { 0x0406, \ - ZAP_ATTRIBUTE_INDEX(367), \ + ZAP_ATTRIBUTE_INDEX(375), \ 4, \ 5, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOccupancySensingServer }, /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ { 0x0500, \ - ZAP_ATTRIBUTE_INDEX(371), \ + ZAP_ATTRIBUTE_INDEX(379), \ 6, \ 16, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | \ ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \ chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \ { \ - 0x0503, ZAP_ATTRIBUTE_INDEX(377), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0503, ZAP_ATTRIBUTE_INDEX(385), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ { \ - 0x0504, ZAP_ATTRIBUTE_INDEX(379), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0504, ZAP_ATTRIBUTE_INDEX(387), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: TV Channel (server) */ \ { \ - 0x0505, ZAP_ATTRIBUTE_INDEX(383), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0505, ZAP_ATTRIBUTE_INDEX(391), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Target Navigator (server) */ \ { \ - 0x0506, ZAP_ATTRIBUTE_INDEX(385), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0506, ZAP_ATTRIBUTE_INDEX(393), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Media Playback (server) */ \ { \ - 0x0507, ZAP_ATTRIBUTE_INDEX(394), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0507, ZAP_ATTRIBUTE_INDEX(402), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Media Input (server) */ \ { \ - 0x0508, ZAP_ATTRIBUTE_INDEX(397), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0508, ZAP_ATTRIBUTE_INDEX(405), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Low Power (server) */ \ { \ - 0x0509, ZAP_ATTRIBUTE_INDEX(398), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0509, ZAP_ATTRIBUTE_INDEX(406), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Keypad Input (server) */ \ { \ - 0x050A, ZAP_ATTRIBUTE_INDEX(399), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050A, ZAP_ATTRIBUTE_INDEX(407), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Content Launcher (server) */ \ { \ - 0x050B, ZAP_ATTRIBUTE_INDEX(402), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050B, ZAP_ATTRIBUTE_INDEX(410), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Audio Output (server) */ \ { \ - 0x050C, ZAP_ATTRIBUTE_INDEX(405), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050C, ZAP_ATTRIBUTE_INDEX(413), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Application Launcher (server) */ \ { \ - 0x050D, ZAP_ATTRIBUTE_INDEX(409), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050D, ZAP_ATTRIBUTE_INDEX(417), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Application Basic (server) */ \ { \ - 0x050E, ZAP_ATTRIBUTE_INDEX(417), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050E, ZAP_ATTRIBUTE_INDEX(425), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Account Login (server) */ \ { \ - 0x050F, ZAP_ATTRIBUTE_INDEX(418), 25, 2607, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x050F, ZAP_ATTRIBUTE_INDEX(426), 26, 2609, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Test Cluster (server) */ \ { \ - 0x0B04, ZAP_ATTRIBUTE_INDEX(443), 12, 28, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0B04, ZAP_ATTRIBUTE_INDEX(452), 12, 28, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \ { \ - 0xF000, ZAP_ATTRIBUTE_INDEX(455), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0xF000, ZAP_ATTRIBUTE_INDEX(464), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Binding (server) */ \ { 0x0006, \ - ZAP_ATTRIBUTE_INDEX(456), \ + ZAP_ATTRIBUTE_INDEX(465), \ 7, \ 13, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/Off (server) */ \ { 0x0406, \ - ZAP_ATTRIBUTE_INDEX(463), \ + ZAP_ATTRIBUTE_INDEX(472), \ 4, \ 5, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3146,17 +2905,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 18, 4391 }, { ZAP_CLUSTER_INDEX(18), 40, 7520 }, { ZAP_CLUSTER_INDEX(58), 2, 18 }, \ + { ZAP_CLUSTER_INDEX(0), 18, 3376 }, { ZAP_CLUSTER_INDEX(18), 42, 6520 }, { ZAP_CLUSTER_INDEX(60), 2, 18 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (1003) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (1517) +#define ATTRIBUTE_SINGLETONS_SIZE (1518) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (11929) +#define ATTRIBUTE_MAX_SIZE (9914) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/all-clusters-app/zap-generated/gen_config.h b/zzz_generated/all-clusters-app/zap-generated/gen_config.h index d91cc55e123be3..dea652e2dfcd38 100644 --- a/zzz_generated/all-clusters-app/zap-generated/gen_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/gen_config.h @@ -38,6 +38,7 @@ #define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BINARY_INPUT_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (2) +#define EMBER_AF_BOOLEAN_STATE_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (1) @@ -54,6 +55,7 @@ #define EMBER_AF_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_IAS_ZONE_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (2) +#define EMBER_AF_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_KEYPAD_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_LOW_POWER_CLUSTER_SERVER_ENDPOINT_COUNT (1) @@ -131,6 +133,11 @@ #define EMBER_AF_PLUGIN_BINDING_SERVER #define EMBER_AF_PLUGIN_BINDING +// Use this macro to check if the server side of the Boolean State cluster is included +#define ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_BOOLEAN_STATE_SERVER +#define EMBER_AF_PLUGIN_BOOLEAN_STATE + // Use this macro to check if the server side of the Bridged Device Basic cluster is included #define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER #define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC_SERVER @@ -217,6 +224,11 @@ #define EMBER_AF_PLUGIN_IDENTIFY_SERVER #define EMBER_AF_PLUGIN_IDENTIFY +// Use this macro to check if the server side of the Illuminance Measurement cluster is included +#define ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER +#define EMBER_AF_PLUGIN_ILLUMINANCE_MEASUREMENT_SERVER +#define EMBER_AF_PLUGIN_ILLUMINANCE_MEASUREMENT + // Use this macro to check if the server side of the Keypad Input cluster is included #define ZCL_USING_KEYPAD_INPUT_CLUSTER_SERVER #define EMBER_AF_PLUGIN_KEYPAD_INPUT_SERVER diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h index 830bc12b77dcd2..46cd927b41bbec 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h @@ -531,6 +531,13 @@ // Server attributes #define ZCL_LABEL_LIST_ATTRIBUTE_ID (0x0000) +// Attribute ids for cluster: Boolean State + +// Client attributes + +// Server attributes +#define ZCL_STATE_VALUE_ATTRIBUTE_ID (0x0000) + // Attribute ids for cluster: Shade Configuration // Client attributes @@ -839,16 +846,7 @@ #define ZCL_ILLUM_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001) #define ZCL_ILLUM_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002) #define ZCL_ILLUM_TOLERANCE_ATTRIBUTE_ID (0x0003) -#define ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_ATTRIBUTE_ID (0x0004) - -// Attribute ids for cluster: Illuminance Level Sensing - -// Client attributes - -// Server attributes -#define ZCL_LEVEL_STATUS_ATTRIBUTE_ID (0x0000) -#define ZCL_SENSING_LIGHT_SENSOR_TYPE_ATTRIBUTE_ID (0x0001) -#define ZCL_ILLUMINANCE_TARGET_LEVEL_ATTRIBUTE_ID (0x0010) +#define ZCL_ILLUM_LIGHT_SENSOR_TYPE_ATTRIBUTE_ID (0x0004) // Attribute ids for cluster: Temperature Measurement @@ -1370,6 +1368,7 @@ #define ZCL_LONG_CHAR_STRING_ATTRIBUTE_ID (0x001F) #define ZCL_EPOCH_US_ATTRIBUTE_ID (0x0020) #define ZCL_EPOCH_S_ATTRIBUTE_ID (0x0021) +#define ZCL_TEST_VENDOR_ID_ATTRIBUTE_ID (0x0022) #define ZCL_UNSUPPORTED_ATTRIBUTE_ID (0x00FF) // Attribute ids for cluster: Messaging diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 59a18f00a64b6a..bf5d95ffcda327 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -40,12 +40,12 @@ namespace MainsVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * mainsVoltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltage::Id, (uint8_t *) mainsVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsVoltage, sizeof(*mainsVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t mainsVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltage::Id, (uint8_t *) &mainsVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsVoltage, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -55,12 +55,12 @@ namespace MainsFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * mainsFrequency) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsFrequency::Id, (uint8_t *) mainsFrequency, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsFrequency, sizeof(*mainsFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t mainsFrequency) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsFrequency::Id, (uint8_t *) &mainsFrequency, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsFrequency, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -70,12 +70,12 @@ namespace MainsAlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * mainsAlarmMask) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsAlarmMask::Id, (uint8_t *) mainsAlarmMask, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsAlarmMask, sizeof(*mainsAlarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t mainsAlarmMask) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsAlarmMask::Id, (uint8_t *) &mainsAlarmMask, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsAlarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -85,13 +85,13 @@ namespace MainsVoltageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * mainsVoltageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageMinThreshold::Id, - (uint8_t *) mainsVoltageMinThreshold, sizeof(*mainsVoltageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsVoltageMinThreshold, + sizeof(*mainsVoltageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t mainsVoltageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageMinThreshold::Id, - (uint8_t *) &mainsVoltageMinThreshold, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsVoltageMinThreshold, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MainsVoltageMinThreshold @@ -100,13 +100,13 @@ namespace MainsVoltageMaxThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * mainsVoltageMaxThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageMaxThreshold::Id, - (uint8_t *) mainsVoltageMaxThreshold, sizeof(*mainsVoltageMaxThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsVoltageMaxThreshold, + sizeof(*mainsVoltageMaxThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t mainsVoltageMaxThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageMaxThreshold::Id, - (uint8_t *) &mainsVoltageMaxThreshold, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsVoltageMaxThreshold, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MainsVoltageMaxThreshold @@ -115,13 +115,13 @@ namespace MainsVoltageDwellTrip { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * mainsVoltageDwellTrip) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageDwellTrip::Id, - (uint8_t *) mainsVoltageDwellTrip, sizeof(*mainsVoltageDwellTrip)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) mainsVoltageDwellTrip, + sizeof(*mainsVoltageDwellTrip)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t mainsVoltageDwellTrip) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, MainsVoltageDwellTrip::Id, - (uint8_t *) &mainsVoltageDwellTrip, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &mainsVoltageDwellTrip, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MainsVoltageDwellTrip @@ -130,12 +130,12 @@ namespace BatteryVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryVoltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltage::Id, (uint8_t *) batteryVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryVoltage, sizeof(*batteryVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltage::Id, (uint8_t *) &batteryVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryVoltage, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -145,13 +145,13 @@ namespace BatteryPercentageRemaining { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentageRemaining) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageRemaining::Id, - (uint8_t *) batteryPercentageRemaining, sizeof(*batteryPercentageRemaining)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryPercentageRemaining, + sizeof(*batteryPercentageRemaining)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentageRemaining) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageRemaining::Id, - (uint8_t *) &batteryPercentageRemaining, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryPercentageRemaining, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryPercentageRemaining @@ -160,12 +160,12 @@ namespace BatterySize { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batterySize) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatterySize::Id, (uint8_t *) batterySize, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batterySize, sizeof(*batterySize)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batterySize) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatterySize::Id, (uint8_t *) &batterySize, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batterySize, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -175,12 +175,12 @@ namespace BatteryAhrRating { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * batteryAhrRating) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryAhrRating::Id, (uint8_t *) batteryAhrRating, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryAhrRating, sizeof(*batteryAhrRating)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t batteryAhrRating) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryAhrRating::Id, (uint8_t *) &batteryAhrRating, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryAhrRating, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -190,12 +190,12 @@ namespace BatteryQuantity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryQuantity) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryQuantity::Id, (uint8_t *) batteryQuantity, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryQuantity, sizeof(*batteryQuantity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryQuantity) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryQuantity::Id, (uint8_t *) &batteryQuantity, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryQuantity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -205,12 +205,12 @@ namespace BatteryRatedVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryRatedVoltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryRatedVoltage::Id, (uint8_t *) batteryRatedVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryRatedVoltage, sizeof(*batteryRatedVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryRatedVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryRatedVoltage::Id, (uint8_t *) &batteryRatedVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryRatedVoltage, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -220,12 +220,12 @@ namespace BatteryAlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryAlarmMask) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryAlarmMask::Id, (uint8_t *) batteryAlarmMask, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryAlarmMask, sizeof(*batteryAlarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryAlarmMask) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryAlarmMask::Id, (uint8_t *) &batteryAlarmMask, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryAlarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -235,13 +235,13 @@ namespace BatteryVoltageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryVoltageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageMinThreshold::Id, - (uint8_t *) batteryVoltageMinThreshold, sizeof(*batteryVoltageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryVoltageMinThreshold, + sizeof(*batteryVoltageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryVoltageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageMinThreshold::Id, - (uint8_t *) &batteryVoltageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryVoltageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryVoltageMinThreshold @@ -250,13 +250,13 @@ namespace BatteryVoltageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryVoltageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold1::Id, - (uint8_t *) batteryVoltageThreshold1, sizeof(*batteryVoltageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryVoltageThreshold1, + sizeof(*batteryVoltageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryVoltageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold1::Id, - (uint8_t *) &batteryVoltageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryVoltageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryVoltageThreshold1 @@ -265,13 +265,13 @@ namespace BatteryVoltageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryVoltageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold2::Id, - (uint8_t *) batteryVoltageThreshold2, sizeof(*batteryVoltageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryVoltageThreshold2, + sizeof(*batteryVoltageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryVoltageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold2::Id, - (uint8_t *) &batteryVoltageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryVoltageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryVoltageThreshold2 @@ -280,13 +280,13 @@ namespace BatteryVoltageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryVoltageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold3::Id, - (uint8_t *) batteryVoltageThreshold3, sizeof(*batteryVoltageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryVoltageThreshold3, + sizeof(*batteryVoltageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryVoltageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryVoltageThreshold3::Id, - (uint8_t *) &batteryVoltageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryVoltageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryVoltageThreshold3 @@ -295,13 +295,13 @@ namespace BatteryPercentageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageMinThreshold::Id, - (uint8_t *) batteryPercentageMinThreshold, sizeof(*batteryPercentageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryPercentageMinThreshold, + sizeof(*batteryPercentageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageMinThreshold::Id, - (uint8_t *) &batteryPercentageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryPercentageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryPercentageMinThreshold @@ -310,13 +310,13 @@ namespace BatteryPercentageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold1::Id, - (uint8_t *) batteryPercentageThreshold1, sizeof(*batteryPercentageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryPercentageThreshold1, + sizeof(*batteryPercentageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold1::Id, - (uint8_t *) &batteryPercentageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryPercentageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryPercentageThreshold1 @@ -325,13 +325,13 @@ namespace BatteryPercentageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold2::Id, - (uint8_t *) batteryPercentageThreshold2, sizeof(*batteryPercentageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryPercentageThreshold2, + sizeof(*batteryPercentageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold2::Id, - (uint8_t *) &batteryPercentageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryPercentageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryPercentageThreshold2 @@ -340,13 +340,13 @@ namespace BatteryPercentageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold3::Id, - (uint8_t *) batteryPercentageThreshold3, sizeof(*batteryPercentageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryPercentageThreshold3, + sizeof(*batteryPercentageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryPercentageThreshold3::Id, - (uint8_t *) &batteryPercentageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryPercentageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BatteryPercentageThreshold3 @@ -355,12 +355,12 @@ namespace BatteryAlarmState { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryAlarmState) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, BatteryAlarmState::Id, (uint8_t *) batteryAlarmState, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) batteryAlarmState, sizeof(*batteryAlarmState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryAlarmState) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, BatteryAlarmState::Id, (uint8_t *) &batteryAlarmState, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &batteryAlarmState, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -370,12 +370,12 @@ namespace Battery2Voltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2Voltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2Voltage::Id, (uint8_t *) battery2Voltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2Voltage, sizeof(*battery2Voltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2Voltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2Voltage::Id, (uint8_t *) &battery2Voltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2Voltage, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -385,13 +385,13 @@ namespace Battery2PercentageRemaining { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2PercentageRemaining) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageRemaining::Id, - (uint8_t *) battery2PercentageRemaining, sizeof(*battery2PercentageRemaining)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2PercentageRemaining, + sizeof(*battery2PercentageRemaining)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2PercentageRemaining) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageRemaining::Id, - (uint8_t *) &battery2PercentageRemaining, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2PercentageRemaining, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2PercentageRemaining @@ -400,12 +400,12 @@ namespace Battery2Size { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2Size) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2Size::Id, (uint8_t *) battery2Size, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2Size, sizeof(*battery2Size)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2Size) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2Size::Id, (uint8_t *) &battery2Size, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2Size, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -415,12 +415,12 @@ namespace Battery2AhrRating { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * battery2AhrRating) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2AhrRating::Id, (uint8_t *) battery2AhrRating, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2AhrRating, sizeof(*battery2AhrRating)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t battery2AhrRating) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2AhrRating::Id, (uint8_t *) &battery2AhrRating, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2AhrRating, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -430,12 +430,12 @@ namespace Battery2Quantity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2Quantity) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2Quantity::Id, (uint8_t *) battery2Quantity, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2Quantity, sizeof(*battery2Quantity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2Quantity) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2Quantity::Id, (uint8_t *) &battery2Quantity, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2Quantity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -445,13 +445,13 @@ namespace Battery2RatedVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2RatedVoltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2RatedVoltage::Id, (uint8_t *) battery2RatedVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2RatedVoltage, sizeof(*battery2RatedVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2RatedVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2RatedVoltage::Id, - (uint8_t *) &battery2RatedVoltage, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2RatedVoltage, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2RatedVoltage @@ -460,12 +460,12 @@ namespace Battery2AlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2AlarmMask) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2AlarmMask::Id, (uint8_t *) battery2AlarmMask, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2AlarmMask, sizeof(*battery2AlarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2AlarmMask) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2AlarmMask::Id, (uint8_t *) &battery2AlarmMask, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2AlarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -475,13 +475,13 @@ namespace Battery2VoltageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2VoltageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageMinThreshold::Id, - (uint8_t *) battery2VoltageMinThreshold, sizeof(*battery2VoltageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2VoltageMinThreshold, + sizeof(*battery2VoltageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2VoltageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageMinThreshold::Id, - (uint8_t *) &battery2VoltageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2VoltageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2VoltageMinThreshold @@ -490,13 +490,13 @@ namespace Battery2VoltageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2VoltageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold1::Id, - (uint8_t *) battery2VoltageThreshold1, sizeof(*battery2VoltageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2VoltageThreshold1, + sizeof(*battery2VoltageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2VoltageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold1::Id, - (uint8_t *) &battery2VoltageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2VoltageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2VoltageThreshold1 @@ -505,13 +505,13 @@ namespace Battery2VoltageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2VoltageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold2::Id, - (uint8_t *) battery2VoltageThreshold2, sizeof(*battery2VoltageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2VoltageThreshold2, + sizeof(*battery2VoltageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2VoltageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold2::Id, - (uint8_t *) &battery2VoltageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2VoltageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2VoltageThreshold2 @@ -520,13 +520,13 @@ namespace Battery2VoltageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2VoltageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold3::Id, - (uint8_t *) battery2VoltageThreshold3, sizeof(*battery2VoltageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2VoltageThreshold3, + sizeof(*battery2VoltageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2VoltageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2VoltageThreshold3::Id, - (uint8_t *) &battery2VoltageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2VoltageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2VoltageThreshold3 @@ -535,13 +535,13 @@ namespace Battery2PercentageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2PercentageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageMinThreshold::Id, - (uint8_t *) battery2PercentageMinThreshold, sizeof(*battery2PercentageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2PercentageMinThreshold, + sizeof(*battery2PercentageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2PercentageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageMinThreshold::Id, - (uint8_t *) &battery2PercentageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2PercentageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2PercentageMinThreshold @@ -550,13 +550,13 @@ namespace Battery2PercentageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2PercentageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold1::Id, - (uint8_t *) battery2PercentageThreshold1, sizeof(*battery2PercentageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2PercentageThreshold1, + sizeof(*battery2PercentageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2PercentageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold1::Id, - (uint8_t *) &battery2PercentageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2PercentageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2PercentageThreshold1 @@ -565,13 +565,13 @@ namespace Battery2PercentageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2PercentageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold2::Id, - (uint8_t *) battery2PercentageThreshold2, sizeof(*battery2PercentageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2PercentageThreshold2, + sizeof(*battery2PercentageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2PercentageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold2::Id, - (uint8_t *) &battery2PercentageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2PercentageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2PercentageThreshold2 @@ -580,13 +580,13 @@ namespace Battery2PercentageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery2PercentageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold3::Id, - (uint8_t *) battery2PercentageThreshold3, sizeof(*battery2PercentageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2PercentageThreshold3, + sizeof(*battery2PercentageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery2PercentageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2PercentageThreshold3::Id, - (uint8_t *) &battery2PercentageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2PercentageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery2PercentageThreshold3 @@ -595,12 +595,12 @@ namespace Battery2AlarmState { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * battery2AlarmState) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery2AlarmState::Id, (uint8_t *) battery2AlarmState, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery2AlarmState, sizeof(*battery2AlarmState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t battery2AlarmState) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery2AlarmState::Id, (uint8_t *) &battery2AlarmState, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery2AlarmState, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -610,12 +610,12 @@ namespace Battery3Voltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3Voltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3Voltage::Id, (uint8_t *) battery3Voltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3Voltage, sizeof(*battery3Voltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3Voltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3Voltage::Id, (uint8_t *) &battery3Voltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3Voltage, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -625,13 +625,13 @@ namespace Battery3PercentageRemaining { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3PercentageRemaining) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageRemaining::Id, - (uint8_t *) battery3PercentageRemaining, sizeof(*battery3PercentageRemaining)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3PercentageRemaining, + sizeof(*battery3PercentageRemaining)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3PercentageRemaining) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageRemaining::Id, - (uint8_t *) &battery3PercentageRemaining, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3PercentageRemaining, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3PercentageRemaining @@ -640,12 +640,12 @@ namespace Battery3Size { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3Size) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3Size::Id, (uint8_t *) battery3Size, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3Size, sizeof(*battery3Size)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3Size) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3Size::Id, (uint8_t *) &battery3Size, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3Size, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -655,12 +655,12 @@ namespace Battery3AhrRating { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * battery3AhrRating) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3AhrRating::Id, (uint8_t *) battery3AhrRating, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3AhrRating, sizeof(*battery3AhrRating)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t battery3AhrRating) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3AhrRating::Id, (uint8_t *) &battery3AhrRating, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3AhrRating, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -670,12 +670,12 @@ namespace Battery3Quantity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3Quantity) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3Quantity::Id, (uint8_t *) battery3Quantity, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3Quantity, sizeof(*battery3Quantity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3Quantity) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3Quantity::Id, (uint8_t *) &battery3Quantity, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3Quantity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -685,13 +685,13 @@ namespace Battery3RatedVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3RatedVoltage) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3RatedVoltage::Id, (uint8_t *) battery3RatedVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3RatedVoltage, sizeof(*battery3RatedVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3RatedVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3RatedVoltage::Id, - (uint8_t *) &battery3RatedVoltage, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3RatedVoltage, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3RatedVoltage @@ -700,12 +700,12 @@ namespace Battery3AlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3AlarmMask) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3AlarmMask::Id, (uint8_t *) battery3AlarmMask, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3AlarmMask, sizeof(*battery3AlarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3AlarmMask) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3AlarmMask::Id, (uint8_t *) &battery3AlarmMask, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3AlarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -715,13 +715,13 @@ namespace Battery3VoltageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3VoltageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageMinThreshold::Id, - (uint8_t *) battery3VoltageMinThreshold, sizeof(*battery3VoltageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3VoltageMinThreshold, + sizeof(*battery3VoltageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3VoltageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageMinThreshold::Id, - (uint8_t *) &battery3VoltageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3VoltageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3VoltageMinThreshold @@ -730,13 +730,13 @@ namespace Battery3VoltageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3VoltageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold1::Id, - (uint8_t *) battery3VoltageThreshold1, sizeof(*battery3VoltageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3VoltageThreshold1, + sizeof(*battery3VoltageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3VoltageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold1::Id, - (uint8_t *) &battery3VoltageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3VoltageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3VoltageThreshold1 @@ -745,13 +745,13 @@ namespace Battery3VoltageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3VoltageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold2::Id, - (uint8_t *) battery3VoltageThreshold2, sizeof(*battery3VoltageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3VoltageThreshold2, + sizeof(*battery3VoltageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3VoltageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold2::Id, - (uint8_t *) &battery3VoltageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3VoltageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3VoltageThreshold2 @@ -760,13 +760,13 @@ namespace Battery3VoltageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3VoltageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold3::Id, - (uint8_t *) battery3VoltageThreshold3, sizeof(*battery3VoltageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3VoltageThreshold3, + sizeof(*battery3VoltageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3VoltageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3VoltageThreshold3::Id, - (uint8_t *) &battery3VoltageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3VoltageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3VoltageThreshold3 @@ -775,13 +775,13 @@ namespace Battery3PercentageMinThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3PercentageMinThreshold) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageMinThreshold::Id, - (uint8_t *) battery3PercentageMinThreshold, sizeof(*battery3PercentageMinThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3PercentageMinThreshold, + sizeof(*battery3PercentageMinThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3PercentageMinThreshold) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageMinThreshold::Id, - (uint8_t *) &battery3PercentageMinThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3PercentageMinThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3PercentageMinThreshold @@ -790,13 +790,13 @@ namespace Battery3PercentageThreshold1 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3PercentageThreshold1) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold1::Id, - (uint8_t *) battery3PercentageThreshold1, sizeof(*battery3PercentageThreshold1)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3PercentageThreshold1, + sizeof(*battery3PercentageThreshold1)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3PercentageThreshold1) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold1::Id, - (uint8_t *) &battery3PercentageThreshold1, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3PercentageThreshold1, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3PercentageThreshold1 @@ -805,13 +805,13 @@ namespace Battery3PercentageThreshold2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3PercentageThreshold2) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold2::Id, - (uint8_t *) battery3PercentageThreshold2, sizeof(*battery3PercentageThreshold2)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3PercentageThreshold2, + sizeof(*battery3PercentageThreshold2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3PercentageThreshold2) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold2::Id, - (uint8_t *) &battery3PercentageThreshold2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3PercentageThreshold2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3PercentageThreshold2 @@ -820,13 +820,13 @@ namespace Battery3PercentageThreshold3 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * battery3PercentageThreshold3) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold3::Id, - (uint8_t *) battery3PercentageThreshold3, sizeof(*battery3PercentageThreshold3)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3PercentageThreshold3, + sizeof(*battery3PercentageThreshold3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t battery3PercentageThreshold3) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3PercentageThreshold3::Id, - (uint8_t *) &battery3PercentageThreshold3, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3PercentageThreshold3, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Battery3PercentageThreshold3 @@ -835,12 +835,12 @@ namespace Battery3AlarmState { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * battery3AlarmState) { - return emberAfReadServerAttribute(endpoint, PowerConfiguration::Id, Battery3AlarmState::Id, (uint8_t *) battery3AlarmState, + return emberAfReadServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) battery3AlarmState, sizeof(*battery3AlarmState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t battery3AlarmState) { - return emberAfWriteServerAttribute(endpoint, PowerConfiguration::Id, Battery3AlarmState::Id, (uint8_t *) &battery3AlarmState, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerConfiguration::Id, Id, (uint8_t *) &battery3AlarmState, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -856,13 +856,13 @@ namespace CurrentTemperature { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * currentTemperature) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, CurrentTemperature::Id, - (uint8_t *) currentTemperature, sizeof(*currentTemperature)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) currentTemperature, + sizeof(*currentTemperature)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t currentTemperature) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, CurrentTemperature::Id, - (uint8_t *) ¤tTemperature, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) ¤tTemperature, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace CurrentTemperature @@ -871,13 +871,13 @@ namespace MinTempExperienced { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minTempExperienced) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, MinTempExperienced::Id, - (uint8_t *) minTempExperienced, sizeof(*minTempExperienced)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) minTempExperienced, + sizeof(*minTempExperienced)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minTempExperienced) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, MinTempExperienced::Id, - (uint8_t *) &minTempExperienced, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &minTempExperienced, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace MinTempExperienced @@ -886,13 +886,13 @@ namespace MaxTempExperienced { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxTempExperienced) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, MaxTempExperienced::Id, - (uint8_t *) maxTempExperienced, sizeof(*maxTempExperienced)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) maxTempExperienced, + sizeof(*maxTempExperienced)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxTempExperienced) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, MaxTempExperienced::Id, - (uint8_t *) &maxTempExperienced, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &maxTempExperienced, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace MaxTempExperienced @@ -901,13 +901,13 @@ namespace OverTempTotalDwell { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * overTempTotalDwell) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, OverTempTotalDwell::Id, - (uint8_t *) overTempTotalDwell, sizeof(*overTempTotalDwell)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) overTempTotalDwell, + sizeof(*overTempTotalDwell)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t overTempTotalDwell) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, OverTempTotalDwell::Id, - (uint8_t *) &overTempTotalDwell, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &overTempTotalDwell, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace OverTempTotalDwell @@ -916,13 +916,13 @@ namespace DeviceTempAlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * deviceTempAlarmMask) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, DeviceTempAlarmMask::Id, - (uint8_t *) deviceTempAlarmMask, sizeof(*deviceTempAlarmMask)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) deviceTempAlarmMask, + sizeof(*deviceTempAlarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t deviceTempAlarmMask) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, DeviceTempAlarmMask::Id, - (uint8_t *) &deviceTempAlarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &deviceTempAlarmMask, + ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace DeviceTempAlarmMask @@ -931,13 +931,13 @@ namespace LowTempThreshold { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * lowTempThreshold) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, LowTempThreshold::Id, - (uint8_t *) lowTempThreshold, sizeof(*lowTempThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) lowTempThreshold, + sizeof(*lowTempThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t lowTempThreshold) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, LowTempThreshold::Id, - (uint8_t *) &lowTempThreshold, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &lowTempThreshold, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace LowTempThreshold @@ -946,13 +946,13 @@ namespace HighTempThreshold { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * highTempThreshold) { - return emberAfReadServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, HighTempThreshold::Id, - (uint8_t *) highTempThreshold, sizeof(*highTempThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) highTempThreshold, + sizeof(*highTempThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t highTempThreshold) { - return emberAfWriteServerAttribute(endpoint, DeviceTemperatureConfiguration::Id, HighTempThreshold::Id, - (uint8_t *) &highTempThreshold, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DeviceTemperatureConfiguration::Id, Id, (uint8_t *) &highTempThreshold, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace HighTempThreshold @@ -967,12 +967,11 @@ namespace IdentifyTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * identifyTime) { - return emberAfReadServerAttribute(endpoint, Identify::Id, IdentifyTime::Id, (uint8_t *) identifyTime, sizeof(*identifyTime)); + return emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, (uint8_t *) identifyTime, sizeof(*identifyTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t identifyTime) { - return emberAfWriteServerAttribute(endpoint, Identify::Id, IdentifyTime::Id, (uint8_t *) &identifyTime, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, (uint8_t *) &identifyTime, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace IdentifyTime @@ -981,12 +980,11 @@ namespace IdentifyType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * identifyType) { - return emberAfReadServerAttribute(endpoint, Identify::Id, IdentifyType::Id, (uint8_t *) identifyType, sizeof(*identifyType)); + return emberAfReadServerAttribute(endpoint, Clusters::Identify::Id, Id, (uint8_t *) identifyType, sizeof(*identifyType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t identifyType) { - return emberAfWriteServerAttribute(endpoint, Identify::Id, IdentifyType::Id, (uint8_t *) &identifyType, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Identify::Id, Id, (uint8_t *) &identifyType, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace IdentifyType @@ -1001,11 +999,11 @@ namespace NameSupport { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * nameSupport) { - return emberAfReadServerAttribute(endpoint, Groups::Id, NameSupport::Id, (uint8_t *) nameSupport, sizeof(*nameSupport)); + return emberAfReadServerAttribute(endpoint, Clusters::Groups::Id, Id, (uint8_t *) nameSupport, sizeof(*nameSupport)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t nameSupport) { - return emberAfWriteServerAttribute(endpoint, Groups::Id, NameSupport::Id, (uint8_t *) &nameSupport, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Groups::Id, Id, (uint8_t *) &nameSupport, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace NameSupport @@ -1020,11 +1018,11 @@ namespace SceneCount { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * sceneCount) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, SceneCount::Id, (uint8_t *) sceneCount, sizeof(*sceneCount)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) sceneCount, sizeof(*sceneCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t sceneCount) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, SceneCount::Id, (uint8_t *) &sceneCount, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) &sceneCount, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace SceneCount @@ -1033,11 +1031,11 @@ namespace CurrentScene { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentScene) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, CurrentScene::Id, (uint8_t *) currentScene, sizeof(*currentScene)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) currentScene, sizeof(*currentScene)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentScene) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, CurrentScene::Id, (uint8_t *) ¤tScene, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) ¤tScene, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentScene @@ -1046,12 +1044,11 @@ namespace CurrentGroup { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentGroup) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, CurrentGroup::Id, (uint8_t *) currentGroup, sizeof(*currentGroup)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) currentGroup, sizeof(*currentGroup)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentGroup) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, CurrentGroup::Id, (uint8_t *) ¤tGroup, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) ¤tGroup, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CurrentGroup @@ -1060,11 +1057,11 @@ namespace SceneValid { EmberAfStatus Get(chip::EndpointId endpoint, bool * sceneValid) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, SceneValid::Id, (uint8_t *) sceneValid, sizeof(*sceneValid)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) sceneValid, sizeof(*sceneValid)); } EmberAfStatus Set(chip::EndpointId endpoint, bool sceneValid) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, SceneValid::Id, (uint8_t *) &sceneValid, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) &sceneValid, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace SceneValid @@ -1073,11 +1070,11 @@ namespace NameSupport { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * nameSupport) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, NameSupport::Id, (uint8_t *) nameSupport, sizeof(*nameSupport)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) nameSupport, sizeof(*nameSupport)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t nameSupport) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, NameSupport::Id, (uint8_t *) &nameSupport, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) &nameSupport, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace NameSupport @@ -1086,12 +1083,11 @@ namespace LastConfiguredBy { EmberAfStatus Get(chip::EndpointId endpoint, chip::NodeId * lastConfiguredBy) { - return emberAfReadServerAttribute(endpoint, Scenes::Id, LastConfiguredBy::Id, (uint8_t *) lastConfiguredBy, - sizeof(*lastConfiguredBy)); + return emberAfReadServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) lastConfiguredBy, sizeof(*lastConfiguredBy)); } EmberAfStatus Set(chip::EndpointId endpoint, chip::NodeId lastConfiguredBy) { - return emberAfWriteServerAttribute(endpoint, Scenes::Id, LastConfiguredBy::Id, (uint8_t *) &lastConfiguredBy, + return emberAfWriteServerAttribute(endpoint, Clusters::Scenes::Id, Id, (uint8_t *) &lastConfiguredBy, ZCL_NODE_ID_ATTRIBUTE_TYPE); } @@ -1107,11 +1103,11 @@ namespace OnOff { EmberAfStatus Get(chip::EndpointId endpoint, bool * onOff) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, OnOff::Id, (uint8_t *) onOff, sizeof(*onOff)); + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) onOff, sizeof(*onOff)); } EmberAfStatus Set(chip::EndpointId endpoint, bool onOff) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, OnOff::Id, (uint8_t *) &onOff, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &onOff, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace OnOff @@ -1120,14 +1116,13 @@ namespace SampleMfgSpecificAttribute0x00000x1002 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * sampleMfgSpecificAttribute0x00000x1002) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00000x1002::Id, - (uint8_t *) sampleMfgSpecificAttribute0x00000x1002, + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) sampleMfgSpecificAttribute0x00000x1002, sizeof(*sampleMfgSpecificAttribute0x00000x1002)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t sampleMfgSpecificAttribute0x00000x1002) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00000x1002::Id, - (uint8_t *) &sampleMfgSpecificAttribute0x00000x1002, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &sampleMfgSpecificAttribute0x00000x1002, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace SampleMfgSpecificAttribute0x00000x1002 @@ -1136,14 +1131,13 @@ namespace SampleMfgSpecificAttribute0x00000x1049 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * sampleMfgSpecificAttribute0x00000x1049) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00000x1049::Id, - (uint8_t *) sampleMfgSpecificAttribute0x00000x1049, + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) sampleMfgSpecificAttribute0x00000x1049, sizeof(*sampleMfgSpecificAttribute0x00000x1049)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t sampleMfgSpecificAttribute0x00000x1049) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00000x1049::Id, - (uint8_t *) &sampleMfgSpecificAttribute0x00000x1049, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &sampleMfgSpecificAttribute0x00000x1049, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace SampleMfgSpecificAttribute0x00000x1049 @@ -1152,14 +1146,13 @@ namespace SampleMfgSpecificAttribute0x00010x1002 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * sampleMfgSpecificAttribute0x00010x1002) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00010x1002::Id, - (uint8_t *) sampleMfgSpecificAttribute0x00010x1002, + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) sampleMfgSpecificAttribute0x00010x1002, sizeof(*sampleMfgSpecificAttribute0x00010x1002)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t sampleMfgSpecificAttribute0x00010x1002) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00010x1002::Id, - (uint8_t *) &sampleMfgSpecificAttribute0x00010x1002, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &sampleMfgSpecificAttribute0x00010x1002, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace SampleMfgSpecificAttribute0x00010x1002 @@ -1168,14 +1161,13 @@ namespace SampleMfgSpecificAttribute0x00010x1040 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * sampleMfgSpecificAttribute0x00010x1040) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00010x1040::Id, - (uint8_t *) sampleMfgSpecificAttribute0x00010x1040, + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) sampleMfgSpecificAttribute0x00010x1040, sizeof(*sampleMfgSpecificAttribute0x00010x1040)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t sampleMfgSpecificAttribute0x00010x1040) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, SampleMfgSpecificAttribute0x00010x1040::Id, - (uint8_t *) &sampleMfgSpecificAttribute0x00010x1040, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &sampleMfgSpecificAttribute0x00010x1040, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace SampleMfgSpecificAttribute0x00010x1040 @@ -1184,12 +1176,12 @@ namespace GlobalSceneControl { EmberAfStatus Get(chip::EndpointId endpoint, bool * globalSceneControl) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, GlobalSceneControl::Id, (uint8_t *) globalSceneControl, + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) globalSceneControl, sizeof(*globalSceneControl)); } EmberAfStatus Set(chip::EndpointId endpoint, bool globalSceneControl) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, GlobalSceneControl::Id, (uint8_t *) &globalSceneControl, + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &globalSceneControl, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -1199,11 +1191,11 @@ namespace OnTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * onTime) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, OnTime::Id, (uint8_t *) onTime, sizeof(*onTime)); + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) onTime, sizeof(*onTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t onTime) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, OnTime::Id, (uint8_t *) &onTime, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &onTime, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace OnTime @@ -1212,11 +1204,11 @@ namespace OffWaitTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * offWaitTime) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, OffWaitTime::Id, (uint8_t *) offWaitTime, sizeof(*offWaitTime)); + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) offWaitTime, sizeof(*offWaitTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t offWaitTime) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, OffWaitTime::Id, (uint8_t *) &offWaitTime, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &offWaitTime, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace OffWaitTime @@ -1225,11 +1217,11 @@ namespace StartUpOnOff { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * startUpOnOff) { - return emberAfReadServerAttribute(endpoint, OnOff::Id, StartUpOnOff::Id, (uint8_t *) startUpOnOff, sizeof(*startUpOnOff)); + return emberAfReadServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) startUpOnOff, sizeof(*startUpOnOff)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t startUpOnOff) { - return emberAfWriteServerAttribute(endpoint, OnOff::Id, StartUpOnOff::Id, (uint8_t *) &startUpOnOff, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OnOff::Id, Id, (uint8_t *) &startUpOnOff, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace StartUpOnOff @@ -1244,12 +1236,12 @@ namespace SwitchType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * switchType) { - return emberAfReadServerAttribute(endpoint, OnOffSwitchConfiguration::Id, SwitchType::Id, (uint8_t *) switchType, + return emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, (uint8_t *) switchType, sizeof(*switchType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t switchType) { - return emberAfWriteServerAttribute(endpoint, OnOffSwitchConfiguration::Id, SwitchType::Id, (uint8_t *) &switchType, + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, (uint8_t *) &switchType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -1259,12 +1251,12 @@ namespace SwitchActions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * switchActions) { - return emberAfReadServerAttribute(endpoint, OnOffSwitchConfiguration::Id, SwitchActions::Id, (uint8_t *) switchActions, + return emberAfReadServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, (uint8_t *) switchActions, sizeof(*switchActions)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t switchActions) { - return emberAfWriteServerAttribute(endpoint, OnOffSwitchConfiguration::Id, SwitchActions::Id, (uint8_t *) &switchActions, + return emberAfWriteServerAttribute(endpoint, Clusters::OnOffSwitchConfiguration::Id, Id, (uint8_t *) &switchActions, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -1280,12 +1272,11 @@ namespace CurrentLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentLevel) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, CurrentLevel::Id, (uint8_t *) currentLevel, - sizeof(*currentLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) currentLevel, sizeof(*currentLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentLevel) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, CurrentLevel::Id, (uint8_t *) ¤tLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) ¤tLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -1295,12 +1286,11 @@ namespace RemainingTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * remainingTime) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, RemainingTime::Id, (uint8_t *) remainingTime, - sizeof(*remainingTime)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) remainingTime, sizeof(*remainingTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t remainingTime) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, RemainingTime::Id, (uint8_t *) &remainingTime, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &remainingTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1310,11 +1300,11 @@ namespace MinLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * minLevel) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, MinLevel::Id, (uint8_t *) minLevel, sizeof(*minLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) minLevel, sizeof(*minLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t minLevel) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, MinLevel::Id, (uint8_t *) &minLevel, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &minLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace MinLevel @@ -1323,11 +1313,11 @@ namespace MaxLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * maxLevel) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, MaxLevel::Id, (uint8_t *) maxLevel, sizeof(*maxLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) maxLevel, sizeof(*maxLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t maxLevel) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, MaxLevel::Id, (uint8_t *) &maxLevel, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &maxLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace MaxLevel @@ -1336,12 +1326,12 @@ namespace CurrentFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentFrequency) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, CurrentFrequency::Id, (uint8_t *) currentFrequency, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) currentFrequency, sizeof(*currentFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentFrequency) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, CurrentFrequency::Id, (uint8_t *) ¤tFrequency, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) ¤tFrequency, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1351,12 +1341,11 @@ namespace MinFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * minFrequency) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, MinFrequency::Id, (uint8_t *) minFrequency, - sizeof(*minFrequency)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) minFrequency, sizeof(*minFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t minFrequency) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, MinFrequency::Id, (uint8_t *) &minFrequency, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &minFrequency, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1366,12 +1355,11 @@ namespace MaxFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxFrequency) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, MaxFrequency::Id, (uint8_t *) maxFrequency, - sizeof(*maxFrequency)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) maxFrequency, sizeof(*maxFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxFrequency) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, MaxFrequency::Id, (uint8_t *) &maxFrequency, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &maxFrequency, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1381,11 +1369,11 @@ namespace Options { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * options) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, Options::Id, (uint8_t *) options, sizeof(*options)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) options, sizeof(*options)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t options) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, Options::Id, (uint8_t *) &options, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &options, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace Options @@ -1394,12 +1382,12 @@ namespace OnOffTransitionTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * onOffTransitionTime) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, OnOffTransitionTime::Id, (uint8_t *) onOffTransitionTime, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) onOffTransitionTime, sizeof(*onOffTransitionTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t onOffTransitionTime) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, OnOffTransitionTime::Id, (uint8_t *) &onOffTransitionTime, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &onOffTransitionTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1409,11 +1397,11 @@ namespace OnLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * onLevel) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, OnLevel::Id, (uint8_t *) onLevel, sizeof(*onLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) onLevel, sizeof(*onLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t onLevel) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, OnLevel::Id, (uint8_t *) &onLevel, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &onLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace OnLevel @@ -1422,12 +1410,12 @@ namespace OnTransitionTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * onTransitionTime) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, OnTransitionTime::Id, (uint8_t *) onTransitionTime, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) onTransitionTime, sizeof(*onTransitionTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t onTransitionTime) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, OnTransitionTime::Id, (uint8_t *) &onTransitionTime, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &onTransitionTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1437,12 +1425,12 @@ namespace OffTransitionTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * offTransitionTime) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, OffTransitionTime::Id, (uint8_t *) offTransitionTime, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) offTransitionTime, sizeof(*offTransitionTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t offTransitionTime) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, OffTransitionTime::Id, (uint8_t *) &offTransitionTime, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &offTransitionTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1452,12 +1440,12 @@ namespace DefaultMoveRate { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * defaultMoveRate) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, DefaultMoveRate::Id, (uint8_t *) defaultMoveRate, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) defaultMoveRate, sizeof(*defaultMoveRate)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t defaultMoveRate) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, DefaultMoveRate::Id, (uint8_t *) &defaultMoveRate, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &defaultMoveRate, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -1467,12 +1455,12 @@ namespace StartUpCurrentLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * startUpCurrentLevel) { - return emberAfReadServerAttribute(endpoint, LevelControl::Id, StartUpCurrentLevel::Id, (uint8_t *) startUpCurrentLevel, + return emberAfReadServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) startUpCurrentLevel, sizeof(*startUpCurrentLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t startUpCurrentLevel) { - return emberAfWriteServerAttribute(endpoint, LevelControl::Id, StartUpCurrentLevel::Id, (uint8_t *) &startUpCurrentLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::LevelControl::Id, Id, (uint8_t *) &startUpCurrentLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -1488,11 +1476,11 @@ namespace AlarmCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * alarmCount) { - return emberAfReadServerAttribute(endpoint, Alarms::Id, AlarmCount::Id, (uint8_t *) alarmCount, sizeof(*alarmCount)); + return emberAfReadServerAttribute(endpoint, Clusters::Alarms::Id, Id, (uint8_t *) alarmCount, sizeof(*alarmCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t alarmCount) { - return emberAfWriteServerAttribute(endpoint, Alarms::Id, AlarmCount::Id, (uint8_t *) &alarmCount, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Alarms::Id, Id, (uint8_t *) &alarmCount, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AlarmCount @@ -1507,11 +1495,11 @@ namespace Time { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * time) { - return emberAfReadServerAttribute(endpoint, Time::Id, Time::Id, (uint8_t *) time, sizeof(*time)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) time, sizeof(*time)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t time) { - return emberAfWriteServerAttribute(endpoint, Time::Id, Time::Id, (uint8_t *) &time, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &time, ZCL_EPOCH_S_ATTRIBUTE_TYPE); } } // namespace Time @@ -1520,11 +1508,11 @@ namespace TimeStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * timeStatus) { - return emberAfReadServerAttribute(endpoint, Time::Id, TimeStatus::Id, (uint8_t *) timeStatus, sizeof(*timeStatus)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) timeStatus, sizeof(*timeStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t timeStatus) { - return emberAfWriteServerAttribute(endpoint, Time::Id, TimeStatus::Id, (uint8_t *) &timeStatus, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &timeStatus, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace TimeStatus @@ -1533,11 +1521,11 @@ namespace TimeZone { EmberAfStatus Get(chip::EndpointId endpoint, int32_t * timeZone) { - return emberAfReadServerAttribute(endpoint, Time::Id, TimeZone::Id, (uint8_t *) timeZone, sizeof(*timeZone)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) timeZone, sizeof(*timeZone)); } EmberAfStatus Set(chip::EndpointId endpoint, int32_t timeZone) { - return emberAfWriteServerAttribute(endpoint, Time::Id, TimeZone::Id, (uint8_t *) &timeZone, ZCL_INT32S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &timeZone, ZCL_INT32S_ATTRIBUTE_TYPE); } } // namespace TimeZone @@ -1546,11 +1534,11 @@ namespace DstStart { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * dstStart) { - return emberAfReadServerAttribute(endpoint, Time::Id, DstStart::Id, (uint8_t *) dstStart, sizeof(*dstStart)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) dstStart, sizeof(*dstStart)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t dstStart) { - return emberAfWriteServerAttribute(endpoint, Time::Id, DstStart::Id, (uint8_t *) &dstStart, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &dstStart, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace DstStart @@ -1559,11 +1547,11 @@ namespace DstEnd { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * dstEnd) { - return emberAfReadServerAttribute(endpoint, Time::Id, DstEnd::Id, (uint8_t *) dstEnd, sizeof(*dstEnd)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) dstEnd, sizeof(*dstEnd)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t dstEnd) { - return emberAfWriteServerAttribute(endpoint, Time::Id, DstEnd::Id, (uint8_t *) &dstEnd, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &dstEnd, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace DstEnd @@ -1572,11 +1560,11 @@ namespace DstShift { EmberAfStatus Get(chip::EndpointId endpoint, int32_t * dstShift) { - return emberAfReadServerAttribute(endpoint, Time::Id, DstShift::Id, (uint8_t *) dstShift, sizeof(*dstShift)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) dstShift, sizeof(*dstShift)); } EmberAfStatus Set(chip::EndpointId endpoint, int32_t dstShift) { - return emberAfWriteServerAttribute(endpoint, Time::Id, DstShift::Id, (uint8_t *) &dstShift, ZCL_INT32S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &dstShift, ZCL_INT32S_ATTRIBUTE_TYPE); } } // namespace DstShift @@ -1585,11 +1573,11 @@ namespace StandardTime { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * standardTime) { - return emberAfReadServerAttribute(endpoint, Time::Id, StandardTime::Id, (uint8_t *) standardTime, sizeof(*standardTime)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) standardTime, sizeof(*standardTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t standardTime) { - return emberAfWriteServerAttribute(endpoint, Time::Id, StandardTime::Id, (uint8_t *) &standardTime, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &standardTime, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace StandardTime @@ -1598,11 +1586,11 @@ namespace LocalTime { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * localTime) { - return emberAfReadServerAttribute(endpoint, Time::Id, LocalTime::Id, (uint8_t *) localTime, sizeof(*localTime)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) localTime, sizeof(*localTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t localTime) { - return emberAfWriteServerAttribute(endpoint, Time::Id, LocalTime::Id, (uint8_t *) &localTime, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &localTime, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace LocalTime @@ -1611,11 +1599,11 @@ namespace LastSetTime { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * lastSetTime) { - return emberAfReadServerAttribute(endpoint, Time::Id, LastSetTime::Id, (uint8_t *) lastSetTime, sizeof(*lastSetTime)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) lastSetTime, sizeof(*lastSetTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t lastSetTime) { - return emberAfWriteServerAttribute(endpoint, Time::Id, LastSetTime::Id, (uint8_t *) &lastSetTime, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &lastSetTime, ZCL_EPOCH_S_ATTRIBUTE_TYPE); } } // namespace LastSetTime @@ -1624,12 +1612,11 @@ namespace ValidUntilTime { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * validUntilTime) { - return emberAfReadServerAttribute(endpoint, Time::Id, ValidUntilTime::Id, (uint8_t *) validUntilTime, sizeof(*validUntilTime)); + return emberAfReadServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) validUntilTime, sizeof(*validUntilTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t validUntilTime) { - return emberAfWriteServerAttribute(endpoint, Time::Id, ValidUntilTime::Id, (uint8_t *) &validUntilTime, - ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Time::Id, Id, (uint8_t *) &validUntilTime, ZCL_EPOCH_S_ATTRIBUTE_TYPE); } } // namespace ValidUntilTime @@ -1644,12 +1631,12 @@ namespace OutOfService { EmberAfStatus Get(chip::EndpointId endpoint, bool * outOfService) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, OutOfService::Id, (uint8_t *) outOfService, + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) outOfService, sizeof(*outOfService)); } EmberAfStatus Set(chip::EndpointId endpoint, bool outOfService) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, OutOfService::Id, (uint8_t *) &outOfService, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &outOfService, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -1659,11 +1646,11 @@ namespace Polarity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * polarity) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, Polarity::Id, (uint8_t *) polarity, sizeof(*polarity)); + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) polarity, sizeof(*polarity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t polarity) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, Polarity::Id, (uint8_t *) &polarity, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &polarity, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -1673,12 +1660,12 @@ namespace PresentValue { EmberAfStatus Get(chip::EndpointId endpoint, bool * presentValue) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, PresentValue::Id, (uint8_t *) presentValue, + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) presentValue, sizeof(*presentValue)); } EmberAfStatus Set(chip::EndpointId endpoint, bool presentValue) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, PresentValue::Id, (uint8_t *) &presentValue, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &presentValue, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -1688,12 +1675,11 @@ namespace Reliability { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * reliability) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, Reliability::Id, (uint8_t *) reliability, - sizeof(*reliability)); + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) reliability, sizeof(*reliability)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t reliability) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, Reliability::Id, (uint8_t *) &reliability, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &reliability, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -1703,12 +1689,11 @@ namespace StatusFlags { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * statusFlags) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, StatusFlags::Id, (uint8_t *) statusFlags, - sizeof(*statusFlags)); + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) statusFlags, sizeof(*statusFlags)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t statusFlags) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, StatusFlags::Id, (uint8_t *) &statusFlags, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &statusFlags, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -1718,12 +1703,12 @@ namespace ApplicationType { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * applicationType) { - return emberAfReadServerAttribute(endpoint, BinaryInputBasic::Id, ApplicationType::Id, (uint8_t *) applicationType, + return emberAfReadServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) applicationType, sizeof(*applicationType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t applicationType) { - return emberAfWriteServerAttribute(endpoint, BinaryInputBasic::Id, ApplicationType::Id, (uint8_t *) &applicationType, + return emberAfWriteServerAttribute(endpoint, Clusters::BinaryInputBasic::Id, Id, (uint8_t *) &applicationType, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -1739,12 +1724,12 @@ namespace TotalProfileNum { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * totalProfileNum) { - return emberAfReadServerAttribute(endpoint, PowerProfile::Id, TotalProfileNum::Id, (uint8_t *) totalProfileNum, + return emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) totalProfileNum, sizeof(*totalProfileNum)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t totalProfileNum) { - return emberAfWriteServerAttribute(endpoint, PowerProfile::Id, TotalProfileNum::Id, (uint8_t *) &totalProfileNum, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) &totalProfileNum, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -1754,12 +1739,12 @@ namespace MultipleScheduling { EmberAfStatus Get(chip::EndpointId endpoint, bool * multipleScheduling) { - return emberAfReadServerAttribute(endpoint, PowerProfile::Id, MultipleScheduling::Id, (uint8_t *) multipleScheduling, + return emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) multipleScheduling, sizeof(*multipleScheduling)); } EmberAfStatus Set(chip::EndpointId endpoint, bool multipleScheduling) { - return emberAfWriteServerAttribute(endpoint, PowerProfile::Id, MultipleScheduling::Id, (uint8_t *) &multipleScheduling, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) &multipleScheduling, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -1769,12 +1754,12 @@ namespace EnergyFormatting { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * energyFormatting) { - return emberAfReadServerAttribute(endpoint, PowerProfile::Id, EnergyFormatting::Id, (uint8_t *) energyFormatting, + return emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) energyFormatting, sizeof(*energyFormatting)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t energyFormatting) { - return emberAfWriteServerAttribute(endpoint, PowerProfile::Id, EnergyFormatting::Id, (uint8_t *) &energyFormatting, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) &energyFormatting, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -1784,12 +1769,11 @@ namespace EnergyRemote { EmberAfStatus Get(chip::EndpointId endpoint, bool * energyRemote) { - return emberAfReadServerAttribute(endpoint, PowerProfile::Id, EnergyRemote::Id, (uint8_t *) energyRemote, - sizeof(*energyRemote)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) energyRemote, sizeof(*energyRemote)); } EmberAfStatus Set(chip::EndpointId endpoint, bool energyRemote) { - return emberAfWriteServerAttribute(endpoint, PowerProfile::Id, EnergyRemote::Id, (uint8_t *) &energyRemote, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) &energyRemote, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -1799,12 +1783,11 @@ namespace ScheduleMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * scheduleMode) { - return emberAfReadServerAttribute(endpoint, PowerProfile::Id, ScheduleMode::Id, (uint8_t *) scheduleMode, - sizeof(*scheduleMode)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) scheduleMode, sizeof(*scheduleMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t scheduleMode) { - return emberAfWriteServerAttribute(endpoint, PowerProfile::Id, ScheduleMode::Id, (uint8_t *) &scheduleMode, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerProfile::Id, Id, (uint8_t *) &scheduleMode, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -1820,11 +1803,11 @@ namespace StartTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * startTime) { - return emberAfReadServerAttribute(endpoint, ApplianceControl::Id, StartTime::Id, (uint8_t *) startTime, sizeof(*startTime)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) startTime, sizeof(*startTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t startTime) { - return emberAfWriteServerAttribute(endpoint, ApplianceControl::Id, StartTime::Id, (uint8_t *) &startTime, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) &startTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1834,11 +1817,11 @@ namespace FinishTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * finishTime) { - return emberAfReadServerAttribute(endpoint, ApplianceControl::Id, FinishTime::Id, (uint8_t *) finishTime, sizeof(*finishTime)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) finishTime, sizeof(*finishTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t finishTime) { - return emberAfWriteServerAttribute(endpoint, ApplianceControl::Id, FinishTime::Id, (uint8_t *) &finishTime, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) &finishTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1848,12 +1831,12 @@ namespace RemainingTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * remainingTime) { - return emberAfReadServerAttribute(endpoint, ApplianceControl::Id, RemainingTime::Id, (uint8_t *) remainingTime, + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) remainingTime, sizeof(*remainingTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t remainingTime) { - return emberAfWriteServerAttribute(endpoint, ApplianceControl::Id, RemainingTime::Id, (uint8_t *) &remainingTime, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceControl::Id, Id, (uint8_t *) &remainingTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1875,12 +1858,12 @@ namespace CheckInInterval { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * checkInInterval) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, CheckInInterval::Id, (uint8_t *) checkInInterval, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) checkInInterval, sizeof(*checkInInterval)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t checkInInterval) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, CheckInInterval::Id, (uint8_t *) &checkInInterval, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &checkInInterval, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -1890,12 +1873,12 @@ namespace LongPollInterval { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * longPollInterval) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, LongPollInterval::Id, (uint8_t *) longPollInterval, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) longPollInterval, sizeof(*longPollInterval)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t longPollInterval) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, LongPollInterval::Id, (uint8_t *) &longPollInterval, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &longPollInterval, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -1905,12 +1888,12 @@ namespace ShortPollInterval { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * shortPollInterval) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, ShortPollInterval::Id, (uint8_t *) shortPollInterval, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) shortPollInterval, sizeof(*shortPollInterval)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t shortPollInterval) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, ShortPollInterval::Id, (uint8_t *) &shortPollInterval, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &shortPollInterval, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1920,12 +1903,12 @@ namespace FastPollTimeout { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * fastPollTimeout) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, FastPollTimeout::Id, (uint8_t *) fastPollTimeout, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) fastPollTimeout, sizeof(*fastPollTimeout)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t fastPollTimeout) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, FastPollTimeout::Id, (uint8_t *) &fastPollTimeout, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &fastPollTimeout, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1935,12 +1918,12 @@ namespace CheckInIntervalMin { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * checkInIntervalMin) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, CheckInIntervalMin::Id, (uint8_t *) checkInIntervalMin, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) checkInIntervalMin, sizeof(*checkInIntervalMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t checkInIntervalMin) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, CheckInIntervalMin::Id, (uint8_t *) &checkInIntervalMin, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &checkInIntervalMin, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -1950,12 +1933,12 @@ namespace LongPollIntervalMin { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * longPollIntervalMin) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, LongPollIntervalMin::Id, (uint8_t *) longPollIntervalMin, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) longPollIntervalMin, sizeof(*longPollIntervalMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t longPollIntervalMin) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, LongPollIntervalMin::Id, (uint8_t *) &longPollIntervalMin, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &longPollIntervalMin, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -1965,12 +1948,12 @@ namespace FastPollTimeoutMax { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * fastPollTimeoutMax) { - return emberAfReadServerAttribute(endpoint, PollControl::Id, FastPollTimeoutMax::Id, (uint8_t *) fastPollTimeoutMax, + return emberAfReadServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) fastPollTimeoutMax, sizeof(*fastPollTimeoutMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t fastPollTimeoutMax) { - return emberAfWriteServerAttribute(endpoint, PollControl::Id, FastPollTimeoutMax::Id, (uint8_t *) &fastPollTimeoutMax, + return emberAfWriteServerAttribute(endpoint, Clusters::PollControl::Id, Id, (uint8_t *) &fastPollTimeoutMax, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -1986,12 +1969,12 @@ namespace InteractionModelVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * interactionModelVersion) { - return emberAfReadServerAttribute(endpoint, Basic::Id, InteractionModelVersion::Id, (uint8_t *) interactionModelVersion, + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) interactionModelVersion, sizeof(*interactionModelVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t interactionModelVersion) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, InteractionModelVersion::Id, (uint8_t *) &interactionModelVersion, + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &interactionModelVersion, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2001,11 +1984,11 @@ namespace VendorID { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * vendorID) { - return emberAfReadServerAttribute(endpoint, Basic::Id, VendorID::Id, (uint8_t *) vendorID, sizeof(*vendorID)); + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) vendorID, sizeof(*vendorID)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t vendorID) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, VendorID::Id, (uint8_t *) &vendorID, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &vendorID, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace VendorID @@ -2014,11 +1997,11 @@ namespace ProductID { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * productID) { - return emberAfReadServerAttribute(endpoint, Basic::Id, ProductID::Id, (uint8_t *) productID, sizeof(*productID)); + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) productID, sizeof(*productID)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t productID) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, ProductID::Id, (uint8_t *) &productID, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &productID, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ProductID @@ -2027,13 +2010,11 @@ namespace HardwareVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * hardwareVersion) { - return emberAfReadServerAttribute(endpoint, Basic::Id, HardwareVersion::Id, (uint8_t *) hardwareVersion, - sizeof(*hardwareVersion)); + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) hardwareVersion, sizeof(*hardwareVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t hardwareVersion) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, HardwareVersion::Id, (uint8_t *) &hardwareVersion, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &hardwareVersion, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace HardwareVersion @@ -2042,13 +2023,11 @@ namespace SoftwareVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * softwareVersion) { - return emberAfReadServerAttribute(endpoint, Basic::Id, SoftwareVersion::Id, (uint8_t *) softwareVersion, - sizeof(*softwareVersion)); + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) softwareVersion, sizeof(*softwareVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t softwareVersion) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, SoftwareVersion::Id, (uint8_t *) &softwareVersion, - ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &softwareVersion, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace SoftwareVersion @@ -2057,12 +2036,12 @@ namespace LocalConfigDisabled { EmberAfStatus Get(chip::EndpointId endpoint, bool * localConfigDisabled) { - return emberAfReadServerAttribute(endpoint, Basic::Id, LocalConfigDisabled::Id, (uint8_t *) localConfigDisabled, + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) localConfigDisabled, sizeof(*localConfigDisabled)); } EmberAfStatus Set(chip::EndpointId endpoint, bool localConfigDisabled) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, LocalConfigDisabled::Id, (uint8_t *) &localConfigDisabled, + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &localConfigDisabled, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -2072,11 +2051,11 @@ namespace Reachable { EmberAfStatus Get(chip::EndpointId endpoint, bool * reachable) { - return emberAfReadServerAttribute(endpoint, Basic::Id, Reachable::Id, (uint8_t *) reachable, sizeof(*reachable)); + return emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) reachable, sizeof(*reachable)); } EmberAfStatus Set(chip::EndpointId endpoint, bool reachable) { - return emberAfWriteServerAttribute(endpoint, Basic::Id, Reachable::Id, (uint8_t *) &reachable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, (uint8_t *) &reachable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace Reachable @@ -2091,12 +2070,12 @@ namespace UpdatePossible { EmberAfStatus Get(chip::EndpointId endpoint, bool * updatePossible) { - return emberAfReadServerAttribute(endpoint, OtaSoftwareUpdateRequestor::Id, UpdatePossible::Id, (uint8_t *) updatePossible, + return emberAfReadServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, (uint8_t *) updatePossible, sizeof(*updatePossible)); } EmberAfStatus Set(chip::EndpointId endpoint, bool updatePossible) { - return emberAfWriteServerAttribute(endpoint, OtaSoftwareUpdateRequestor::Id, UpdatePossible::Id, (uint8_t *) &updatePossible, + return emberAfWriteServerAttribute(endpoint, Clusters::OtaSoftwareUpdateRequestor::Id, Id, (uint8_t *) &updatePossible, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -2112,11 +2091,11 @@ namespace Status { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * status) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, Status::Id, (uint8_t *) status, sizeof(*status)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) status, sizeof(*status)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t status) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, Status::Id, (uint8_t *) &status, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &status, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace Status @@ -2125,11 +2104,11 @@ namespace Order { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * order) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, Order::Id, (uint8_t *) order, sizeof(*order)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) order, sizeof(*order)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t order) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, Order::Id, (uint8_t *) &order, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &order, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Order @@ -2138,13 +2117,13 @@ namespace WiredAssessedInputVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * wiredAssessedInputVoltage) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredAssessedInputVoltage::Id, - (uint8_t *) wiredAssessedInputVoltage, sizeof(*wiredAssessedInputVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredAssessedInputVoltage, + sizeof(*wiredAssessedInputVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t wiredAssessedInputVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredAssessedInputVoltage::Id, - (uint8_t *) &wiredAssessedInputVoltage, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredAssessedInputVoltage, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace WiredAssessedInputVoltage @@ -2153,13 +2132,13 @@ namespace WiredAssessedInputFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * wiredAssessedInputFrequency) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredAssessedInputFrequency::Id, - (uint8_t *) wiredAssessedInputFrequency, sizeof(*wiredAssessedInputFrequency)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredAssessedInputFrequency, + sizeof(*wiredAssessedInputFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t wiredAssessedInputFrequency) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredAssessedInputFrequency::Id, - (uint8_t *) &wiredAssessedInputFrequency, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredAssessedInputFrequency, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace WiredAssessedInputFrequency @@ -2168,12 +2147,12 @@ namespace WiredCurrentType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * wiredCurrentType) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredCurrentType::Id, (uint8_t *) wiredCurrentType, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredCurrentType, sizeof(*wiredCurrentType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t wiredCurrentType) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredCurrentType::Id, (uint8_t *) &wiredCurrentType, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredCurrentType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2183,12 +2162,12 @@ namespace WiredAssessedCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * wiredAssessedCurrent) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredAssessedCurrent::Id, (uint8_t *) wiredAssessedCurrent, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredAssessedCurrent, sizeof(*wiredAssessedCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t wiredAssessedCurrent) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredAssessedCurrent::Id, (uint8_t *) &wiredAssessedCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredAssessedCurrent, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2198,12 +2177,12 @@ namespace WiredNominalVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * wiredNominalVoltage) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredNominalVoltage::Id, (uint8_t *) wiredNominalVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredNominalVoltage, sizeof(*wiredNominalVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t wiredNominalVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredNominalVoltage::Id, (uint8_t *) &wiredNominalVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredNominalVoltage, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2213,12 +2192,12 @@ namespace WiredMaximumCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * wiredMaximumCurrent) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredMaximumCurrent::Id, (uint8_t *) wiredMaximumCurrent, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredMaximumCurrent, sizeof(*wiredMaximumCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t wiredMaximumCurrent) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredMaximumCurrent::Id, (uint8_t *) &wiredMaximumCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredMaximumCurrent, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2228,11 +2207,11 @@ namespace WiredPresent { EmberAfStatus Get(chip::EndpointId endpoint, bool * wiredPresent) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, WiredPresent::Id, (uint8_t *) wiredPresent, sizeof(*wiredPresent)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) wiredPresent, sizeof(*wiredPresent)); } EmberAfStatus Set(chip::EndpointId endpoint, bool wiredPresent) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, WiredPresent::Id, (uint8_t *) &wiredPresent, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &wiredPresent, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -2242,12 +2221,11 @@ namespace BatteryVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryVoltage) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryVoltage::Id, (uint8_t *) batteryVoltage, - sizeof(*batteryVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryVoltage, sizeof(*batteryVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryVoltage) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryVoltage::Id, (uint8_t *) &batteryVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryVoltage, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2257,12 +2235,12 @@ namespace BatteryPercentRemaining { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryPercentRemaining) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryPercentRemaining::Id, (uint8_t *) batteryPercentRemaining, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryPercentRemaining, sizeof(*batteryPercentRemaining)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryPercentRemaining) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryPercentRemaining::Id, (uint8_t *) &batteryPercentRemaining, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryPercentRemaining, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2272,12 +2250,12 @@ namespace BatteryTimeRemaining { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryTimeRemaining) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryTimeRemaining::Id, (uint8_t *) batteryTimeRemaining, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryTimeRemaining, sizeof(*batteryTimeRemaining)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryTimeRemaining) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryTimeRemaining::Id, (uint8_t *) &batteryTimeRemaining, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryTimeRemaining, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2287,12 +2265,12 @@ namespace BatteryChargeLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryChargeLevel) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryChargeLevel::Id, (uint8_t *) batteryChargeLevel, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryChargeLevel, sizeof(*batteryChargeLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryChargeLevel) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryChargeLevel::Id, (uint8_t *) &batteryChargeLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryChargeLevel, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2302,13 +2280,13 @@ namespace BatteryReplacementNeeded { EmberAfStatus Get(chip::EndpointId endpoint, bool * batteryReplacementNeeded) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryReplacementNeeded::Id, (uint8_t *) batteryReplacementNeeded, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryReplacementNeeded, sizeof(*batteryReplacementNeeded)); } EmberAfStatus Set(chip::EndpointId endpoint, bool batteryReplacementNeeded) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryReplacementNeeded::Id, - (uint8_t *) &batteryReplacementNeeded, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryReplacementNeeded, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace BatteryReplacementNeeded @@ -2317,12 +2295,12 @@ namespace BatteryReplaceability { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryReplaceability) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryReplaceability::Id, (uint8_t *) batteryReplaceability, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryReplaceability, sizeof(*batteryReplaceability)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryReplaceability) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryReplaceability::Id, (uint8_t *) &batteryReplaceability, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryReplaceability, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2332,12 +2310,11 @@ namespace BatteryPresent { EmberAfStatus Get(chip::EndpointId endpoint, bool * batteryPresent) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryPresent::Id, (uint8_t *) batteryPresent, - sizeof(*batteryPresent)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryPresent, sizeof(*batteryPresent)); } EmberAfStatus Set(chip::EndpointId endpoint, bool batteryPresent) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryPresent::Id, (uint8_t *) &batteryPresent, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryPresent, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -2347,13 +2324,13 @@ namespace BatteryCommonDesignation { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryCommonDesignation) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryCommonDesignation::Id, (uint8_t *) batteryCommonDesignation, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryCommonDesignation, sizeof(*batteryCommonDesignation)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryCommonDesignation) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryCommonDesignation::Id, - (uint8_t *) &batteryCommonDesignation, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryCommonDesignation, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace BatteryCommonDesignation @@ -2362,13 +2339,13 @@ namespace BatteryApprovedChemistry { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryApprovedChemistry) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryApprovedChemistry::Id, (uint8_t *) batteryApprovedChemistry, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryApprovedChemistry, sizeof(*batteryApprovedChemistry)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryApprovedChemistry) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryApprovedChemistry::Id, - (uint8_t *) &batteryApprovedChemistry, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryApprovedChemistry, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace BatteryApprovedChemistry @@ -2377,12 +2354,12 @@ namespace BatteryCapacity { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryCapacity) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryCapacity::Id, (uint8_t *) batteryCapacity, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryCapacity, sizeof(*batteryCapacity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryCapacity) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryCapacity::Id, (uint8_t *) &batteryCapacity, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryCapacity, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2392,12 +2369,12 @@ namespace BatteryQuantity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryQuantity) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryQuantity::Id, (uint8_t *) batteryQuantity, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryQuantity, sizeof(*batteryQuantity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryQuantity) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryQuantity::Id, (uint8_t *) &batteryQuantity, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryQuantity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2407,12 +2384,12 @@ namespace BatteryChargeState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * batteryChargeState) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryChargeState::Id, (uint8_t *) batteryChargeState, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryChargeState, sizeof(*batteryChargeState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t batteryChargeState) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryChargeState::Id, (uint8_t *) &batteryChargeState, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryChargeState, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2422,12 +2399,12 @@ namespace BatteryTimeToFullCharge { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryTimeToFullCharge) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryTimeToFullCharge::Id, (uint8_t *) batteryTimeToFullCharge, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryTimeToFullCharge, sizeof(*batteryTimeToFullCharge)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryTimeToFullCharge) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryTimeToFullCharge::Id, (uint8_t *) &batteryTimeToFullCharge, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryTimeToFullCharge, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2437,13 +2414,13 @@ namespace BatteryFunctionalWhileCharging { EmberAfStatus Get(chip::EndpointId endpoint, bool * batteryFunctionalWhileCharging) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryFunctionalWhileCharging::Id, - (uint8_t *) batteryFunctionalWhileCharging, sizeof(*batteryFunctionalWhileCharging)); + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryFunctionalWhileCharging, + sizeof(*batteryFunctionalWhileCharging)); } EmberAfStatus Set(chip::EndpointId endpoint, bool batteryFunctionalWhileCharging) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryFunctionalWhileCharging::Id, - (uint8_t *) &batteryFunctionalWhileCharging, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryFunctionalWhileCharging, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace BatteryFunctionalWhileCharging @@ -2452,12 +2429,12 @@ namespace BatteryChargingCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * batteryChargingCurrent) { - return emberAfReadServerAttribute(endpoint, PowerSource::Id, BatteryChargingCurrent::Id, (uint8_t *) batteryChargingCurrent, + return emberAfReadServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) batteryChargingCurrent, sizeof(*batteryChargingCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t batteryChargingCurrent) { - return emberAfWriteServerAttribute(endpoint, PowerSource::Id, BatteryChargingCurrent::Id, (uint8_t *) &batteryChargingCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::PowerSource::Id, Id, (uint8_t *) &batteryChargingCurrent, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2473,12 +2450,12 @@ namespace Breadcrumb { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * breadcrumb) { - return emberAfReadServerAttribute(endpoint, GeneralCommissioning::Id, Breadcrumb::Id, (uint8_t *) breadcrumb, + return emberAfReadServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, (uint8_t *) breadcrumb, sizeof(*breadcrumb)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t breadcrumb) { - return emberAfWriteServerAttribute(endpoint, GeneralCommissioning::Id, Breadcrumb::Id, (uint8_t *) &breadcrumb, + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralCommissioning::Id, Id, (uint8_t *) &breadcrumb, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2494,12 +2471,12 @@ namespace RebootCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rebootCount) { - return emberAfReadServerAttribute(endpoint, GeneralDiagnostics::Id, RebootCount::Id, (uint8_t *) rebootCount, + return emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) rebootCount, sizeof(*rebootCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rebootCount) { - return emberAfWriteServerAttribute(endpoint, GeneralDiagnostics::Id, RebootCount::Id, (uint8_t *) &rebootCount, + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) &rebootCount, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2509,11 +2486,11 @@ namespace UpTime { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * upTime) { - return emberAfReadServerAttribute(endpoint, GeneralDiagnostics::Id, UpTime::Id, (uint8_t *) upTime, sizeof(*upTime)); + return emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) upTime, sizeof(*upTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t upTime) { - return emberAfWriteServerAttribute(endpoint, GeneralDiagnostics::Id, UpTime::Id, (uint8_t *) &upTime, + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) &upTime, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2523,13 +2500,13 @@ namespace TotalOperationalHours { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * totalOperationalHours) { - return emberAfReadServerAttribute(endpoint, GeneralDiagnostics::Id, TotalOperationalHours::Id, - (uint8_t *) totalOperationalHours, sizeof(*totalOperationalHours)); + return emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) totalOperationalHours, + sizeof(*totalOperationalHours)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t totalOperationalHours) { - return emberAfWriteServerAttribute(endpoint, GeneralDiagnostics::Id, TotalOperationalHours::Id, - (uint8_t *) &totalOperationalHours, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) &totalOperationalHours, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace TotalOperationalHours @@ -2538,12 +2515,12 @@ namespace BootReasons { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * bootReasons) { - return emberAfReadServerAttribute(endpoint, GeneralDiagnostics::Id, BootReasons::Id, (uint8_t *) bootReasons, + return emberAfReadServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) bootReasons, sizeof(*bootReasons)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t bootReasons) { - return emberAfWriteServerAttribute(endpoint, GeneralDiagnostics::Id, BootReasons::Id, (uint8_t *) &bootReasons, + return emberAfWriteServerAttribute(endpoint, Clusters::GeneralDiagnostics::Id, Id, (uint8_t *) &bootReasons, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2559,12 +2536,12 @@ namespace CurrentHeapFree { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * currentHeapFree) { - return emberAfReadServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapFree::Id, (uint8_t *) currentHeapFree, + return emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) currentHeapFree, sizeof(*currentHeapFree)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t currentHeapFree) { - return emberAfWriteServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapFree::Id, (uint8_t *) ¤tHeapFree, + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) ¤tHeapFree, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2574,12 +2551,12 @@ namespace CurrentHeapUsed { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * currentHeapUsed) { - return emberAfReadServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapUsed::Id, (uint8_t *) currentHeapUsed, + return emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) currentHeapUsed, sizeof(*currentHeapUsed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t currentHeapUsed) { - return emberAfWriteServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapUsed::Id, (uint8_t *) ¤tHeapUsed, + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) ¤tHeapUsed, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2589,13 +2566,13 @@ namespace CurrentHeapHighWatermark { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * currentHeapHighWatermark) { - return emberAfReadServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapHighWatermark::Id, - (uint8_t *) currentHeapHighWatermark, sizeof(*currentHeapHighWatermark)); + return emberAfReadServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) currentHeapHighWatermark, + sizeof(*currentHeapHighWatermark)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t currentHeapHighWatermark) { - return emberAfWriteServerAttribute(endpoint, SoftwareDiagnostics::Id, CurrentHeapHighWatermark::Id, - (uint8_t *) ¤tHeapHighWatermark, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SoftwareDiagnostics::Id, Id, (uint8_t *) ¤tHeapHighWatermark, + ZCL_INT64U_ATTRIBUTE_TYPE); } } // namespace CurrentHeapHighWatermark @@ -2610,11 +2587,11 @@ namespace Channel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * channel) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Channel::Id, (uint8_t *) channel, sizeof(*channel)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) channel, sizeof(*channel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t channel) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Channel::Id, (uint8_t *) &channel, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &channel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2624,12 +2601,12 @@ namespace RoutingRole { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * routingRole) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RoutingRole::Id, (uint8_t *) routingRole, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) routingRole, sizeof(*routingRole)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t routingRole) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RoutingRole::Id, (uint8_t *) &routingRole, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &routingRole, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -2639,11 +2616,11 @@ namespace PanId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * panId) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PanId::Id, (uint8_t *) panId, sizeof(*panId)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) panId, sizeof(*panId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t panId) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PanId::Id, (uint8_t *) &panId, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &panId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2653,12 +2630,12 @@ namespace ExtendedPanId { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * extendedPanId) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ExtendedPanId::Id, (uint8_t *) extendedPanId, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) extendedPanId, sizeof(*extendedPanId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t extendedPanId) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ExtendedPanId::Id, (uint8_t *) &extendedPanId, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &extendedPanId, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2668,12 +2645,12 @@ namespace OverrunCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * overrunCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) overrunCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) overrunCount, sizeof(*overrunCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t overrunCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) &overrunCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &overrunCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -2683,12 +2660,12 @@ namespace PartitionId { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * partitionId) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PartitionId::Id, (uint8_t *) partitionId, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) partitionId, sizeof(*partitionId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t partitionId) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PartitionId::Id, (uint8_t *) &partitionId, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &partitionId, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2698,12 +2675,12 @@ namespace Weighting { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * weighting) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Weighting::Id, (uint8_t *) weighting, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) weighting, sizeof(*weighting)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t weighting) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Weighting::Id, (uint8_t *) &weighting, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &weighting, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2713,12 +2690,12 @@ namespace DataVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * dataVersion) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, DataVersion::Id, (uint8_t *) dataVersion, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) dataVersion, sizeof(*dataVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t dataVersion) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, DataVersion::Id, (uint8_t *) &dataVersion, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &dataVersion, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2728,13 +2705,13 @@ namespace StableDataVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * stableDataVersion) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, StableDataVersion::Id, (uint8_t *) stableDataVersion, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) stableDataVersion, sizeof(*stableDataVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t stableDataVersion) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, StableDataVersion::Id, - (uint8_t *) &stableDataVersion, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &stableDataVersion, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace StableDataVersion @@ -2743,12 +2720,12 @@ namespace LeaderRouterId { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * leaderRouterId) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, LeaderRouterId::Id, (uint8_t *) leaderRouterId, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) leaderRouterId, sizeof(*leaderRouterId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t leaderRouterId) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, LeaderRouterId::Id, (uint8_t *) &leaderRouterId, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &leaderRouterId, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -2758,13 +2735,13 @@ namespace DetachedRoleCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * detachedRoleCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, DetachedRoleCount::Id, (uint8_t *) detachedRoleCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) detachedRoleCount, sizeof(*detachedRoleCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t detachedRoleCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, DetachedRoleCount::Id, - (uint8_t *) &detachedRoleCount, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &detachedRoleCount, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace DetachedRoleCount @@ -2773,12 +2750,12 @@ namespace ChildRoleCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * childRoleCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ChildRoleCount::Id, (uint8_t *) childRoleCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) childRoleCount, sizeof(*childRoleCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t childRoleCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ChildRoleCount::Id, (uint8_t *) &childRoleCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &childRoleCount, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2788,12 +2765,12 @@ namespace RouterRoleCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * routerRoleCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RouterRoleCount::Id, (uint8_t *) routerRoleCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) routerRoleCount, sizeof(*routerRoleCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t routerRoleCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RouterRoleCount::Id, (uint8_t *) &routerRoleCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &routerRoleCount, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2803,12 +2780,12 @@ namespace LeaderRoleCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * leaderRoleCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, LeaderRoleCount::Id, (uint8_t *) leaderRoleCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) leaderRoleCount, sizeof(*leaderRoleCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t leaderRoleCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, LeaderRoleCount::Id, (uint8_t *) &leaderRoleCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &leaderRoleCount, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2818,13 +2795,13 @@ namespace AttachAttemptCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * attachAttemptCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, AttachAttemptCount::Id, - (uint8_t *) attachAttemptCount, sizeof(*attachAttemptCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) attachAttemptCount, + sizeof(*attachAttemptCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t attachAttemptCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, AttachAttemptCount::Id, - (uint8_t *) &attachAttemptCount, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &attachAttemptCount, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AttachAttemptCount @@ -2833,13 +2810,13 @@ namespace PartitionIdChangeCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * partitionIdChangeCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PartitionIdChangeCount::Id, - (uint8_t *) partitionIdChangeCount, sizeof(*partitionIdChangeCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) partitionIdChangeCount, + sizeof(*partitionIdChangeCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t partitionIdChangeCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PartitionIdChangeCount::Id, - (uint8_t *) &partitionIdChangeCount, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &partitionIdChangeCount, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace PartitionIdChangeCount @@ -2848,12 +2825,12 @@ namespace BetterPartitionAttachAttemptCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * betterPartitionAttachAttemptCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, BetterPartitionAttachAttemptCount::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) betterPartitionAttachAttemptCount, sizeof(*betterPartitionAttachAttemptCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t betterPartitionAttachAttemptCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, BetterPartitionAttachAttemptCount::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &betterPartitionAttachAttemptCount, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -2863,13 +2840,13 @@ namespace ParentChangeCount { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * parentChangeCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ParentChangeCount::Id, (uint8_t *) parentChangeCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) parentChangeCount, sizeof(*parentChangeCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t parentChangeCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ParentChangeCount::Id, - (uint8_t *) &parentChangeCount, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &parentChangeCount, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ParentChangeCount @@ -2878,12 +2855,12 @@ namespace TxTotalCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txTotalCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxTotalCount::Id, (uint8_t *) txTotalCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txTotalCount, sizeof(*txTotalCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txTotalCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxTotalCount::Id, (uint8_t *) &txTotalCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txTotalCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2893,12 +2870,12 @@ namespace TxUnicastCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txUnicastCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxUnicastCount::Id, (uint8_t *) txUnicastCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txUnicastCount, sizeof(*txUnicastCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txUnicastCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxUnicastCount::Id, (uint8_t *) &txUnicastCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txUnicastCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2908,12 +2885,12 @@ namespace TxBroadcastCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txBroadcastCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBroadcastCount::Id, (uint8_t *) txBroadcastCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txBroadcastCount, sizeof(*txBroadcastCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txBroadcastCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBroadcastCount::Id, (uint8_t *) &txBroadcastCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txBroadcastCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2923,13 +2900,13 @@ namespace TxAckRequestedCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txAckRequestedCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxAckRequestedCount::Id, - (uint8_t *) txAckRequestedCount, sizeof(*txAckRequestedCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txAckRequestedCount, + sizeof(*txAckRequestedCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txAckRequestedCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxAckRequestedCount::Id, - (uint8_t *) &txAckRequestedCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txAckRequestedCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace TxAckRequestedCount @@ -2938,12 +2915,12 @@ namespace TxAckedCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txAckedCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxAckedCount::Id, (uint8_t *) txAckedCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txAckedCount, sizeof(*txAckedCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txAckedCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxAckedCount::Id, (uint8_t *) &txAckedCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txAckedCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2953,13 +2930,13 @@ namespace TxNoAckRequestedCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txNoAckRequestedCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxNoAckRequestedCount::Id, - (uint8_t *) txNoAckRequestedCount, sizeof(*txNoAckRequestedCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txNoAckRequestedCount, + sizeof(*txNoAckRequestedCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txNoAckRequestedCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxNoAckRequestedCount::Id, - (uint8_t *) &txNoAckRequestedCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txNoAckRequestedCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace TxNoAckRequestedCount @@ -2968,12 +2945,12 @@ namespace TxDataCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txDataCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDataCount::Id, (uint8_t *) txDataCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txDataCount, sizeof(*txDataCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txDataCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDataCount::Id, (uint8_t *) &txDataCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txDataCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2983,12 +2960,12 @@ namespace TxDataPollCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txDataPollCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDataPollCount::Id, (uint8_t *) txDataPollCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txDataPollCount, sizeof(*txDataPollCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txDataPollCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDataPollCount::Id, (uint8_t *) &txDataPollCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txDataPollCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -2998,12 +2975,12 @@ namespace TxBeaconCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txBeaconCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBeaconCount::Id, (uint8_t *) txBeaconCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txBeaconCount, sizeof(*txBeaconCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txBeaconCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBeaconCount::Id, (uint8_t *) &txBeaconCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txBeaconCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3013,13 +2990,13 @@ namespace TxBeaconRequestCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txBeaconRequestCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBeaconRequestCount::Id, - (uint8_t *) txBeaconRequestCount, sizeof(*txBeaconRequestCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txBeaconRequestCount, + sizeof(*txBeaconRequestCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txBeaconRequestCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxBeaconRequestCount::Id, - (uint8_t *) &txBeaconRequestCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txBeaconRequestCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace TxBeaconRequestCount @@ -3028,12 +3005,12 @@ namespace TxOtherCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txOtherCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxOtherCount::Id, (uint8_t *) txOtherCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txOtherCount, sizeof(*txOtherCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txOtherCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxOtherCount::Id, (uint8_t *) &txOtherCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txOtherCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3043,12 +3020,12 @@ namespace TxRetryCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txRetryCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxRetryCount::Id, (uint8_t *) txRetryCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txRetryCount, sizeof(*txRetryCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txRetryCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxRetryCount::Id, (uint8_t *) &txRetryCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txRetryCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3058,12 +3035,12 @@ namespace TxDirectMaxRetryExpiryCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txDirectMaxRetryExpiryCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDirectMaxRetryExpiryCount::Id, - (uint8_t *) txDirectMaxRetryExpiryCount, sizeof(*txDirectMaxRetryExpiryCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txDirectMaxRetryExpiryCount, + sizeof(*txDirectMaxRetryExpiryCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txDirectMaxRetryExpiryCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxDirectMaxRetryExpiryCount::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txDirectMaxRetryExpiryCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3073,12 +3050,12 @@ namespace TxIndirectMaxRetryExpiryCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txIndirectMaxRetryExpiryCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxIndirectMaxRetryExpiryCount::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txIndirectMaxRetryExpiryCount, sizeof(*txIndirectMaxRetryExpiryCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txIndirectMaxRetryExpiryCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxIndirectMaxRetryExpiryCount::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txIndirectMaxRetryExpiryCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3088,12 +3065,12 @@ namespace TxErrCcaCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txErrCcaCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrCcaCount::Id, (uint8_t *) txErrCcaCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txErrCcaCount, sizeof(*txErrCcaCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txErrCcaCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrCcaCount::Id, (uint8_t *) &txErrCcaCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txErrCcaCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3103,12 +3080,12 @@ namespace TxErrAbortCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txErrAbortCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrAbortCount::Id, (uint8_t *) txErrAbortCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txErrAbortCount, sizeof(*txErrAbortCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txErrAbortCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrAbortCount::Id, (uint8_t *) &txErrAbortCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txErrAbortCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3118,13 +3095,13 @@ namespace TxErrBusyChannelCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * txErrBusyChannelCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrBusyChannelCount::Id, - (uint8_t *) txErrBusyChannelCount, sizeof(*txErrBusyChannelCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) txErrBusyChannelCount, + sizeof(*txErrBusyChannelCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t txErrBusyChannelCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, TxErrBusyChannelCount::Id, - (uint8_t *) &txErrBusyChannelCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &txErrBusyChannelCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace TxErrBusyChannelCount @@ -3133,12 +3110,12 @@ namespace RxTotalCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxTotalCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxTotalCount::Id, (uint8_t *) rxTotalCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxTotalCount, sizeof(*rxTotalCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxTotalCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxTotalCount::Id, (uint8_t *) &rxTotalCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxTotalCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3148,12 +3125,12 @@ namespace RxUnicastCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxUnicastCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxUnicastCount::Id, (uint8_t *) rxUnicastCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxUnicastCount, sizeof(*rxUnicastCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxUnicastCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxUnicastCount::Id, (uint8_t *) &rxUnicastCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxUnicastCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3163,12 +3140,12 @@ namespace RxBroadcastCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxBroadcastCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBroadcastCount::Id, (uint8_t *) rxBroadcastCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxBroadcastCount, sizeof(*rxBroadcastCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxBroadcastCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBroadcastCount::Id, (uint8_t *) &rxBroadcastCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxBroadcastCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3178,12 +3155,12 @@ namespace RxDataCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxDataCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDataCount::Id, (uint8_t *) rxDataCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxDataCount, sizeof(*rxDataCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxDataCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDataCount::Id, (uint8_t *) &rxDataCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxDataCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3193,12 +3170,12 @@ namespace RxDataPollCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxDataPollCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDataPollCount::Id, (uint8_t *) rxDataPollCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxDataPollCount, sizeof(*rxDataPollCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxDataPollCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDataPollCount::Id, (uint8_t *) &rxDataPollCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxDataPollCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3208,12 +3185,12 @@ namespace RxBeaconCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxBeaconCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBeaconCount::Id, (uint8_t *) rxBeaconCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxBeaconCount, sizeof(*rxBeaconCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxBeaconCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBeaconCount::Id, (uint8_t *) &rxBeaconCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxBeaconCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3223,13 +3200,13 @@ namespace RxBeaconRequestCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxBeaconRequestCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBeaconRequestCount::Id, - (uint8_t *) rxBeaconRequestCount, sizeof(*rxBeaconRequestCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxBeaconRequestCount, + sizeof(*rxBeaconRequestCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxBeaconRequestCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxBeaconRequestCount::Id, - (uint8_t *) &rxBeaconRequestCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxBeaconRequestCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxBeaconRequestCount @@ -3238,12 +3215,12 @@ namespace RxOtherCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxOtherCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxOtherCount::Id, (uint8_t *) rxOtherCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxOtherCount, sizeof(*rxOtherCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxOtherCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxOtherCount::Id, (uint8_t *) &rxOtherCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxOtherCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3253,13 +3230,13 @@ namespace RxAddressFilteredCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxAddressFilteredCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxAddressFilteredCount::Id, - (uint8_t *) rxAddressFilteredCount, sizeof(*rxAddressFilteredCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxAddressFilteredCount, + sizeof(*rxAddressFilteredCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxAddressFilteredCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxAddressFilteredCount::Id, - (uint8_t *) &rxAddressFilteredCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxAddressFilteredCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxAddressFilteredCount @@ -3268,13 +3245,13 @@ namespace RxDestAddrFilteredCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxDestAddrFilteredCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDestAddrFilteredCount::Id, - (uint8_t *) rxDestAddrFilteredCount, sizeof(*rxDestAddrFilteredCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxDestAddrFilteredCount, + sizeof(*rxDestAddrFilteredCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxDestAddrFilteredCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDestAddrFilteredCount::Id, - (uint8_t *) &rxDestAddrFilteredCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxDestAddrFilteredCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxDestAddrFilteredCount @@ -3283,13 +3260,13 @@ namespace RxDuplicatedCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxDuplicatedCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDuplicatedCount::Id, (uint8_t *) rxDuplicatedCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxDuplicatedCount, sizeof(*rxDuplicatedCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxDuplicatedCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxDuplicatedCount::Id, - (uint8_t *) &rxDuplicatedCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxDuplicatedCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxDuplicatedCount @@ -3298,13 +3275,13 @@ namespace RxErrNoFrameCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrNoFrameCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrNoFrameCount::Id, (uint8_t *) rxErrNoFrameCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrNoFrameCount, sizeof(*rxErrNoFrameCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrNoFrameCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrNoFrameCount::Id, - (uint8_t *) &rxErrNoFrameCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrNoFrameCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxErrNoFrameCount @@ -3313,13 +3290,13 @@ namespace RxErrUnknownNeighborCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrUnknownNeighborCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrUnknownNeighborCount::Id, - (uint8_t *) rxErrUnknownNeighborCount, sizeof(*rxErrUnknownNeighborCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrUnknownNeighborCount, + sizeof(*rxErrUnknownNeighborCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrUnknownNeighborCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrUnknownNeighborCount::Id, - (uint8_t *) &rxErrUnknownNeighborCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrUnknownNeighborCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxErrUnknownNeighborCount @@ -3328,13 +3305,13 @@ namespace RxErrInvalidSrcAddrCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrInvalidSrcAddrCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrInvalidSrcAddrCount::Id, - (uint8_t *) rxErrInvalidSrcAddrCount, sizeof(*rxErrInvalidSrcAddrCount)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrInvalidSrcAddrCount, + sizeof(*rxErrInvalidSrcAddrCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrInvalidSrcAddrCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrInvalidSrcAddrCount::Id, - (uint8_t *) &rxErrInvalidSrcAddrCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrInvalidSrcAddrCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace RxErrInvalidSrcAddrCount @@ -3343,12 +3320,12 @@ namespace RxErrSecCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrSecCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrSecCount::Id, (uint8_t *) rxErrSecCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrSecCount, sizeof(*rxErrSecCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrSecCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrSecCount::Id, (uint8_t *) &rxErrSecCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrSecCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3358,12 +3335,12 @@ namespace RxErrFcsCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrFcsCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrFcsCount::Id, (uint8_t *) rxErrFcsCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrFcsCount, sizeof(*rxErrFcsCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrFcsCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrFcsCount::Id, (uint8_t *) &rxErrFcsCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrFcsCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3373,12 +3350,12 @@ namespace RxErrOtherCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * rxErrOtherCount) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrOtherCount::Id, (uint8_t *) rxErrOtherCount, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) rxErrOtherCount, sizeof(*rxErrOtherCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t rxErrOtherCount) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, RxErrOtherCount::Id, (uint8_t *) &rxErrOtherCount, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &rxErrOtherCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3388,12 +3365,12 @@ namespace ActiveTimestamp { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * activeTimestamp) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ActiveTimestamp::Id, (uint8_t *) activeTimestamp, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) activeTimestamp, sizeof(*activeTimestamp)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t activeTimestamp) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, ActiveTimestamp::Id, (uint8_t *) &activeTimestamp, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &activeTimestamp, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3403,12 +3380,12 @@ namespace PendingTimestamp { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * pendingTimestamp) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PendingTimestamp::Id, (uint8_t *) pendingTimestamp, + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) pendingTimestamp, sizeof(*pendingTimestamp)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t pendingTimestamp) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, PendingTimestamp::Id, (uint8_t *) &pendingTimestamp, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &pendingTimestamp, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3418,11 +3395,11 @@ namespace Delay { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * delay) { - return emberAfReadServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Delay::Id, (uint8_t *) delay, sizeof(*delay)); + return emberAfReadServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) delay, sizeof(*delay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t delay) { - return emberAfWriteServerAttribute(endpoint, ThreadNetworkDiagnostics::Id, Delay::Id, (uint8_t *) &delay, + return emberAfWriteServerAttribute(endpoint, Clusters::ThreadNetworkDiagnostics::Id, Id, (uint8_t *) &delay, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3438,12 +3415,12 @@ namespace SecurityType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * securityType) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, SecurityType::Id, (uint8_t *) securityType, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) securityType, sizeof(*securityType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t securityType) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, SecurityType::Id, (uint8_t *) &securityType, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &securityType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -3453,12 +3430,12 @@ namespace WiFiVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * wiFiVersion) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, WiFiVersion::Id, (uint8_t *) wiFiVersion, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) wiFiVersion, sizeof(*wiFiVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t wiFiVersion) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, WiFiVersion::Id, (uint8_t *) &wiFiVersion, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &wiFiVersion, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -3468,12 +3445,12 @@ namespace ChannelNumber { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * channelNumber) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, ChannelNumber::Id, (uint8_t *) channelNumber, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) channelNumber, sizeof(*channelNumber)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t channelNumber) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, ChannelNumber::Id, (uint8_t *) &channelNumber, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &channelNumber, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -3483,11 +3460,12 @@ namespace Rssi { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * rssi) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, Rssi::Id, (uint8_t *) rssi, sizeof(*rssi)); + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) rssi, sizeof(*rssi)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t rssi) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, Rssi::Id, (uint8_t *) &rssi, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &rssi, + ZCL_INT8S_ATTRIBUTE_TYPE); } } // namespace Rssi @@ -3496,12 +3474,12 @@ namespace BeaconLostCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * beaconLostCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, BeaconLostCount::Id, (uint8_t *) beaconLostCount, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) beaconLostCount, sizeof(*beaconLostCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t beaconLostCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, BeaconLostCount::Id, (uint8_t *) &beaconLostCount, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &beaconLostCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3511,12 +3489,12 @@ namespace BeaconRxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * beaconRxCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, BeaconRxCount::Id, (uint8_t *) beaconRxCount, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) beaconRxCount, sizeof(*beaconRxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t beaconRxCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, BeaconRxCount::Id, (uint8_t *) &beaconRxCount, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &beaconRxCount, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3526,13 +3504,13 @@ namespace PacketMulticastRxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * packetMulticastRxCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketMulticastRxCount::Id, - (uint8_t *) packetMulticastRxCount, sizeof(*packetMulticastRxCount)); + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) packetMulticastRxCount, + sizeof(*packetMulticastRxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t packetMulticastRxCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketMulticastRxCount::Id, - (uint8_t *) &packetMulticastRxCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &packetMulticastRxCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace PacketMulticastRxCount @@ -3541,13 +3519,13 @@ namespace PacketMulticastTxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * packetMulticastTxCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketMulticastTxCount::Id, - (uint8_t *) packetMulticastTxCount, sizeof(*packetMulticastTxCount)); + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) packetMulticastTxCount, + sizeof(*packetMulticastTxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t packetMulticastTxCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketMulticastTxCount::Id, - (uint8_t *) &packetMulticastTxCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &packetMulticastTxCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace PacketMulticastTxCount @@ -3556,13 +3534,13 @@ namespace PacketUnicastRxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * packetUnicastRxCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketUnicastRxCount::Id, - (uint8_t *) packetUnicastRxCount, sizeof(*packetUnicastRxCount)); + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) packetUnicastRxCount, + sizeof(*packetUnicastRxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t packetUnicastRxCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketUnicastRxCount::Id, - (uint8_t *) &packetUnicastRxCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &packetUnicastRxCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace PacketUnicastRxCount @@ -3571,13 +3549,13 @@ namespace PacketUnicastTxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * packetUnicastTxCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketUnicastTxCount::Id, - (uint8_t *) packetUnicastTxCount, sizeof(*packetUnicastTxCount)); + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) packetUnicastTxCount, + sizeof(*packetUnicastTxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t packetUnicastTxCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, PacketUnicastTxCount::Id, - (uint8_t *) &packetUnicastTxCount, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &packetUnicastTxCount, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace PacketUnicastTxCount @@ -3586,12 +3564,12 @@ namespace CurrentMaxRate { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * currentMaxRate) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, CurrentMaxRate::Id, (uint8_t *) currentMaxRate, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) currentMaxRate, sizeof(*currentMaxRate)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t currentMaxRate) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, CurrentMaxRate::Id, (uint8_t *) ¤tMaxRate, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) ¤tMaxRate, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3601,12 +3579,12 @@ namespace OverrunCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * overrunCount) { - return emberAfReadServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) overrunCount, + return emberAfReadServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) overrunCount, sizeof(*overrunCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t overrunCount) { - return emberAfWriteServerAttribute(endpoint, WiFiNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) &overrunCount, + return emberAfWriteServerAttribute(endpoint, Clusters::WiFiNetworkDiagnostics::Id, Id, (uint8_t *) &overrunCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3622,11 +3600,12 @@ namespace PHYRate { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * PHYRate) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PHYRate::Id, (uint8_t *) PHYRate, sizeof(*PHYRate)); + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) PHYRate, + sizeof(*PHYRate)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t PHYRate) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PHYRate::Id, (uint8_t *) &PHYRate, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &PHYRate, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -3636,12 +3615,12 @@ namespace FullDuplex { EmberAfStatus Get(chip::EndpointId endpoint, bool * fullDuplex) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, FullDuplex::Id, (uint8_t *) fullDuplex, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) fullDuplex, sizeof(*fullDuplex)); } EmberAfStatus Set(chip::EndpointId endpoint, bool fullDuplex) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, FullDuplex::Id, (uint8_t *) &fullDuplex, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &fullDuplex, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -3651,12 +3630,12 @@ namespace PacketRxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * packetRxCount) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PacketRxCount::Id, (uint8_t *) packetRxCount, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) packetRxCount, sizeof(*packetRxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t packetRxCount) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PacketRxCount::Id, (uint8_t *) &packetRxCount, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &packetRxCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3666,12 +3645,12 @@ namespace PacketTxCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * packetTxCount) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PacketTxCount::Id, (uint8_t *) packetTxCount, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) packetTxCount, sizeof(*packetTxCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t packetTxCount) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, PacketTxCount::Id, (uint8_t *) &packetTxCount, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &packetTxCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3681,12 +3660,12 @@ namespace TxErrCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * txErrCount) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, TxErrCount::Id, (uint8_t *) txErrCount, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) txErrCount, sizeof(*txErrCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t txErrCount) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, TxErrCount::Id, (uint8_t *) &txErrCount, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &txErrCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3696,12 +3675,12 @@ namespace CollisionCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * collisionCount) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, CollisionCount::Id, (uint8_t *) collisionCount, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) collisionCount, sizeof(*collisionCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t collisionCount) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, CollisionCount::Id, (uint8_t *) &collisionCount, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &collisionCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3711,12 +3690,12 @@ namespace OverrunCount { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * overrunCount) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) overrunCount, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) overrunCount, sizeof(*overrunCount)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t overrunCount) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, OverrunCount::Id, (uint8_t *) &overrunCount, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &overrunCount, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3726,12 +3705,12 @@ namespace CarrierDetect { EmberAfStatus Get(chip::EndpointId endpoint, bool * carrierDetect) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, CarrierDetect::Id, (uint8_t *) carrierDetect, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) carrierDetect, sizeof(*carrierDetect)); } EmberAfStatus Set(chip::EndpointId endpoint, bool carrierDetect) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, CarrierDetect::Id, (uint8_t *) &carrierDetect, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &carrierDetect, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -3741,12 +3720,12 @@ namespace TimeSinceReset { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * timeSinceReset) { - return emberAfReadServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, TimeSinceReset::Id, (uint8_t *) timeSinceReset, + return emberAfReadServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) timeSinceReset, sizeof(*timeSinceReset)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t timeSinceReset) { - return emberAfWriteServerAttribute(endpoint, EthernetNetworkDiagnostics::Id, TimeSinceReset::Id, (uint8_t *) &timeSinceReset, + return emberAfWriteServerAttribute(endpoint, Clusters::EthernetNetworkDiagnostics::Id, Id, (uint8_t *) &timeSinceReset, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -3762,11 +3741,11 @@ namespace VendorID { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * vendorID) { - return emberAfReadServerAttribute(endpoint, BridgedDeviceBasic::Id, VendorID::Id, (uint8_t *) vendorID, sizeof(*vendorID)); + return emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) vendorID, sizeof(*vendorID)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t vendorID) { - return emberAfWriteServerAttribute(endpoint, BridgedDeviceBasic::Id, VendorID::Id, (uint8_t *) &vendorID, + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) &vendorID, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -3776,12 +3755,12 @@ namespace HardwareVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * hardwareVersion) { - return emberAfReadServerAttribute(endpoint, BridgedDeviceBasic::Id, HardwareVersion::Id, (uint8_t *) hardwareVersion, + return emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) hardwareVersion, sizeof(*hardwareVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t hardwareVersion) { - return emberAfWriteServerAttribute(endpoint, BridgedDeviceBasic::Id, HardwareVersion::Id, (uint8_t *) &hardwareVersion, + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) &hardwareVersion, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -3791,12 +3770,12 @@ namespace SoftwareVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * softwareVersion) { - return emberAfReadServerAttribute(endpoint, BridgedDeviceBasic::Id, SoftwareVersion::Id, (uint8_t *) softwareVersion, + return emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) softwareVersion, sizeof(*softwareVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t softwareVersion) { - return emberAfWriteServerAttribute(endpoint, BridgedDeviceBasic::Id, SoftwareVersion::Id, (uint8_t *) &softwareVersion, + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) &softwareVersion, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -3806,11 +3785,11 @@ namespace Reachable { EmberAfStatus Get(chip::EndpointId endpoint, bool * reachable) { - return emberAfReadServerAttribute(endpoint, BridgedDeviceBasic::Id, Reachable::Id, (uint8_t *) reachable, sizeof(*reachable)); + return emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) reachable, sizeof(*reachable)); } EmberAfStatus Set(chip::EndpointId endpoint, bool reachable) { - return emberAfWriteServerAttribute(endpoint, BridgedDeviceBasic::Id, Reachable::Id, (uint8_t *) &reachable, + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, (uint8_t *) &reachable, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -3826,12 +3805,12 @@ namespace NumberOfPositions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numberOfPositions) { - return emberAfReadServerAttribute(endpoint, Switch::Id, NumberOfPositions::Id, (uint8_t *) numberOfPositions, + return emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) numberOfPositions, sizeof(*numberOfPositions)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numberOfPositions) { - return emberAfWriteServerAttribute(endpoint, Switch::Id, NumberOfPositions::Id, (uint8_t *) &numberOfPositions, + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) &numberOfPositions, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -3841,13 +3820,11 @@ namespace CurrentPosition { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentPosition) { - return emberAfReadServerAttribute(endpoint, Switch::Id, CurrentPosition::Id, (uint8_t *) currentPosition, - sizeof(*currentPosition)); + return emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) currentPosition, sizeof(*currentPosition)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentPosition) { - return emberAfWriteServerAttribute(endpoint, Switch::Id, CurrentPosition::Id, (uint8_t *) ¤tPosition, - ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) ¤tPosition, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentPosition @@ -3856,12 +3833,11 @@ namespace MultiPressMax { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * multiPressMax) { - return emberAfReadServerAttribute(endpoint, Switch::Id, MultiPressMax::Id, (uint8_t *) multiPressMax, sizeof(*multiPressMax)); + return emberAfReadServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) multiPressMax, sizeof(*multiPressMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t multiPressMax) { - return emberAfWriteServerAttribute(endpoint, Switch::Id, MultiPressMax::Id, (uint8_t *) &multiPressMax, - ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Switch::Id, Id, (uint8_t *) &multiPressMax, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace MultiPressMax @@ -3876,12 +3852,12 @@ namespace SupportedFabrics { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * supportedFabrics) { - return emberAfReadServerAttribute(endpoint, OperationalCredentials::Id, SupportedFabrics::Id, (uint8_t *) supportedFabrics, + return emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, (uint8_t *) supportedFabrics, sizeof(*supportedFabrics)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t supportedFabrics) { - return emberAfWriteServerAttribute(endpoint, OperationalCredentials::Id, SupportedFabrics::Id, (uint8_t *) &supportedFabrics, + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, (uint8_t *) &supportedFabrics, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -3891,13 +3867,13 @@ namespace CommissionedFabrics { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * commissionedFabrics) { - return emberAfReadServerAttribute(endpoint, OperationalCredentials::Id, CommissionedFabrics::Id, - (uint8_t *) commissionedFabrics, sizeof(*commissionedFabrics)); + return emberAfReadServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, (uint8_t *) commissionedFabrics, + sizeof(*commissionedFabrics)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t commissionedFabrics) { - return emberAfWriteServerAttribute(endpoint, OperationalCredentials::Id, CommissionedFabrics::Id, - (uint8_t *) &commissionedFabrics, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OperationalCredentials::Id, Id, (uint8_t *) &commissionedFabrics, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CommissionedFabrics @@ -3911,6 +3887,26 @@ namespace Attributes { } // namespace Attributes } // namespace FixedLabel +namespace BooleanState { +namespace Attributes { + +namespace StateValue { + +EmberAfStatus Get(chip::EndpointId endpoint, bool * stateValue) +{ + return emberAfReadServerAttribute(endpoint, Clusters::BooleanState::Id, Id, (uint8_t *) stateValue, sizeof(*stateValue)); +} +EmberAfStatus Set(chip::EndpointId endpoint, bool stateValue) +{ + return emberAfWriteServerAttribute(endpoint, Clusters::BooleanState::Id, Id, (uint8_t *) &stateValue, + ZCL_BOOLEAN_ATTRIBUTE_TYPE); +} + +} // namespace StateValue + +} // namespace Attributes +} // namespace BooleanState + namespace ShadeConfiguration { namespace Attributes { @@ -3918,12 +3914,12 @@ namespace PhysicalClosedLimit { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * physicalClosedLimit) { - return emberAfReadServerAttribute(endpoint, ShadeConfiguration::Id, PhysicalClosedLimit::Id, (uint8_t *) physicalClosedLimit, + return emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) physicalClosedLimit, sizeof(*physicalClosedLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t physicalClosedLimit) { - return emberAfWriteServerAttribute(endpoint, ShadeConfiguration::Id, PhysicalClosedLimit::Id, (uint8_t *) &physicalClosedLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) &physicalClosedLimit, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -3933,12 +3929,12 @@ namespace MotorStepSize { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * motorStepSize) { - return emberAfReadServerAttribute(endpoint, ShadeConfiguration::Id, MotorStepSize::Id, (uint8_t *) motorStepSize, + return emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) motorStepSize, sizeof(*motorStepSize)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t motorStepSize) { - return emberAfWriteServerAttribute(endpoint, ShadeConfiguration::Id, MotorStepSize::Id, (uint8_t *) &motorStepSize, + return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) &motorStepSize, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -3948,11 +3944,11 @@ namespace Status { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * status) { - return emberAfReadServerAttribute(endpoint, ShadeConfiguration::Id, Status::Id, (uint8_t *) status, sizeof(*status)); + return emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) status, sizeof(*status)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t status) { - return emberAfWriteServerAttribute(endpoint, ShadeConfiguration::Id, Status::Id, (uint8_t *) &status, + return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) &status, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -3962,12 +3958,12 @@ namespace ClosedLimit { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * closedLimit) { - return emberAfReadServerAttribute(endpoint, ShadeConfiguration::Id, ClosedLimit::Id, (uint8_t *) closedLimit, + return emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) closedLimit, sizeof(*closedLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t closedLimit) { - return emberAfWriteServerAttribute(endpoint, ShadeConfiguration::Id, ClosedLimit::Id, (uint8_t *) &closedLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) &closedLimit, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -3977,11 +3973,11 @@ namespace Mode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * mode) { - return emberAfReadServerAttribute(endpoint, ShadeConfiguration::Id, Mode::Id, (uint8_t *) mode, sizeof(*mode)); + return emberAfReadServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) mode, sizeof(*mode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t mode) { - return emberAfWriteServerAttribute(endpoint, ShadeConfiguration::Id, Mode::Id, (uint8_t *) &mode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ShadeConfiguration::Id, Id, (uint8_t *) &mode, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace Mode @@ -3996,11 +3992,11 @@ namespace LockState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lockState) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, LockState::Id, (uint8_t *) lockState, sizeof(*lockState)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) lockState, sizeof(*lockState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lockState) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, LockState::Id, (uint8_t *) &lockState, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &lockState, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace LockState @@ -4009,11 +4005,11 @@ namespace LockType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lockType) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, LockType::Id, (uint8_t *) lockType, sizeof(*lockType)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) lockType, sizeof(*lockType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lockType) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, LockType::Id, (uint8_t *) &lockType, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &lockType, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace LockType @@ -4022,12 +4018,11 @@ namespace ActuatorEnabled { EmberAfStatus Get(chip::EndpointId endpoint, bool * actuatorEnabled) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, ActuatorEnabled::Id, (uint8_t *) actuatorEnabled, - sizeof(*actuatorEnabled)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) actuatorEnabled, sizeof(*actuatorEnabled)); } EmberAfStatus Set(chip::EndpointId endpoint, bool actuatorEnabled) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, ActuatorEnabled::Id, (uint8_t *) &actuatorEnabled, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &actuatorEnabled, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4037,11 +4032,11 @@ namespace DoorState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * doorState) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, DoorState::Id, (uint8_t *) doorState, sizeof(*doorState)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) doorState, sizeof(*doorState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t doorState) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, DoorState::Id, (uint8_t *) &doorState, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &doorState, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace DoorState @@ -4050,12 +4045,11 @@ namespace DoorOpenEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * doorOpenEvents) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, DoorOpenEvents::Id, (uint8_t *) doorOpenEvents, - sizeof(*doorOpenEvents)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) doorOpenEvents, sizeof(*doorOpenEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t doorOpenEvents) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, DoorOpenEvents::Id, (uint8_t *) &doorOpenEvents, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &doorOpenEvents, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -4065,12 +4059,12 @@ namespace DoorClosedEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * doorClosedEvents) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, DoorClosedEvents::Id, (uint8_t *) doorClosedEvents, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) doorClosedEvents, sizeof(*doorClosedEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t doorClosedEvents) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, DoorClosedEvents::Id, (uint8_t *) &doorClosedEvents, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &doorClosedEvents, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -4080,11 +4074,11 @@ namespace OpenPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * openPeriod) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, OpenPeriod::Id, (uint8_t *) openPeriod, sizeof(*openPeriod)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) openPeriod, sizeof(*openPeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t openPeriod) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, OpenPeriod::Id, (uint8_t *) &openPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &openPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace OpenPeriod @@ -4093,12 +4087,12 @@ namespace NumLockRecordsSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numLockRecordsSupported) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumLockRecordsSupported::Id, (uint8_t *) numLockRecordsSupported, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numLockRecordsSupported, sizeof(*numLockRecordsSupported)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numLockRecordsSupported) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumLockRecordsSupported::Id, (uint8_t *) &numLockRecordsSupported, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numLockRecordsSupported, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4108,12 +4102,12 @@ namespace NumTotalUsersSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numTotalUsersSupported) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumTotalUsersSupported::Id, (uint8_t *) numTotalUsersSupported, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numTotalUsersSupported, sizeof(*numTotalUsersSupported)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numTotalUsersSupported) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumTotalUsersSupported::Id, (uint8_t *) &numTotalUsersSupported, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numTotalUsersSupported, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4123,12 +4117,12 @@ namespace NumPinUsersSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numPinUsersSupported) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumPinUsersSupported::Id, (uint8_t *) numPinUsersSupported, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numPinUsersSupported, sizeof(*numPinUsersSupported)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numPinUsersSupported) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumPinUsersSupported::Id, (uint8_t *) &numPinUsersSupported, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numPinUsersSupported, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4138,12 +4132,12 @@ namespace NumRfidUsersSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numRfidUsersSupported) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumRfidUsersSupported::Id, (uint8_t *) numRfidUsersSupported, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numRfidUsersSupported, sizeof(*numRfidUsersSupported)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numRfidUsersSupported) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumRfidUsersSupported::Id, (uint8_t *) &numRfidUsersSupported, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numRfidUsersSupported, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4153,14 +4147,13 @@ namespace NumWeekdaySchedulesSupportedPerUser { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numWeekdaySchedulesSupportedPerUser) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumWeekdaySchedulesSupportedPerUser::Id, - (uint8_t *) numWeekdaySchedulesSupportedPerUser, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numWeekdaySchedulesSupportedPerUser, sizeof(*numWeekdaySchedulesSupportedPerUser)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numWeekdaySchedulesSupportedPerUser) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumWeekdaySchedulesSupportedPerUser::Id, - (uint8_t *) &numWeekdaySchedulesSupportedPerUser, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numWeekdaySchedulesSupportedPerUser, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumWeekdaySchedulesSupportedPerUser @@ -4169,14 +4162,13 @@ namespace NumYeardaySchedulesSupportedPerUser { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numYeardaySchedulesSupportedPerUser) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumYeardaySchedulesSupportedPerUser::Id, - (uint8_t *) numYeardaySchedulesSupportedPerUser, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numYeardaySchedulesSupportedPerUser, sizeof(*numYeardaySchedulesSupportedPerUser)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numYeardaySchedulesSupportedPerUser) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumYeardaySchedulesSupportedPerUser::Id, - (uint8_t *) &numYeardaySchedulesSupportedPerUser, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numYeardaySchedulesSupportedPerUser, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumYeardaySchedulesSupportedPerUser @@ -4185,14 +4177,13 @@ namespace NumHolidaySchedulesSupportedPerUser { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numHolidaySchedulesSupportedPerUser) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, NumHolidaySchedulesSupportedPerUser::Id, - (uint8_t *) numHolidaySchedulesSupportedPerUser, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) numHolidaySchedulesSupportedPerUser, sizeof(*numHolidaySchedulesSupportedPerUser)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numHolidaySchedulesSupportedPerUser) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, NumHolidaySchedulesSupportedPerUser::Id, - (uint8_t *) &numHolidaySchedulesSupportedPerUser, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &numHolidaySchedulesSupportedPerUser, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumHolidaySchedulesSupportedPerUser @@ -4201,12 +4192,11 @@ namespace MaxPinLength { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * maxPinLength) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, MaxPinLength::Id, (uint8_t *) maxPinLength, sizeof(*maxPinLength)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) maxPinLength, sizeof(*maxPinLength)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t maxPinLength) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, MaxPinLength::Id, (uint8_t *) &maxPinLength, - ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &maxPinLength, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace MaxPinLength @@ -4215,12 +4205,11 @@ namespace MinPinLength { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * minPinLength) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, MinPinLength::Id, (uint8_t *) minPinLength, sizeof(*minPinLength)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) minPinLength, sizeof(*minPinLength)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t minPinLength) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, MinPinLength::Id, (uint8_t *) &minPinLength, - ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &minPinLength, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace MinPinLength @@ -4229,12 +4218,12 @@ namespace MaxRfidCodeLength { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * maxRfidCodeLength) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, MaxRfidCodeLength::Id, (uint8_t *) maxRfidCodeLength, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) maxRfidCodeLength, sizeof(*maxRfidCodeLength)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t maxRfidCodeLength) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, MaxRfidCodeLength::Id, (uint8_t *) &maxRfidCodeLength, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &maxRfidCodeLength, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -4244,12 +4233,12 @@ namespace MinRfidCodeLength { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * minRfidCodeLength) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, MinRfidCodeLength::Id, (uint8_t *) minRfidCodeLength, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) minRfidCodeLength, sizeof(*minRfidCodeLength)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t minRfidCodeLength) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, MinRfidCodeLength::Id, (uint8_t *) &minRfidCodeLength, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &minRfidCodeLength, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -4259,11 +4248,11 @@ namespace EnableLogging { EmberAfStatus Get(chip::EndpointId endpoint, bool * enableLogging) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, EnableLogging::Id, (uint8_t *) enableLogging, sizeof(*enableLogging)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) enableLogging, sizeof(*enableLogging)); } EmberAfStatus Set(chip::EndpointId endpoint, bool enableLogging) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, EnableLogging::Id, (uint8_t *) &enableLogging, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &enableLogging, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4273,11 +4262,11 @@ namespace LedSettings { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * ledSettings) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, LedSettings::Id, (uint8_t *) ledSettings, sizeof(*ledSettings)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) ledSettings, sizeof(*ledSettings)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t ledSettings) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, LedSettings::Id, (uint8_t *) &ledSettings, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &ledSettings, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace LedSettings @@ -4286,12 +4275,11 @@ namespace AutoRelockTime { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * autoRelockTime) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, AutoRelockTime::Id, (uint8_t *) autoRelockTime, - sizeof(*autoRelockTime)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) autoRelockTime, sizeof(*autoRelockTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t autoRelockTime) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, AutoRelockTime::Id, (uint8_t *) &autoRelockTime, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &autoRelockTime, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -4301,11 +4289,11 @@ namespace SoundVolume { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * soundVolume) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, SoundVolume::Id, (uint8_t *) soundVolume, sizeof(*soundVolume)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) soundVolume, sizeof(*soundVolume)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t soundVolume) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, SoundVolume::Id, (uint8_t *) &soundVolume, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &soundVolume, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace SoundVolume @@ -4314,12 +4302,11 @@ namespace OperatingMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * operatingMode) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, OperatingMode::Id, (uint8_t *) operatingMode, sizeof(*operatingMode)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) operatingMode, sizeof(*operatingMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t operatingMode) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, OperatingMode::Id, (uint8_t *) &operatingMode, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &operatingMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace OperatingMode @@ -4328,12 +4315,12 @@ namespace SupportedOperatingModes { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * supportedOperatingModes) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, SupportedOperatingModes::Id, (uint8_t *) supportedOperatingModes, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) supportedOperatingModes, sizeof(*supportedOperatingModes)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t supportedOperatingModes) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, SupportedOperatingModes::Id, (uint8_t *) &supportedOperatingModes, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &supportedOperatingModes, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4343,13 +4330,13 @@ namespace DefaultConfigurationRegister { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * defaultConfigurationRegister) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, DefaultConfigurationRegister::Id, - (uint8_t *) defaultConfigurationRegister, sizeof(*defaultConfigurationRegister)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) defaultConfigurationRegister, + sizeof(*defaultConfigurationRegister)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t defaultConfigurationRegister) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, DefaultConfigurationRegister::Id, - (uint8_t *) &defaultConfigurationRegister, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &defaultConfigurationRegister, + ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace DefaultConfigurationRegister @@ -4358,12 +4345,12 @@ namespace EnableLocalProgramming { EmberAfStatus Get(chip::EndpointId endpoint, bool * enableLocalProgramming) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, EnableLocalProgramming::Id, (uint8_t *) enableLocalProgramming, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) enableLocalProgramming, sizeof(*enableLocalProgramming)); } EmberAfStatus Set(chip::EndpointId endpoint, bool enableLocalProgramming) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, EnableLocalProgramming::Id, (uint8_t *) &enableLocalProgramming, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &enableLocalProgramming, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4373,12 +4360,12 @@ namespace EnableOneTouchLocking { EmberAfStatus Get(chip::EndpointId endpoint, bool * enableOneTouchLocking) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, EnableOneTouchLocking::Id, (uint8_t *) enableOneTouchLocking, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) enableOneTouchLocking, sizeof(*enableOneTouchLocking)); } EmberAfStatus Set(chip::EndpointId endpoint, bool enableOneTouchLocking) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, EnableOneTouchLocking::Id, (uint8_t *) &enableOneTouchLocking, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &enableOneTouchLocking, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4388,12 +4375,12 @@ namespace EnableInsideStatusLed { EmberAfStatus Get(chip::EndpointId endpoint, bool * enableInsideStatusLed) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, EnableInsideStatusLed::Id, (uint8_t *) enableInsideStatusLed, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) enableInsideStatusLed, sizeof(*enableInsideStatusLed)); } EmberAfStatus Set(chip::EndpointId endpoint, bool enableInsideStatusLed) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, EnableInsideStatusLed::Id, (uint8_t *) &enableInsideStatusLed, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &enableInsideStatusLed, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4403,12 +4390,12 @@ namespace EnablePrivacyModeButton { EmberAfStatus Get(chip::EndpointId endpoint, bool * enablePrivacyModeButton) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, EnablePrivacyModeButton::Id, (uint8_t *) enablePrivacyModeButton, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) enablePrivacyModeButton, sizeof(*enablePrivacyModeButton)); } EmberAfStatus Set(chip::EndpointId endpoint, bool enablePrivacyModeButton) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, EnablePrivacyModeButton::Id, (uint8_t *) &enablePrivacyModeButton, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &enablePrivacyModeButton, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4418,12 +4405,12 @@ namespace WrongCodeEntryLimit { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * wrongCodeEntryLimit) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, WrongCodeEntryLimit::Id, (uint8_t *) wrongCodeEntryLimit, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) wrongCodeEntryLimit, sizeof(*wrongCodeEntryLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t wrongCodeEntryLimit) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, WrongCodeEntryLimit::Id, (uint8_t *) &wrongCodeEntryLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &wrongCodeEntryLimit, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -4433,13 +4420,13 @@ namespace UserCodeTemporaryDisableTime { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * userCodeTemporaryDisableTime) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, UserCodeTemporaryDisableTime::Id, - (uint8_t *) userCodeTemporaryDisableTime, sizeof(*userCodeTemporaryDisableTime)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) userCodeTemporaryDisableTime, + sizeof(*userCodeTemporaryDisableTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t userCodeTemporaryDisableTime) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, UserCodeTemporaryDisableTime::Id, - (uint8_t *) &userCodeTemporaryDisableTime, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &userCodeTemporaryDisableTime, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace UserCodeTemporaryDisableTime @@ -4448,12 +4435,12 @@ namespace SendPinOverTheAir { EmberAfStatus Get(chip::EndpointId endpoint, bool * sendPinOverTheAir) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, SendPinOverTheAir::Id, (uint8_t *) sendPinOverTheAir, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) sendPinOverTheAir, sizeof(*sendPinOverTheAir)); } EmberAfStatus Set(chip::EndpointId endpoint, bool sendPinOverTheAir) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, SendPinOverTheAir::Id, (uint8_t *) &sendPinOverTheAir, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &sendPinOverTheAir, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4463,12 +4450,12 @@ namespace RequirePinForRfOperation { EmberAfStatus Get(chip::EndpointId endpoint, bool * requirePinForRfOperation) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, RequirePinForRfOperation::Id, (uint8_t *) requirePinForRfOperation, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) requirePinForRfOperation, sizeof(*requirePinForRfOperation)); } EmberAfStatus Set(chip::EndpointId endpoint, bool requirePinForRfOperation) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, RequirePinForRfOperation::Id, (uint8_t *) &requirePinForRfOperation, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &requirePinForRfOperation, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -4478,12 +4465,12 @@ namespace ZigbeeSecurityLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * zigbeeSecurityLevel) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, ZigbeeSecurityLevel::Id, (uint8_t *) zigbeeSecurityLevel, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) zigbeeSecurityLevel, sizeof(*zigbeeSecurityLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t zigbeeSecurityLevel) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, ZigbeeSecurityLevel::Id, (uint8_t *) &zigbeeSecurityLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &zigbeeSecurityLevel, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -4493,11 +4480,11 @@ namespace AlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * alarmMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, AlarmMask::Id, (uint8_t *) alarmMask, sizeof(*alarmMask)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) alarmMask, sizeof(*alarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t alarmMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, AlarmMask::Id, (uint8_t *) &alarmMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &alarmMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace AlarmMask @@ -4506,12 +4493,12 @@ namespace KeypadOperationEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * keypadOperationEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, KeypadOperationEventMask::Id, (uint8_t *) keypadOperationEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) keypadOperationEventMask, sizeof(*keypadOperationEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t keypadOperationEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, KeypadOperationEventMask::Id, (uint8_t *) &keypadOperationEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &keypadOperationEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4521,12 +4508,12 @@ namespace RfOperationEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rfOperationEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, RfOperationEventMask::Id, (uint8_t *) rfOperationEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) rfOperationEventMask, sizeof(*rfOperationEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rfOperationEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, RfOperationEventMask::Id, (uint8_t *) &rfOperationEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &rfOperationEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4536,12 +4523,12 @@ namespace ManualOperationEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * manualOperationEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, ManualOperationEventMask::Id, (uint8_t *) manualOperationEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) manualOperationEventMask, sizeof(*manualOperationEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t manualOperationEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, ManualOperationEventMask::Id, (uint8_t *) &manualOperationEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &manualOperationEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4551,12 +4538,12 @@ namespace RfidOperationEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rfidOperationEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, RfidOperationEventMask::Id, (uint8_t *) rfidOperationEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) rfidOperationEventMask, sizeof(*rfidOperationEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rfidOperationEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, RfidOperationEventMask::Id, (uint8_t *) &rfidOperationEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &rfidOperationEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4566,13 +4553,13 @@ namespace KeypadProgrammingEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * keypadProgrammingEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, KeypadProgrammingEventMask::Id, - (uint8_t *) keypadProgrammingEventMask, sizeof(*keypadProgrammingEventMask)); + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) keypadProgrammingEventMask, + sizeof(*keypadProgrammingEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t keypadProgrammingEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, KeypadProgrammingEventMask::Id, - (uint8_t *) &keypadProgrammingEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &keypadProgrammingEventMask, + ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace KeypadProgrammingEventMask @@ -4581,12 +4568,12 @@ namespace RfProgrammingEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rfProgrammingEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, RfProgrammingEventMask::Id, (uint8_t *) rfProgrammingEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) rfProgrammingEventMask, sizeof(*rfProgrammingEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rfProgrammingEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, RfProgrammingEventMask::Id, (uint8_t *) &rfProgrammingEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &rfProgrammingEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4596,12 +4583,12 @@ namespace RfidProgrammingEventMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rfidProgrammingEventMask) { - return emberAfReadServerAttribute(endpoint, DoorLock::Id, RfidProgrammingEventMask::Id, (uint8_t *) rfidProgrammingEventMask, + return emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) rfidProgrammingEventMask, sizeof(*rfidProgrammingEventMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rfidProgrammingEventMask) { - return emberAfWriteServerAttribute(endpoint, DoorLock::Id, RfidProgrammingEventMask::Id, (uint8_t *) &rfidProgrammingEventMask, + return emberAfWriteServerAttribute(endpoint, Clusters::DoorLock::Id, Id, (uint8_t *) &rfidProgrammingEventMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4617,11 +4604,11 @@ namespace Type { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * type) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, Type::Id, (uint8_t *) type, sizeof(*type)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) type, sizeof(*type)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t type) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, Type::Id, (uint8_t *) &type, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &type, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace Type @@ -4630,13 +4617,13 @@ namespace PhysicalClosedLimitLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * physicalClosedLimitLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, PhysicalClosedLimitLift::Id, - (uint8_t *) physicalClosedLimitLift, sizeof(*physicalClosedLimitLift)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) physicalClosedLimitLift, + sizeof(*physicalClosedLimitLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t physicalClosedLimitLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, PhysicalClosedLimitLift::Id, - (uint8_t *) &physicalClosedLimitLift, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &physicalClosedLimitLift, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace PhysicalClosedLimitLift @@ -4645,13 +4632,13 @@ namespace PhysicalClosedLimitTilt { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * physicalClosedLimitTilt) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, PhysicalClosedLimitTilt::Id, - (uint8_t *) physicalClosedLimitTilt, sizeof(*physicalClosedLimitTilt)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) physicalClosedLimitTilt, + sizeof(*physicalClosedLimitTilt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t physicalClosedLimitTilt) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, PhysicalClosedLimitTilt::Id, - (uint8_t *) &physicalClosedLimitTilt, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &physicalClosedLimitTilt, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace PhysicalClosedLimitTilt @@ -4660,12 +4647,12 @@ namespace CurrentPositionLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentPositionLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLift::Id, (uint8_t *) currentPositionLift, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionLift, sizeof(*currentPositionLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentPositionLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLift::Id, (uint8_t *) ¤tPositionLift, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionLift, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4675,12 +4662,12 @@ namespace CurrentPositionTilt { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentPositionTilt) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTilt::Id, (uint8_t *) currentPositionTilt, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionTilt, sizeof(*currentPositionTilt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentPositionTilt) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTilt::Id, (uint8_t *) ¤tPositionTilt, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionTilt, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4690,13 +4677,13 @@ namespace NumberOfActuationsLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numberOfActuationsLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, NumberOfActuationsLift::Id, (uint8_t *) numberOfActuationsLift, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) numberOfActuationsLift, sizeof(*numberOfActuationsLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numberOfActuationsLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, NumberOfActuationsLift::Id, - (uint8_t *) &numberOfActuationsLift, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &numberOfActuationsLift, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace NumberOfActuationsLift @@ -4705,13 +4692,13 @@ namespace NumberOfActuationsTilt { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * numberOfActuationsTilt) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, NumberOfActuationsTilt::Id, (uint8_t *) numberOfActuationsTilt, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) numberOfActuationsTilt, sizeof(*numberOfActuationsTilt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t numberOfActuationsTilt) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, NumberOfActuationsTilt::Id, - (uint8_t *) &numberOfActuationsTilt, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &numberOfActuationsTilt, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace NumberOfActuationsTilt @@ -4720,12 +4707,11 @@ namespace ConfigStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * configStatus) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, ConfigStatus::Id, (uint8_t *) configStatus, - sizeof(*configStatus)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) configStatus, sizeof(*configStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t configStatus) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, ConfigStatus::Id, (uint8_t *) &configStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &configStatus, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -4735,13 +4721,13 @@ namespace CurrentPositionLiftPercentage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentPositionLiftPercentage) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLiftPercentage::Id, - (uint8_t *) currentPositionLiftPercentage, sizeof(*currentPositionLiftPercentage)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionLiftPercentage, + sizeof(*currentPositionLiftPercentage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentPositionLiftPercentage) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLiftPercentage::Id, - (uint8_t *) ¤tPositionLiftPercentage, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionLiftPercentage, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentPositionLiftPercentage @@ -4750,13 +4736,13 @@ namespace CurrentPositionTiltPercentage { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentPositionTiltPercentage) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTiltPercentage::Id, - (uint8_t *) currentPositionTiltPercentage, sizeof(*currentPositionTiltPercentage)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionTiltPercentage, + sizeof(*currentPositionTiltPercentage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentPositionTiltPercentage) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTiltPercentage::Id, - (uint8_t *) ¤tPositionTiltPercentage, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionTiltPercentage, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentPositionTiltPercentage @@ -4765,12 +4751,12 @@ namespace OperationalStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * operationalStatus) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, OperationalStatus::Id, (uint8_t *) operationalStatus, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) operationalStatus, sizeof(*operationalStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t operationalStatus) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, OperationalStatus::Id, (uint8_t *) &operationalStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &operationalStatus, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -4780,13 +4766,13 @@ namespace TargetPositionLiftPercent100ths { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * targetPositionLiftPercent100ths) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, TargetPositionLiftPercent100ths::Id, - (uint8_t *) targetPositionLiftPercent100ths, sizeof(*targetPositionLiftPercent100ths)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) targetPositionLiftPercent100ths, + sizeof(*targetPositionLiftPercent100ths)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t targetPositionLiftPercent100ths) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, TargetPositionLiftPercent100ths::Id, - (uint8_t *) &targetPositionLiftPercent100ths, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &targetPositionLiftPercent100ths, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace TargetPositionLiftPercent100ths @@ -4795,13 +4781,13 @@ namespace TargetPositionTiltPercent100ths { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * targetPositionTiltPercent100ths) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, TargetPositionTiltPercent100ths::Id, - (uint8_t *) targetPositionTiltPercent100ths, sizeof(*targetPositionTiltPercent100ths)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) targetPositionTiltPercent100ths, + sizeof(*targetPositionTiltPercent100ths)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t targetPositionTiltPercent100ths) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, TargetPositionTiltPercent100ths::Id, - (uint8_t *) &targetPositionTiltPercent100ths, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &targetPositionTiltPercent100ths, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace TargetPositionTiltPercent100ths @@ -4810,12 +4796,12 @@ namespace EndProductType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * endProductType) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, EndProductType::Id, (uint8_t *) endProductType, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) endProductType, sizeof(*endProductType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t endProductType) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, EndProductType::Id, (uint8_t *) &endProductType, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &endProductType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -4825,13 +4811,13 @@ namespace CurrentPositionLiftPercent100ths { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentPositionLiftPercent100ths) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLiftPercent100ths::Id, - (uint8_t *) currentPositionLiftPercent100ths, sizeof(*currentPositionLiftPercent100ths)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionLiftPercent100ths, + sizeof(*currentPositionLiftPercent100ths)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentPositionLiftPercent100ths) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionLiftPercent100ths::Id, - (uint8_t *) ¤tPositionLiftPercent100ths, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionLiftPercent100ths, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CurrentPositionLiftPercent100ths @@ -4840,13 +4826,13 @@ namespace CurrentPositionTiltPercent100ths { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentPositionTiltPercent100ths) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTiltPercent100ths::Id, - (uint8_t *) currentPositionTiltPercent100ths, sizeof(*currentPositionTiltPercent100ths)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) currentPositionTiltPercent100ths, + sizeof(*currentPositionTiltPercent100ths)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentPositionTiltPercent100ths) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, CurrentPositionTiltPercent100ths::Id, - (uint8_t *) ¤tPositionTiltPercent100ths, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) ¤tPositionTiltPercent100ths, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CurrentPositionTiltPercent100ths @@ -4855,13 +4841,13 @@ namespace InstalledOpenLimitLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * installedOpenLimitLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, InstalledOpenLimitLift::Id, (uint8_t *) installedOpenLimitLift, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) installedOpenLimitLift, sizeof(*installedOpenLimitLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t installedOpenLimitLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, InstalledOpenLimitLift::Id, - (uint8_t *) &installedOpenLimitLift, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &installedOpenLimitLift, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace InstalledOpenLimitLift @@ -4870,13 +4856,13 @@ namespace InstalledClosedLimitLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * installedClosedLimitLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, InstalledClosedLimitLift::Id, - (uint8_t *) installedClosedLimitLift, sizeof(*installedClosedLimitLift)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) installedClosedLimitLift, + sizeof(*installedClosedLimitLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t installedClosedLimitLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, InstalledClosedLimitLift::Id, - (uint8_t *) &installedClosedLimitLift, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &installedClosedLimitLift, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace InstalledClosedLimitLift @@ -4885,13 +4871,13 @@ namespace InstalledOpenLimitTilt { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * installedOpenLimitTilt) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, InstalledOpenLimitTilt::Id, (uint8_t *) installedOpenLimitTilt, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) installedOpenLimitTilt, sizeof(*installedOpenLimitTilt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t installedOpenLimitTilt) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, InstalledOpenLimitTilt::Id, - (uint8_t *) &installedOpenLimitTilt, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &installedOpenLimitTilt, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace InstalledOpenLimitTilt @@ -4900,13 +4886,13 @@ namespace InstalledClosedLimitTilt { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * installedClosedLimitTilt) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, InstalledClosedLimitTilt::Id, - (uint8_t *) installedClosedLimitTilt, sizeof(*installedClosedLimitTilt)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) installedClosedLimitTilt, + sizeof(*installedClosedLimitTilt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t installedClosedLimitTilt) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, InstalledClosedLimitTilt::Id, - (uint8_t *) &installedClosedLimitTilt, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &installedClosedLimitTilt, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace InstalledClosedLimitTilt @@ -4915,12 +4901,11 @@ namespace VelocityLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * velocityLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, VelocityLift::Id, (uint8_t *) velocityLift, - sizeof(*velocityLift)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) velocityLift, sizeof(*velocityLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t velocityLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, VelocityLift::Id, (uint8_t *) &velocityLift, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &velocityLift, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4930,12 +4915,12 @@ namespace AccelerationTimeLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * accelerationTimeLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, AccelerationTimeLift::Id, (uint8_t *) accelerationTimeLift, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) accelerationTimeLift, sizeof(*accelerationTimeLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t accelerationTimeLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, AccelerationTimeLift::Id, (uint8_t *) &accelerationTimeLift, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &accelerationTimeLift, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4945,12 +4930,12 @@ namespace DecelerationTimeLift { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * decelerationTimeLift) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, DecelerationTimeLift::Id, (uint8_t *) decelerationTimeLift, + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) decelerationTimeLift, sizeof(*decelerationTimeLift)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t decelerationTimeLift) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, DecelerationTimeLift::Id, (uint8_t *) &decelerationTimeLift, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &decelerationTimeLift, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -4960,11 +4945,11 @@ namespace Mode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * mode) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, Mode::Id, (uint8_t *) mode, sizeof(*mode)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) mode, sizeof(*mode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t mode) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, Mode::Id, (uint8_t *) &mode, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &mode, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace Mode @@ -4973,12 +4958,11 @@ namespace SafetyStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * safetyStatus) { - return emberAfReadServerAttribute(endpoint, WindowCovering::Id, SafetyStatus::Id, (uint8_t *) safetyStatus, - sizeof(*safetyStatus)); + return emberAfReadServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) safetyStatus, sizeof(*safetyStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t safetyStatus) { - return emberAfWriteServerAttribute(endpoint, WindowCovering::Id, SafetyStatus::Id, (uint8_t *) &safetyStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::WindowCovering::Id, Id, (uint8_t *) &safetyStatus, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -4994,12 +4978,12 @@ namespace BarrierMovingState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * barrierMovingState) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierMovingState::Id, (uint8_t *) barrierMovingState, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierMovingState, sizeof(*barrierMovingState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t barrierMovingState) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierMovingState::Id, (uint8_t *) &barrierMovingState, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierMovingState, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5009,12 +4993,12 @@ namespace BarrierSafetyStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierSafetyStatus) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierSafetyStatus::Id, (uint8_t *) barrierSafetyStatus, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierSafetyStatus, sizeof(*barrierSafetyStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierSafetyStatus) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierSafetyStatus::Id, (uint8_t *) &barrierSafetyStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierSafetyStatus, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -5024,12 +5008,12 @@ namespace BarrierCapabilities { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * barrierCapabilities) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierCapabilities::Id, (uint8_t *) barrierCapabilities, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierCapabilities, sizeof(*barrierCapabilities)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t barrierCapabilities) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierCapabilities::Id, (uint8_t *) &barrierCapabilities, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierCapabilities, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -5039,12 +5023,12 @@ namespace BarrierOpenEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierOpenEvents) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierOpenEvents::Id, (uint8_t *) barrierOpenEvents, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierOpenEvents, sizeof(*barrierOpenEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierOpenEvents) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierOpenEvents::Id, (uint8_t *) &barrierOpenEvents, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierOpenEvents, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5054,12 +5038,12 @@ namespace BarrierCloseEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierCloseEvents) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierCloseEvents::Id, (uint8_t *) barrierCloseEvents, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierCloseEvents, sizeof(*barrierCloseEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierCloseEvents) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierCloseEvents::Id, (uint8_t *) &barrierCloseEvents, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierCloseEvents, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5069,13 +5053,13 @@ namespace BarrierCommandOpenEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierCommandOpenEvents) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierCommandOpenEvents::Id, - (uint8_t *) barrierCommandOpenEvents, sizeof(*barrierCommandOpenEvents)); + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierCommandOpenEvents, + sizeof(*barrierCommandOpenEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierCommandOpenEvents) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierCommandOpenEvents::Id, - (uint8_t *) &barrierCommandOpenEvents, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierCommandOpenEvents, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace BarrierCommandOpenEvents @@ -5084,13 +5068,13 @@ namespace BarrierCommandCloseEvents { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierCommandCloseEvents) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierCommandCloseEvents::Id, - (uint8_t *) barrierCommandCloseEvents, sizeof(*barrierCommandCloseEvents)); + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierCommandCloseEvents, + sizeof(*barrierCommandCloseEvents)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierCommandCloseEvents) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierCommandCloseEvents::Id, - (uint8_t *) &barrierCommandCloseEvents, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierCommandCloseEvents, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace BarrierCommandCloseEvents @@ -5099,12 +5083,12 @@ namespace BarrierOpenPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierOpenPeriod) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierOpenPeriod::Id, (uint8_t *) barrierOpenPeriod, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierOpenPeriod, sizeof(*barrierOpenPeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierOpenPeriod) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierOpenPeriod::Id, (uint8_t *) &barrierOpenPeriod, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierOpenPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5114,12 +5098,12 @@ namespace BarrierClosePeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * barrierClosePeriod) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierClosePeriod::Id, (uint8_t *) barrierClosePeriod, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierClosePeriod, sizeof(*barrierClosePeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t barrierClosePeriod) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierClosePeriod::Id, (uint8_t *) &barrierClosePeriod, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierClosePeriod, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5129,12 +5113,12 @@ namespace BarrierPosition { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * barrierPosition) { - return emberAfReadServerAttribute(endpoint, BarrierControl::Id, BarrierPosition::Id, (uint8_t *) barrierPosition, + return emberAfReadServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) barrierPosition, sizeof(*barrierPosition)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t barrierPosition) { - return emberAfWriteServerAttribute(endpoint, BarrierControl::Id, BarrierPosition::Id, (uint8_t *) &barrierPosition, + return emberAfWriteServerAttribute(endpoint, Clusters::BarrierControl::Id, Id, (uint8_t *) &barrierPosition, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -5150,12 +5134,12 @@ namespace MaxPressure { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxPressure) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxPressure::Id, (uint8_t *) maxPressure, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxPressure, sizeof(*maxPressure)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxPressure) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxPressure::Id, (uint8_t *) &maxPressure, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxPressure, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5165,12 +5149,12 @@ namespace MaxSpeed { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxSpeed) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxSpeed::Id, (uint8_t *) maxSpeed, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxSpeed, sizeof(*maxSpeed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxSpeed) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxSpeed::Id, (uint8_t *) &maxSpeed, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxSpeed, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5180,12 +5164,12 @@ namespace MaxFlow { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxFlow) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxFlow::Id, (uint8_t *) maxFlow, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxFlow, sizeof(*maxFlow)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxFlow) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxFlow::Id, (uint8_t *) &maxFlow, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxFlow, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5195,13 +5179,13 @@ namespace MinConstPressure { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minConstPressure) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstPressure::Id, (uint8_t *) minConstPressure, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) minConstPressure, sizeof(*minConstPressure)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minConstPressure) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstPressure::Id, - (uint8_t *) &minConstPressure, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &minConstPressure, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace MinConstPressure @@ -5210,13 +5194,13 @@ namespace MaxConstPressure { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxConstPressure) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstPressure::Id, (uint8_t *) maxConstPressure, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxConstPressure, sizeof(*maxConstPressure)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxConstPressure) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstPressure::Id, - (uint8_t *) &maxConstPressure, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxConstPressure, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace MaxConstPressure @@ -5225,12 +5209,12 @@ namespace MinCompPressure { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minCompPressure) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinCompPressure::Id, (uint8_t *) minCompPressure, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) minCompPressure, sizeof(*minCompPressure)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minCompPressure) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinCompPressure::Id, (uint8_t *) &minCompPressure, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &minCompPressure, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5240,12 +5224,12 @@ namespace MaxCompPressure { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxCompPressure) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxCompPressure::Id, (uint8_t *) maxCompPressure, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxCompPressure, sizeof(*maxCompPressure)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxCompPressure) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxCompPressure::Id, (uint8_t *) &maxCompPressure, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxCompPressure, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5255,12 +5239,12 @@ namespace MinConstSpeed { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * minConstSpeed) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstSpeed::Id, (uint8_t *) minConstSpeed, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) minConstSpeed, sizeof(*minConstSpeed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t minConstSpeed) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstSpeed::Id, (uint8_t *) &minConstSpeed, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &minConstSpeed, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5270,12 +5254,12 @@ namespace MaxConstSpeed { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxConstSpeed) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstSpeed::Id, (uint8_t *) maxConstSpeed, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxConstSpeed, sizeof(*maxConstSpeed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxConstSpeed) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstSpeed::Id, (uint8_t *) &maxConstSpeed, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxConstSpeed, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5285,12 +5269,12 @@ namespace MinConstFlow { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * minConstFlow) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstFlow::Id, (uint8_t *) minConstFlow, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) minConstFlow, sizeof(*minConstFlow)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t minConstFlow) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstFlow::Id, (uint8_t *) &minConstFlow, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &minConstFlow, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5300,12 +5284,12 @@ namespace MaxConstFlow { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxConstFlow) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstFlow::Id, (uint8_t *) maxConstFlow, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxConstFlow, sizeof(*maxConstFlow)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxConstFlow) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstFlow::Id, (uint8_t *) &maxConstFlow, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxConstFlow, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5315,12 +5299,12 @@ namespace MinConstTemp { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minConstTemp) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstTemp::Id, (uint8_t *) minConstTemp, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) minConstTemp, sizeof(*minConstTemp)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minConstTemp) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MinConstTemp::Id, (uint8_t *) &minConstTemp, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &minConstTemp, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5330,12 +5314,12 @@ namespace MaxConstTemp { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxConstTemp) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstTemp::Id, (uint8_t *) maxConstTemp, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) maxConstTemp, sizeof(*maxConstTemp)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxConstTemp) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, MaxConstTemp::Id, (uint8_t *) &maxConstTemp, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &maxConstTemp, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5345,12 +5329,12 @@ namespace PumpStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * pumpStatus) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, PumpStatus::Id, (uint8_t *) pumpStatus, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) pumpStatus, sizeof(*pumpStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t pumpStatus) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, PumpStatus::Id, (uint8_t *) &pumpStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &pumpStatus, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -5360,13 +5344,13 @@ namespace EffectiveOperationMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * effectiveOperationMode) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, EffectiveOperationMode::Id, - (uint8_t *) effectiveOperationMode, sizeof(*effectiveOperationMode)); + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) effectiveOperationMode, + sizeof(*effectiveOperationMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t effectiveOperationMode) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, EffectiveOperationMode::Id, - (uint8_t *) &effectiveOperationMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &effectiveOperationMode, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace EffectiveOperationMode @@ -5375,13 +5359,13 @@ namespace EffectiveControlMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * effectiveControlMode) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, EffectiveControlMode::Id, - (uint8_t *) effectiveControlMode, sizeof(*effectiveControlMode)); + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) effectiveControlMode, + sizeof(*effectiveControlMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t effectiveControlMode) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, EffectiveControlMode::Id, - (uint8_t *) &effectiveControlMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &effectiveControlMode, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace EffectiveControlMode @@ -5390,12 +5374,12 @@ namespace Capacity { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * capacity) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, Capacity::Id, (uint8_t *) capacity, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) capacity, sizeof(*capacity)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t capacity) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, Capacity::Id, (uint8_t *) &capacity, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &capacity, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5405,11 +5389,11 @@ namespace Speed { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * speed) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, Speed::Id, (uint8_t *) speed, sizeof(*speed)); + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) speed, sizeof(*speed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t speed) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, Speed::Id, (uint8_t *) &speed, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &speed, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -5419,13 +5403,13 @@ namespace LifetimeEnergyConsumed { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * lifetimeEnergyConsumed) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, LifetimeEnergyConsumed::Id, - (uint8_t *) lifetimeEnergyConsumed, sizeof(*lifetimeEnergyConsumed)); + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) lifetimeEnergyConsumed, + sizeof(*lifetimeEnergyConsumed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t lifetimeEnergyConsumed) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, LifetimeEnergyConsumed::Id, - (uint8_t *) &lifetimeEnergyConsumed, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &lifetimeEnergyConsumed, + ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace LifetimeEnergyConsumed @@ -5434,12 +5418,12 @@ namespace OperationMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * operationMode) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, OperationMode::Id, (uint8_t *) operationMode, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) operationMode, sizeof(*operationMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t operationMode) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, OperationMode::Id, (uint8_t *) &operationMode, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &operationMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5449,12 +5433,12 @@ namespace ControlMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * controlMode) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, ControlMode::Id, (uint8_t *) controlMode, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) controlMode, sizeof(*controlMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t controlMode) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, ControlMode::Id, (uint8_t *) &controlMode, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &controlMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5464,12 +5448,12 @@ namespace AlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * alarmMask) { - return emberAfReadServerAttribute(endpoint, PumpConfigurationAndControl::Id, AlarmMask::Id, (uint8_t *) alarmMask, + return emberAfReadServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) alarmMask, sizeof(*alarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t alarmMask) { - return emberAfWriteServerAttribute(endpoint, PumpConfigurationAndControl::Id, AlarmMask::Id, (uint8_t *) &alarmMask, + return emberAfWriteServerAttribute(endpoint, Clusters::PumpConfigurationAndControl::Id, Id, (uint8_t *) &alarmMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -5485,12 +5469,12 @@ namespace LocalTemperature { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * localTemperature) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, LocalTemperature::Id, (uint8_t *) localTemperature, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) localTemperature, sizeof(*localTemperature)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t localTemperature) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, LocalTemperature::Id, (uint8_t *) &localTemperature, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &localTemperature, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5500,12 +5484,12 @@ namespace OutdoorTemperature { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * outdoorTemperature) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, OutdoorTemperature::Id, (uint8_t *) outdoorTemperature, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) outdoorTemperature, sizeof(*outdoorTemperature)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t outdoorTemperature) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, OutdoorTemperature::Id, (uint8_t *) &outdoorTemperature, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &outdoorTemperature, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5515,11 +5499,11 @@ namespace Occupancy { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * occupancy) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, Occupancy::Id, (uint8_t *) occupancy, sizeof(*occupancy)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) occupancy, sizeof(*occupancy)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t occupancy) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, Occupancy::Id, (uint8_t *) &occupancy, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &occupancy, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace Occupancy @@ -5528,12 +5512,12 @@ namespace AbsMinHeatSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * absMinHeatSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AbsMinHeatSetpointLimit::Id, (uint8_t *) absMinHeatSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) absMinHeatSetpointLimit, sizeof(*absMinHeatSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t absMinHeatSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AbsMinHeatSetpointLimit::Id, (uint8_t *) &absMinHeatSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &absMinHeatSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5543,12 +5527,12 @@ namespace AbsMaxHeatSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * absMaxHeatSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AbsMaxHeatSetpointLimit::Id, (uint8_t *) absMaxHeatSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) absMaxHeatSetpointLimit, sizeof(*absMaxHeatSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t absMaxHeatSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AbsMaxHeatSetpointLimit::Id, (uint8_t *) &absMaxHeatSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &absMaxHeatSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5558,12 +5542,12 @@ namespace AbsMinCoolSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * absMinCoolSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AbsMinCoolSetpointLimit::Id, (uint8_t *) absMinCoolSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) absMinCoolSetpointLimit, sizeof(*absMinCoolSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t absMinCoolSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AbsMinCoolSetpointLimit::Id, (uint8_t *) &absMinCoolSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &absMinCoolSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5573,12 +5557,12 @@ namespace AbsMaxCoolSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * absMaxCoolSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AbsMaxCoolSetpointLimit::Id, (uint8_t *) absMaxCoolSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) absMaxCoolSetpointLimit, sizeof(*absMaxCoolSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t absMaxCoolSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AbsMaxCoolSetpointLimit::Id, (uint8_t *) &absMaxCoolSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &absMaxCoolSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5588,12 +5572,12 @@ namespace PiCoolingDemand { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * piCoolingDemand) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, PiCoolingDemand::Id, (uint8_t *) piCoolingDemand, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) piCoolingDemand, sizeof(*piCoolingDemand)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t piCoolingDemand) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, PiCoolingDemand::Id, (uint8_t *) &piCoolingDemand, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &piCoolingDemand, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -5603,12 +5587,12 @@ namespace PiHeatingDemand { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * piHeatingDemand) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, PiHeatingDemand::Id, (uint8_t *) piHeatingDemand, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) piHeatingDemand, sizeof(*piHeatingDemand)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t piHeatingDemand) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, PiHeatingDemand::Id, (uint8_t *) &piHeatingDemand, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &piHeatingDemand, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -5618,13 +5602,13 @@ namespace HvacSystemTypeConfiguration { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * hvacSystemTypeConfiguration) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, HvacSystemTypeConfiguration::Id, - (uint8_t *) hvacSystemTypeConfiguration, sizeof(*hvacSystemTypeConfiguration)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) hvacSystemTypeConfiguration, + sizeof(*hvacSystemTypeConfiguration)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t hvacSystemTypeConfiguration) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, HvacSystemTypeConfiguration::Id, - (uint8_t *) &hvacSystemTypeConfiguration, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &hvacSystemTypeConfiguration, + ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace HvacSystemTypeConfiguration @@ -5633,13 +5617,13 @@ namespace LocalTemperatureCalibration { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * localTemperatureCalibration) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, LocalTemperatureCalibration::Id, - (uint8_t *) localTemperatureCalibration, sizeof(*localTemperatureCalibration)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) localTemperatureCalibration, + sizeof(*localTemperatureCalibration)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t localTemperatureCalibration) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, LocalTemperatureCalibration::Id, - (uint8_t *) &localTemperatureCalibration, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &localTemperatureCalibration, + ZCL_INT8S_ATTRIBUTE_TYPE); } } // namespace LocalTemperatureCalibration @@ -5648,12 +5632,12 @@ namespace OccupiedCoolingSetpoint { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * occupiedCoolingSetpoint) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, OccupiedCoolingSetpoint::Id, (uint8_t *) occupiedCoolingSetpoint, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) occupiedCoolingSetpoint, sizeof(*occupiedCoolingSetpoint)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t occupiedCoolingSetpoint) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, OccupiedCoolingSetpoint::Id, (uint8_t *) &occupiedCoolingSetpoint, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &occupiedCoolingSetpoint, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5663,12 +5647,12 @@ namespace OccupiedHeatingSetpoint { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * occupiedHeatingSetpoint) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, OccupiedHeatingSetpoint::Id, (uint8_t *) occupiedHeatingSetpoint, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) occupiedHeatingSetpoint, sizeof(*occupiedHeatingSetpoint)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t occupiedHeatingSetpoint) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, OccupiedHeatingSetpoint::Id, (uint8_t *) &occupiedHeatingSetpoint, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &occupiedHeatingSetpoint, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5678,13 +5662,13 @@ namespace UnoccupiedCoolingSetpoint { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * unoccupiedCoolingSetpoint) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, UnoccupiedCoolingSetpoint::Id, - (uint8_t *) unoccupiedCoolingSetpoint, sizeof(*unoccupiedCoolingSetpoint)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) unoccupiedCoolingSetpoint, + sizeof(*unoccupiedCoolingSetpoint)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t unoccupiedCoolingSetpoint) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, UnoccupiedCoolingSetpoint::Id, - (uint8_t *) &unoccupiedCoolingSetpoint, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &unoccupiedCoolingSetpoint, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace UnoccupiedCoolingSetpoint @@ -5693,13 +5677,13 @@ namespace UnoccupiedHeatingSetpoint { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * unoccupiedHeatingSetpoint) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, UnoccupiedHeatingSetpoint::Id, - (uint8_t *) unoccupiedHeatingSetpoint, sizeof(*unoccupiedHeatingSetpoint)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) unoccupiedHeatingSetpoint, + sizeof(*unoccupiedHeatingSetpoint)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t unoccupiedHeatingSetpoint) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, UnoccupiedHeatingSetpoint::Id, - (uint8_t *) &unoccupiedHeatingSetpoint, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &unoccupiedHeatingSetpoint, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace UnoccupiedHeatingSetpoint @@ -5708,12 +5692,12 @@ namespace MinHeatSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minHeatSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, MinHeatSetpointLimit::Id, (uint8_t *) minHeatSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) minHeatSetpointLimit, sizeof(*minHeatSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minHeatSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, MinHeatSetpointLimit::Id, (uint8_t *) &minHeatSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &minHeatSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5723,12 +5707,12 @@ namespace MaxHeatSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxHeatSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, MaxHeatSetpointLimit::Id, (uint8_t *) maxHeatSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) maxHeatSetpointLimit, sizeof(*maxHeatSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxHeatSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, MaxHeatSetpointLimit::Id, (uint8_t *) &maxHeatSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &maxHeatSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5738,12 +5722,12 @@ namespace MinCoolSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minCoolSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, MinCoolSetpointLimit::Id, (uint8_t *) minCoolSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) minCoolSetpointLimit, sizeof(*minCoolSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minCoolSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, MinCoolSetpointLimit::Id, (uint8_t *) &minCoolSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &minCoolSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5753,12 +5737,12 @@ namespace MaxCoolSetpointLimit { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxCoolSetpointLimit) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, MaxCoolSetpointLimit::Id, (uint8_t *) maxCoolSetpointLimit, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) maxCoolSetpointLimit, sizeof(*maxCoolSetpointLimit)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxCoolSetpointLimit) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, MaxCoolSetpointLimit::Id, (uint8_t *) &maxCoolSetpointLimit, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &maxCoolSetpointLimit, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5768,12 +5752,12 @@ namespace MinSetpointDeadBand { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * minSetpointDeadBand) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, MinSetpointDeadBand::Id, (uint8_t *) minSetpointDeadBand, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) minSetpointDeadBand, sizeof(*minSetpointDeadBand)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t minSetpointDeadBand) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, MinSetpointDeadBand::Id, (uint8_t *) &minSetpointDeadBand, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &minSetpointDeadBand, ZCL_INT8S_ATTRIBUTE_TYPE); } @@ -5783,12 +5767,11 @@ namespace RemoteSensing { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * remoteSensing) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, RemoteSensing::Id, (uint8_t *) remoteSensing, - sizeof(*remoteSensing)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) remoteSensing, sizeof(*remoteSensing)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t remoteSensing) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, RemoteSensing::Id, (uint8_t *) &remoteSensing, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &remoteSensing, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -5798,13 +5781,13 @@ namespace ControlSequenceOfOperation { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * controlSequenceOfOperation) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, ControlSequenceOfOperation::Id, - (uint8_t *) controlSequenceOfOperation, sizeof(*controlSequenceOfOperation)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) controlSequenceOfOperation, + sizeof(*controlSequenceOfOperation)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t controlSequenceOfOperation) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, ControlSequenceOfOperation::Id, - (uint8_t *) &controlSequenceOfOperation, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &controlSequenceOfOperation, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace ControlSequenceOfOperation @@ -5813,11 +5796,11 @@ namespace SystemMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * systemMode) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, SystemMode::Id, (uint8_t *) systemMode, sizeof(*systemMode)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) systemMode, sizeof(*systemMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t systemMode) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, SystemMode::Id, (uint8_t *) &systemMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &systemMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace SystemMode @@ -5826,11 +5809,11 @@ namespace AlarmMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * alarmMask) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AlarmMask::Id, (uint8_t *) alarmMask, sizeof(*alarmMask)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) alarmMask, sizeof(*alarmMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t alarmMask) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AlarmMask::Id, (uint8_t *) &alarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &alarmMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace AlarmMask @@ -5839,12 +5822,12 @@ namespace ThermostatRunningMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * thermostatRunningMode) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, ThermostatRunningMode::Id, (uint8_t *) thermostatRunningMode, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) thermostatRunningMode, sizeof(*thermostatRunningMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t thermostatRunningMode) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, ThermostatRunningMode::Id, (uint8_t *) &thermostatRunningMode, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &thermostatRunningMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5854,12 +5837,11 @@ namespace StartOfWeek { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * startOfWeek) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, StartOfWeek::Id, (uint8_t *) startOfWeek, sizeof(*startOfWeek)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) startOfWeek, sizeof(*startOfWeek)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t startOfWeek) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, StartOfWeek::Id, (uint8_t *) &startOfWeek, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &startOfWeek, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace StartOfWeek @@ -5868,13 +5850,13 @@ namespace NumberOfWeeklyTransitions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numberOfWeeklyTransitions) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, NumberOfWeeklyTransitions::Id, - (uint8_t *) numberOfWeeklyTransitions, sizeof(*numberOfWeeklyTransitions)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) numberOfWeeklyTransitions, + sizeof(*numberOfWeeklyTransitions)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numberOfWeeklyTransitions) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, NumberOfWeeklyTransitions::Id, - (uint8_t *) &numberOfWeeklyTransitions, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &numberOfWeeklyTransitions, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumberOfWeeklyTransitions @@ -5883,13 +5865,13 @@ namespace NumberOfDailyTransitions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numberOfDailyTransitions) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, NumberOfDailyTransitions::Id, (uint8_t *) numberOfDailyTransitions, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) numberOfDailyTransitions, sizeof(*numberOfDailyTransitions)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numberOfDailyTransitions) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, NumberOfDailyTransitions::Id, - (uint8_t *) &numberOfDailyTransitions, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &numberOfDailyTransitions, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumberOfDailyTransitions @@ -5898,12 +5880,12 @@ namespace TemperatureSetpointHold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * temperatureSetpointHold) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, TemperatureSetpointHold::Id, (uint8_t *) temperatureSetpointHold, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) temperatureSetpointHold, sizeof(*temperatureSetpointHold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t temperatureSetpointHold) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, TemperatureSetpointHold::Id, (uint8_t *) &temperatureSetpointHold, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &temperatureSetpointHold, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5913,13 +5895,13 @@ namespace TemperatureSetpointHoldDuration { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * temperatureSetpointHoldDuration) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, TemperatureSetpointHoldDuration::Id, - (uint8_t *) temperatureSetpointHoldDuration, sizeof(*temperatureSetpointHoldDuration)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) temperatureSetpointHoldDuration, + sizeof(*temperatureSetpointHoldDuration)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t temperatureSetpointHoldDuration) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, TemperatureSetpointHoldDuration::Id, - (uint8_t *) &temperatureSetpointHoldDuration, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &temperatureSetpointHoldDuration, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace TemperatureSetpointHoldDuration @@ -5928,13 +5910,13 @@ namespace ThermostatProgrammingOperationMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * thermostatProgrammingOperationMode) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, ThermostatProgrammingOperationMode::Id, - (uint8_t *) thermostatProgrammingOperationMode, sizeof(*thermostatProgrammingOperationMode)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) thermostatProgrammingOperationMode, + sizeof(*thermostatProgrammingOperationMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t thermostatProgrammingOperationMode) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, ThermostatProgrammingOperationMode::Id, - (uint8_t *) &thermostatProgrammingOperationMode, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &thermostatProgrammingOperationMode, + ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace ThermostatProgrammingOperationMode @@ -5943,12 +5925,11 @@ namespace HvacRelayState { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * hvacRelayState) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, HvacRelayState::Id, (uint8_t *) hvacRelayState, - sizeof(*hvacRelayState)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) hvacRelayState, sizeof(*hvacRelayState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t hvacRelayState) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, HvacRelayState::Id, (uint8_t *) &hvacRelayState, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &hvacRelayState, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -5958,12 +5939,12 @@ namespace SetpointChangeSource { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * setpointChangeSource) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, SetpointChangeSource::Id, (uint8_t *) setpointChangeSource, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) setpointChangeSource, sizeof(*setpointChangeSource)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t setpointChangeSource) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, SetpointChangeSource::Id, (uint8_t *) &setpointChangeSource, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &setpointChangeSource, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -5973,12 +5954,12 @@ namespace SetpointChangeAmount { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * setpointChangeAmount) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, SetpointChangeAmount::Id, (uint8_t *) setpointChangeAmount, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) setpointChangeAmount, sizeof(*setpointChangeAmount)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t setpointChangeAmount) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, SetpointChangeAmount::Id, (uint8_t *) &setpointChangeAmount, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &setpointChangeAmount, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -5988,13 +5969,13 @@ namespace SetpointChangeSourceTimestamp { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * setpointChangeSourceTimestamp) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, SetpointChangeSourceTimestamp::Id, - (uint8_t *) setpointChangeSourceTimestamp, sizeof(*setpointChangeSourceTimestamp)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) setpointChangeSourceTimestamp, + sizeof(*setpointChangeSourceTimestamp)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t setpointChangeSourceTimestamp) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, SetpointChangeSourceTimestamp::Id, - (uint8_t *) &setpointChangeSourceTimestamp, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &setpointChangeSourceTimestamp, + ZCL_EPOCH_S_ATTRIBUTE_TYPE); } } // namespace SetpointChangeSourceTimestamp @@ -6003,11 +5984,11 @@ namespace AcType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * acType) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcType::Id, (uint8_t *) acType, sizeof(*acType)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acType, sizeof(*acType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t acType) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcType::Id, (uint8_t *) &acType, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acType, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace AcType @@ -6016,12 +5997,11 @@ namespace AcCapacity { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acCapacity) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcCapacity::Id, (uint8_t *) acCapacity, sizeof(*acCapacity)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acCapacity, sizeof(*acCapacity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acCapacity) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcCapacity::Id, (uint8_t *) &acCapacity, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acCapacity, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AcCapacity @@ -6030,12 +6010,12 @@ namespace AcRefrigerantType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * acRefrigerantType) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcRefrigerantType::Id, (uint8_t *) acRefrigerantType, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acRefrigerantType, sizeof(*acRefrigerantType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t acRefrigerantType) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcRefrigerantType::Id, (uint8_t *) &acRefrigerantType, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acRefrigerantType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6045,12 +6025,11 @@ namespace AcCompressor { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * acCompressor) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcCompressor::Id, (uint8_t *) acCompressor, sizeof(*acCompressor)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acCompressor, sizeof(*acCompressor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t acCompressor) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcCompressor::Id, (uint8_t *) &acCompressor, - ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acCompressor, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace AcCompressor @@ -6059,11 +6038,11 @@ namespace AcErrorCode { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * acErrorCode) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcErrorCode::Id, (uint8_t *) acErrorCode, sizeof(*acErrorCode)); + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acErrorCode, sizeof(*acErrorCode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t acErrorCode) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcErrorCode::Id, (uint8_t *) &acErrorCode, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acErrorCode, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -6073,12 +6052,12 @@ namespace AcLouverPosition { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * acLouverPosition) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcLouverPosition::Id, (uint8_t *) acLouverPosition, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acLouverPosition, sizeof(*acLouverPosition)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t acLouverPosition) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcLouverPosition::Id, (uint8_t *) &acLouverPosition, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acLouverPosition, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6088,12 +6067,12 @@ namespace AcCoilTemperature { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * acCoilTemperature) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcCoilTemperature::Id, (uint8_t *) acCoilTemperature, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acCoilTemperature, sizeof(*acCoilTemperature)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t acCoilTemperature) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcCoilTemperature::Id, (uint8_t *) &acCoilTemperature, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acCoilTemperature, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -6103,12 +6082,12 @@ namespace AcCapacityFormat { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * acCapacityFormat) { - return emberAfReadServerAttribute(endpoint, Thermostat::Id, AcCapacityFormat::Id, (uint8_t *) acCapacityFormat, + return emberAfReadServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) acCapacityFormat, sizeof(*acCapacityFormat)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t acCapacityFormat) { - return emberAfWriteServerAttribute(endpoint, Thermostat::Id, AcCapacityFormat::Id, (uint8_t *) &acCapacityFormat, + return emberAfWriteServerAttribute(endpoint, Clusters::Thermostat::Id, Id, (uint8_t *) &acCapacityFormat, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6124,11 +6103,11 @@ namespace FanMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * fanMode) { - return emberAfReadServerAttribute(endpoint, FanControl::Id, FanMode::Id, (uint8_t *) fanMode, sizeof(*fanMode)); + return emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, (uint8_t *) fanMode, sizeof(*fanMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t fanMode) { - return emberAfWriteServerAttribute(endpoint, FanControl::Id, FanMode::Id, (uint8_t *) &fanMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, (uint8_t *) &fanMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace FanMode @@ -6137,12 +6116,12 @@ namespace FanModeSequence { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * fanModeSequence) { - return emberAfReadServerAttribute(endpoint, FanControl::Id, FanModeSequence::Id, (uint8_t *) fanModeSequence, + return emberAfReadServerAttribute(endpoint, Clusters::FanControl::Id, Id, (uint8_t *) fanModeSequence, sizeof(*fanModeSequence)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t fanModeSequence) { - return emberAfWriteServerAttribute(endpoint, FanControl::Id, FanModeSequence::Id, (uint8_t *) &fanModeSequence, + return emberAfWriteServerAttribute(endpoint, Clusters::FanControl::Id, Id, (uint8_t *) &fanModeSequence, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6158,12 +6137,12 @@ namespace RelativeHumidity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * relativeHumidity) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidity::Id, (uint8_t *) relativeHumidity, + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) relativeHumidity, sizeof(*relativeHumidity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t relativeHumidity) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidity::Id, (uint8_t *) &relativeHumidity, + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &relativeHumidity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6173,13 +6152,13 @@ namespace DehumidificationCooling { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * dehumidificationCooling) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationCooling::Id, - (uint8_t *) dehumidificationCooling, sizeof(*dehumidificationCooling)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) dehumidificationCooling, + sizeof(*dehumidificationCooling)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t dehumidificationCooling) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationCooling::Id, - (uint8_t *) &dehumidificationCooling, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &dehumidificationCooling, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace DehumidificationCooling @@ -6188,13 +6167,13 @@ namespace RhDehumidificationSetpoint { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * rhDehumidificationSetpoint) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, RhDehumidificationSetpoint::Id, - (uint8_t *) rhDehumidificationSetpoint, sizeof(*rhDehumidificationSetpoint)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) rhDehumidificationSetpoint, + sizeof(*rhDehumidificationSetpoint)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t rhDehumidificationSetpoint) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, RhDehumidificationSetpoint::Id, - (uint8_t *) &rhDehumidificationSetpoint, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &rhDehumidificationSetpoint, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace RhDehumidificationSetpoint @@ -6203,13 +6182,13 @@ namespace RelativeHumidityMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * relativeHumidityMode) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidityMode::Id, - (uint8_t *) relativeHumidityMode, sizeof(*relativeHumidityMode)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) relativeHumidityMode, + sizeof(*relativeHumidityMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t relativeHumidityMode) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidityMode::Id, - (uint8_t *) &relativeHumidityMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &relativeHumidityMode, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace RelativeHumidityMode @@ -6218,13 +6197,13 @@ namespace DehumidificationLockout { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * dehumidificationLockout) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationLockout::Id, - (uint8_t *) dehumidificationLockout, sizeof(*dehumidificationLockout)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) dehumidificationLockout, + sizeof(*dehumidificationLockout)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t dehumidificationLockout) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationLockout::Id, - (uint8_t *) &dehumidificationLockout, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &dehumidificationLockout, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace DehumidificationLockout @@ -6233,13 +6212,13 @@ namespace DehumidificationHysteresis { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * dehumidificationHysteresis) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationHysteresis::Id, - (uint8_t *) dehumidificationHysteresis, sizeof(*dehumidificationHysteresis)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) dehumidificationHysteresis, + sizeof(*dehumidificationHysteresis)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t dehumidificationHysteresis) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationHysteresis::Id, - (uint8_t *) &dehumidificationHysteresis, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &dehumidificationHysteresis, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace DehumidificationHysteresis @@ -6248,13 +6227,13 @@ namespace DehumidificationMaxCool { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * dehumidificationMaxCool) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationMaxCool::Id, - (uint8_t *) dehumidificationMaxCool, sizeof(*dehumidificationMaxCool)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) dehumidificationMaxCool, + sizeof(*dehumidificationMaxCool)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t dehumidificationMaxCool) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, DehumidificationMaxCool::Id, - (uint8_t *) &dehumidificationMaxCool, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &dehumidificationMaxCool, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace DehumidificationMaxCool @@ -6263,13 +6242,13 @@ namespace RelativeHumidityDisplay { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * relativeHumidityDisplay) { - return emberAfReadServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidityDisplay::Id, - (uint8_t *) relativeHumidityDisplay, sizeof(*relativeHumidityDisplay)); + return emberAfReadServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) relativeHumidityDisplay, + sizeof(*relativeHumidityDisplay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t relativeHumidityDisplay) { - return emberAfWriteServerAttribute(endpoint, DehumidificationControl::Id, RelativeHumidityDisplay::Id, - (uint8_t *) &relativeHumidityDisplay, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::DehumidificationControl::Id, Id, (uint8_t *) &relativeHumidityDisplay, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace RelativeHumidityDisplay @@ -6284,12 +6263,12 @@ namespace TemperatureDisplayMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * temperatureDisplayMode) { - return emberAfReadServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, TemperatureDisplayMode::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) temperatureDisplayMode, sizeof(*temperatureDisplayMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t temperatureDisplayMode) { - return emberAfWriteServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, TemperatureDisplayMode::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) &temperatureDisplayMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6299,13 +6278,13 @@ namespace KeypadLockout { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * keypadLockout) { - return emberAfReadServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, KeypadLockout::Id, - (uint8_t *) keypadLockout, sizeof(*keypadLockout)); + return emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) keypadLockout, + sizeof(*keypadLockout)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t keypadLockout) { - return emberAfWriteServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, KeypadLockout::Id, - (uint8_t *) &keypadLockout, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) &keypadLockout, + ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace KeypadLockout @@ -6314,12 +6293,12 @@ namespace ScheduleProgrammingVisibility { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * scheduleProgrammingVisibility) { - return emberAfReadServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, ScheduleProgrammingVisibility::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) scheduleProgrammingVisibility, sizeof(*scheduleProgrammingVisibility)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t scheduleProgrammingVisibility) { - return emberAfWriteServerAttribute(endpoint, ThermostatUserInterfaceConfiguration::Id, ScheduleProgrammingVisibility::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ThermostatUserInterfaceConfiguration::Id, Id, (uint8_t *) &scheduleProgrammingVisibility, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6335,12 +6314,11 @@ namespace CurrentHue { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentHue) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, CurrentHue::Id, (uint8_t *) currentHue, sizeof(*currentHue)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) currentHue, sizeof(*currentHue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentHue) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, CurrentHue::Id, (uint8_t *) ¤tHue, - ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) ¤tHue, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentHue @@ -6349,12 +6327,12 @@ namespace CurrentSaturation { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentSaturation) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, CurrentSaturation::Id, (uint8_t *) currentSaturation, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) currentSaturation, sizeof(*currentSaturation)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentSaturation) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, CurrentSaturation::Id, (uint8_t *) ¤tSaturation, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) ¤tSaturation, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6364,12 +6342,11 @@ namespace RemainingTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * remainingTime) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, RemainingTime::Id, (uint8_t *) remainingTime, - sizeof(*remainingTime)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) remainingTime, sizeof(*remainingTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t remainingTime) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, RemainingTime::Id, (uint8_t *) &remainingTime, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &remainingTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6379,11 +6356,11 @@ namespace CurrentX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentX) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, CurrentX::Id, (uint8_t *) currentX, sizeof(*currentX)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) currentX, sizeof(*currentX)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentX) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, CurrentX::Id, (uint8_t *) ¤tX, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) ¤tX, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CurrentX @@ -6392,11 +6369,11 @@ namespace CurrentY { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * currentY) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, CurrentY::Id, (uint8_t *) currentY, sizeof(*currentY)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) currentY, sizeof(*currentY)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t currentY) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, CurrentY::Id, (uint8_t *) ¤tY, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) ¤tY, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CurrentY @@ -6405,12 +6382,12 @@ namespace DriftCompensation { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * driftCompensation) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, DriftCompensation::Id, (uint8_t *) driftCompensation, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) driftCompensation, sizeof(*driftCompensation)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t driftCompensation) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, DriftCompensation::Id, (uint8_t *) &driftCompensation, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &driftCompensation, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6420,12 +6397,12 @@ namespace ColorTemperature { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorTemperature) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorTemperature::Id, (uint8_t *) colorTemperature, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorTemperature, sizeof(*colorTemperature)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorTemperature) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorTemperature::Id, (uint8_t *) &colorTemperature, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorTemperature, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6435,11 +6412,11 @@ namespace ColorMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorMode) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorMode::Id, (uint8_t *) colorMode, sizeof(*colorMode)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorMode, sizeof(*colorMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorMode) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorMode::Id, (uint8_t *) &colorMode, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace ColorMode @@ -6448,12 +6425,12 @@ namespace ColorControlOptions { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorControlOptions) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorControlOptions::Id, (uint8_t *) colorControlOptions, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorControlOptions, sizeof(*colorControlOptions)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorControlOptions) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorControlOptions::Id, (uint8_t *) &colorControlOptions, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorControlOptions, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -6463,12 +6440,12 @@ namespace NumberOfPrimaries { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numberOfPrimaries) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, NumberOfPrimaries::Id, (uint8_t *) numberOfPrimaries, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) numberOfPrimaries, sizeof(*numberOfPrimaries)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numberOfPrimaries) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, NumberOfPrimaries::Id, (uint8_t *) &numberOfPrimaries, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &numberOfPrimaries, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6478,12 +6455,11 @@ namespace Primary1X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary1X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary1X::Id, (uint8_t *) primary1X, sizeof(*primary1X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary1X, sizeof(*primary1X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary1X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary1X::Id, (uint8_t *) &primary1X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary1X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary1X @@ -6492,12 +6468,11 @@ namespace Primary1Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary1Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary1Y::Id, (uint8_t *) primary1Y, sizeof(*primary1Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary1Y, sizeof(*primary1Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary1Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary1Y::Id, (uint8_t *) &primary1Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary1Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary1Y @@ -6506,12 +6481,12 @@ namespace Primary1Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary1Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary1Intensity::Id, (uint8_t *) primary1Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary1Intensity, sizeof(*primary1Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary1Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary1Intensity::Id, (uint8_t *) &primary1Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary1Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6521,12 +6496,11 @@ namespace Primary2X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary2X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary2X::Id, (uint8_t *) primary2X, sizeof(*primary2X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary2X, sizeof(*primary2X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary2X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary2X::Id, (uint8_t *) &primary2X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary2X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary2X @@ -6535,12 +6509,11 @@ namespace Primary2Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary2Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary2Y::Id, (uint8_t *) primary2Y, sizeof(*primary2Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary2Y, sizeof(*primary2Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary2Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary2Y::Id, (uint8_t *) &primary2Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary2Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary2Y @@ -6549,12 +6522,12 @@ namespace Primary2Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary2Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary2Intensity::Id, (uint8_t *) primary2Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary2Intensity, sizeof(*primary2Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary2Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary2Intensity::Id, (uint8_t *) &primary2Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary2Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6564,12 +6537,11 @@ namespace Primary3X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary3X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary3X::Id, (uint8_t *) primary3X, sizeof(*primary3X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary3X, sizeof(*primary3X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary3X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary3X::Id, (uint8_t *) &primary3X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary3X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary3X @@ -6578,12 +6550,11 @@ namespace Primary3Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary3Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary3Y::Id, (uint8_t *) primary3Y, sizeof(*primary3Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary3Y, sizeof(*primary3Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary3Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary3Y::Id, (uint8_t *) &primary3Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary3Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary3Y @@ -6592,12 +6563,12 @@ namespace Primary3Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary3Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary3Intensity::Id, (uint8_t *) primary3Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary3Intensity, sizeof(*primary3Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary3Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary3Intensity::Id, (uint8_t *) &primary3Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary3Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6607,12 +6578,11 @@ namespace Primary4X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary4X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary4X::Id, (uint8_t *) primary4X, sizeof(*primary4X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary4X, sizeof(*primary4X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary4X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary4X::Id, (uint8_t *) &primary4X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary4X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary4X @@ -6621,12 +6591,11 @@ namespace Primary4Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary4Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary4Y::Id, (uint8_t *) primary4Y, sizeof(*primary4Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary4Y, sizeof(*primary4Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary4Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary4Y::Id, (uint8_t *) &primary4Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary4Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary4Y @@ -6635,12 +6604,12 @@ namespace Primary4Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary4Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary4Intensity::Id, (uint8_t *) primary4Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary4Intensity, sizeof(*primary4Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary4Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary4Intensity::Id, (uint8_t *) &primary4Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary4Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6650,12 +6619,11 @@ namespace Primary5X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary5X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary5X::Id, (uint8_t *) primary5X, sizeof(*primary5X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary5X, sizeof(*primary5X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary5X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary5X::Id, (uint8_t *) &primary5X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary5X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary5X @@ -6664,12 +6632,11 @@ namespace Primary5Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary5Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary5Y::Id, (uint8_t *) primary5Y, sizeof(*primary5Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary5Y, sizeof(*primary5Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary5Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary5Y::Id, (uint8_t *) &primary5Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary5Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary5Y @@ -6678,12 +6645,12 @@ namespace Primary5Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary5Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary5Intensity::Id, (uint8_t *) primary5Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary5Intensity, sizeof(*primary5Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary5Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary5Intensity::Id, (uint8_t *) &primary5Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary5Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6693,12 +6660,11 @@ namespace Primary6X { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary6X) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary6X::Id, (uint8_t *) primary6X, sizeof(*primary6X)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary6X, sizeof(*primary6X)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary6X) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary6X::Id, (uint8_t *) &primary6X, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary6X, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary6X @@ -6707,12 +6673,11 @@ namespace Primary6Y { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * primary6Y) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary6Y::Id, (uint8_t *) primary6Y, sizeof(*primary6Y)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary6Y, sizeof(*primary6Y)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t primary6Y) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary6Y::Id, (uint8_t *) &primary6Y, - ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary6Y, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Primary6Y @@ -6721,12 +6686,12 @@ namespace Primary6Intensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * primary6Intensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, Primary6Intensity::Id, (uint8_t *) primary6Intensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) primary6Intensity, sizeof(*primary6Intensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t primary6Intensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, Primary6Intensity::Id, (uint8_t *) &primary6Intensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &primary6Intensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6736,11 +6701,11 @@ namespace WhitePointX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * whitePointX) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, WhitePointX::Id, (uint8_t *) whitePointX, sizeof(*whitePointX)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) whitePointX, sizeof(*whitePointX)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t whitePointX) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, WhitePointX::Id, (uint8_t *) &whitePointX, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &whitePointX, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6750,11 +6715,11 @@ namespace WhitePointY { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * whitePointY) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, WhitePointY::Id, (uint8_t *) whitePointY, sizeof(*whitePointY)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) whitePointY, sizeof(*whitePointY)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t whitePointY) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, WhitePointY::Id, (uint8_t *) &whitePointY, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &whitePointY, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6764,12 +6729,11 @@ namespace ColorPointRX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointRX) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointRX::Id, (uint8_t *) colorPointRX, - sizeof(*colorPointRX)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointRX, sizeof(*colorPointRX)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointRX) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointRX::Id, (uint8_t *) &colorPointRX, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointRX, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6779,12 +6743,11 @@ namespace ColorPointRY { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointRY) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointRY::Id, (uint8_t *) colorPointRY, - sizeof(*colorPointRY)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointRY, sizeof(*colorPointRY)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointRY) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointRY::Id, (uint8_t *) &colorPointRY, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointRY, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6794,12 +6757,12 @@ namespace ColorPointRIntensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorPointRIntensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointRIntensity::Id, (uint8_t *) colorPointRIntensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointRIntensity, sizeof(*colorPointRIntensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorPointRIntensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointRIntensity::Id, (uint8_t *) &colorPointRIntensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointRIntensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6809,12 +6772,11 @@ namespace ColorPointGX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointGX) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointGX::Id, (uint8_t *) colorPointGX, - sizeof(*colorPointGX)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointGX, sizeof(*colorPointGX)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointGX) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointGX::Id, (uint8_t *) &colorPointGX, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointGX, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6824,12 +6786,11 @@ namespace ColorPointGY { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointGY) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointGY::Id, (uint8_t *) colorPointGY, - sizeof(*colorPointGY)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointGY, sizeof(*colorPointGY)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointGY) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointGY::Id, (uint8_t *) &colorPointGY, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointGY, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6839,12 +6800,12 @@ namespace ColorPointGIntensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorPointGIntensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointGIntensity::Id, (uint8_t *) colorPointGIntensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointGIntensity, sizeof(*colorPointGIntensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorPointGIntensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointGIntensity::Id, (uint8_t *) &colorPointGIntensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointGIntensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6854,12 +6815,11 @@ namespace ColorPointBX { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointBX) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointBX::Id, (uint8_t *) colorPointBX, - sizeof(*colorPointBX)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointBX, sizeof(*colorPointBX)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointBX) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointBX::Id, (uint8_t *) &colorPointBX, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointBX, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6869,12 +6829,11 @@ namespace ColorPointBY { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorPointBY) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointBY::Id, (uint8_t *) colorPointBY, - sizeof(*colorPointBY)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointBY, sizeof(*colorPointBY)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorPointBY) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointBY::Id, (uint8_t *) &colorPointBY, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointBY, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6884,12 +6843,12 @@ namespace ColorPointBIntensity { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorPointBIntensity) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorPointBIntensity::Id, (uint8_t *) colorPointBIntensity, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorPointBIntensity, sizeof(*colorPointBIntensity)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorPointBIntensity) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorPointBIntensity::Id, (uint8_t *) &colorPointBIntensity, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorPointBIntensity, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6899,12 +6858,12 @@ namespace EnhancedCurrentHue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * enhancedCurrentHue) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, EnhancedCurrentHue::Id, (uint8_t *) enhancedCurrentHue, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) enhancedCurrentHue, sizeof(*enhancedCurrentHue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t enhancedCurrentHue) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, EnhancedCurrentHue::Id, (uint8_t *) &enhancedCurrentHue, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &enhancedCurrentHue, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6914,12 +6873,12 @@ namespace EnhancedColorMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * enhancedColorMode) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, EnhancedColorMode::Id, (uint8_t *) enhancedColorMode, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) enhancedColorMode, sizeof(*enhancedColorMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t enhancedColorMode) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, EnhancedColorMode::Id, (uint8_t *) &enhancedColorMode, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &enhancedColorMode, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -6929,12 +6888,12 @@ namespace ColorLoopActive { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorLoopActive) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorLoopActive::Id, (uint8_t *) colorLoopActive, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorLoopActive, sizeof(*colorLoopActive)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorLoopActive) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorLoopActive::Id, (uint8_t *) &colorLoopActive, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorLoopActive, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6944,12 +6903,12 @@ namespace ColorLoopDirection { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * colorLoopDirection) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorLoopDirection::Id, (uint8_t *) colorLoopDirection, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorLoopDirection, sizeof(*colorLoopDirection)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t colorLoopDirection) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorLoopDirection::Id, (uint8_t *) &colorLoopDirection, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorLoopDirection, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -6959,12 +6918,11 @@ namespace ColorLoopTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorLoopTime) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorLoopTime::Id, (uint8_t *) colorLoopTime, - sizeof(*colorLoopTime)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorLoopTime, sizeof(*colorLoopTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorLoopTime) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorLoopTime::Id, (uint8_t *) &colorLoopTime, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorLoopTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -6974,13 +6932,13 @@ namespace ColorLoopStartEnhancedHue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorLoopStartEnhancedHue) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorLoopStartEnhancedHue::Id, - (uint8_t *) colorLoopStartEnhancedHue, sizeof(*colorLoopStartEnhancedHue)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorLoopStartEnhancedHue, + sizeof(*colorLoopStartEnhancedHue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorLoopStartEnhancedHue) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorLoopStartEnhancedHue::Id, - (uint8_t *) &colorLoopStartEnhancedHue, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorLoopStartEnhancedHue, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ColorLoopStartEnhancedHue @@ -6989,13 +6947,13 @@ namespace ColorLoopStoredEnhancedHue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorLoopStoredEnhancedHue) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorLoopStoredEnhancedHue::Id, - (uint8_t *) colorLoopStoredEnhancedHue, sizeof(*colorLoopStoredEnhancedHue)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorLoopStoredEnhancedHue, + sizeof(*colorLoopStoredEnhancedHue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorLoopStoredEnhancedHue) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorLoopStoredEnhancedHue::Id, - (uint8_t *) &colorLoopStoredEnhancedHue, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorLoopStoredEnhancedHue, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ColorLoopStoredEnhancedHue @@ -7004,12 +6962,12 @@ namespace ColorCapabilities { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorCapabilities) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorCapabilities::Id, (uint8_t *) colorCapabilities, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorCapabilities, sizeof(*colorCapabilities)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorCapabilities) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorCapabilities::Id, (uint8_t *) &colorCapabilities, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorCapabilities, ZCL_BITMAP16_ATTRIBUTE_TYPE); } @@ -7019,12 +6977,12 @@ namespace ColorTempPhysicalMin { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorTempPhysicalMin) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorTempPhysicalMin::Id, (uint8_t *) colorTempPhysicalMin, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorTempPhysicalMin, sizeof(*colorTempPhysicalMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorTempPhysicalMin) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorTempPhysicalMin::Id, (uint8_t *) &colorTempPhysicalMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorTempPhysicalMin, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7034,12 +6992,12 @@ namespace ColorTempPhysicalMax { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * colorTempPhysicalMax) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, ColorTempPhysicalMax::Id, (uint8_t *) colorTempPhysicalMax, + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) colorTempPhysicalMax, sizeof(*colorTempPhysicalMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t colorTempPhysicalMax) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, ColorTempPhysicalMax::Id, (uint8_t *) &colorTempPhysicalMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &colorTempPhysicalMax, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7049,13 +7007,13 @@ namespace CoupleColorTempToLevelMinMireds { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * coupleColorTempToLevelMinMireds) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, CoupleColorTempToLevelMinMireds::Id, - (uint8_t *) coupleColorTempToLevelMinMireds, sizeof(*coupleColorTempToLevelMinMireds)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) coupleColorTempToLevelMinMireds, + sizeof(*coupleColorTempToLevelMinMireds)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t coupleColorTempToLevelMinMireds) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, CoupleColorTempToLevelMinMireds::Id, - (uint8_t *) &coupleColorTempToLevelMinMireds, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &coupleColorTempToLevelMinMireds, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace CoupleColorTempToLevelMinMireds @@ -7064,13 +7022,13 @@ namespace StartUpColorTemperatureMireds { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * startUpColorTemperatureMireds) { - return emberAfReadServerAttribute(endpoint, ColorControl::Id, StartUpColorTemperatureMireds::Id, - (uint8_t *) startUpColorTemperatureMireds, sizeof(*startUpColorTemperatureMireds)); + return emberAfReadServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) startUpColorTemperatureMireds, + sizeof(*startUpColorTemperatureMireds)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t startUpColorTemperatureMireds) { - return emberAfWriteServerAttribute(endpoint, ColorControl::Id, StartUpColorTemperatureMireds::Id, - (uint8_t *) &startUpColorTemperatureMireds, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ColorControl::Id, Id, (uint8_t *) &startUpColorTemperatureMireds, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace StartUpColorTemperatureMireds @@ -7085,12 +7043,12 @@ namespace PhysicalMinLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * physicalMinLevel) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, PhysicalMinLevel::Id, (uint8_t *) physicalMinLevel, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) physicalMinLevel, sizeof(*physicalMinLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t physicalMinLevel) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, PhysicalMinLevel::Id, (uint8_t *) &physicalMinLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &physicalMinLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7100,12 +7058,12 @@ namespace PhysicalMaxLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * physicalMaxLevel) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, PhysicalMaxLevel::Id, (uint8_t *) physicalMaxLevel, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) physicalMaxLevel, sizeof(*physicalMaxLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t physicalMaxLevel) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, PhysicalMaxLevel::Id, (uint8_t *) &physicalMaxLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &physicalMaxLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7115,12 +7073,12 @@ namespace BallastStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * ballastStatus) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, BallastStatus::Id, (uint8_t *) ballastStatus, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) ballastStatus, sizeof(*ballastStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t ballastStatus) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, BallastStatus::Id, (uint8_t *) &ballastStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &ballastStatus, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -7130,11 +7088,11 @@ namespace MinLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * minLevel) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, MinLevel::Id, (uint8_t *) minLevel, sizeof(*minLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) minLevel, sizeof(*minLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t minLevel) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, MinLevel::Id, (uint8_t *) &minLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &minLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7144,11 +7102,11 @@ namespace MaxLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * maxLevel) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, MaxLevel::Id, (uint8_t *) maxLevel, sizeof(*maxLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) maxLevel, sizeof(*maxLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t maxLevel) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, MaxLevel::Id, (uint8_t *) &maxLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &maxLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7158,12 +7116,12 @@ namespace PowerOnLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * powerOnLevel) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, PowerOnLevel::Id, (uint8_t *) powerOnLevel, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) powerOnLevel, sizeof(*powerOnLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t powerOnLevel) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, PowerOnLevel::Id, (uint8_t *) &powerOnLevel, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &powerOnLevel, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7173,12 +7131,12 @@ namespace PowerOnFadeTime { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * powerOnFadeTime) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, PowerOnFadeTime::Id, (uint8_t *) powerOnFadeTime, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) powerOnFadeTime, sizeof(*powerOnFadeTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t powerOnFadeTime) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, PowerOnFadeTime::Id, (uint8_t *) &powerOnFadeTime, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &powerOnFadeTime, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7188,13 +7146,13 @@ namespace IntrinsicBallastFactor { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * intrinsicBallastFactor) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, IntrinsicBallastFactor::Id, - (uint8_t *) intrinsicBallastFactor, sizeof(*intrinsicBallastFactor)); + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) intrinsicBallastFactor, + sizeof(*intrinsicBallastFactor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t intrinsicBallastFactor) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, IntrinsicBallastFactor::Id, - (uint8_t *) &intrinsicBallastFactor, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &intrinsicBallastFactor, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace IntrinsicBallastFactor @@ -7203,13 +7161,13 @@ namespace BallastFactorAdjustment { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * ballastFactorAdjustment) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, BallastFactorAdjustment::Id, - (uint8_t *) ballastFactorAdjustment, sizeof(*ballastFactorAdjustment)); + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) ballastFactorAdjustment, + sizeof(*ballastFactorAdjustment)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t ballastFactorAdjustment) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, BallastFactorAdjustment::Id, - (uint8_t *) &ballastFactorAdjustment, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &ballastFactorAdjustment, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace BallastFactorAdjustment @@ -7218,12 +7176,12 @@ namespace LampQuality { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lampQuality) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, LampQuality::Id, (uint8_t *) lampQuality, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) lampQuality, sizeof(*lampQuality)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lampQuality) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, LampQuality::Id, (uint8_t *) &lampQuality, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &lampQuality, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7233,12 +7191,12 @@ namespace LampAlarmMode { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lampAlarmMode) { - return emberAfReadServerAttribute(endpoint, BallastConfiguration::Id, LampAlarmMode::Id, (uint8_t *) lampAlarmMode, + return emberAfReadServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) lampAlarmMode, sizeof(*lampAlarmMode)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lampAlarmMode) { - return emberAfWriteServerAttribute(endpoint, BallastConfiguration::Id, LampAlarmMode::Id, (uint8_t *) &lampAlarmMode, + return emberAfWriteServerAttribute(endpoint, Clusters::BallastConfiguration::Id, Id, (uint8_t *) &lampAlarmMode, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -7254,12 +7212,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * measuredValue) { - return emberAfReadServerAttribute(endpoint, IlluminanceMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t measuredValue) { - return emberAfWriteServerAttribute(endpoint, IlluminanceMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7269,12 +7227,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, IlluminanceMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) minMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, IlluminanceMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) &minMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7284,12 +7242,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, IlluminanceMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) maxMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, IlluminanceMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) &maxMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7299,12 +7257,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * tolerance) { - return emberAfReadServerAttribute(endpoint, IlluminanceMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t tolerance) { - return emberAfWriteServerAttribute(endpoint, IlluminanceMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7314,12 +7272,12 @@ namespace LightSensorType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lightSensorType) { - return emberAfReadServerAttribute(endpoint, IlluminanceMeasurement::Id, LightSensorType::Id, (uint8_t *) lightSensorType, + return emberAfReadServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) lightSensorType, sizeof(*lightSensorType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lightSensorType) { - return emberAfWriteServerAttribute(endpoint, IlluminanceMeasurement::Id, LightSensorType::Id, (uint8_t *) &lightSensorType, + return emberAfWriteServerAttribute(endpoint, Clusters::IlluminanceMeasurement::Id, Id, (uint8_t *) &lightSensorType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -7328,57 +7286,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lightSensorType) } // namespace Attributes } // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { -namespace Attributes { - -namespace LevelStatus { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * levelStatus) -{ - return emberAfReadServerAttribute(endpoint, IlluminanceLevelSensing::Id, LevelStatus::Id, (uint8_t *) levelStatus, - sizeof(*levelStatus)); -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t levelStatus) -{ - return emberAfWriteServerAttribute(endpoint, IlluminanceLevelSensing::Id, LevelStatus::Id, (uint8_t *) &levelStatus, - ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace LevelStatus - -namespace LightSensorType { - -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lightSensorType) -{ - return emberAfReadServerAttribute(endpoint, IlluminanceLevelSensing::Id, LightSensorType::Id, (uint8_t *) lightSensorType, - sizeof(*lightSensorType)); -} -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lightSensorType) -{ - return emberAfWriteServerAttribute(endpoint, IlluminanceLevelSensing::Id, LightSensorType::Id, (uint8_t *) &lightSensorType, - ZCL_ENUM8_ATTRIBUTE_TYPE); -} - -} // namespace LightSensorType - -namespace IlluminanceLevelTarget { - -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * illuminanceLevelTarget) -{ - return emberAfReadServerAttribute(endpoint, IlluminanceLevelSensing::Id, IlluminanceLevelTarget::Id, - (uint8_t *) illuminanceLevelTarget, sizeof(*illuminanceLevelTarget)); -} -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t illuminanceLevelTarget) -{ - return emberAfWriteServerAttribute(endpoint, IlluminanceLevelSensing::Id, IlluminanceLevelTarget::Id, - (uint8_t *) &illuminanceLevelTarget, ZCL_INT16U_ATTRIBUTE_TYPE); -} - -} // namespace IlluminanceLevelTarget - -} // namespace Attributes -} // namespace IlluminanceLevelSensing - namespace TemperatureMeasurement { namespace Attributes { @@ -7386,12 +7293,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredValue) { - return emberAfReadServerAttribute(endpoint, TemperatureMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredValue) { - return emberAfWriteServerAttribute(endpoint, TemperatureMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7401,12 +7308,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TemperatureMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) minMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TemperatureMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) &minMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7416,12 +7323,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TemperatureMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) maxMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TemperatureMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) &maxMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7431,12 +7338,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * tolerance) { - return emberAfReadServerAttribute(endpoint, TemperatureMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t tolerance) { - return emberAfWriteServerAttribute(endpoint, TemperatureMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::TemperatureMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7452,12 +7359,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7467,12 +7374,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) minMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) &minMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7482,12 +7389,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) maxMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) &maxMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7497,11 +7404,11 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * tolerance) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, sizeof(*tolerance)); + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t tolerance) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7511,12 +7418,12 @@ namespace ScaledValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * scaledValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, ScaledValue::Id, (uint8_t *) scaledValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) scaledValue, sizeof(*scaledValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t scaledValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, ScaledValue::Id, (uint8_t *) &scaledValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &scaledValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7526,12 +7433,12 @@ namespace MinScaledValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minScaledValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, MinScaledValue::Id, (uint8_t *) minScaledValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) minScaledValue, sizeof(*minScaledValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minScaledValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, MinScaledValue::Id, (uint8_t *) &minScaledValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &minScaledValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7541,12 +7448,12 @@ namespace MaxScaledValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxScaledValue) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, MaxScaledValue::Id, (uint8_t *) maxScaledValue, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) maxScaledValue, sizeof(*maxScaledValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxScaledValue) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, MaxScaledValue::Id, (uint8_t *) &maxScaledValue, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &maxScaledValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7556,12 +7463,12 @@ namespace ScaledTolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * scaledTolerance) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, ScaledTolerance::Id, (uint8_t *) scaledTolerance, + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) scaledTolerance, sizeof(*scaledTolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t scaledTolerance) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, ScaledTolerance::Id, (uint8_t *) &scaledTolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &scaledTolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7571,11 +7478,12 @@ namespace Scale { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * scale) { - return emberAfReadServerAttribute(endpoint, PressureMeasurement::Id, Scale::Id, (uint8_t *) scale, sizeof(*scale)); + return emberAfReadServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) scale, sizeof(*scale)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t scale) { - return emberAfWriteServerAttribute(endpoint, PressureMeasurement::Id, Scale::Id, (uint8_t *) &scale, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::PressureMeasurement::Id, Id, (uint8_t *) &scale, + ZCL_INT8S_ATTRIBUTE_TYPE); } } // namespace Scale @@ -7590,12 +7498,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredValue) { - return emberAfReadServerAttribute(endpoint, FlowMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredValue) { - return emberAfWriteServerAttribute(endpoint, FlowMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7605,12 +7513,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FlowMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) minMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FlowMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) &minMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7620,12 +7528,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FlowMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) maxMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FlowMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) &maxMeasuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -7635,11 +7543,11 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * tolerance) { - return emberAfReadServerAttribute(endpoint, FlowMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, sizeof(*tolerance)); + return emberAfReadServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t tolerance) { - return emberAfWriteServerAttribute(endpoint, FlowMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::FlowMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7655,12 +7563,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * measuredValue) { - return emberAfReadServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t measuredValue) { - return emberAfWriteServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7670,13 +7578,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MinMeasuredValue::Id, (uint8_t *) minMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -7685,13 +7593,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MaxMeasuredValue::Id, (uint8_t *) maxMeasuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, RelativeHumidityMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -7700,12 +7608,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * tolerance) { - return emberAfReadServerAttribute(endpoint, RelativeHumidityMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t tolerance) { - return emberAfWriteServerAttribute(endpoint, RelativeHumidityMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::RelativeHumidityMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7721,11 +7629,11 @@ namespace Occupancy { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * occupancy) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, Occupancy::Id, (uint8_t *) occupancy, sizeof(*occupancy)); + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) occupancy, sizeof(*occupancy)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t occupancy) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, Occupancy::Id, (uint8_t *) &occupancy, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &occupancy, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -7735,12 +7643,12 @@ namespace OccupancySensorType { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * occupancySensorType) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, OccupancySensorType::Id, (uint8_t *) occupancySensorType, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) occupancySensorType, sizeof(*occupancySensorType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t occupancySensorType) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, OccupancySensorType::Id, (uint8_t *) &occupancySensorType, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &occupancySensorType, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -7750,13 +7658,13 @@ namespace OccupancySensorTypeBitmap { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * occupancySensorTypeBitmap) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, OccupancySensorTypeBitmap::Id, - (uint8_t *) occupancySensorTypeBitmap, sizeof(*occupancySensorTypeBitmap)); + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) occupancySensorTypeBitmap, + sizeof(*occupancySensorTypeBitmap)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t occupancySensorTypeBitmap) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, OccupancySensorTypeBitmap::Id, - (uint8_t *) &occupancySensorTypeBitmap, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &occupancySensorTypeBitmap, + ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace OccupancySensorTypeBitmap @@ -7765,13 +7673,13 @@ namespace PirOccupiedToUnoccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * pirOccupiedToUnoccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PirOccupiedToUnoccupiedDelay::Id, - (uint8_t *) pirOccupiedToUnoccupiedDelay, sizeof(*pirOccupiedToUnoccupiedDelay)); + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) pirOccupiedToUnoccupiedDelay, + sizeof(*pirOccupiedToUnoccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t pirOccupiedToUnoccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PirOccupiedToUnoccupiedDelay::Id, - (uint8_t *) &pirOccupiedToUnoccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &pirOccupiedToUnoccupiedDelay, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace PirOccupiedToUnoccupiedDelay @@ -7780,13 +7688,13 @@ namespace PirUnoccupiedToOccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * pirUnoccupiedToOccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PirUnoccupiedToOccupiedDelay::Id, - (uint8_t *) pirUnoccupiedToOccupiedDelay, sizeof(*pirUnoccupiedToOccupiedDelay)); + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) pirUnoccupiedToOccupiedDelay, + sizeof(*pirUnoccupiedToOccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t pirUnoccupiedToOccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PirUnoccupiedToOccupiedDelay::Id, - (uint8_t *) &pirUnoccupiedToOccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &pirUnoccupiedToOccupiedDelay, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace PirUnoccupiedToOccupiedDelay @@ -7795,13 +7703,13 @@ namespace PirUnoccupiedToOccupiedThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * pirUnoccupiedToOccupiedThreshold) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PirUnoccupiedToOccupiedThreshold::Id, - (uint8_t *) pirUnoccupiedToOccupiedThreshold, sizeof(*pirUnoccupiedToOccupiedThreshold)); + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) pirUnoccupiedToOccupiedThreshold, + sizeof(*pirUnoccupiedToOccupiedThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t pirUnoccupiedToOccupiedThreshold) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PirUnoccupiedToOccupiedThreshold::Id, - (uint8_t *) &pirUnoccupiedToOccupiedThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &pirUnoccupiedToOccupiedThreshold, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace PirUnoccupiedToOccupiedThreshold @@ -7810,13 +7718,12 @@ namespace UltrasonicOccupiedToUnoccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * ultrasonicOccupiedToUnoccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, UltrasonicOccupiedToUnoccupiedDelay::Id, - (uint8_t *) ultrasonicOccupiedToUnoccupiedDelay, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) ultrasonicOccupiedToUnoccupiedDelay, sizeof(*ultrasonicOccupiedToUnoccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t ultrasonicOccupiedToUnoccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, UltrasonicOccupiedToUnoccupiedDelay::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &ultrasonicOccupiedToUnoccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7826,13 +7733,12 @@ namespace UltrasonicUnoccupiedToOccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * ultrasonicUnoccupiedToOccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, UltrasonicUnoccupiedToOccupiedDelay::Id, - (uint8_t *) ultrasonicUnoccupiedToOccupiedDelay, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) ultrasonicUnoccupiedToOccupiedDelay, sizeof(*ultrasonicUnoccupiedToOccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t ultrasonicUnoccupiedToOccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, UltrasonicUnoccupiedToOccupiedDelay::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &ultrasonicUnoccupiedToOccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7842,13 +7748,13 @@ namespace UltrasonicUnoccupiedToOccupiedThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * ultrasonicUnoccupiedToOccupiedThreshold) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, UltrasonicUnoccupiedToOccupiedThreshold::Id, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) ultrasonicUnoccupiedToOccupiedThreshold, sizeof(*ultrasonicUnoccupiedToOccupiedThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t ultrasonicUnoccupiedToOccupiedThreshold) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, UltrasonicUnoccupiedToOccupiedThreshold::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &ultrasonicUnoccupiedToOccupiedThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7858,13 +7764,13 @@ namespace PhysicalContactOccupiedToUnoccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * physicalContactOccupiedToUnoccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactOccupiedToUnoccupiedDelay::Id, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) physicalContactOccupiedToUnoccupiedDelay, sizeof(*physicalContactOccupiedToUnoccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t physicalContactOccupiedToUnoccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactOccupiedToUnoccupiedDelay::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &physicalContactOccupiedToUnoccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7874,13 +7780,13 @@ namespace PhysicalContactUnoccupiedToOccupiedDelay { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * physicalContactUnoccupiedToOccupiedDelay) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactUnoccupiedToOccupiedDelay::Id, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) physicalContactUnoccupiedToOccupiedDelay, sizeof(*physicalContactUnoccupiedToOccupiedDelay)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t physicalContactUnoccupiedToOccupiedDelay) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactUnoccupiedToOccupiedDelay::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &physicalContactUnoccupiedToOccupiedDelay, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -7890,13 +7796,13 @@ namespace PhysicalContactUnoccupiedToOccupiedThreshold { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * physicalContactUnoccupiedToOccupiedThreshold) { - return emberAfReadServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactUnoccupiedToOccupiedThreshold::Id, + return emberAfReadServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) physicalContactUnoccupiedToOccupiedThreshold, sizeof(*physicalContactUnoccupiedToOccupiedThreshold)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t physicalContactUnoccupiedToOccupiedThreshold) { - return emberAfWriteServerAttribute(endpoint, OccupancySensing::Id, PhysicalContactUnoccupiedToOccupiedThreshold::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::OccupancySensing::Id, Id, (uint8_t *) &physicalContactUnoccupiedToOccupiedThreshold, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -7912,12 +7818,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -7927,12 +7833,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -7942,12 +7848,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -7957,12 +7863,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, CarbonMonoxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonMonoxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -7978,12 +7884,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -7993,12 +7899,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8008,12 +7914,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8023,12 +7929,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, CarbonDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::CarbonDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8044,13 +7950,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8059,13 +7965,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8074,13 +7980,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8089,12 +7995,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, EthyleneConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8110,12 +8016,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8125,12 +8031,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8140,12 +8046,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8155,12 +8061,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, EthyleneOxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::EthyleneOxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8176,13 +8082,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8191,13 +8097,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8206,13 +8112,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8221,12 +8127,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, HydrogenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8242,12 +8148,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8257,12 +8163,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8272,12 +8178,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8287,13 +8193,13 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, HydrogenSulphideConcentrationMeasurement::Id, Tolerance::Id, - (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::HydrogenSulphideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace Tolerance @@ -8308,13 +8214,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8323,12 +8229,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8338,12 +8244,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8353,12 +8259,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, NitricOxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::NitricOxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8374,12 +8280,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8389,12 +8295,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8404,12 +8310,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8419,12 +8325,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, NitrogenDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::NitrogenDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8440,12 +8346,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8455,13 +8361,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8470,13 +8376,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8485,12 +8391,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, OxygenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::OxygenConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8506,12 +8412,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8521,13 +8427,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8536,13 +8442,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8551,12 +8457,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, OzoneConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::OzoneConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8572,12 +8478,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8587,12 +8493,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8602,12 +8508,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8617,12 +8523,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, SulfurDioxideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfurDioxideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8638,12 +8544,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8653,12 +8559,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8668,12 +8574,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8683,12 +8589,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, DissolvedOxygenConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::DissolvedOxygenConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8704,12 +8610,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8719,13 +8625,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8734,13 +8640,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromateConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8749,12 +8655,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, BromateConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, BromateConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::BromateConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8770,13 +8676,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8785,12 +8691,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8800,12 +8706,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8815,12 +8721,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, ChloraminesConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloraminesConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8836,13 +8742,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8851,13 +8757,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8866,13 +8772,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -8881,12 +8787,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, ChlorineConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorineConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8902,12 +8808,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8917,12 +8823,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8932,12 +8838,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8947,12 +8853,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, Tolerance::Id, + return emberAfReadServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, FecalColiformAndEColiConcentrationMeasurement::Id, Tolerance::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::FecalColiformAndEColiConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -8968,13 +8874,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -8983,13 +8889,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -8998,13 +8904,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9013,12 +8919,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, FluorideConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::FluorideConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9034,12 +8940,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9049,12 +8955,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9064,12 +8970,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9079,12 +8985,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, HaloaceticAcidsConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::HaloaceticAcidsConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9100,12 +9006,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9115,12 +9021,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9130,12 +9036,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9145,12 +9051,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, Tolerance::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, TotalTrihalomethanesConcentrationMeasurement::Id, Tolerance::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalTrihalomethanesConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9166,12 +9072,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9181,12 +9087,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9196,12 +9102,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9211,12 +9117,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, Tolerance::Id, + return emberAfReadServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, TotalColiformBacteriaConcentrationMeasurement::Id, Tolerance::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::TotalColiformBacteriaConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9232,13 +9138,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -9247,13 +9153,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9262,13 +9168,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9277,12 +9183,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, TurbidityConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::TurbidityConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9298,12 +9204,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9313,13 +9219,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9328,13 +9234,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, CopperConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9343,12 +9249,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, CopperConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, CopperConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::CopperConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9364,12 +9270,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9379,13 +9285,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9394,13 +9300,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, LeadConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9409,12 +9315,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, LeadConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, LeadConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::LeadConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9430,13 +9336,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -9445,13 +9351,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9460,13 +9366,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9475,12 +9381,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, ManganeseConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::ManganeseConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9496,12 +9402,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9511,13 +9417,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9526,13 +9432,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9541,12 +9447,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, SulfateConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::SulfateConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9562,12 +9468,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9577,12 +9483,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9592,12 +9498,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9607,12 +9513,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, Tolerance::Id, + return emberAfReadServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, BromodichloromethaneConcentrationMeasurement::Id, Tolerance::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::BromodichloromethaneConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9628,13 +9534,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -9643,13 +9549,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9658,13 +9564,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9673,12 +9579,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, BromoformConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::BromoformConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9694,12 +9600,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9709,12 +9615,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9724,12 +9630,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9739,12 +9645,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, Tolerance::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, ChlorodibromomethaneConcentrationMeasurement::Id, Tolerance::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChlorodibromomethaneConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9760,13 +9666,13 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) measuredValue, sizeof(*measuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, + sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MeasuredValue::Id, - (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MeasuredValue @@ -9775,12 +9681,12 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MinMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9790,12 +9696,12 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, MaxMeasuredValue::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9805,12 +9711,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, ChloroformConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::ChloroformConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9826,12 +9732,12 @@ namespace MeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * measuredValue) { - return emberAfReadServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) measuredValue, + return emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) measuredValue, sizeof(*measuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float measuredValue) { - return emberAfWriteServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MeasuredValue::Id, (uint8_t *) &measuredValue, + return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) &measuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9841,13 +9747,13 @@ namespace MinMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * minMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) minMeasuredValue, sizeof(*minMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) minMeasuredValue, + sizeof(*minMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float minMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MinMeasuredValue::Id, - (uint8_t *) &minMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) &minMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MinMeasuredValue @@ -9856,13 +9762,13 @@ namespace MaxMeasuredValue { EmberAfStatus Get(chip::EndpointId endpoint, float * maxMeasuredValue) { - return emberAfReadServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) maxMeasuredValue, sizeof(*maxMeasuredValue)); + return emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) maxMeasuredValue, + sizeof(*maxMeasuredValue)); } EmberAfStatus Set(chip::EndpointId endpoint, float maxMeasuredValue) { - return emberAfWriteServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, MaxMeasuredValue::Id, - (uint8_t *) &maxMeasuredValue, ZCL_SINGLE_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) &maxMeasuredValue, + ZCL_SINGLE_ATTRIBUTE_TYPE); } } // namespace MaxMeasuredValue @@ -9871,12 +9777,12 @@ namespace Tolerance { EmberAfStatus Get(chip::EndpointId endpoint, float * tolerance) { - return emberAfReadServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) tolerance, + return emberAfReadServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) tolerance, sizeof(*tolerance)); } EmberAfStatus Set(chip::EndpointId endpoint, float tolerance) { - return emberAfWriteServerAttribute(endpoint, SodiumConcentrationMeasurement::Id, Tolerance::Id, (uint8_t *) &tolerance, + return emberAfWriteServerAttribute(endpoint, Clusters::SodiumConcentrationMeasurement::Id, Id, (uint8_t *) &tolerance, ZCL_SINGLE_ATTRIBUTE_TYPE); } @@ -9892,11 +9798,11 @@ namespace ZoneState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * zoneState) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, ZoneState::Id, (uint8_t *) zoneState, sizeof(*zoneState)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) zoneState, sizeof(*zoneState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t zoneState) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, ZoneState::Id, (uint8_t *) &zoneState, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &zoneState, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace ZoneState @@ -9905,11 +9811,11 @@ namespace ZoneType { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * zoneType) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, ZoneType::Id, (uint8_t *) zoneType, sizeof(*zoneType)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) zoneType, sizeof(*zoneType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t zoneType) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, ZoneType::Id, (uint8_t *) &zoneType, ZCL_ENUM16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &zoneType, ZCL_ENUM16_ATTRIBUTE_TYPE); } } // namespace ZoneType @@ -9918,11 +9824,11 @@ namespace ZoneStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * zoneStatus) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, ZoneStatus::Id, (uint8_t *) zoneStatus, sizeof(*zoneStatus)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) zoneStatus, sizeof(*zoneStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t zoneStatus) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, ZoneStatus::Id, (uint8_t *) &zoneStatus, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &zoneStatus, ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace ZoneStatus @@ -9931,12 +9837,11 @@ namespace IasCieAddress { EmberAfStatus Get(chip::EndpointId endpoint, chip::NodeId * iasCieAddress) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, IasCieAddress::Id, (uint8_t *) iasCieAddress, sizeof(*iasCieAddress)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) iasCieAddress, sizeof(*iasCieAddress)); } EmberAfStatus Set(chip::EndpointId endpoint, chip::NodeId iasCieAddress) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, IasCieAddress::Id, (uint8_t *) &iasCieAddress, - ZCL_NODE_ID_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &iasCieAddress, ZCL_NODE_ID_ATTRIBUTE_TYPE); } } // namespace IasCieAddress @@ -9945,11 +9850,11 @@ namespace ZoneId { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * zoneId) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, ZoneId::Id, (uint8_t *) zoneId, sizeof(*zoneId)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) zoneId, sizeof(*zoneId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t zoneId) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, ZoneId::Id, (uint8_t *) &zoneId, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &zoneId, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace ZoneId @@ -9958,14 +9863,13 @@ namespace NumberOfZoneSensitivityLevelsSupported { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * numberOfZoneSensitivityLevelsSupported) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, NumberOfZoneSensitivityLevelsSupported::Id, - (uint8_t *) numberOfZoneSensitivityLevelsSupported, + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) numberOfZoneSensitivityLevelsSupported, sizeof(*numberOfZoneSensitivityLevelsSupported)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t numberOfZoneSensitivityLevelsSupported) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, NumberOfZoneSensitivityLevelsSupported::Id, - (uint8_t *) &numberOfZoneSensitivityLevelsSupported, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) &numberOfZoneSensitivityLevelsSupported, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace NumberOfZoneSensitivityLevelsSupported @@ -9974,13 +9878,13 @@ namespace CurrentZoneSensitivityLevel { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentZoneSensitivityLevel) { - return emberAfReadServerAttribute(endpoint, IasZone::Id, CurrentZoneSensitivityLevel::Id, - (uint8_t *) currentZoneSensitivityLevel, sizeof(*currentZoneSensitivityLevel)); + return emberAfReadServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) currentZoneSensitivityLevel, + sizeof(*currentZoneSensitivityLevel)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentZoneSensitivityLevel) { - return emberAfWriteServerAttribute(endpoint, IasZone::Id, CurrentZoneSensitivityLevel::Id, - (uint8_t *) ¤tZoneSensitivityLevel, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasZone::Id, Id, (uint8_t *) ¤tZoneSensitivityLevel, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentZoneSensitivityLevel @@ -9995,11 +9899,11 @@ namespace MaxDuration { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * maxDuration) { - return emberAfReadServerAttribute(endpoint, IasWd::Id, MaxDuration::Id, (uint8_t *) maxDuration, sizeof(*maxDuration)); + return emberAfReadServerAttribute(endpoint, Clusters::IasWd::Id, Id, (uint8_t *) maxDuration, sizeof(*maxDuration)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t maxDuration) { - return emberAfWriteServerAttribute(endpoint, IasWd::Id, MaxDuration::Id, (uint8_t *) &maxDuration, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::IasWd::Id, Id, (uint8_t *) &maxDuration, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace MaxDuration @@ -10026,13 +9930,13 @@ namespace CurrentNavigatorTarget { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentNavigatorTarget) { - return emberAfReadServerAttribute(endpoint, TargetNavigator::Id, CurrentNavigatorTarget::Id, (uint8_t *) currentNavigatorTarget, + return emberAfReadServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, (uint8_t *) currentNavigatorTarget, sizeof(*currentNavigatorTarget)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentNavigatorTarget) { - return emberAfWriteServerAttribute(endpoint, TargetNavigator::Id, CurrentNavigatorTarget::Id, - (uint8_t *) ¤tNavigatorTarget, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TargetNavigator::Id, Id, (uint8_t *) ¤tNavigatorTarget, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CurrentNavigatorTarget @@ -10047,12 +9951,11 @@ namespace PlaybackState { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * playbackState) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, PlaybackState::Id, (uint8_t *) playbackState, - sizeof(*playbackState)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) playbackState, sizeof(*playbackState)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t playbackState) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, PlaybackState::Id, (uint8_t *) &playbackState, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &playbackState, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -10062,11 +9965,11 @@ namespace StartTime { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * startTime) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, StartTime::Id, (uint8_t *) startTime, sizeof(*startTime)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) startTime, sizeof(*startTime)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t startTime) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, StartTime::Id, (uint8_t *) &startTime, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &startTime, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -10076,11 +9979,11 @@ namespace Duration { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * duration) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, Duration::Id, (uint8_t *) duration, sizeof(*duration)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) duration, sizeof(*duration)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t duration) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, Duration::Id, (uint8_t *) &duration, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &duration, ZCL_INT64U_ATTRIBUTE_TYPE); } } // namespace Duration @@ -10089,12 +9992,12 @@ namespace PositionUpdatedAt { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * positionUpdatedAt) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, PositionUpdatedAt::Id, (uint8_t *) positionUpdatedAt, + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) positionUpdatedAt, sizeof(*positionUpdatedAt)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t positionUpdatedAt) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, PositionUpdatedAt::Id, (uint8_t *) &positionUpdatedAt, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &positionUpdatedAt, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -10104,11 +10007,11 @@ namespace Position { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * position) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, Position::Id, (uint8_t *) position, sizeof(*position)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) position, sizeof(*position)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t position) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, Position::Id, (uint8_t *) &position, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &position, ZCL_INT64U_ATTRIBUTE_TYPE); } } // namespace Position @@ -10117,12 +10020,11 @@ namespace PlaybackSpeed { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * playbackSpeed) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, PlaybackSpeed::Id, (uint8_t *) playbackSpeed, - sizeof(*playbackSpeed)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) playbackSpeed, sizeof(*playbackSpeed)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t playbackSpeed) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, PlaybackSpeed::Id, (uint8_t *) &playbackSpeed, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &playbackSpeed, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -10132,12 +10034,11 @@ namespace SeekRangeEnd { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * seekRangeEnd) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, SeekRangeEnd::Id, (uint8_t *) seekRangeEnd, - sizeof(*seekRangeEnd)); + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) seekRangeEnd, sizeof(*seekRangeEnd)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t seekRangeEnd) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, SeekRangeEnd::Id, (uint8_t *) &seekRangeEnd, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &seekRangeEnd, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -10147,12 +10048,12 @@ namespace SeekRangeStart { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * seekRangeStart) { - return emberAfReadServerAttribute(endpoint, MediaPlayback::Id, SeekRangeStart::Id, (uint8_t *) seekRangeStart, + return emberAfReadServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) seekRangeStart, sizeof(*seekRangeStart)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t seekRangeStart) { - return emberAfWriteServerAttribute(endpoint, MediaPlayback::Id, SeekRangeStart::Id, (uint8_t *) &seekRangeStart, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaPlayback::Id, Id, (uint8_t *) &seekRangeStart, ZCL_INT64U_ATTRIBUTE_TYPE); } @@ -10168,12 +10069,12 @@ namespace CurrentMediaInput { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentMediaInput) { - return emberAfReadServerAttribute(endpoint, MediaInput::Id, CurrentMediaInput::Id, (uint8_t *) currentMediaInput, + return emberAfReadServerAttribute(endpoint, Clusters::MediaInput::Id, Id, (uint8_t *) currentMediaInput, sizeof(*currentMediaInput)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentMediaInput) { - return emberAfWriteServerAttribute(endpoint, MediaInput::Id, CurrentMediaInput::Id, (uint8_t *) ¤tMediaInput, + return emberAfWriteServerAttribute(endpoint, Clusters::MediaInput::Id, Id, (uint8_t *) ¤tMediaInput, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -10195,12 +10096,12 @@ namespace CurrentAudioOutput { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * currentAudioOutput) { - return emberAfReadServerAttribute(endpoint, AudioOutput::Id, CurrentAudioOutput::Id, (uint8_t *) currentAudioOutput, + return emberAfReadServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, (uint8_t *) currentAudioOutput, sizeof(*currentAudioOutput)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t currentAudioOutput) { - return emberAfWriteServerAttribute(endpoint, AudioOutput::Id, CurrentAudioOutput::Id, (uint8_t *) ¤tAudioOutput, + return emberAfWriteServerAttribute(endpoint, Clusters::AudioOutput::Id, Id, (uint8_t *) ¤tAudioOutput, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -10216,12 +10117,12 @@ namespace CatalogVendorId { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * catalogVendorId) { - return emberAfReadServerAttribute(endpoint, ApplicationLauncher::Id, CatalogVendorId::Id, (uint8_t *) catalogVendorId, + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, (uint8_t *) catalogVendorId, sizeof(*catalogVendorId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t catalogVendorId) { - return emberAfWriteServerAttribute(endpoint, ApplicationLauncher::Id, CatalogVendorId::Id, (uint8_t *) &catalogVendorId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, (uint8_t *) &catalogVendorId, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -10231,12 +10132,12 @@ namespace ApplicationId { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * applicationId) { - return emberAfReadServerAttribute(endpoint, ApplicationLauncher::Id, ApplicationId::Id, (uint8_t *) applicationId, + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, (uint8_t *) applicationId, sizeof(*applicationId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t applicationId) { - return emberAfWriteServerAttribute(endpoint, ApplicationLauncher::Id, ApplicationId::Id, (uint8_t *) &applicationId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationLauncher::Id, Id, (uint8_t *) &applicationId, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -10252,11 +10153,11 @@ namespace VendorId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * vendorId) { - return emberAfReadServerAttribute(endpoint, ApplicationBasic::Id, VendorId::Id, (uint8_t *) vendorId, sizeof(*vendorId)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) vendorId, sizeof(*vendorId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t vendorId) { - return emberAfWriteServerAttribute(endpoint, ApplicationBasic::Id, VendorId::Id, (uint8_t *) &vendorId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) &vendorId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10266,11 +10167,11 @@ namespace ProductId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * productId) { - return emberAfReadServerAttribute(endpoint, ApplicationBasic::Id, ProductId::Id, (uint8_t *) productId, sizeof(*productId)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) productId, sizeof(*productId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t productId) { - return emberAfWriteServerAttribute(endpoint, ApplicationBasic::Id, ProductId::Id, (uint8_t *) &productId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) &productId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10280,12 +10181,12 @@ namespace CatalogVendorId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * catalogVendorId) { - return emberAfReadServerAttribute(endpoint, ApplicationBasic::Id, CatalogVendorId::Id, (uint8_t *) catalogVendorId, + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) catalogVendorId, sizeof(*catalogVendorId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t catalogVendorId) { - return emberAfWriteServerAttribute(endpoint, ApplicationBasic::Id, CatalogVendorId::Id, (uint8_t *) &catalogVendorId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) &catalogVendorId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10295,12 +10196,12 @@ namespace ApplicationStatus { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * applicationStatus) { - return emberAfReadServerAttribute(endpoint, ApplicationBasic::Id, ApplicationStatus::Id, (uint8_t *) applicationStatus, + return emberAfReadServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) applicationStatus, sizeof(*applicationStatus)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t applicationStatus) { - return emberAfWriteServerAttribute(endpoint, ApplicationBasic::Id, ApplicationStatus::Id, (uint8_t *) &applicationStatus, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplicationBasic::Id, Id, (uint8_t *) &applicationStatus, ZCL_ENUM8_ATTRIBUTE_TYPE); } @@ -10316,11 +10217,11 @@ namespace Boolean { EmberAfStatus Get(chip::EndpointId endpoint, bool * boolean) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Boolean::Id, (uint8_t *) boolean, sizeof(*boolean)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) boolean, sizeof(*boolean)); } EmberAfStatus Set(chip::EndpointId endpoint, bool boolean) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Boolean::Id, (uint8_t *) &boolean, ZCL_BOOLEAN_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &boolean, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } } // namespace Boolean @@ -10329,11 +10230,11 @@ namespace Bitmap8 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * bitmap8) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Bitmap8::Id, (uint8_t *) bitmap8, sizeof(*bitmap8)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) bitmap8, sizeof(*bitmap8)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t bitmap8) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Bitmap8::Id, (uint8_t *) &bitmap8, ZCL_BITMAP8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &bitmap8, ZCL_BITMAP8_ATTRIBUTE_TYPE); } } // namespace Bitmap8 @@ -10342,11 +10243,11 @@ namespace Bitmap16 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * bitmap16) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Bitmap16::Id, (uint8_t *) bitmap16, sizeof(*bitmap16)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) bitmap16, sizeof(*bitmap16)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t bitmap16) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Bitmap16::Id, (uint8_t *) &bitmap16, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &bitmap16, ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace Bitmap16 @@ -10355,11 +10256,11 @@ namespace Bitmap32 { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * bitmap32) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Bitmap32::Id, (uint8_t *) bitmap32, sizeof(*bitmap32)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) bitmap32, sizeof(*bitmap32)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t bitmap32) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Bitmap32::Id, (uint8_t *) &bitmap32, ZCL_BITMAP32_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &bitmap32, ZCL_BITMAP32_ATTRIBUTE_TYPE); } } // namespace Bitmap32 @@ -10368,11 +10269,11 @@ namespace Bitmap64 { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * bitmap64) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Bitmap64::Id, (uint8_t *) bitmap64, sizeof(*bitmap64)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) bitmap64, sizeof(*bitmap64)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t bitmap64) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Bitmap64::Id, (uint8_t *) &bitmap64, ZCL_BITMAP64_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &bitmap64, ZCL_BITMAP64_ATTRIBUTE_TYPE); } } // namespace Bitmap64 @@ -10381,11 +10282,11 @@ namespace Int8u { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * int8u) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int8u::Id, (uint8_t *) int8u, sizeof(*int8u)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int8u, sizeof(*int8u)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t int8u) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int8u::Id, (uint8_t *) &int8u, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int8u, ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace Int8u @@ -10394,11 +10295,11 @@ namespace Int16u { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * int16u) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int16u::Id, (uint8_t *) int16u, sizeof(*int16u)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int16u, sizeof(*int16u)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t int16u) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int16u::Id, (uint8_t *) &int16u, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int16u, ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace Int16u @@ -10407,11 +10308,11 @@ namespace Int32u { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * int32u) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int32u::Id, (uint8_t *) int32u, sizeof(*int32u)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int32u, sizeof(*int32u)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t int32u) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int32u::Id, (uint8_t *) &int32u, ZCL_INT32U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int32u, ZCL_INT32U_ATTRIBUTE_TYPE); } } // namespace Int32u @@ -10420,11 +10321,11 @@ namespace Int64u { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * int64u) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int64u::Id, (uint8_t *) int64u, sizeof(*int64u)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int64u, sizeof(*int64u)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t int64u) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int64u::Id, (uint8_t *) &int64u, ZCL_INT64U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int64u, ZCL_INT64U_ATTRIBUTE_TYPE); } } // namespace Int64u @@ -10433,11 +10334,11 @@ namespace Int8s { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * int8s) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int8s::Id, (uint8_t *) int8s, sizeof(*int8s)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int8s, sizeof(*int8s)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t int8s) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int8s::Id, (uint8_t *) &int8s, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int8s, ZCL_INT8S_ATTRIBUTE_TYPE); } } // namespace Int8s @@ -10446,11 +10347,11 @@ namespace Int16s { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * int16s) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int16s::Id, (uint8_t *) int16s, sizeof(*int16s)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int16s, sizeof(*int16s)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t int16s) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int16s::Id, (uint8_t *) &int16s, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int16s, ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Int16s @@ -10459,11 +10360,11 @@ namespace Int32s { EmberAfStatus Get(chip::EndpointId endpoint, int32_t * int32s) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int32s::Id, (uint8_t *) int32s, sizeof(*int32s)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int32s, sizeof(*int32s)); } EmberAfStatus Set(chip::EndpointId endpoint, int32_t int32s) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int32s::Id, (uint8_t *) &int32s, ZCL_INT32S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int32s, ZCL_INT32S_ATTRIBUTE_TYPE); } } // namespace Int32s @@ -10472,11 +10373,11 @@ namespace Int64s { EmberAfStatus Get(chip::EndpointId endpoint, int64_t * int64s) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Int64s::Id, (uint8_t *) int64s, sizeof(*int64s)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) int64s, sizeof(*int64s)); } EmberAfStatus Set(chip::EndpointId endpoint, int64_t int64s) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Int64s::Id, (uint8_t *) &int64s, ZCL_INT64S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &int64s, ZCL_INT64S_ATTRIBUTE_TYPE); } } // namespace Int64s @@ -10485,11 +10386,11 @@ namespace Enum8 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * enum8) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Enum8::Id, (uint8_t *) enum8, sizeof(*enum8)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) enum8, sizeof(*enum8)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t enum8) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Enum8::Id, (uint8_t *) &enum8, ZCL_ENUM8_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &enum8, ZCL_ENUM8_ATTRIBUTE_TYPE); } } // namespace Enum8 @@ -10498,11 +10399,11 @@ namespace Enum16 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * enum16) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Enum16::Id, (uint8_t *) enum16, sizeof(*enum16)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) enum16, sizeof(*enum16)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t enum16) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Enum16::Id, (uint8_t *) &enum16, ZCL_ENUM16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &enum16, ZCL_ENUM16_ATTRIBUTE_TYPE); } } // namespace Enum16 @@ -10511,11 +10412,11 @@ namespace EpochUs { EmberAfStatus Get(chip::EndpointId endpoint, uint64_t * epochUs) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, EpochUs::Id, (uint8_t *) epochUs, sizeof(*epochUs)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) epochUs, sizeof(*epochUs)); } EmberAfStatus Set(chip::EndpointId endpoint, uint64_t epochUs) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, EpochUs::Id, (uint8_t *) &epochUs, ZCL_EPOCH_US_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &epochUs, ZCL_EPOCH_US_ATTRIBUTE_TYPE); } } // namespace EpochUs @@ -10524,24 +10425,38 @@ namespace EpochS { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * epochS) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, EpochS::Id, (uint8_t *) epochS, sizeof(*epochS)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) epochS, sizeof(*epochS)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t epochS) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, EpochS::Id, (uint8_t *) &epochS, ZCL_EPOCH_S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &epochS, ZCL_EPOCH_S_ATTRIBUTE_TYPE); } } // namespace EpochS +namespace VendorId { + +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * vendorId) +{ + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) vendorId, sizeof(*vendorId)); +} +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId vendorId) +{ + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &vendorId, + ZCL_VENDOR_ID_ATTRIBUTE_TYPE); +} + +} // namespace VendorId + namespace Unsupported { EmberAfStatus Get(chip::EndpointId endpoint, bool * unsupported) { - return emberAfReadServerAttribute(endpoint, TestCluster::Id, Unsupported::Id, (uint8_t *) unsupported, sizeof(*unsupported)); + return emberAfReadServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) unsupported, sizeof(*unsupported)); } EmberAfStatus Set(chip::EndpointId endpoint, bool unsupported) { - return emberAfWriteServerAttribute(endpoint, TestCluster::Id, Unsupported::Id, (uint8_t *) &unsupported, + return emberAfWriteServerAttribute(endpoint, Clusters::TestCluster::Id, Id, (uint8_t *) &unsupported, ZCL_BOOLEAN_ATTRIBUTE_TYPE); } @@ -10557,12 +10472,12 @@ namespace CompanyId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * companyId) { - return emberAfReadServerAttribute(endpoint, ApplianceIdentification::Id, CompanyId::Id, (uint8_t *) companyId, + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) companyId, sizeof(*companyId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t companyId) { - return emberAfWriteServerAttribute(endpoint, ApplianceIdentification::Id, CompanyId::Id, (uint8_t *) &companyId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) &companyId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10572,11 +10487,11 @@ namespace BrandId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * brandId) { - return emberAfReadServerAttribute(endpoint, ApplianceIdentification::Id, BrandId::Id, (uint8_t *) brandId, sizeof(*brandId)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) brandId, sizeof(*brandId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t brandId) { - return emberAfWriteServerAttribute(endpoint, ApplianceIdentification::Id, BrandId::Id, (uint8_t *) &brandId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) &brandId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10586,12 +10501,12 @@ namespace ProductTypeId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * productTypeId) { - return emberAfReadServerAttribute(endpoint, ApplianceIdentification::Id, ProductTypeId::Id, (uint8_t *) productTypeId, + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) productTypeId, sizeof(*productTypeId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t productTypeId) { - return emberAfWriteServerAttribute(endpoint, ApplianceIdentification::Id, ProductTypeId::Id, (uint8_t *) &productTypeId, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) &productTypeId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10601,13 +10516,13 @@ namespace CecedSpecificationVersion { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * cecedSpecificationVersion) { - return emberAfReadServerAttribute(endpoint, ApplianceIdentification::Id, CecedSpecificationVersion::Id, - (uint8_t *) cecedSpecificationVersion, sizeof(*cecedSpecificationVersion)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) cecedSpecificationVersion, + sizeof(*cecedSpecificationVersion)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t cecedSpecificationVersion) { - return emberAfWriteServerAttribute(endpoint, ApplianceIdentification::Id, CecedSpecificationVersion::Id, - (uint8_t *) &cecedSpecificationVersion, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceIdentification::Id, Id, (uint8_t *) &cecedSpecificationVersion, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace CecedSpecificationVersion @@ -10622,12 +10537,12 @@ namespace MeterTypeId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * meterTypeId) { - return emberAfReadServerAttribute(endpoint, MeterIdentification::Id, MeterTypeId::Id, (uint8_t *) meterTypeId, + return emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, (uint8_t *) meterTypeId, sizeof(*meterTypeId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t meterTypeId) { - return emberAfWriteServerAttribute(endpoint, MeterIdentification::Id, MeterTypeId::Id, (uint8_t *) &meterTypeId, + return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, (uint8_t *) &meterTypeId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10637,12 +10552,12 @@ namespace DataQualityId { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dataQualityId) { - return emberAfReadServerAttribute(endpoint, MeterIdentification::Id, DataQualityId::Id, (uint8_t *) dataQualityId, + return emberAfReadServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, (uint8_t *) dataQualityId, sizeof(*dataQualityId)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dataQualityId) { - return emberAfWriteServerAttribute(endpoint, MeterIdentification::Id, DataQualityId::Id, (uint8_t *) &dataQualityId, + return emberAfWriteServerAttribute(endpoint, Clusters::MeterIdentification::Id, Id, (uint8_t *) &dataQualityId, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10658,12 +10573,11 @@ namespace LogMaxSize { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * logMaxSize) { - return emberAfReadServerAttribute(endpoint, ApplianceStatistics::Id, LogMaxSize::Id, (uint8_t *) logMaxSize, - sizeof(*logMaxSize)); + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, (uint8_t *) logMaxSize, sizeof(*logMaxSize)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t logMaxSize) { - return emberAfWriteServerAttribute(endpoint, ApplianceStatistics::Id, LogMaxSize::Id, (uint8_t *) &logMaxSize, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, (uint8_t *) &logMaxSize, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -10673,12 +10587,12 @@ namespace LogQueueMaxSize { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * logQueueMaxSize) { - return emberAfReadServerAttribute(endpoint, ApplianceStatistics::Id, LogQueueMaxSize::Id, (uint8_t *) logQueueMaxSize, + return emberAfReadServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, (uint8_t *) logQueueMaxSize, sizeof(*logQueueMaxSize)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t logQueueMaxSize) { - return emberAfWriteServerAttribute(endpoint, ApplianceStatistics::Id, LogQueueMaxSize::Id, (uint8_t *) &logQueueMaxSize, + return emberAfWriteServerAttribute(endpoint, Clusters::ApplianceStatistics::Id, Id, (uint8_t *) &logQueueMaxSize, ZCL_INT8U_ATTRIBUTE_TYPE); } @@ -10694,12 +10608,12 @@ namespace MeasurementType { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * measurementType) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasurementType::Id, (uint8_t *) measurementType, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measurementType, sizeof(*measurementType)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t measurementType) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasurementType::Id, (uint8_t *) &measurementType, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measurementType, ZCL_BITMAP32_ATTRIBUTE_TYPE); } @@ -10709,12 +10623,11 @@ namespace DcVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltage::Id, (uint8_t *) dcVoltage, - sizeof(*dcVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcVoltage, sizeof(*dcVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltage::Id, (uint8_t *) &dcVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10724,12 +10637,12 @@ namespace DcVoltageMin { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcVoltageMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMin::Id, (uint8_t *) dcVoltageMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcVoltageMin, sizeof(*dcVoltageMin)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcVoltageMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMin::Id, (uint8_t *) &dcVoltageMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcVoltageMin, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10739,12 +10652,12 @@ namespace DcVoltageMax { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcVoltageMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMax::Id, (uint8_t *) dcVoltageMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcVoltageMax, sizeof(*dcVoltageMax)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcVoltageMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMax::Id, (uint8_t *) &dcVoltageMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcVoltageMax, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10754,12 +10667,11 @@ namespace DcCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrent::Id, (uint8_t *) dcCurrent, - sizeof(*dcCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcCurrent, sizeof(*dcCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrent::Id, (uint8_t *) &dcCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10769,12 +10681,12 @@ namespace DcCurrentMin { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcCurrentMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMin::Id, (uint8_t *) dcCurrentMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcCurrentMin, sizeof(*dcCurrentMin)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcCurrentMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMin::Id, (uint8_t *) &dcCurrentMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcCurrentMin, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10784,12 +10696,12 @@ namespace DcCurrentMax { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcCurrentMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMax::Id, (uint8_t *) dcCurrentMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcCurrentMax, sizeof(*dcCurrentMax)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcCurrentMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMax::Id, (uint8_t *) &dcCurrentMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcCurrentMax, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10799,11 +10711,11 @@ namespace DcPower { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcPower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcPower::Id, (uint8_t *) dcPower, sizeof(*dcPower)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcPower, sizeof(*dcPower)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcPower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcPower::Id, (uint8_t *) &dcPower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcPower, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10813,12 +10725,12 @@ namespace DcPowerMin { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcPowerMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMin::Id, (uint8_t *) dcPowerMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcPowerMin, sizeof(*dcPowerMin)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcPowerMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMin::Id, (uint8_t *) &dcPowerMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcPowerMin, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10828,12 +10740,12 @@ namespace DcPowerMax { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * dcPowerMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMax::Id, (uint8_t *) dcPowerMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcPowerMax, sizeof(*dcPowerMax)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t dcPowerMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMax::Id, (uint8_t *) &dcPowerMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcPowerMax, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -10843,13 +10755,13 @@ namespace DcVoltageMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcVoltageMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMultiplier::Id, (uint8_t *) dcVoltageMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcVoltageMultiplier, sizeof(*dcVoltageMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcVoltageMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageMultiplier::Id, - (uint8_t *) &dcVoltageMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcVoltageMultiplier, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace DcVoltageMultiplier @@ -10858,12 +10770,12 @@ namespace DcVoltageDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcVoltageDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageDivisor::Id, (uint8_t *) dcVoltageDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcVoltageDivisor, sizeof(*dcVoltageDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcVoltageDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcVoltageDivisor::Id, (uint8_t *) &dcVoltageDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcVoltageDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10873,13 +10785,13 @@ namespace DcCurrentMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcCurrentMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMultiplier::Id, (uint8_t *) dcCurrentMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcCurrentMultiplier, sizeof(*dcCurrentMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcCurrentMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentMultiplier::Id, - (uint8_t *) &dcCurrentMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcCurrentMultiplier, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace DcCurrentMultiplier @@ -10888,12 +10800,12 @@ namespace DcCurrentDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcCurrentDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentDivisor::Id, (uint8_t *) dcCurrentDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcCurrentDivisor, sizeof(*dcCurrentDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcCurrentDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcCurrentDivisor::Id, (uint8_t *) &dcCurrentDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcCurrentDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10903,12 +10815,12 @@ namespace DcPowerMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcPowerMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMultiplier::Id, (uint8_t *) dcPowerMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcPowerMultiplier, sizeof(*dcPowerMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcPowerMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerMultiplier::Id, (uint8_t *) &dcPowerMultiplier, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcPowerMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10918,12 +10830,12 @@ namespace DcPowerDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * dcPowerDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerDivisor::Id, (uint8_t *) dcPowerDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) dcPowerDivisor, sizeof(*dcPowerDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t dcPowerDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, DcPowerDivisor::Id, (uint8_t *) &dcPowerDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &dcPowerDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10933,12 +10845,12 @@ namespace AcFrequency { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acFrequency) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequency::Id, (uint8_t *) acFrequency, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acFrequency, sizeof(*acFrequency)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acFrequency) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequency::Id, (uint8_t *) &acFrequency, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acFrequency, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10948,12 +10860,12 @@ namespace AcFrequencyMin { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acFrequencyMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMin::Id, (uint8_t *) acFrequencyMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acFrequencyMin, sizeof(*acFrequencyMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acFrequencyMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMin::Id, (uint8_t *) &acFrequencyMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acFrequencyMin, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10963,12 +10875,12 @@ namespace AcFrequencyMax { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acFrequencyMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMax::Id, (uint8_t *) acFrequencyMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acFrequencyMax, sizeof(*acFrequencyMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acFrequencyMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMax::Id, (uint8_t *) &acFrequencyMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acFrequencyMax, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10978,12 +10890,12 @@ namespace NeutralCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * neutralCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, NeutralCurrent::Id, (uint8_t *) neutralCurrent, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) neutralCurrent, sizeof(*neutralCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t neutralCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, NeutralCurrent::Id, (uint8_t *) &neutralCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &neutralCurrent, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -10993,12 +10905,12 @@ namespace TotalActivePower { EmberAfStatus Get(chip::EndpointId endpoint, int32_t * totalActivePower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, TotalActivePower::Id, (uint8_t *) totalActivePower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) totalActivePower, sizeof(*totalActivePower)); } EmberAfStatus Set(chip::EndpointId endpoint, int32_t totalActivePower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, TotalActivePower::Id, (uint8_t *) &totalActivePower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &totalActivePower, ZCL_INT32S_ATTRIBUTE_TYPE); } @@ -11008,12 +10920,12 @@ namespace TotalReactivePower { EmberAfStatus Get(chip::EndpointId endpoint, int32_t * totalReactivePower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, TotalReactivePower::Id, (uint8_t *) totalReactivePower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) totalReactivePower, sizeof(*totalReactivePower)); } EmberAfStatus Set(chip::EndpointId endpoint, int32_t totalReactivePower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, TotalReactivePower::Id, (uint8_t *) &totalReactivePower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &totalReactivePower, ZCL_INT32S_ATTRIBUTE_TYPE); } @@ -11023,12 +10935,12 @@ namespace TotalApparentPower { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * totalApparentPower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, TotalApparentPower::Id, (uint8_t *) totalApparentPower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) totalApparentPower, sizeof(*totalApparentPower)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t totalApparentPower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, TotalApparentPower::Id, (uint8_t *) &totalApparentPower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &totalApparentPower, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -11038,13 +10950,13 @@ namespace Measured1stHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured1stHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured1stHarmonicCurrent::Id, - (uint8_t *) measured1stHarmonicCurrent, sizeof(*measured1stHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured1stHarmonicCurrent, + sizeof(*measured1stHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured1stHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured1stHarmonicCurrent::Id, - (uint8_t *) &measured1stHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured1stHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured1stHarmonicCurrent @@ -11053,13 +10965,13 @@ namespace Measured3rdHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured3rdHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured3rdHarmonicCurrent::Id, - (uint8_t *) measured3rdHarmonicCurrent, sizeof(*measured3rdHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured3rdHarmonicCurrent, + sizeof(*measured3rdHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured3rdHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured3rdHarmonicCurrent::Id, - (uint8_t *) &measured3rdHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured3rdHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured3rdHarmonicCurrent @@ -11068,13 +10980,13 @@ namespace Measured5thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured5thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured5thHarmonicCurrent::Id, - (uint8_t *) measured5thHarmonicCurrent, sizeof(*measured5thHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured5thHarmonicCurrent, + sizeof(*measured5thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured5thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured5thHarmonicCurrent::Id, - (uint8_t *) &measured5thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured5thHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured5thHarmonicCurrent @@ -11083,13 +10995,13 @@ namespace Measured7thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured7thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured7thHarmonicCurrent::Id, - (uint8_t *) measured7thHarmonicCurrent, sizeof(*measured7thHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured7thHarmonicCurrent, + sizeof(*measured7thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured7thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured7thHarmonicCurrent::Id, - (uint8_t *) &measured7thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured7thHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured7thHarmonicCurrent @@ -11098,13 +11010,13 @@ namespace Measured9thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured9thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured9thHarmonicCurrent::Id, - (uint8_t *) measured9thHarmonicCurrent, sizeof(*measured9thHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured9thHarmonicCurrent, + sizeof(*measured9thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured9thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured9thHarmonicCurrent::Id, - (uint8_t *) &measured9thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured9thHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured9thHarmonicCurrent @@ -11113,13 +11025,13 @@ namespace Measured11thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measured11thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, Measured11thHarmonicCurrent::Id, - (uint8_t *) measured11thHarmonicCurrent, sizeof(*measured11thHarmonicCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measured11thHarmonicCurrent, + sizeof(*measured11thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measured11thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, Measured11thHarmonicCurrent::Id, - (uint8_t *) &measured11thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measured11thHarmonicCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace Measured11thHarmonicCurrent @@ -11128,12 +11040,12 @@ namespace MeasuredPhase1stHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase1stHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase1stHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase1stHarmonicCurrent, sizeof(*measuredPhase1stHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase1stHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase1stHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase1stHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11143,12 +11055,12 @@ namespace MeasuredPhase3rdHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase3rdHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase3rdHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase3rdHarmonicCurrent, sizeof(*measuredPhase3rdHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase3rdHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase3rdHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase3rdHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11158,12 +11070,12 @@ namespace MeasuredPhase5thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase5thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase5thHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase5thHarmonicCurrent, sizeof(*measuredPhase5thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase5thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase5thHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase5thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11173,12 +11085,12 @@ namespace MeasuredPhase7thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase7thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase7thHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase7thHarmonicCurrent, sizeof(*measuredPhase7thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase7thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase7thHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase7thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11188,12 +11100,12 @@ namespace MeasuredPhase9thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase9thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase9thHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase9thHarmonicCurrent, sizeof(*measuredPhase9thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase9thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase9thHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase9thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11203,12 +11115,12 @@ namespace MeasuredPhase11thHarmonicCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * measuredPhase11thHarmonicCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase11thHarmonicCurrent::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) measuredPhase11thHarmonicCurrent, sizeof(*measuredPhase11thHarmonicCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t measuredPhase11thHarmonicCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, MeasuredPhase11thHarmonicCurrent::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &measuredPhase11thHarmonicCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11218,13 +11130,13 @@ namespace AcFrequencyMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acFrequencyMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMultiplier::Id, - (uint8_t *) acFrequencyMultiplier, sizeof(*acFrequencyMultiplier)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acFrequencyMultiplier, + sizeof(*acFrequencyMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acFrequencyMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyMultiplier::Id, - (uint8_t *) &acFrequencyMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acFrequencyMultiplier, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AcFrequencyMultiplier @@ -11233,12 +11145,12 @@ namespace AcFrequencyDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acFrequencyDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyDivisor::Id, (uint8_t *) acFrequencyDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acFrequencyDivisor, sizeof(*acFrequencyDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acFrequencyDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcFrequencyDivisor::Id, (uint8_t *) &acFrequencyDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acFrequencyDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11248,12 +11160,12 @@ namespace PowerMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * powerMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PowerMultiplier::Id, (uint8_t *) powerMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) powerMultiplier, sizeof(*powerMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t powerMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PowerMultiplier::Id, (uint8_t *) &powerMultiplier, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &powerMultiplier, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -11263,12 +11175,12 @@ namespace PowerDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * powerDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PowerDivisor::Id, (uint8_t *) powerDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) powerDivisor, sizeof(*powerDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint32_t powerDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PowerDivisor::Id, (uint8_t *) &powerDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &powerDivisor, ZCL_INT32U_ATTRIBUTE_TYPE); } @@ -11278,13 +11190,13 @@ namespace HarmonicCurrentMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * harmonicCurrentMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, HarmonicCurrentMultiplier::Id, - (uint8_t *) harmonicCurrentMultiplier, sizeof(*harmonicCurrentMultiplier)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) harmonicCurrentMultiplier, + sizeof(*harmonicCurrentMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t harmonicCurrentMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, HarmonicCurrentMultiplier::Id, - (uint8_t *) &harmonicCurrentMultiplier, ZCL_INT8S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &harmonicCurrentMultiplier, + ZCL_INT8S_ATTRIBUTE_TYPE); } } // namespace HarmonicCurrentMultiplier @@ -11293,12 +11205,12 @@ namespace PhaseHarmonicCurrentMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * phaseHarmonicCurrentMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PhaseHarmonicCurrentMultiplier::Id, - (uint8_t *) phaseHarmonicCurrentMultiplier, sizeof(*phaseHarmonicCurrentMultiplier)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) phaseHarmonicCurrentMultiplier, + sizeof(*phaseHarmonicCurrentMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t phaseHarmonicCurrentMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PhaseHarmonicCurrentMultiplier::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &phaseHarmonicCurrentMultiplier, ZCL_INT8S_ATTRIBUTE_TYPE); } @@ -11308,13 +11220,13 @@ namespace InstantaneousVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * instantaneousVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousVoltage::Id, - (uint8_t *) instantaneousVoltage, sizeof(*instantaneousVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) instantaneousVoltage, + sizeof(*instantaneousVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t instantaneousVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousVoltage::Id, - (uint8_t *) &instantaneousVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &instantaneousVoltage, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace InstantaneousVoltage @@ -11323,13 +11235,13 @@ namespace InstantaneousLineCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * instantaneousLineCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousLineCurrent::Id, - (uint8_t *) instantaneousLineCurrent, sizeof(*instantaneousLineCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) instantaneousLineCurrent, + sizeof(*instantaneousLineCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t instantaneousLineCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousLineCurrent::Id, - (uint8_t *) &instantaneousLineCurrent, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &instantaneousLineCurrent, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace InstantaneousLineCurrent @@ -11338,13 +11250,13 @@ namespace InstantaneousActiveCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * instantaneousActiveCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousActiveCurrent::Id, - (uint8_t *) instantaneousActiveCurrent, sizeof(*instantaneousActiveCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) instantaneousActiveCurrent, + sizeof(*instantaneousActiveCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t instantaneousActiveCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousActiveCurrent::Id, - (uint8_t *) &instantaneousActiveCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &instantaneousActiveCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace InstantaneousActiveCurrent @@ -11353,13 +11265,13 @@ namespace InstantaneousReactiveCurrent { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * instantaneousReactiveCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousReactiveCurrent::Id, - (uint8_t *) instantaneousReactiveCurrent, sizeof(*instantaneousReactiveCurrent)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) instantaneousReactiveCurrent, + sizeof(*instantaneousReactiveCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t instantaneousReactiveCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousReactiveCurrent::Id, - (uint8_t *) &instantaneousReactiveCurrent, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &instantaneousReactiveCurrent, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace InstantaneousReactiveCurrent @@ -11368,12 +11280,12 @@ namespace InstantaneousPower { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * instantaneousPower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousPower::Id, (uint8_t *) instantaneousPower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) instantaneousPower, sizeof(*instantaneousPower)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t instantaneousPower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, InstantaneousPower::Id, (uint8_t *) &instantaneousPower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &instantaneousPower, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11383,12 +11295,12 @@ namespace RmsVoltage { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltage::Id, (uint8_t *) rmsVoltage, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltage, sizeof(*rmsVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltage::Id, (uint8_t *) &rmsVoltage, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltage, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11398,12 +11310,12 @@ namespace RmsVoltageMin { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMin::Id, (uint8_t *) rmsVoltageMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMin, sizeof(*rmsVoltageMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMin::Id, (uint8_t *) &rmsVoltageMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMin, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11413,12 +11325,12 @@ namespace RmsVoltageMax { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMax::Id, (uint8_t *) rmsVoltageMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMax, sizeof(*rmsVoltageMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMax::Id, (uint8_t *) &rmsVoltageMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMax, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11428,12 +11340,12 @@ namespace RmsCurrent { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrent) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrent::Id, (uint8_t *) rmsCurrent, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrent, sizeof(*rmsCurrent)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrent) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrent::Id, (uint8_t *) &rmsCurrent, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrent, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11443,12 +11355,12 @@ namespace RmsCurrentMin { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMin::Id, (uint8_t *) rmsCurrentMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMin, sizeof(*rmsCurrentMin)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMin::Id, (uint8_t *) &rmsCurrentMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMin, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11458,12 +11370,12 @@ namespace RmsCurrentMax { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMax::Id, (uint8_t *) rmsCurrentMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMax, sizeof(*rmsCurrentMax)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMax::Id, (uint8_t *) &rmsCurrentMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMax, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11473,12 +11385,12 @@ namespace ActivePower { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePower::Id, (uint8_t *) activePower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePower, sizeof(*activePower)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePower::Id, (uint8_t *) &activePower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePower, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11488,12 +11400,12 @@ namespace ActivePowerMin { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMin) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMin::Id, (uint8_t *) activePowerMin, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMin, sizeof(*activePowerMin)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMin) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMin::Id, (uint8_t *) &activePowerMin, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMin, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11503,12 +11415,12 @@ namespace ActivePowerMax { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMax) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMax::Id, (uint8_t *) activePowerMax, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMax, sizeof(*activePowerMax)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMax) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMax::Id, (uint8_t *) &activePowerMax, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMax, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11518,12 +11430,12 @@ namespace ReactivePower { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * reactivePower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePower::Id, (uint8_t *) reactivePower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) reactivePower, sizeof(*reactivePower)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t reactivePower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePower::Id, (uint8_t *) &reactivePower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &reactivePower, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11533,12 +11445,12 @@ namespace ApparentPower { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * apparentPower) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPower::Id, (uint8_t *) apparentPower, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) apparentPower, sizeof(*apparentPower)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t apparentPower) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPower::Id, (uint8_t *) &apparentPower, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &apparentPower, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11548,12 +11460,12 @@ namespace PowerFactor { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * powerFactor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactor::Id, (uint8_t *) powerFactor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) powerFactor, sizeof(*powerFactor)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t powerFactor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactor::Id, (uint8_t *) &powerFactor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &powerFactor, ZCL_INT8S_ATTRIBUTE_TYPE); } @@ -11563,12 +11475,12 @@ namespace AverageRmsVoltageMeasurementPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsVoltageMeasurementPeriod) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriod::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsVoltageMeasurementPeriod, sizeof(*averageRmsVoltageMeasurementPeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsVoltageMeasurementPeriod) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriod::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsVoltageMeasurementPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11578,12 +11490,12 @@ namespace AverageRmsUnderVoltageCounter { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsUnderVoltageCounter) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounter::Id, - (uint8_t *) averageRmsUnderVoltageCounter, sizeof(*averageRmsUnderVoltageCounter)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsUnderVoltageCounter, + sizeof(*averageRmsUnderVoltageCounter)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsUnderVoltageCounter) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounter::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsUnderVoltageCounter, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11593,13 +11505,13 @@ namespace RmsExtremeOverVoltagePeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeOverVoltagePeriod) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriod::Id, - (uint8_t *) rmsExtremeOverVoltagePeriod, sizeof(*rmsExtremeOverVoltagePeriod)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeOverVoltagePeriod, + sizeof(*rmsExtremeOverVoltagePeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeOverVoltagePeriod) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriod::Id, - (uint8_t *) &rmsExtremeOverVoltagePeriod, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeOverVoltagePeriod, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsExtremeOverVoltagePeriod @@ -11608,13 +11520,13 @@ namespace RmsExtremeUnderVoltagePeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeUnderVoltagePeriod) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriod::Id, - (uint8_t *) rmsExtremeUnderVoltagePeriod, sizeof(*rmsExtremeUnderVoltagePeriod)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeUnderVoltagePeriod, + sizeof(*rmsExtremeUnderVoltagePeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeUnderVoltagePeriod) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriod::Id, - (uint8_t *) &rmsExtremeUnderVoltagePeriod, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeUnderVoltagePeriod, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsExtremeUnderVoltagePeriod @@ -11623,13 +11535,13 @@ namespace RmsVoltageSagPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSagPeriod) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriod::Id, (uint8_t *) rmsVoltageSagPeriod, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSagPeriod, sizeof(*rmsVoltageSagPeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSagPeriod) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriod::Id, - (uint8_t *) &rmsVoltageSagPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSagPeriod, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSagPeriod @@ -11638,13 +11550,13 @@ namespace RmsVoltageSwellPeriod { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSwellPeriod) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriod::Id, - (uint8_t *) rmsVoltageSwellPeriod, sizeof(*rmsVoltageSwellPeriod)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSwellPeriod, + sizeof(*rmsVoltageSwellPeriod)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSwellPeriod) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriod::Id, - (uint8_t *) &rmsVoltageSwellPeriod, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSwellPeriod, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSwellPeriod @@ -11653,13 +11565,13 @@ namespace AcVoltageMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acVoltageMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageMultiplier::Id, (uint8_t *) acVoltageMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acVoltageMultiplier, sizeof(*acVoltageMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acVoltageMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageMultiplier::Id, - (uint8_t *) &acVoltageMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acVoltageMultiplier, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AcVoltageMultiplier @@ -11668,12 +11580,12 @@ namespace AcVoltageDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acVoltageDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageDivisor::Id, (uint8_t *) acVoltageDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acVoltageDivisor, sizeof(*acVoltageDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acVoltageDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageDivisor::Id, (uint8_t *) &acVoltageDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acVoltageDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11683,13 +11595,13 @@ namespace AcCurrentMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acCurrentMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentMultiplier::Id, (uint8_t *) acCurrentMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acCurrentMultiplier, sizeof(*acCurrentMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acCurrentMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentMultiplier::Id, - (uint8_t *) &acCurrentMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acCurrentMultiplier, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace AcCurrentMultiplier @@ -11698,12 +11610,12 @@ namespace AcCurrentDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acCurrentDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentDivisor::Id, (uint8_t *) acCurrentDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acCurrentDivisor, sizeof(*acCurrentDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acCurrentDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentDivisor::Id, (uint8_t *) &acCurrentDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acCurrentDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11713,12 +11625,12 @@ namespace AcPowerMultiplier { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acPowerMultiplier) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcPowerMultiplier::Id, (uint8_t *) acPowerMultiplier, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acPowerMultiplier, sizeof(*acPowerMultiplier)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acPowerMultiplier) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcPowerMultiplier::Id, (uint8_t *) &acPowerMultiplier, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acPowerMultiplier, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11728,12 +11640,12 @@ namespace AcPowerDivisor { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acPowerDivisor) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcPowerDivisor::Id, (uint8_t *) acPowerDivisor, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acPowerDivisor, sizeof(*acPowerDivisor)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acPowerDivisor) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcPowerDivisor::Id, (uint8_t *) &acPowerDivisor, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acPowerDivisor, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11743,12 +11655,12 @@ namespace OverloadAlarmsMask { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * overloadAlarmsMask) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, OverloadAlarmsMask::Id, (uint8_t *) overloadAlarmsMask, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) overloadAlarmsMask, sizeof(*overloadAlarmsMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t overloadAlarmsMask) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, OverloadAlarmsMask::Id, (uint8_t *) &overloadAlarmsMask, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &overloadAlarmsMask, ZCL_BITMAP8_ATTRIBUTE_TYPE); } @@ -11758,12 +11670,12 @@ namespace VoltageOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * voltageOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, VoltageOverload::Id, (uint8_t *) voltageOverload, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) voltageOverload, sizeof(*voltageOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t voltageOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, VoltageOverload::Id, (uint8_t *) &voltageOverload, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &voltageOverload, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11773,12 +11685,12 @@ namespace CurrentOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * currentOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, CurrentOverload::Id, (uint8_t *) currentOverload, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) currentOverload, sizeof(*currentOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t currentOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, CurrentOverload::Id, (uint8_t *) ¤tOverload, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) ¤tOverload, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11788,13 +11700,13 @@ namespace AcOverloadAlarmsMask { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * acOverloadAlarmsMask) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcOverloadAlarmsMask::Id, - (uint8_t *) acOverloadAlarmsMask, sizeof(*acOverloadAlarmsMask)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acOverloadAlarmsMask, + sizeof(*acOverloadAlarmsMask)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t acOverloadAlarmsMask) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcOverloadAlarmsMask::Id, - (uint8_t *) &acOverloadAlarmsMask, ZCL_BITMAP16_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acOverloadAlarmsMask, + ZCL_BITMAP16_ATTRIBUTE_TYPE); } } // namespace AcOverloadAlarmsMask @@ -11803,12 +11715,12 @@ namespace AcVoltageOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * acVoltageOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageOverload::Id, (uint8_t *) acVoltageOverload, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acVoltageOverload, sizeof(*acVoltageOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t acVoltageOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcVoltageOverload::Id, (uint8_t *) &acVoltageOverload, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acVoltageOverload, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11818,12 +11730,12 @@ namespace AcCurrentOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * acCurrentOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentOverload::Id, (uint8_t *) acCurrentOverload, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acCurrentOverload, sizeof(*acCurrentOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t acCurrentOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcCurrentOverload::Id, (uint8_t *) &acCurrentOverload, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acCurrentOverload, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11833,13 +11745,13 @@ namespace AcActivePowerOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * acActivePowerOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcActivePowerOverload::Id, - (uint8_t *) acActivePowerOverload, sizeof(*acActivePowerOverload)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acActivePowerOverload, + sizeof(*acActivePowerOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t acActivePowerOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcActivePowerOverload::Id, - (uint8_t *) &acActivePowerOverload, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acActivePowerOverload, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace AcActivePowerOverload @@ -11848,13 +11760,13 @@ namespace AcReactivePowerOverload { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * acReactivePowerOverload) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AcReactivePowerOverload::Id, - (uint8_t *) acReactivePowerOverload, sizeof(*acReactivePowerOverload)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) acReactivePowerOverload, + sizeof(*acReactivePowerOverload)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t acReactivePowerOverload) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AcReactivePowerOverload::Id, - (uint8_t *) &acReactivePowerOverload, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &acReactivePowerOverload, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace AcReactivePowerOverload @@ -11863,13 +11775,13 @@ namespace AverageRmsOverVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * averageRmsOverVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltage::Id, - (uint8_t *) averageRmsOverVoltage, sizeof(*averageRmsOverVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsOverVoltage, + sizeof(*averageRmsOverVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t averageRmsOverVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltage::Id, - (uint8_t *) &averageRmsOverVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsOverVoltage, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace AverageRmsOverVoltage @@ -11878,13 +11790,13 @@ namespace AverageRmsUnderVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * averageRmsUnderVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltage::Id, - (uint8_t *) averageRmsUnderVoltage, sizeof(*averageRmsUnderVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsUnderVoltage, + sizeof(*averageRmsUnderVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t averageRmsUnderVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltage::Id, - (uint8_t *) &averageRmsUnderVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsUnderVoltage, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace AverageRmsUnderVoltage @@ -11893,13 +11805,13 @@ namespace RmsExtremeOverVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * rmsExtremeOverVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltage::Id, - (uint8_t *) rmsExtremeOverVoltage, sizeof(*rmsExtremeOverVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeOverVoltage, + sizeof(*rmsExtremeOverVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t rmsExtremeOverVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltage::Id, - (uint8_t *) &rmsExtremeOverVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeOverVoltage, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace RmsExtremeOverVoltage @@ -11908,13 +11820,13 @@ namespace RmsExtremeUnderVoltage { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * rmsExtremeUnderVoltage) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltage::Id, - (uint8_t *) rmsExtremeUnderVoltage, sizeof(*rmsExtremeUnderVoltage)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeUnderVoltage, + sizeof(*rmsExtremeUnderVoltage)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t rmsExtremeUnderVoltage) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltage::Id, - (uint8_t *) &rmsExtremeUnderVoltage, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeUnderVoltage, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace RmsExtremeUnderVoltage @@ -11923,12 +11835,12 @@ namespace RmsVoltageSag { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * rmsVoltageSag) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSag::Id, (uint8_t *) rmsVoltageSag, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSag, sizeof(*rmsVoltageSag)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t rmsVoltageSag) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSag::Id, (uint8_t *) &rmsVoltageSag, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSag, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11938,12 +11850,12 @@ namespace RmsVoltageSwell { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * rmsVoltageSwell) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwell::Id, (uint8_t *) rmsVoltageSwell, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSwell, sizeof(*rmsVoltageSwell)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t rmsVoltageSwell) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwell::Id, (uint8_t *) &rmsVoltageSwell, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSwell, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -11953,12 +11865,12 @@ namespace LineCurrentPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * lineCurrentPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, LineCurrentPhaseB::Id, (uint8_t *) lineCurrentPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) lineCurrentPhaseB, sizeof(*lineCurrentPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t lineCurrentPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, LineCurrentPhaseB::Id, (uint8_t *) &lineCurrentPhaseB, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &lineCurrentPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -11968,13 +11880,13 @@ namespace ActiveCurrentPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activeCurrentPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActiveCurrentPhaseB::Id, (uint8_t *) activeCurrentPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activeCurrentPhaseB, sizeof(*activeCurrentPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activeCurrentPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActiveCurrentPhaseB::Id, - (uint8_t *) &activeCurrentPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activeCurrentPhaseB, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActiveCurrentPhaseB @@ -11983,13 +11895,13 @@ namespace ReactiveCurrentPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * reactiveCurrentPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ReactiveCurrentPhaseB::Id, - (uint8_t *) reactiveCurrentPhaseB, sizeof(*reactiveCurrentPhaseB)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) reactiveCurrentPhaseB, + sizeof(*reactiveCurrentPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t reactiveCurrentPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ReactiveCurrentPhaseB::Id, - (uint8_t *) &reactiveCurrentPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &reactiveCurrentPhaseB, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ReactiveCurrentPhaseB @@ -11998,12 +11910,12 @@ namespace RmsVoltagePhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltagePhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltagePhaseB::Id, (uint8_t *) rmsVoltagePhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltagePhaseB, sizeof(*rmsVoltagePhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltagePhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltagePhaseB::Id, (uint8_t *) &rmsVoltagePhaseB, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltagePhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12013,13 +11925,13 @@ namespace RmsVoltageMinPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMinPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMinPhaseB::Id, (uint8_t *) rmsVoltageMinPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMinPhaseB, sizeof(*rmsVoltageMinPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMinPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMinPhaseB::Id, - (uint8_t *) &rmsVoltageMinPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMinPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageMinPhaseB @@ -12028,13 +11940,13 @@ namespace RmsVoltageMaxPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMaxPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMaxPhaseB::Id, (uint8_t *) rmsVoltageMaxPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMaxPhaseB, sizeof(*rmsVoltageMaxPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMaxPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMaxPhaseB::Id, - (uint8_t *) &rmsVoltageMaxPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMaxPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageMaxPhaseB @@ -12043,12 +11955,12 @@ namespace RmsCurrentPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentPhaseB::Id, (uint8_t *) rmsCurrentPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentPhaseB, sizeof(*rmsCurrentPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentPhaseB::Id, (uint8_t *) &rmsCurrentPhaseB, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12058,13 +11970,13 @@ namespace RmsCurrentMinPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMinPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMinPhaseB::Id, (uint8_t *) rmsCurrentMinPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMinPhaseB, sizeof(*rmsCurrentMinPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMinPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMinPhaseB::Id, - (uint8_t *) &rmsCurrentMinPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMinPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsCurrentMinPhaseB @@ -12073,13 +11985,13 @@ namespace RmsCurrentMaxPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMaxPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMaxPhaseB::Id, (uint8_t *) rmsCurrentMaxPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMaxPhaseB, sizeof(*rmsCurrentMaxPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMaxPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMaxPhaseB::Id, - (uint8_t *) &rmsCurrentMaxPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMaxPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsCurrentMaxPhaseB @@ -12088,12 +12000,12 @@ namespace ActivePowerPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerPhaseB::Id, (uint8_t *) activePowerPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerPhaseB, sizeof(*activePowerPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerPhaseB::Id, (uint8_t *) &activePowerPhaseB, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -12103,13 +12015,13 @@ namespace ActivePowerMinPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMinPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMinPhaseB::Id, - (uint8_t *) activePowerMinPhaseB, sizeof(*activePowerMinPhaseB)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMinPhaseB, + sizeof(*activePowerMinPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMinPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMinPhaseB::Id, - (uint8_t *) &activePowerMinPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMinPhaseB, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActivePowerMinPhaseB @@ -12118,13 +12030,13 @@ namespace ActivePowerMaxPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMaxPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMaxPhaseB::Id, - (uint8_t *) activePowerMaxPhaseB, sizeof(*activePowerMaxPhaseB)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMaxPhaseB, + sizeof(*activePowerMaxPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMaxPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMaxPhaseB::Id, - (uint8_t *) &activePowerMaxPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMaxPhaseB, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActivePowerMaxPhaseB @@ -12133,13 +12045,13 @@ namespace ReactivePowerPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * reactivePowerPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePowerPhaseB::Id, (uint8_t *) reactivePowerPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) reactivePowerPhaseB, sizeof(*reactivePowerPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t reactivePowerPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePowerPhaseB::Id, - (uint8_t *) &reactivePowerPhaseB, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &reactivePowerPhaseB, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ReactivePowerPhaseB @@ -12148,13 +12060,13 @@ namespace ApparentPowerPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * apparentPowerPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPowerPhaseB::Id, (uint8_t *) apparentPowerPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) apparentPowerPhaseB, sizeof(*apparentPowerPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t apparentPowerPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPowerPhaseB::Id, - (uint8_t *) &apparentPowerPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &apparentPowerPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ApparentPowerPhaseB @@ -12163,12 +12075,12 @@ namespace PowerFactorPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * powerFactorPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactorPhaseB::Id, (uint8_t *) powerFactorPhaseB, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) powerFactorPhaseB, sizeof(*powerFactorPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t powerFactorPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactorPhaseB::Id, (uint8_t *) &powerFactorPhaseB, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &powerFactorPhaseB, ZCL_INT8S_ATTRIBUTE_TYPE); } @@ -12178,13 +12090,13 @@ namespace AverageRmsVoltageMeasurementPeriodPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsVoltageMeasurementPeriodPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriodPhaseB::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsVoltageMeasurementPeriodPhaseB, sizeof(*averageRmsVoltageMeasurementPeriodPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsVoltageMeasurementPeriodPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriodPhaseB::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsVoltageMeasurementPeriodPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12194,12 +12106,12 @@ namespace AverageRmsOverVoltageCounterPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsOverVoltageCounterPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltageCounterPhaseB::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsOverVoltageCounterPhaseB, sizeof(*averageRmsOverVoltageCounterPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsOverVoltageCounterPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltageCounterPhaseB::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsOverVoltageCounterPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12209,13 +12121,13 @@ namespace AverageRmsUnderVoltageCounterPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsUnderVoltageCounterPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounterPhaseB::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsUnderVoltageCounterPhaseB, sizeof(*averageRmsUnderVoltageCounterPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsUnderVoltageCounterPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounterPhaseB::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsUnderVoltageCounterPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12225,12 +12137,12 @@ namespace RmsExtremeOverVoltagePeriodPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeOverVoltagePeriodPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriodPhaseB::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeOverVoltagePeriodPhaseB, sizeof(*rmsExtremeOverVoltagePeriodPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeOverVoltagePeriodPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriodPhaseB::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeOverVoltagePeriodPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12240,12 +12152,12 @@ namespace RmsExtremeUnderVoltagePeriodPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeUnderVoltagePeriodPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriodPhaseB::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeUnderVoltagePeriodPhaseB, sizeof(*rmsExtremeUnderVoltagePeriodPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeUnderVoltagePeriodPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriodPhaseB::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeUnderVoltagePeriodPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12255,13 +12167,13 @@ namespace RmsVoltageSagPeriodPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSagPeriodPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriodPhaseB::Id, - (uint8_t *) rmsVoltageSagPeriodPhaseB, sizeof(*rmsVoltageSagPeriodPhaseB)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSagPeriodPhaseB, + sizeof(*rmsVoltageSagPeriodPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSagPeriodPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriodPhaseB::Id, - (uint8_t *) &rmsVoltageSagPeriodPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSagPeriodPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSagPeriodPhaseB @@ -12270,13 +12182,13 @@ namespace RmsVoltageSwellPeriodPhaseB { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSwellPeriodPhaseB) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriodPhaseB::Id, - (uint8_t *) rmsVoltageSwellPeriodPhaseB, sizeof(*rmsVoltageSwellPeriodPhaseB)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSwellPeriodPhaseB, + sizeof(*rmsVoltageSwellPeriodPhaseB)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSwellPeriodPhaseB) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriodPhaseB::Id, - (uint8_t *) &rmsVoltageSwellPeriodPhaseB, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSwellPeriodPhaseB, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSwellPeriodPhaseB @@ -12285,12 +12197,12 @@ namespace LineCurrentPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * lineCurrentPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, LineCurrentPhaseC::Id, (uint8_t *) lineCurrentPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) lineCurrentPhaseC, sizeof(*lineCurrentPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t lineCurrentPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, LineCurrentPhaseC::Id, (uint8_t *) &lineCurrentPhaseC, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &lineCurrentPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12300,13 +12212,13 @@ namespace ActiveCurrentPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activeCurrentPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActiveCurrentPhaseC::Id, (uint8_t *) activeCurrentPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activeCurrentPhaseC, sizeof(*activeCurrentPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activeCurrentPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActiveCurrentPhaseC::Id, - (uint8_t *) &activeCurrentPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activeCurrentPhaseC, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActiveCurrentPhaseC @@ -12315,13 +12227,13 @@ namespace ReactiveCurrentPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * reactiveCurrentPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ReactiveCurrentPhaseC::Id, - (uint8_t *) reactiveCurrentPhaseC, sizeof(*reactiveCurrentPhaseC)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) reactiveCurrentPhaseC, + sizeof(*reactiveCurrentPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t reactiveCurrentPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ReactiveCurrentPhaseC::Id, - (uint8_t *) &reactiveCurrentPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &reactiveCurrentPhaseC, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ReactiveCurrentPhaseC @@ -12330,12 +12242,12 @@ namespace RmsVoltagePhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltagePhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltagePhaseC::Id, (uint8_t *) rmsVoltagePhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltagePhaseC, sizeof(*rmsVoltagePhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltagePhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltagePhaseC::Id, (uint8_t *) &rmsVoltagePhaseC, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltagePhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12345,13 +12257,13 @@ namespace RmsVoltageMinPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMinPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMinPhaseC::Id, (uint8_t *) rmsVoltageMinPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMinPhaseC, sizeof(*rmsVoltageMinPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMinPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMinPhaseC::Id, - (uint8_t *) &rmsVoltageMinPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMinPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageMinPhaseC @@ -12360,13 +12272,13 @@ namespace RmsVoltageMaxPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageMaxPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMaxPhaseC::Id, (uint8_t *) rmsVoltageMaxPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageMaxPhaseC, sizeof(*rmsVoltageMaxPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageMaxPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageMaxPhaseC::Id, - (uint8_t *) &rmsVoltageMaxPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageMaxPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageMaxPhaseC @@ -12375,12 +12287,12 @@ namespace RmsCurrentPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentPhaseC::Id, (uint8_t *) rmsCurrentPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentPhaseC, sizeof(*rmsCurrentPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentPhaseC::Id, (uint8_t *) &rmsCurrentPhaseC, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12390,13 +12302,13 @@ namespace RmsCurrentMinPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMinPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMinPhaseC::Id, (uint8_t *) rmsCurrentMinPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMinPhaseC, sizeof(*rmsCurrentMinPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMinPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMinPhaseC::Id, - (uint8_t *) &rmsCurrentMinPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMinPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsCurrentMinPhaseC @@ -12405,13 +12317,13 @@ namespace RmsCurrentMaxPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsCurrentMaxPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMaxPhaseC::Id, (uint8_t *) rmsCurrentMaxPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsCurrentMaxPhaseC, sizeof(*rmsCurrentMaxPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsCurrentMaxPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsCurrentMaxPhaseC::Id, - (uint8_t *) &rmsCurrentMaxPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsCurrentMaxPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsCurrentMaxPhaseC @@ -12420,12 +12332,12 @@ namespace ActivePowerPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerPhaseC::Id, (uint8_t *) activePowerPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerPhaseC, sizeof(*activePowerPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerPhaseC::Id, (uint8_t *) &activePowerPhaseC, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); } @@ -12435,13 +12347,13 @@ namespace ActivePowerMinPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMinPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMinPhaseC::Id, - (uint8_t *) activePowerMinPhaseC, sizeof(*activePowerMinPhaseC)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMinPhaseC, + sizeof(*activePowerMinPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMinPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMinPhaseC::Id, - (uint8_t *) &activePowerMinPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMinPhaseC, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActivePowerMinPhaseC @@ -12450,13 +12362,13 @@ namespace ActivePowerMaxPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * activePowerMaxPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMaxPhaseC::Id, - (uint8_t *) activePowerMaxPhaseC, sizeof(*activePowerMaxPhaseC)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) activePowerMaxPhaseC, + sizeof(*activePowerMaxPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t activePowerMaxPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ActivePowerMaxPhaseC::Id, - (uint8_t *) &activePowerMaxPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &activePowerMaxPhaseC, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ActivePowerMaxPhaseC @@ -12465,13 +12377,13 @@ namespace ReactivePowerPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int16_t * reactivePowerPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePowerPhaseC::Id, (uint8_t *) reactivePowerPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) reactivePowerPhaseC, sizeof(*reactivePowerPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int16_t reactivePowerPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ReactivePowerPhaseC::Id, - (uint8_t *) &reactivePowerPhaseC, ZCL_INT16S_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &reactivePowerPhaseC, + ZCL_INT16S_ATTRIBUTE_TYPE); } } // namespace ReactivePowerPhaseC @@ -12480,13 +12392,13 @@ namespace ApparentPowerPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * apparentPowerPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPowerPhaseC::Id, (uint8_t *) apparentPowerPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) apparentPowerPhaseC, sizeof(*apparentPowerPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t apparentPowerPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, ApparentPowerPhaseC::Id, - (uint8_t *) &apparentPowerPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &apparentPowerPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace ApparentPowerPhaseC @@ -12495,12 +12407,12 @@ namespace PowerFactorPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, int8_t * powerFactorPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactorPhaseC::Id, (uint8_t *) powerFactorPhaseC, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) powerFactorPhaseC, sizeof(*powerFactorPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, int8_t powerFactorPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, PowerFactorPhaseC::Id, (uint8_t *) &powerFactorPhaseC, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &powerFactorPhaseC, ZCL_INT8S_ATTRIBUTE_TYPE); } @@ -12510,13 +12422,13 @@ namespace AverageRmsVoltageMeasurementPeriodPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsVoltageMeasurementPeriodPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriodPhaseC::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsVoltageMeasurementPeriodPhaseC, sizeof(*averageRmsVoltageMeasurementPeriodPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsVoltageMeasurementPeriodPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsVoltageMeasurementPeriodPhaseC::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsVoltageMeasurementPeriodPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12526,12 +12438,12 @@ namespace AverageRmsOverVoltageCounterPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsOverVoltageCounterPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltageCounterPhaseC::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsOverVoltageCounterPhaseC, sizeof(*averageRmsOverVoltageCounterPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsOverVoltageCounterPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsOverVoltageCounterPhaseC::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsOverVoltageCounterPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12541,13 +12453,13 @@ namespace AverageRmsUnderVoltageCounterPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * averageRmsUnderVoltageCounterPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounterPhaseC::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) averageRmsUnderVoltageCounterPhaseC, sizeof(*averageRmsUnderVoltageCounterPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t averageRmsUnderVoltageCounterPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, AverageRmsUnderVoltageCounterPhaseC::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &averageRmsUnderVoltageCounterPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12557,12 +12469,12 @@ namespace RmsExtremeOverVoltagePeriodPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeOverVoltagePeriodPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriodPhaseC::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeOverVoltagePeriodPhaseC, sizeof(*rmsExtremeOverVoltagePeriodPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeOverVoltagePeriodPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeOverVoltagePeriodPhaseC::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeOverVoltagePeriodPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12572,12 +12484,12 @@ namespace RmsExtremeUnderVoltagePeriodPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsExtremeUnderVoltagePeriodPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriodPhaseC::Id, + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsExtremeUnderVoltagePeriodPhaseC, sizeof(*rmsExtremeUnderVoltagePeriodPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsExtremeUnderVoltagePeriodPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsExtremeUnderVoltagePeriodPhaseC::Id, + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsExtremeUnderVoltagePeriodPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); } @@ -12587,13 +12499,13 @@ namespace RmsVoltageSagPeriodPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSagPeriodPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriodPhaseC::Id, - (uint8_t *) rmsVoltageSagPeriodPhaseC, sizeof(*rmsVoltageSagPeriodPhaseC)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSagPeriodPhaseC, + sizeof(*rmsVoltageSagPeriodPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSagPeriodPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSagPeriodPhaseC::Id, - (uint8_t *) &rmsVoltageSagPeriodPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSagPeriodPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSagPeriodPhaseC @@ -12602,13 +12514,13 @@ namespace RmsVoltageSwellPeriodPhaseC { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * rmsVoltageSwellPeriodPhaseC) { - return emberAfReadServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriodPhaseC::Id, - (uint8_t *) rmsVoltageSwellPeriodPhaseC, sizeof(*rmsVoltageSwellPeriodPhaseC)); + return emberAfReadServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) rmsVoltageSwellPeriodPhaseC, + sizeof(*rmsVoltageSwellPeriodPhaseC)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t rmsVoltageSwellPeriodPhaseC) { - return emberAfWriteServerAttribute(endpoint, ElectricalMeasurement::Id, RmsVoltageSwellPeriodPhaseC::Id, - (uint8_t *) &rmsVoltageSwellPeriodPhaseC, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::ElectricalMeasurement::Id, Id, (uint8_t *) &rmsVoltageSwellPeriodPhaseC, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace RmsVoltageSwellPeriodPhaseC @@ -12629,13 +12541,13 @@ namespace EmberSampleAttribute { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * emberSampleAttribute) { - return emberAfReadServerAttribute(endpoint, SampleMfgSpecificCluster::Id, EmberSampleAttribute::Id, - (uint8_t *) emberSampleAttribute, sizeof(*emberSampleAttribute)); + return emberAfReadServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster::Id, Id, (uint8_t *) emberSampleAttribute, + sizeof(*emberSampleAttribute)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t emberSampleAttribute) { - return emberAfWriteServerAttribute(endpoint, SampleMfgSpecificCluster::Id, EmberSampleAttribute::Id, - (uint8_t *) &emberSampleAttribute, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster::Id, Id, (uint8_t *) &emberSampleAttribute, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace EmberSampleAttribute @@ -12644,13 +12556,13 @@ namespace EmberSampleAttribute2 { EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * emberSampleAttribute2) { - return emberAfReadServerAttribute(endpoint, SampleMfgSpecificCluster::Id, EmberSampleAttribute2::Id, - (uint8_t *) emberSampleAttribute2, sizeof(*emberSampleAttribute2)); + return emberAfReadServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster::Id, Id, (uint8_t *) emberSampleAttribute2, + sizeof(*emberSampleAttribute2)); } EmberAfStatus Set(chip::EndpointId endpoint, uint8_t emberSampleAttribute2) { - return emberAfWriteServerAttribute(endpoint, SampleMfgSpecificCluster::Id, EmberSampleAttribute2::Id, - (uint8_t *) &emberSampleAttribute2, ZCL_INT8U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster::Id, Id, (uint8_t *) &emberSampleAttribute2, + ZCL_INT8U_ATTRIBUTE_TYPE); } } // namespace EmberSampleAttribute2 @@ -12665,13 +12577,13 @@ namespace EmberSampleAttribute3 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * emberSampleAttribute3) { - return emberAfReadServerAttribute(endpoint, SampleMfgSpecificCluster2::Id, EmberSampleAttribute3::Id, - (uint8_t *) emberSampleAttribute3, sizeof(*emberSampleAttribute3)); + return emberAfReadServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster2::Id, Id, (uint8_t *) emberSampleAttribute3, + sizeof(*emberSampleAttribute3)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t emberSampleAttribute3) { - return emberAfWriteServerAttribute(endpoint, SampleMfgSpecificCluster2::Id, EmberSampleAttribute3::Id, - (uint8_t *) &emberSampleAttribute3, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster2::Id, Id, (uint8_t *) &emberSampleAttribute3, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace EmberSampleAttribute3 @@ -12680,13 +12592,13 @@ namespace EmberSampleAttribute4 { EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * emberSampleAttribute4) { - return emberAfReadServerAttribute(endpoint, SampleMfgSpecificCluster2::Id, EmberSampleAttribute4::Id, - (uint8_t *) emberSampleAttribute4, sizeof(*emberSampleAttribute4)); + return emberAfReadServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster2::Id, Id, (uint8_t *) emberSampleAttribute4, + sizeof(*emberSampleAttribute4)); } EmberAfStatus Set(chip::EndpointId endpoint, uint16_t emberSampleAttribute4) { - return emberAfWriteServerAttribute(endpoint, SampleMfgSpecificCluster2::Id, EmberSampleAttribute4::Id, - (uint8_t *) &emberSampleAttribute4, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::SampleMfgSpecificCluster2::Id, Id, (uint8_t *) &emberSampleAttribute4, + ZCL_INT16U_ATTRIBUTE_TYPE); } } // namespace EmberSampleAttribute4 diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index 1a1512a24eaa61..f6228e6328a6ac 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -1459,6 +1459,17 @@ namespace Attributes { } // namespace Attributes } // namespace FixedLabel +namespace BooleanState { +namespace Attributes { + +namespace StateValue { +EmberAfStatus Get(chip::EndpointId endpoint, bool * stateValue); // boolean +EmberAfStatus Set(chip::EndpointId endpoint, bool stateValue); +} // namespace StateValue + +} // namespace Attributes +} // namespace BooleanState + namespace ShadeConfiguration { namespace Attributes { @@ -2666,27 +2677,6 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lightSensorType); } // namespace Attributes } // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { -namespace Attributes { - -namespace LevelStatus { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * levelStatus); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t levelStatus); -} // namespace LevelStatus - -namespace LightSensorType { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * lightSensorType); // enum8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t lightSensorType); -} // namespace LightSensorType - -namespace IlluminanceLevelTarget { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * illuminanceLevelTarget); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t illuminanceLevelTarget); -} // namespace IlluminanceLevelTarget - -} // namespace Attributes -} // namespace IlluminanceLevelSensing - namespace TemperatureMeasurement { namespace Attributes { @@ -3941,6 +3931,11 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * epochS); // epoch_s EmberAfStatus Set(chip::EndpointId endpoint, uint32_t epochS); } // namespace EpochS +namespace VendorId { +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * vendorId); // vendor_id +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId vendorId); +} // namespace VendorId + namespace Unsupported { EmberAfStatus Get(chip::EndpointId endpoint, bool * unsupported); // boolean EmberAfStatus Set(chip::EndpointId endpoint, bool unsupported); 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 5906cf4051eaa7..4548ae7c8d6a8a 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -302,6 +302,14 @@ void emberAfOperationalCredentialsClusterInitCallback(chip::EndpointId endpoint) */ void emberAfFixedLabelClusterInitCallback(chip::EndpointId endpoint); +/** @brief Boolean State Cluster Init + * + * Cluster Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfBooleanStateClusterInitCallback(chip::EndpointId endpoint); + /** @brief Shade Configuration Cluster Init * * Cluster Init @@ -398,14 +406,6 @@ void emberAfBallastConfigurationClusterInitCallback(chip::EndpointId endpoint); */ void emberAfIlluminanceMeasurementClusterInitCallback(chip::EndpointId endpoint); -/** @brief Illuminance Level Sensing Cluster Init - * - * Cluster Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfIlluminanceLevelSensingClusterInitCallback(chip::EndpointId endpoint); - /** @brief Temperature Measurement Cluster Init * * Cluster Init @@ -4232,6 +4232,110 @@ void emberAfFixedLabelClusterServerTickCallback(chip::EndpointId endpoint); */ void emberAfFixedLabelClusterClientTickCallback(chip::EndpointId endpoint); +// +// Boolean State Cluster +// + +/** @brief Boolean State Cluster Server Init + * + * Server Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfBooleanStateClusterServerInitCallback(chip::EndpointId endpoint); + +/** @brief Boolean State Cluster Client Init + * + * Client Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfBooleanStateClusterClientInitCallback(chip::EndpointId endpoint); + +/** @brief Boolean State Cluster Server Attribute Changed + * + * Server Attribute Changed + * + * @param attributePath Concrete attribute path that changed + */ +void MatterBooleanStateClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** @brief Boolean State Cluster Client Attribute Changed + * + * Client Attribute Changed + * + * @param attributePath Concrete attribute path that changed + */ +void MatterBooleanStateClusterClientAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** @brief Boolean State Cluster Server Message Sent + * + * Server Message Sent + * + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message + */ +void emberAfBooleanStateClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); + +/** @brief Boolean State Cluster Client Message Sent + * + * Client Message Sent + * + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message + */ +void emberAfBooleanStateClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); + +/** @brief Boolean State Cluster Server Pre Attribute Changed + * + * Server Pre Attribute Changed + * + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status +MatterBooleanStateClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** @brief Boolean State Cluster Client Pre Attribute Changed + * + * Client Pre Attribute Changed + * + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status +MatterBooleanStateClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** @brief Boolean State Cluster Server Tick + * + * Server Tick + * + * @param endpoint Endpoint that is being served + */ +void emberAfBooleanStateClusterServerTickCallback(chip::EndpointId endpoint); + +/** @brief Boolean State Cluster Client Tick + * + * Client Tick + * + * @param endpoint Endpoint that is being served + */ +void emberAfBooleanStateClusterClientTickCallback(chip::EndpointId endpoint); + // // Shade Configuration Cluster // @@ -5486,110 +5590,6 @@ void emberAfIlluminanceMeasurementClusterServerTickCallback(chip::EndpointId end */ void emberAfIlluminanceMeasurementClusterClientTickCallback(chip::EndpointId endpoint); -// -// Illuminance Level Sensing Cluster -// - -/** @brief Illuminance Level Sensing Cluster Server Init - * - * Server Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfIlluminanceLevelSensingClusterServerInitCallback(chip::EndpointId endpoint); - -/** @brief Illuminance Level Sensing Cluster Client Init - * - * Client Init - * - * @param endpoint Endpoint that is being initialized - */ -void emberAfIlluminanceLevelSensingClusterClientInitCallback(chip::EndpointId endpoint); - -/** @brief Illuminance Level Sensing Cluster Server Attribute Changed - * - * Server Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterIlluminanceLevelSensingClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Illuminance Level Sensing Cluster Client Attribute Changed - * - * Client Attribute Changed - * - * @param attributePath Concrete attribute path that changed - */ -void MatterIlluminanceLevelSensingClusterClientAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); - -/** @brief Illuminance Level Sensing Cluster Server Message Sent - * - * Server Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfIlluminanceLevelSensingClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Illuminance Level Sensing Cluster Client Message Sent - * - * Client Message Sent - * - * @param destination The destination to which the message was sent - * @param apsFrame The APS frame for the message - * @param msgLen The length of the message - * @param message The message that was sent - * @param status The status of the sent message - */ -void emberAfIlluminanceLevelSensingClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, - EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, - EmberStatus status); - -/** @brief Illuminance Level Sensing Cluster Server Pre Attribute Changed - * - * Server Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterIlluminanceLevelSensingClusterServerPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Illuminance Level Sensing Cluster Client Pre Attribute Changed - * - * Client Pre Attribute Changed - * - * @param attributePath Concrete attribute path to be changed - * @param attributeType Attribute type - * @param size Attribute size - * @param value Attribute value - */ -chip::Protocols::InteractionModel::Status MatterIlluminanceLevelSensingClusterClientPreAttributeChangedCallback( - const chip::app::ConcreteAttributePath & attributePath, EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); - -/** @brief Illuminance Level Sensing Cluster Server Tick - * - * Server Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfIlluminanceLevelSensingClusterServerTickCallback(chip::EndpointId endpoint); - -/** @brief Illuminance Level Sensing Cluster Client Tick - * - * Client Tick - * - * @param endpoint Endpoint that is being served - */ -void emberAfIlluminanceLevelSensingClusterClientTickCallback(chip::EndpointId endpoint); - // // Temperature Measurement Cluster // @@ -13892,6 +13892,11 @@ bool emberAfTestClusterClusterTestListInt8UReverseResponseCallback(chip::Endpoin bool emberAfTestClusterClusterTestSimpleArgumentRequestCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::TestCluster::Commands::TestSimpleArgumentRequest::DecodableType & commandData); +/** + * @brief Test Cluster Cluster TestEnumsResponse Command callback (from server) + */ +bool emberAfTestClusterClusterTestEnumsResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, + chip::VendorId arg1, uint8_t arg2); /** * @brief Test Cluster Cluster TestStructArrayArgumentRequest Command callback (from client) */ @@ -13940,6 +13945,12 @@ bool emberAfTestClusterClusterTestListNestedStructListArgumentRequestCallback( bool emberAfTestClusterClusterTestListInt8UReverseRequestCallback( chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, const chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::DecodableType & commandData); +/** + * @brief Test Cluster Cluster TestEnumsRequest Command callback (from client) + */ +bool emberAfTestClusterClusterTestEnumsRequestCallback( + chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath, + const chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::DecodableType & commandData); /** * @brief Messaging Cluster DisplayMessage Command callback (from server) */ diff --git a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h index ef2f2c60995346..29f7d84332c1b8 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h +++ b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h @@ -115,6 +115,9 @@ void __attribute__((weak)) MatterOperationalCredentialsPluginServerInitCallback( void __attribute__((weak)) MatterFixedLabelPluginClientInitCallback(){}; void __attribute__((weak)) MatterFixedLabelPluginServerInitCallback(){}; +void __attribute__((weak)) MatterBooleanStatePluginClientInitCallback(){}; +void __attribute__((weak)) MatterBooleanStatePluginServerInitCallback(){}; + void __attribute__((weak)) MatterShadeConfigurationPluginClientInitCallback(){}; void __attribute__((weak)) MatterShadeConfigurationPluginServerInitCallback(){}; @@ -151,9 +154,6 @@ void __attribute__((weak)) MatterBallastConfigurationPluginServerInitCallback(){ void __attribute__((weak)) MatterIlluminanceMeasurementPluginClientInitCallback(){}; void __attribute__((weak)) MatterIlluminanceMeasurementPluginServerInitCallback(){}; -void __attribute__((weak)) MatterIlluminanceLevelSensingPluginClientInitCallback(){}; -void __attribute__((weak)) MatterIlluminanceLevelSensingPluginServerInitCallback(){}; - void __attribute__((weak)) MatterTemperatureMeasurementPluginClientInitCallback(){}; void __attribute__((weak)) MatterTemperatureMeasurementPluginServerInitCallback(){}; diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h index b740737d30722e..c5bf185911543d 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h @@ -118,6 +118,9 @@ static constexpr chip::ClusterId ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID = 0x003E // Definitions for cluster: Fixed Label static constexpr chip::ClusterId ZCL_FIXED_LABEL_CLUSTER_ID = 0x0040; +// Definitions for cluster: Boolean State +static constexpr chip::ClusterId ZCL_BOOLEAN_STATE_CLUSTER_ID = 0x0045; + // Definitions for cluster: Shade Configuration static constexpr chip::ClusterId ZCL_SHADE_CONFIG_CLUSTER_ID = 0x0100; @@ -152,10 +155,7 @@ static constexpr chip::ClusterId ZCL_COLOR_CONTROL_CLUSTER_ID = 0x0300; static constexpr chip::ClusterId ZCL_BALLAST_CONFIGURATION_CLUSTER_ID = 0x0301; // Definitions for cluster: Illuminance Measurement -static constexpr chip::ClusterId ZCL_ILLUM_MEASUREMENT_CLUSTER_ID = 0x0400; - -// Definitions for cluster: Illuminance Level Sensing -static constexpr chip::ClusterId ZCL_ILLUM_LEVEL_SENSING_CLUSTER_ID = 0x0401; +static constexpr chip::ClusterId ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID = 0x0400; // Definitions for cluster: Temperature Measurement static constexpr chip::ClusterId ZCL_TEMP_MEASUREMENT_CLUSTER_ID = 0x0402; 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 53b70f97c27da8..6782e18166dc0f 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 @@ -6995,6 +6995,49 @@ namespace Events { } // namespace Events } // namespace FixedLabel +namespace BooleanState { + +namespace Commands { +} // namespace Commands + +namespace Events { +namespace StateChange { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStateValue)), stateValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + VerifyOrReturnError(TLV::IsContextTag(reader.GetTag()), CHIP_ERROR_INVALID_TLV_TAG); + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kStateValue): + ReturnErrorOnFailure(DataModel::Decode(reader, stateValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace StateChange. +} // namespace Events + +} // namespace BooleanState namespace ShadeConfiguration { namespace Commands { @@ -11235,15 +11278,6 @@ namespace Events { } // namespace Events } // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { - -namespace Commands { -} // namespace Commands - -namespace Events { -} // namespace Events - -} // namespace IlluminanceLevelSensing namespace TemperatureMeasurement { namespace Commands { @@ -15652,6 +15686,44 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } } // namespace TestSimpleArgumentRequest. +namespace TestEnumsResponse { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kArg1)), arg1)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kArg2)), arg2)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + VerifyOrReturnError(TLV::IsContextTag(reader.GetTag()), CHIP_ERROR_INVALID_TLV_TAG); + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kArg1): + ReturnErrorOnFailure(DataModel::Decode(reader, arg1)); + break; + case to_underlying(Fields::kArg2): + ReturnErrorOnFailure(DataModel::Decode(reader, arg2)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace TestEnumsResponse. namespace TestStructArrayArgumentRequest { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { @@ -15944,6 +16016,44 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } } // namespace TestListInt8UReverseRequest. +namespace TestEnumsRequest { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kArg1)), arg1)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kArg2)), arg2)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + ReturnErrorOnFailure(reader.EnterContainer(outer)); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + VerifyOrReturnError(TLV::IsContextTag(reader.GetTag()), CHIP_ERROR_INVALID_TLV_TAG); + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kArg1): + ReturnErrorOnFailure(DataModel::Decode(reader, arg1)); + break; + case to_underlying(Fields::kArg2): + ReturnErrorOnFailure(DataModel::Decode(reader, arg2)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} +} // namespace TestEnumsRequest. } // namespace Commands namespace Events { 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 e153cdfd236043..7b27f3a1695343 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 @@ -45,7 +45,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltage::Id; } }; } // namespace MainsVoltage @@ -55,7 +55,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsFrequency::Id; } }; } // namespace MainsFrequency @@ -65,7 +65,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsAlarmMask::Id; } }; } // namespace MainsAlarmMask @@ -75,7 +75,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageMinThreshold::Id; } }; } // namespace MainsVoltageMinThreshold @@ -85,7 +85,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageMaxThreshold::Id; } }; } // namespace MainsVoltageMaxThreshold @@ -95,7 +95,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MainsVoltageDwellTrip::Id; } }; } // namespace MainsVoltageDwellTrip @@ -105,7 +105,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltage::Id; } }; } // namespace BatteryVoltage @@ -115,7 +115,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageRemaining::Id; } }; } // namespace BatteryPercentageRemaining @@ -125,7 +125,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryManufacturer::Id; } }; } // namespace BatteryManufacturer @@ -135,7 +135,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatterySize::Id; } }; } // namespace BatterySize @@ -145,7 +145,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAhrRating::Id; } }; } // namespace BatteryAhrRating @@ -155,7 +155,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryQuantity::Id; } }; } // namespace BatteryQuantity @@ -165,7 +165,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryRatedVoltage::Id; } }; } // namespace BatteryRatedVoltage @@ -175,7 +175,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAlarmMask::Id; } }; } // namespace BatteryAlarmMask @@ -185,7 +185,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageMinThreshold::Id; } }; } // namespace BatteryVoltageMinThreshold @@ -195,7 +195,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold1::Id; } }; } // namespace BatteryVoltageThreshold1 @@ -205,7 +205,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold2::Id; } }; } // namespace BatteryVoltageThreshold2 @@ -215,7 +215,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltageThreshold3::Id; } }; } // namespace BatteryVoltageThreshold3 @@ -225,7 +225,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageMinThreshold::Id; } }; } // namespace BatteryPercentageMinThreshold @@ -235,7 +235,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold1::Id; } }; } // namespace BatteryPercentageThreshold1 @@ -245,7 +245,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold2::Id; } }; } // namespace BatteryPercentageThreshold2 @@ -255,7 +255,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentageThreshold3::Id; } }; } // namespace BatteryPercentageThreshold3 @@ -265,7 +265,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryAlarmState::Id; } }; } // namespace BatteryAlarmState @@ -275,7 +275,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Voltage::Id; } }; } // namespace Battery2Voltage @@ -285,7 +285,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageRemaining::Id; } }; } // namespace Battery2PercentageRemaining @@ -295,7 +295,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Manufacturer::Id; } }; } // namespace Battery2Manufacturer @@ -305,7 +305,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Size::Id; } }; } // namespace Battery2Size @@ -315,7 +315,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AhrRating::Id; } }; } // namespace Battery2AhrRating @@ -325,7 +325,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2Quantity::Id; } }; } // namespace Battery2Quantity @@ -335,7 +335,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2RatedVoltage::Id; } }; } // namespace Battery2RatedVoltage @@ -345,7 +345,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AlarmMask::Id; } }; } // namespace Battery2AlarmMask @@ -355,7 +355,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageMinThreshold::Id; } }; } // namespace Battery2VoltageMinThreshold @@ -365,7 +365,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold1::Id; } }; } // namespace Battery2VoltageThreshold1 @@ -375,7 +375,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold2::Id; } }; } // namespace Battery2VoltageThreshold2 @@ -385,7 +385,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2VoltageThreshold3::Id; } }; } // namespace Battery2VoltageThreshold3 @@ -395,7 +395,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageMinThreshold::Id; } }; } // namespace Battery2PercentageMinThreshold @@ -405,7 +405,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold1::Id; } }; } // namespace Battery2PercentageThreshold1 @@ -415,7 +415,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold2::Id; } }; } // namespace Battery2PercentageThreshold2 @@ -425,7 +425,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2PercentageThreshold3::Id; } }; } // namespace Battery2PercentageThreshold3 @@ -435,7 +435,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery2AlarmState::Id; } }; } // namespace Battery2AlarmState @@ -445,7 +445,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Voltage::Id; } }; } // namespace Battery3Voltage @@ -455,7 +455,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageRemaining::Id; } }; } // namespace Battery3PercentageRemaining @@ -465,7 +465,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Manufacturer::Id; } }; } // namespace Battery3Manufacturer @@ -475,7 +475,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Size::Id; } }; } // namespace Battery3Size @@ -485,7 +485,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AhrRating::Id; } }; } // namespace Battery3AhrRating @@ -495,7 +495,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3Quantity::Id; } }; } // namespace Battery3Quantity @@ -505,7 +505,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3RatedVoltage::Id; } }; } // namespace Battery3RatedVoltage @@ -515,7 +515,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AlarmMask::Id; } }; } // namespace Battery3AlarmMask @@ -525,7 +525,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageMinThreshold::Id; } }; } // namespace Battery3VoltageMinThreshold @@ -535,7 +535,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold1::Id; } }; } // namespace Battery3VoltageThreshold1 @@ -545,7 +545,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold2::Id; } }; } // namespace Battery3VoltageThreshold2 @@ -555,7 +555,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3VoltageThreshold3::Id; } }; } // namespace Battery3VoltageThreshold3 @@ -565,7 +565,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageMinThreshold::Id; } }; } // namespace Battery3PercentageMinThreshold @@ -575,7 +575,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold1::Id; } }; } // namespace Battery3PercentageThreshold1 @@ -585,7 +585,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold2::Id; } }; } // namespace Battery3PercentageThreshold2 @@ -595,7 +595,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3PercentageThreshold3::Id; } }; } // namespace Battery3PercentageThreshold3 @@ -605,10 +605,30 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Battery3AlarmState::Id; } }; } // namespace Battery3AlarmState +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerConfiguration namespace DeviceTemperatureConfiguration { @@ -620,7 +640,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTemperature::Id; } }; } // namespace CurrentTemperature @@ -630,7 +650,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinTempExperienced::Id; } }; } // namespace MinTempExperienced @@ -640,7 +660,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxTempExperienced::Id; } }; } // namespace MaxTempExperienced @@ -650,7 +670,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OverTempTotalDwell::Id; } }; } // namespace OverTempTotalDwell @@ -660,7 +680,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DeviceTempAlarmMask::Id; } }; } // namespace DeviceTempAlarmMask @@ -670,7 +690,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LowTempThreshold::Id; } }; } // namespace LowTempThreshold @@ -680,7 +700,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HighTempThreshold::Id; } }; } // namespace HighTempThreshold @@ -690,7 +710,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LowTempDwellTripPoint::Id; } }; } // namespace LowTempDwellTripPoint @@ -700,10 +720,30 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return DeviceTemperatureConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HighTempDwellTripPoint::Id; } }; } // namespace HighTempDwellTripPoint +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DeviceTemperatureConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace DeviceTemperatureConfiguration namespace Identify { @@ -872,7 +912,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Identify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyTime::Id; } }; } // namespace IdentifyTime @@ -882,10 +922,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Identify::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IdentifyType::Id; } }; } // namespace IdentifyType +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Identify::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Identify namespace Groups { @@ -1203,10 +1263,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Groups::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } }; } // namespace NameSupport +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Groups namespace Scenes { @@ -1913,7 +1993,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SceneCount::Id; } }; } // namespace SceneCount @@ -1923,7 +2003,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentScene::Id; } }; } // namespace CurrentScene @@ -1933,7 +2013,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentGroup::Id; } }; } // namespace CurrentGroup @@ -1943,7 +2023,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SceneValid::Id; } }; } // namespace SceneValid @@ -1953,7 +2033,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NameSupport::Id; } }; } // namespace NameSupport @@ -1963,10 +2043,30 @@ struct TypeInfo using Type = chip::NodeId; using DecodableType = chip::NodeId; - static constexpr ClusterId GetClusterId() { return Scenes::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LastConfiguredBy::Id; } }; } // namespace LastConfiguredBy +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Scenes::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Scenes namespace OnOff { @@ -2304,7 +2404,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OnOff::Id; } }; } // namespace OnOff @@ -2314,7 +2414,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SampleMfgSpecificAttribute0x00000x1002::Id; } }; } // namespace SampleMfgSpecificAttribute0x00000x1002 @@ -2324,7 +2424,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SampleMfgSpecificAttribute0x00000x1049::Id; } }; } // namespace SampleMfgSpecificAttribute0x00000x1049 @@ -2334,7 +2434,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SampleMfgSpecificAttribute0x00010x1002::Id; } }; } // namespace SampleMfgSpecificAttribute0x00010x1002 @@ -2344,7 +2444,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SampleMfgSpecificAttribute0x00010x1040::Id; } }; } // namespace SampleMfgSpecificAttribute0x00010x1040 @@ -2354,7 +2454,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::GlobalSceneControl::Id; } }; } // namespace GlobalSceneControl @@ -2364,7 +2464,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OnTime::Id; } }; } // namespace OnTime @@ -2374,7 +2474,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OffWaitTime::Id; } }; } // namespace OffWaitTime @@ -2384,10 +2484,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OnOff::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartUpOnOff::Id; } }; } // namespace StartUpOnOff +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OnOff::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OnOff namespace OnOffSwitchConfiguration { @@ -2399,7 +2519,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SwitchType::Id; } }; } // namespace SwitchType @@ -2409,10 +2529,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OnOffSwitchConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SwitchActions::Id; } }; } // namespace SwitchActions +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OnOffSwitchConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OnOffSwitchConfiguration namespace LevelControl { @@ -2716,7 +2856,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentLevel::Id; } }; } // namespace CurrentLevel @@ -2726,7 +2866,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } }; } // namespace RemainingTime @@ -2736,7 +2876,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } }; } // namespace MinLevel @@ -2746,7 +2886,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } }; } // namespace MaxLevel @@ -2756,7 +2896,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentFrequency::Id; } }; } // namespace CurrentFrequency @@ -2766,7 +2906,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinFrequency::Id; } }; } // namespace MinFrequency @@ -2776,7 +2916,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxFrequency::Id; } }; } // namespace MaxFrequency @@ -2786,7 +2926,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; } }; } // namespace Options @@ -2796,7 +2936,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OnOffTransitionTime::Id; } }; } // namespace OnOffTransitionTime @@ -2806,7 +2946,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OnLevel::Id; } }; } // namespace OnLevel @@ -2816,7 +2956,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OnTransitionTime::Id; } }; } // namespace OnTransitionTime @@ -2826,7 +2966,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OffTransitionTime::Id; } }; } // namespace OffTransitionTime @@ -2836,7 +2976,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DefaultMoveRate::Id; } }; } // namespace DefaultMoveRate @@ -2846,10 +2986,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return LevelControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartUpCurrentLevel::Id; } }; } // namespace StartUpCurrentLevel +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LevelControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace LevelControl namespace Alarms { @@ -3035,10 +3195,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Alarms::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AlarmCount::Id; } }; } // namespace AlarmCount +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Alarms::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Alarms namespace Time { @@ -3050,7 +3230,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Time::Id; } }; } // namespace Time @@ -3060,7 +3240,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TimeStatus::Id; } }; } // namespace TimeStatus @@ -3070,7 +3250,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TimeZone::Id; } }; } // namespace TimeZone @@ -3080,7 +3260,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DstStart::Id; } }; } // namespace DstStart @@ -3090,7 +3270,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DstEnd::Id; } }; } // namespace DstEnd @@ -3100,7 +3280,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DstShift::Id; } }; } // namespace DstShift @@ -3110,7 +3290,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StandardTime::Id; } }; } // namespace StandardTime @@ -3120,7 +3300,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocalTime::Id; } }; } // namespace LocalTime @@ -3130,7 +3310,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LastSetTime::Id; } }; } // namespace LastSetTime @@ -3140,10 +3320,30 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Time::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ValidUntilTime::Id; } }; } // namespace ValidUntilTime +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Time::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Time namespace BinaryInputBasic { @@ -3155,7 +3355,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveText::Id; } }; } // namespace ActiveText @@ -3165,7 +3365,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } }; } // namespace Description @@ -3175,7 +3375,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InactiveText::Id; } }; } // namespace InactiveText @@ -3185,7 +3385,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OutOfService::Id; } }; } // namespace OutOfService @@ -3195,7 +3395,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Polarity::Id; } }; } // namespace Polarity @@ -3205,7 +3405,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PresentValue::Id; } }; } // namespace PresentValue @@ -3215,7 +3415,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Reliability::Id; } }; } // namespace Reliability @@ -3225,7 +3425,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StatusFlags::Id; } }; } // namespace StatusFlags @@ -3235,10 +3435,30 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return BinaryInputBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationType::Id; } }; } // namespace ApplicationType +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BinaryInputBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BinaryInputBasic namespace PowerProfile { @@ -3998,7 +4218,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerProfile::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TotalProfileNum::Id; } }; } // namespace TotalProfileNum @@ -4008,7 +4228,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerProfile::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MultipleScheduling::Id; } }; } // namespace MultipleScheduling @@ -4018,7 +4238,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerProfile::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnergyFormatting::Id; } }; } // namespace EnergyFormatting @@ -4028,7 +4248,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerProfile::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnergyRemote::Id; } }; } // namespace EnergyRemote @@ -4038,10 +4258,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerProfile::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ScheduleMode::Id; } }; } // namespace ScheduleMode +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerProfile namespace ApplianceControl { @@ -4354,7 +4594,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartTime::Id; } }; } // namespace StartTime @@ -4364,7 +4604,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FinishTime::Id; } }; } // namespace FinishTime @@ -4374,10 +4614,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } }; } // namespace RemainingTime +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceControl namespace Descriptor { @@ -4412,7 +4672,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DeviceList::Id; } }; } // namespace DeviceList @@ -4422,7 +4682,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ServerList::Id; } }; } // namespace ServerList @@ -4432,7 +4692,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ClientList::Id; } }; } // namespace ClientList @@ -4442,10 +4702,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return Descriptor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartsList::Id; } }; } // namespace PartsList +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Descriptor namespace PollControl { @@ -4595,7 +4875,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CheckInInterval::Id; } }; } // namespace CheckInInterval @@ -4605,7 +4885,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LongPollInterval::Id; } }; } // namespace LongPollInterval @@ -4615,7 +4895,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ShortPollInterval::Id; } }; } // namespace ShortPollInterval @@ -4625,7 +4905,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FastPollTimeout::Id; } }; } // namespace FastPollTimeout @@ -4635,7 +4915,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CheckInIntervalMin::Id; } }; } // namespace CheckInIntervalMin @@ -4645,7 +4925,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LongPollIntervalMin::Id; } }; } // namespace LongPollIntervalMin @@ -4655,10 +4935,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PollControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FastPollTimeoutMax::Id; } }; } // namespace FastPollTimeoutMax +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PollControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace PollControl namespace Basic { @@ -4769,7 +5069,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InteractionModelVersion::Id; } }; } // namespace InteractionModelVersion @@ -4779,7 +5079,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } }; } // namespace VendorName @@ -4789,7 +5089,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } }; } // namespace VendorID @@ -4799,7 +5099,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } }; } // namespace ProductName @@ -4809,7 +5109,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; } }; } // namespace ProductID @@ -4819,7 +5119,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UserLabel::Id; } }; } // namespace UserLabel @@ -4829,7 +5129,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Location::Id; } }; } // namespace Location @@ -4839,7 +5139,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } }; } // namespace HardwareVersion @@ -4849,7 +5149,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } }; } // namespace HardwareVersionString @@ -4859,7 +5159,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } }; } // namespace SoftwareVersion @@ -4869,7 +5169,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } }; } // namespace SoftwareVersionString @@ -4879,7 +5179,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } }; } // namespace ManufacturingDate @@ -4889,7 +5189,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } }; } // namespace PartNumber @@ -4899,7 +5199,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } }; } // namespace ProductURL @@ -4909,7 +5209,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } }; } // namespace ProductLabel @@ -4919,7 +5219,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } }; } // namespace SerialNumber @@ -4929,7 +5229,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocalConfigDisabled::Id; } }; } // namespace LocalConfigDisabled @@ -4939,20 +5239,40 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return Basic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } }; } // namespace Reachable -} // namespace Attributes -} // namespace Basic -namespace OtaSoftwareUpdateProvider { -// Need to convert consumers to using the new enum classes, so we -// don't just have casts all over. -#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -// Enum for OTAApplyUpdateAction -enum class OTAApplyUpdateAction : uint8_t +namespace FeatureMap { +struct TypeInfo { - kProceed = 0x00, + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes +} // namespace Basic +namespace OtaSoftwareUpdateProvider { +// Need to convert consumers to using the new enum classes, so we +// don't just have casts all over. +#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +// Enum for OTAApplyUpdateAction +enum class OTAApplyUpdateAction : uint8_t +{ + kProceed = 0x00, kAwaitNextAction = 0x01, kDiscontinue = 0x02, }; @@ -5181,6 +5501,28 @@ struct DecodableType }; // namespace ApplyUpdateRequestResponse } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateProvider::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace OtaSoftwareUpdateProvider namespace OtaSoftwareUpdateRequestor { // Need to convert consumers to using the new enum classes, so we @@ -5244,7 +5586,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DefaultOtaProvider::Id; } }; } // namespace DefaultOtaProvider @@ -5254,10 +5596,30 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return OtaSoftwareUpdateRequestor::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UpdatePossible::Id; } }; } // namespace UpdatePossible +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OtaSoftwareUpdateRequestor namespace PowerSource { @@ -5269,7 +5631,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } }; } // namespace Status @@ -5279,7 +5641,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Order::Id; } }; } // namespace Order @@ -5289,7 +5651,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Description::Id; } }; } // namespace Description @@ -5299,7 +5661,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputVoltage::Id; } }; } // namespace WiredAssessedInputVoltage @@ -5309,7 +5671,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedInputFrequency::Id; } }; } // namespace WiredAssessedInputFrequency @@ -5319,7 +5681,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredCurrentType::Id; } }; } // namespace WiredCurrentType @@ -5329,7 +5691,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredAssessedCurrent::Id; } }; } // namespace WiredAssessedCurrent @@ -5339,7 +5701,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredNominalVoltage::Id; } }; } // namespace WiredNominalVoltage @@ -5349,7 +5711,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredMaximumCurrent::Id; } }; } // namespace WiredMaximumCurrent @@ -5359,7 +5721,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiredPresent::Id; } }; } // namespace WiredPresent @@ -5369,7 +5731,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveWiredFaults::Id; } }; } // namespace ActiveWiredFaults @@ -5379,7 +5741,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryVoltage::Id; } }; } // namespace BatteryVoltage @@ -5389,7 +5751,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPercentRemaining::Id; } }; } // namespace BatteryPercentRemaining @@ -5399,7 +5761,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryTimeRemaining::Id; } }; } // namespace BatteryTimeRemaining @@ -5409,7 +5771,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryChargeLevel::Id; } }; } // namespace BatteryChargeLevel @@ -5419,7 +5781,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryReplacementNeeded::Id; } }; } // namespace BatteryReplacementNeeded @@ -5429,7 +5791,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryReplaceability::Id; } }; } // namespace BatteryReplaceability @@ -5439,7 +5801,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryPresent::Id; } }; } // namespace BatteryPresent @@ -5449,7 +5811,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatteryFaults::Id; } }; } // namespace ActiveBatteryFaults @@ -5459,7 +5821,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryReplacementDescription::Id; } }; } // namespace BatteryReplacementDescription @@ -5469,7 +5831,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryCommonDesignation::Id; } }; } // namespace BatteryCommonDesignation @@ -5479,7 +5841,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryANSIDesignation::Id; } }; } // namespace BatteryANSIDesignation @@ -5489,7 +5851,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryIECDesignation::Id; } }; } // namespace BatteryIECDesignation @@ -5499,7 +5861,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryApprovedChemistry::Id; } }; } // namespace BatteryApprovedChemistry @@ -5509,7 +5871,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryCapacity::Id; } }; } // namespace BatteryCapacity @@ -5519,7 +5881,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryQuantity::Id; } }; } // namespace BatteryQuantity @@ -5529,7 +5891,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryChargeState::Id; } }; } // namespace BatteryChargeState @@ -5539,7 +5901,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryTimeToFullCharge::Id; } }; } // namespace BatteryTimeToFullCharge @@ -5549,7 +5911,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryFunctionalWhileCharging::Id; } }; } // namespace BatteryFunctionalWhileCharging @@ -5559,7 +5921,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BatteryChargingCurrent::Id; } }; } // namespace BatteryChargingCurrent @@ -5569,10 +5931,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return PowerSource::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveBatteryChargeFaults::Id; } }; } // namespace ActiveBatteryChargeFaults +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerSource namespace GeneralCommissioning { @@ -5822,7 +6204,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return GeneralCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Breadcrumb::Id; } }; } // namespace Breadcrumb @@ -5832,7 +6214,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BasicCommissioningInfoList::Id; } }; } // namespace BasicCommissioningInfoList @@ -5842,7 +6224,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RegulatoryConfigList::Id; } }; } // namespace RegulatoryConfigList @@ -5852,10 +6234,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralCommissioning::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocationCapabilityList::Id; } }; } // namespace LocationCapabilityList +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace GeneralCommissioning namespace NetworkCommissioning { @@ -6500,6 +6902,28 @@ struct DecodableType }; // namespace GetLastNetworkCommissioningResult } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace NetworkCommissioning namespace DiagnosticLogs { // Need to convert consumers to using the new enum classes, so we @@ -6617,6 +7041,28 @@ struct DecodableType }; // namespace RetrieveLogsResponse } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace DiagnosticLogs namespace GeneralDiagnostics { // Need to convert consumers to using the new enum classes, so we @@ -6742,7 +7188,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NetworkInterfaces::Id; } }; } // namespace NetworkInterfaces @@ -6752,7 +7198,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RebootCount::Id; } }; } // namespace RebootCount @@ -6762,7 +7208,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UpTime::Id; } }; } // namespace UpTime @@ -6772,7 +7218,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TotalOperationalHours::Id; } }; } // namespace TotalOperationalHours @@ -6782,7 +7228,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BootReasons::Id; } }; } // namespace BootReasons @@ -6792,7 +7238,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveHardwareFaults::Id; } }; } // namespace ActiveHardwareFaults @@ -6802,7 +7248,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveRadioFaults::Id; } }; } // namespace ActiveRadioFaults @@ -6812,10 +7258,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GeneralDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaults::Id; } }; } // namespace ActiveNetworkFaults +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace GeneralDiagnostics namespace SoftwareDiagnostics { @@ -6883,7 +7349,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ThreadMetrics::Id; } }; } // namespace ThreadMetrics @@ -6893,7 +7359,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapFree::Id; } }; } // namespace CurrentHeapFree @@ -6903,7 +7369,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapUsed::Id; } }; } // namespace CurrentHeapUsed @@ -6913,10 +7379,30 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return SoftwareDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHeapHighWatermark::Id; } }; } // namespace CurrentHeapHighWatermark +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SoftwareDiagnostics namespace ThreadNetworkDiagnostics { @@ -7129,7 +7615,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Channel::Id; } }; } // namespace Channel @@ -7139,7 +7625,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RoutingRole::Id; } }; } // namespace RoutingRole @@ -7149,7 +7635,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NetworkName::Id; } }; } // namespace NetworkName @@ -7159,7 +7645,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PanId::Id; } }; } // namespace PanId @@ -7169,7 +7655,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ExtendedPanId::Id; } }; } // namespace ExtendedPanId @@ -7179,7 +7665,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeshLocalPrefix::Id; } }; } // namespace MeshLocalPrefix @@ -7189,7 +7675,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } }; } // namespace OverrunCount @@ -7199,7 +7685,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NeighborTableList::Id; } }; } // namespace NeighborTableList @@ -7209,7 +7695,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RouteTableList::Id; } }; } // namespace RouteTableList @@ -7219,7 +7705,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartitionId::Id; } }; } // namespace PartitionId @@ -7229,7 +7715,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Weighting::Id; } }; } // namespace Weighting @@ -7239,7 +7725,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DataVersion::Id; } }; } // namespace DataVersion @@ -7249,7 +7735,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StableDataVersion::Id; } }; } // namespace StableDataVersion @@ -7259,7 +7745,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRouterId::Id; } }; } // namespace LeaderRouterId @@ -7269,7 +7755,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DetachedRoleCount::Id; } }; } // namespace DetachedRoleCount @@ -7279,7 +7765,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ChildRoleCount::Id; } }; } // namespace ChildRoleCount @@ -7289,7 +7775,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RouterRoleCount::Id; } }; } // namespace RouterRoleCount @@ -7299,7 +7785,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LeaderRoleCount::Id; } }; } // namespace LeaderRoleCount @@ -7309,7 +7795,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AttachAttemptCount::Id; } }; } // namespace AttachAttemptCount @@ -7319,7 +7805,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartitionIdChangeCount::Id; } }; } // namespace PartitionIdChangeCount @@ -7329,7 +7815,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BetterPartitionAttachAttemptCount::Id; } }; } // namespace BetterPartitionAttachAttemptCount @@ -7339,7 +7825,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ParentChangeCount::Id; } }; } // namespace ParentChangeCount @@ -7349,7 +7835,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxTotalCount::Id; } }; } // namespace TxTotalCount @@ -7359,7 +7845,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxUnicastCount::Id; } }; } // namespace TxUnicastCount @@ -7369,7 +7855,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxBroadcastCount::Id; } }; } // namespace TxBroadcastCount @@ -7379,7 +7865,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxAckRequestedCount::Id; } }; } // namespace TxAckRequestedCount @@ -7389,7 +7875,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxAckedCount::Id; } }; } // namespace TxAckedCount @@ -7399,7 +7885,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxNoAckRequestedCount::Id; } }; } // namespace TxNoAckRequestedCount @@ -7409,7 +7895,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxDataCount::Id; } }; } // namespace TxDataCount @@ -7419,7 +7905,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxDataPollCount::Id; } }; } // namespace TxDataPollCount @@ -7429,7 +7915,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconCount::Id; } }; } // namespace TxBeaconCount @@ -7439,7 +7925,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxBeaconRequestCount::Id; } }; } // namespace TxBeaconRequestCount @@ -7449,7 +7935,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxOtherCount::Id; } }; } // namespace TxOtherCount @@ -7459,7 +7945,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxRetryCount::Id; } }; } // namespace TxRetryCount @@ -7469,7 +7955,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxDirectMaxRetryExpiryCount::Id; } }; } // namespace TxDirectMaxRetryExpiryCount @@ -7479,7 +7965,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxIndirectMaxRetryExpiryCount::Id; } }; } // namespace TxIndirectMaxRetryExpiryCount @@ -7489,7 +7975,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCcaCount::Id; } }; } // namespace TxErrCcaCount @@ -7499,7 +7985,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxErrAbortCount::Id; } }; } // namespace TxErrAbortCount @@ -7509,7 +7995,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxErrBusyChannelCount::Id; } }; } // namespace TxErrBusyChannelCount @@ -7519,7 +8005,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxTotalCount::Id; } }; } // namespace RxTotalCount @@ -7529,7 +8015,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxUnicastCount::Id; } }; } // namespace RxUnicastCount @@ -7539,7 +8025,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxBroadcastCount::Id; } }; } // namespace RxBroadcastCount @@ -7549,7 +8035,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxDataCount::Id; } }; } // namespace RxDataCount @@ -7559,7 +8045,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxDataPollCount::Id; } }; } // namespace RxDataPollCount @@ -7569,7 +8055,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconCount::Id; } }; } // namespace RxBeaconCount @@ -7579,7 +8065,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxBeaconRequestCount::Id; } }; } // namespace RxBeaconRequestCount @@ -7589,7 +8075,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxOtherCount::Id; } }; } // namespace RxOtherCount @@ -7599,7 +8085,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxAddressFilteredCount::Id; } }; } // namespace RxAddressFilteredCount @@ -7609,7 +8095,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxDestAddrFilteredCount::Id; } }; } // namespace RxDestAddrFilteredCount @@ -7619,7 +8105,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxDuplicatedCount::Id; } }; } // namespace RxDuplicatedCount @@ -7629,7 +8115,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrNoFrameCount::Id; } }; } // namespace RxErrNoFrameCount @@ -7639,7 +8125,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrUnknownNeighborCount::Id; } }; } // namespace RxErrUnknownNeighborCount @@ -7649,7 +8135,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrInvalidSrcAddrCount::Id; } }; } // namespace RxErrInvalidSrcAddrCount @@ -7659,7 +8145,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrSecCount::Id; } }; } // namespace RxErrSecCount @@ -7669,7 +8155,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrFcsCount::Id; } }; } // namespace RxErrFcsCount @@ -7679,7 +8165,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RxErrOtherCount::Id; } }; } // namespace RxErrOtherCount @@ -7689,7 +8175,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveTimestamp::Id; } }; } // namespace ActiveTimestamp @@ -7699,7 +8185,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PendingTimestamp::Id; } }; } // namespace PendingTimestamp @@ -7709,7 +8195,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Delay::Id; } }; } // namespace Delay @@ -7719,7 +8205,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SecurityPolicy::Id; } }; } // namespace SecurityPolicy @@ -7729,7 +8215,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ChannelMask::Id; } }; } // namespace ChannelMask @@ -7739,7 +8225,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OperationalDatasetComponents::Id; } }; } // namespace OperationalDatasetComponents @@ -7749,10 +8235,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ThreadNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveNetworkFaultsList::Id; } }; } // namespace ActiveNetworkFaultsList +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ThreadNetworkDiagnostics namespace WiFiNetworkDiagnostics { @@ -7823,7 +8329,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Bssid::Id; } }; } // namespace Bssid @@ -7833,7 +8339,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SecurityType::Id; } }; } // namespace SecurityType @@ -7843,7 +8349,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WiFiVersion::Id; } }; } // namespace WiFiVersion @@ -7853,7 +8359,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ChannelNumber::Id; } }; } // namespace ChannelNumber @@ -7863,7 +8369,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Rssi::Id; } }; } // namespace Rssi @@ -7873,7 +8379,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BeaconLostCount::Id; } }; } // namespace BeaconLostCount @@ -7883,7 +8389,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BeaconRxCount::Id; } }; } // namespace BeaconRxCount @@ -7893,7 +8399,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastRxCount::Id; } }; } // namespace PacketMulticastRxCount @@ -7903,7 +8409,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketMulticastTxCount::Id; } }; } // namespace PacketMulticastTxCount @@ -7913,7 +8419,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastRxCount::Id; } }; } // namespace PacketUnicastRxCount @@ -7923,7 +8429,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketUnicastTxCount::Id; } }; } // namespace PacketUnicastTxCount @@ -7933,7 +8439,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMaxRate::Id; } }; } // namespace CurrentMaxRate @@ -7943,10 +8449,30 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return WiFiNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } }; } // namespace OverrunCount +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace WiFiNetworkDiagnostics namespace EthernetNetworkDiagnostics { @@ -8005,7 +8531,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PHYRate::Id; } }; } // namespace PHYRate @@ -8015,7 +8541,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FullDuplex::Id; } }; } // namespace FullDuplex @@ -8025,7 +8551,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketRxCount::Id; } }; } // namespace PacketRxCount @@ -8035,7 +8561,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PacketTxCount::Id; } }; } // namespace PacketTxCount @@ -8045,7 +8571,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TxErrCount::Id; } }; } // namespace TxErrCount @@ -8055,7 +8581,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CollisionCount::Id; } }; } // namespace CollisionCount @@ -8065,7 +8591,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OverrunCount::Id; } }; } // namespace OverrunCount @@ -8075,7 +8601,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CarrierDetect::Id; } }; } // namespace CarrierDetect @@ -8085,10 +8611,30 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return EthernetNetworkDiagnostics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TimeSinceReset::Id; } }; } // namespace TimeSinceReset +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthernetNetworkDiagnostics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthernetNetworkDiagnostics namespace BridgedDeviceBasic { @@ -8199,7 +8745,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } }; } // namespace VendorName @@ -8209,7 +8755,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } }; } // namespace VendorID @@ -8219,7 +8765,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; } }; } // namespace ProductName @@ -8229,7 +8775,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UserLabel::Id; } }; } // namespace UserLabel @@ -8239,7 +8785,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersion::Id; } }; } // namespace HardwareVersion @@ -8249,7 +8795,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HardwareVersionString::Id; } }; } // namespace HardwareVersionString @@ -8259,7 +8805,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersion::Id; } }; } // namespace SoftwareVersion @@ -8269,7 +8815,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareVersionString::Id; } }; } // namespace SoftwareVersionString @@ -8279,7 +8825,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ManufacturingDate::Id; } }; } // namespace ManufacturingDate @@ -8289,7 +8835,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } }; } // namespace PartNumber @@ -8299,7 +8845,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductURL::Id; } }; } // namespace ProductURL @@ -8309,7 +8855,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductLabel::Id; } }; } // namespace ProductLabel @@ -8319,7 +8865,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SerialNumber::Id; } }; } // namespace SerialNumber @@ -8329,10 +8875,30 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return BridgedDeviceBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; } }; } // namespace Reachable +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BridgedDeviceBasic namespace Switch { @@ -8344,7 +8910,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Switch::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPositions::Id; } }; } // namespace NumberOfPositions @@ -8354,7 +8920,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Switch::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPosition::Id; } }; } // namespace CurrentPosition @@ -8364,10 +8930,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Switch::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MultiPressMax::Id; } }; } // namespace MultiPressMax +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Switch namespace AdministratorCommissioning { @@ -8483,6 +9069,28 @@ struct DecodableType }; // namespace RevokeCommissioning } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AdministratorCommissioning::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace AdministratorCommissioning namespace OperationalCredentials { // Need to convert consumers to using the new enum classes, so we @@ -8958,7 +9566,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FabricsList::Id; } }; } // namespace FabricsList @@ -8968,7 +9576,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SupportedFabrics::Id; } }; } // namespace SupportedFabrics @@ -8978,7 +9586,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CommissionedFabrics::Id; } }; } // namespace CommissionedFabrics @@ -8988,10 +9596,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return OperationalCredentials::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TrustedRootCertificates::Id; } }; } // namespace TrustedRootCertificates +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OperationalCredentials namespace FixedLabel { @@ -9026,12 +9654,102 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return FixedLabel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } }; } // namespace LabelList +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace FixedLabel +namespace BooleanState { + +namespace Attributes { +namespace StateValue { +struct TypeInfo +{ + using Type = bool; + using DecodableType = bool; + + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::StateValue::Id; } +}; +} // namespace StateValue +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes +namespace Events { +namespace StateChange { +static constexpr PriorityLevel kPriorityLevel = PriorityLevel::Info; +static constexpr EventId kEventId = 0x00000000; + +enum class Fields +{ + kStateValue = 0, +}; + +struct Type +{ +public: + static constexpr PriorityLevel priorityLevel = PriorityLevel::Info; + static constexpr EventId eventId = 0x00000000; + static constexpr ClusterId GetClusterId() { return BooleanState::Id; } + + bool stateValue; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } + static constexpr EventId GetEventId() { return kEventId; } + static constexpr ClusterId GetClusterId() { return BooleanState::Id; } + + bool stateValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +} // namespace StateChange +} // namespace Events +} // namespace BooleanState namespace ShadeConfiguration { namespace Attributes { @@ -9041,7 +9759,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ShadeConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimit::Id; } }; } // namespace PhysicalClosedLimit @@ -9051,7 +9769,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ShadeConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MotorStepSize::Id; } }; } // namespace MotorStepSize @@ -9061,7 +9779,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ShadeConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Status::Id; } }; } // namespace Status @@ -9071,7 +9789,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ShadeConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ClosedLimit::Id; } }; } // namespace ClosedLimit @@ -9081,10 +9799,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ShadeConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; } }; } // namespace Mode +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ShadeConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ShadeConfiguration namespace DoorLock { @@ -10899,7 +11637,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LockState::Id; } }; } // namespace LockState @@ -10909,7 +11647,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LockType::Id; } }; } // namespace LockType @@ -10919,7 +11657,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActuatorEnabled::Id; } }; } // namespace ActuatorEnabled @@ -10929,7 +11667,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DoorState::Id; } }; } // namespace DoorState @@ -10939,7 +11677,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DoorOpenEvents::Id; } }; } // namespace DoorOpenEvents @@ -10949,7 +11687,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DoorClosedEvents::Id; } }; } // namespace DoorClosedEvents @@ -10959,7 +11697,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OpenPeriod::Id; } }; } // namespace OpenPeriod @@ -10969,7 +11707,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumLockRecordsSupported::Id; } }; } // namespace NumLockRecordsSupported @@ -10979,7 +11717,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumTotalUsersSupported::Id; } }; } // namespace NumTotalUsersSupported @@ -10989,7 +11727,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumPinUsersSupported::Id; } }; } // namespace NumPinUsersSupported @@ -10999,7 +11737,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumRfidUsersSupported::Id; } }; } // namespace NumRfidUsersSupported @@ -11009,7 +11747,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumWeekdaySchedulesSupportedPerUser::Id; } }; } // namespace NumWeekdaySchedulesSupportedPerUser @@ -11019,7 +11757,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumYeardaySchedulesSupportedPerUser::Id; } }; } // namespace NumYeardaySchedulesSupportedPerUser @@ -11029,7 +11767,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumHolidaySchedulesSupportedPerUser::Id; } }; } // namespace NumHolidaySchedulesSupportedPerUser @@ -11039,7 +11777,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxPinLength::Id; } }; } // namespace MaxPinLength @@ -11049,7 +11787,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinPinLength::Id; } }; } // namespace MinPinLength @@ -11059,7 +11797,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxRfidCodeLength::Id; } }; } // namespace MaxRfidCodeLength @@ -11069,7 +11807,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinRfidCodeLength::Id; } }; } // namespace MinRfidCodeLength @@ -11079,7 +11817,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnableLogging::Id; } }; } // namespace EnableLogging @@ -11089,7 +11827,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Language::Id; } }; } // namespace Language @@ -11099,7 +11837,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LedSettings::Id; } }; } // namespace LedSettings @@ -11109,7 +11847,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AutoRelockTime::Id; } }; } // namespace AutoRelockTime @@ -11119,7 +11857,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoundVolume::Id; } }; } // namespace SoundVolume @@ -11129,7 +11867,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OperatingMode::Id; } }; } // namespace OperatingMode @@ -11139,7 +11877,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SupportedOperatingModes::Id; } }; } // namespace SupportedOperatingModes @@ -11149,7 +11887,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DefaultConfigurationRegister::Id; } }; } // namespace DefaultConfigurationRegister @@ -11159,7 +11897,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnableLocalProgramming::Id; } }; } // namespace EnableLocalProgramming @@ -11169,7 +11907,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnableOneTouchLocking::Id; } }; } // namespace EnableOneTouchLocking @@ -11179,7 +11917,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnableInsideStatusLed::Id; } }; } // namespace EnableInsideStatusLed @@ -11189,7 +11927,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnablePrivacyModeButton::Id; } }; } // namespace EnablePrivacyModeButton @@ -11199,7 +11937,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WrongCodeEntryLimit::Id; } }; } // namespace WrongCodeEntryLimit @@ -11209,7 +11947,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UserCodeTemporaryDisableTime::Id; } }; } // namespace UserCodeTemporaryDisableTime @@ -11219,7 +11957,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SendPinOverTheAir::Id; } }; } // namespace SendPinOverTheAir @@ -11229,7 +11967,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RequirePinForRfOperation::Id; } }; } // namespace RequirePinForRfOperation @@ -11239,7 +11977,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ZigbeeSecurityLevel::Id; } }; } // namespace ZigbeeSecurityLevel @@ -11249,7 +11987,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AlarmMask::Id; } }; } // namespace AlarmMask @@ -11259,7 +11997,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::KeypadOperationEventMask::Id; } }; } // namespace KeypadOperationEventMask @@ -11269,7 +12007,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RfOperationEventMask::Id; } }; } // namespace RfOperationEventMask @@ -11279,7 +12017,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ManualOperationEventMask::Id; } }; } // namespace ManualOperationEventMask @@ -11289,7 +12027,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RfidOperationEventMask::Id; } }; } // namespace RfidOperationEventMask @@ -11299,7 +12037,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::KeypadProgrammingEventMask::Id; } }; } // namespace KeypadProgrammingEventMask @@ -11309,7 +12047,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RfProgrammingEventMask::Id; } }; } // namespace RfProgrammingEventMask @@ -11319,10 +12057,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return DoorLock::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RfidProgrammingEventMask::Id; } }; } // namespace RfidProgrammingEventMask +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace DoorLock namespace WindowCovering { @@ -11629,7 +12387,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Type::Id; } }; } // namespace Type @@ -11639,7 +12397,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitLift::Id; } }; } // namespace PhysicalClosedLimitLift @@ -11649,7 +12407,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalClosedLimitTilt::Id; } }; } // namespace PhysicalClosedLimitTilt @@ -11659,7 +12417,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLift::Id; } }; } // namespace CurrentPositionLift @@ -11669,7 +12427,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTilt::Id; } }; } // namespace CurrentPositionTilt @@ -11679,7 +12437,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsLift::Id; } }; } // namespace NumberOfActuationsLift @@ -11689,7 +12447,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfActuationsTilt::Id; } }; } // namespace NumberOfActuationsTilt @@ -11699,7 +12457,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ConfigStatus::Id; } }; } // namespace ConfigStatus @@ -11709,7 +12467,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercentage::Id; } }; } // namespace CurrentPositionLiftPercentage @@ -11719,7 +12477,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercentage::Id; } }; } // namespace CurrentPositionTiltPercentage @@ -11729,7 +12487,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OperationalStatus::Id; } }; } // namespace OperationalStatus @@ -11739,7 +12497,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionLiftPercent100ths::Id; } }; } // namespace TargetPositionLiftPercent100ths @@ -11749,7 +12507,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TargetPositionTiltPercent100ths::Id; } }; } // namespace TargetPositionTiltPercent100ths @@ -11759,7 +12517,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EndProductType::Id; } }; } // namespace EndProductType @@ -11769,7 +12527,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionLiftPercent100ths::Id; } }; } // namespace CurrentPositionLiftPercent100ths @@ -11779,7 +12537,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentPositionTiltPercent100ths::Id; } }; } // namespace CurrentPositionTiltPercent100ths @@ -11789,7 +12547,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitLift::Id; } }; } // namespace InstalledOpenLimitLift @@ -11799,7 +12557,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitLift::Id; } }; } // namespace InstalledClosedLimitLift @@ -11809,7 +12567,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstalledOpenLimitTilt::Id; } }; } // namespace InstalledOpenLimitTilt @@ -11819,7 +12577,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstalledClosedLimitTilt::Id; } }; } // namespace InstalledClosedLimitTilt @@ -11829,7 +12587,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VelocityLift::Id; } }; } // namespace VelocityLift @@ -11839,7 +12597,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AccelerationTimeLift::Id; } }; } // namespace AccelerationTimeLift @@ -11849,7 +12607,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DecelerationTimeLift::Id; } }; } // namespace DecelerationTimeLift @@ -11859,7 +12617,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Mode::Id; } }; } // namespace Mode @@ -11869,7 +12627,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IntermediateSetpointsLift::Id; } }; } // namespace IntermediateSetpointsLift @@ -11879,7 +12637,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IntermediateSetpointsTilt::Id; } }; } // namespace IntermediateSetpointsTilt @@ -11889,10 +12647,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return WindowCovering::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SafetyStatus::Id; } }; } // namespace SafetyStatus +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WindowCovering::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace WindowCovering namespace BarrierControl { @@ -11959,7 +12737,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierMovingState::Id; } }; } // namespace BarrierMovingState @@ -11969,7 +12747,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierSafetyStatus::Id; } }; } // namespace BarrierSafetyStatus @@ -11979,7 +12757,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCapabilities::Id; } }; } // namespace BarrierCapabilities @@ -11989,7 +12767,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenEvents::Id; } }; } // namespace BarrierOpenEvents @@ -11999,7 +12777,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCloseEvents::Id; } }; } // namespace BarrierCloseEvents @@ -12009,7 +12787,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandOpenEvents::Id; } }; } // namespace BarrierCommandOpenEvents @@ -12019,7 +12797,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierCommandCloseEvents::Id; } }; } // namespace BarrierCommandCloseEvents @@ -12029,7 +12807,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierOpenPeriod::Id; } }; } // namespace BarrierOpenPeriod @@ -12039,7 +12817,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierClosePeriod::Id; } }; } // namespace BarrierClosePeriod @@ -12049,10 +12827,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BarrierControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BarrierPosition::Id; } }; } // namespace BarrierPosition +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BarrierControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BarrierControl namespace PumpConfigurationAndControl { @@ -12108,7 +12906,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxPressure::Id; } }; } // namespace MaxPressure @@ -12118,7 +12916,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxSpeed::Id; } }; } // namespace MaxSpeed @@ -12128,7 +12926,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxFlow::Id; } }; } // namespace MaxFlow @@ -12138,7 +12936,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinConstPressure::Id; } }; } // namespace MinConstPressure @@ -12148,7 +12946,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstPressure::Id; } }; } // namespace MaxConstPressure @@ -12158,7 +12956,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinCompPressure::Id; } }; } // namespace MinCompPressure @@ -12168,7 +12966,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxCompPressure::Id; } }; } // namespace MaxCompPressure @@ -12178,7 +12976,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinConstSpeed::Id; } }; } // namespace MinConstSpeed @@ -12188,7 +12986,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstSpeed::Id; } }; } // namespace MaxConstSpeed @@ -12198,7 +12996,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinConstFlow::Id; } }; } // namespace MinConstFlow @@ -12208,7 +13006,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstFlow::Id; } }; } // namespace MaxConstFlow @@ -12218,7 +13016,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinConstTemp::Id; } }; } // namespace MinConstTemp @@ -12228,7 +13026,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxConstTemp::Id; } }; } // namespace MaxConstTemp @@ -12238,7 +13036,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PumpStatus::Id; } }; } // namespace PumpStatus @@ -12248,7 +13046,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveOperationMode::Id; } }; } // namespace EffectiveOperationMode @@ -12258,7 +13056,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EffectiveControlMode::Id; } }; } // namespace EffectiveControlMode @@ -12268,7 +13066,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Capacity::Id; } }; } // namespace Capacity @@ -12278,7 +13076,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Speed::Id; } }; } // namespace Speed @@ -12288,7 +13086,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeRunningHours::Id; } }; } // namespace LifetimeRunningHours @@ -12298,7 +13096,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Power::Id; } }; } // namespace Power @@ -12308,7 +13106,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LifetimeEnergyConsumed::Id; } }; } // namespace LifetimeEnergyConsumed @@ -12318,7 +13116,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OperationMode::Id; } }; } // namespace OperationMode @@ -12328,7 +13126,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ControlMode::Id; } }; } // namespace ControlMode @@ -12338,10 +13136,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PumpConfigurationAndControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AlarmMask::Id; } }; } // namespace AlarmMask +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes namespace Events { namespace SupplyVoltageLow { @@ -13094,7 +13912,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperature::Id; } }; } // namespace LocalTemperature @@ -13104,7 +13922,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OutdoorTemperature::Id; } }; } // namespace OutdoorTemperature @@ -13114,7 +13932,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } }; } // namespace Occupancy @@ -13124,7 +13942,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinHeatSetpointLimit::Id; } }; } // namespace AbsMinHeatSetpointLimit @@ -13134,7 +13952,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxHeatSetpointLimit::Id; } }; } // namespace AbsMaxHeatSetpointLimit @@ -13144,7 +13962,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AbsMinCoolSetpointLimit::Id; } }; } // namespace AbsMinCoolSetpointLimit @@ -13154,7 +13972,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AbsMaxCoolSetpointLimit::Id; } }; } // namespace AbsMaxCoolSetpointLimit @@ -13164,7 +13982,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PiCoolingDemand::Id; } }; } // namespace PiCoolingDemand @@ -13174,7 +13992,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PiHeatingDemand::Id; } }; } // namespace PiHeatingDemand @@ -13184,7 +14002,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HvacSystemTypeConfiguration::Id; } }; } // namespace HvacSystemTypeConfiguration @@ -13194,7 +14012,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocalTemperatureCalibration::Id; } }; } // namespace LocalTemperatureCalibration @@ -13204,7 +14022,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedCoolingSetpoint::Id; } }; } // namespace OccupiedCoolingSetpoint @@ -13214,7 +14032,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OccupiedHeatingSetpoint::Id; } }; } // namespace OccupiedHeatingSetpoint @@ -13224,7 +14042,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedCoolingSetpoint::Id; } }; } // namespace UnoccupiedCoolingSetpoint @@ -13234,7 +14052,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UnoccupiedHeatingSetpoint::Id; } }; } // namespace UnoccupiedHeatingSetpoint @@ -13244,7 +14062,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinHeatSetpointLimit::Id; } }; } // namespace MinHeatSetpointLimit @@ -13254,7 +14072,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxHeatSetpointLimit::Id; } }; } // namespace MaxHeatSetpointLimit @@ -13264,7 +14082,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinCoolSetpointLimit::Id; } }; } // namespace MinCoolSetpointLimit @@ -13274,7 +14092,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxCoolSetpointLimit::Id; } }; } // namespace MaxCoolSetpointLimit @@ -13284,7 +14102,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinSetpointDeadBand::Id; } }; } // namespace MinSetpointDeadBand @@ -13294,7 +14112,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemoteSensing::Id; } }; } // namespace RemoteSensing @@ -13304,7 +14122,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ControlSequenceOfOperation::Id; } }; } // namespace ControlSequenceOfOperation @@ -13314,7 +14132,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SystemMode::Id; } }; } // namespace SystemMode @@ -13324,7 +14142,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AlarmMask::Id; } }; } // namespace AlarmMask @@ -13334,7 +14152,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatRunningMode::Id; } }; } // namespace ThermostatRunningMode @@ -13344,7 +14162,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartOfWeek::Id; } }; } // namespace StartOfWeek @@ -13354,7 +14172,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfWeeklyTransitions::Id; } }; } // namespace NumberOfWeeklyTransitions @@ -13364,7 +14182,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfDailyTransitions::Id; } }; } // namespace NumberOfDailyTransitions @@ -13374,7 +14192,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHold::Id; } }; } // namespace TemperatureSetpointHold @@ -13384,7 +14202,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureSetpointHoldDuration::Id; } }; } // namespace TemperatureSetpointHoldDuration @@ -13394,7 +14212,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ThermostatProgrammingOperationMode::Id; } }; } // namespace ThermostatProgrammingOperationMode @@ -13404,7 +14222,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HvacRelayState::Id; } }; } // namespace HvacRelayState @@ -13414,7 +14232,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSource::Id; } }; } // namespace SetpointChangeSource @@ -13424,7 +14242,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeAmount::Id; } }; } // namespace SetpointChangeAmount @@ -13434,7 +14252,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SetpointChangeSourceTimestamp::Id; } }; } // namespace SetpointChangeSourceTimestamp @@ -13444,7 +14262,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcType::Id; } }; } // namespace AcType @@ -13454,7 +14272,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCapacity::Id; } }; } // namespace AcCapacity @@ -13464,7 +14282,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcRefrigerantType::Id; } }; } // namespace AcRefrigerantType @@ -13474,7 +14292,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCompressor::Id; } }; } // namespace AcCompressor @@ -13484,7 +14302,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcErrorCode::Id; } }; } // namespace AcErrorCode @@ -13494,7 +14312,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcLouverPosition::Id; } }; } // namespace AcLouverPosition @@ -13504,7 +14322,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCoilTemperature::Id; } }; } // namespace AcCoilTemperature @@ -13514,10 +14332,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return Thermostat::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCapacityFormat::Id; } }; } // namespace AcCapacityFormat +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Thermostat::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace Thermostat namespace FanControl { @@ -13529,7 +14367,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return FanControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FanMode::Id; } }; } // namespace FanMode @@ -13539,10 +14377,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return FanControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::FanModeSequence::Id; } }; } // namespace FanModeSequence +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace FanControl namespace DehumidificationControl { @@ -13554,7 +14412,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidity::Id; } }; } // namespace RelativeHumidity @@ -13564,7 +14422,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationCooling::Id; } }; } // namespace DehumidificationCooling @@ -13574,7 +14432,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RhDehumidificationSetpoint::Id; } }; } // namespace RhDehumidificationSetpoint @@ -13584,7 +14442,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidityMode::Id; } }; } // namespace RelativeHumidityMode @@ -13594,7 +14452,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationLockout::Id; } }; } // namespace DehumidificationLockout @@ -13604,7 +14462,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationHysteresis::Id; } }; } // namespace DehumidificationHysteresis @@ -13614,7 +14472,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DehumidificationMaxCool::Id; } }; } // namespace DehumidificationMaxCool @@ -13624,10 +14482,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return DehumidificationControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RelativeHumidityDisplay::Id; } }; } // namespace RelativeHumidityDisplay +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DehumidificationControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace DehumidificationControl namespace ThermostatUserInterfaceConfiguration { @@ -13639,7 +14517,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThermostatUserInterfaceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TemperatureDisplayMode::Id; } }; } // namespace TemperatureDisplayMode @@ -13649,7 +14527,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThermostatUserInterfaceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::KeypadLockout::Id; } }; } // namespace KeypadLockout @@ -13659,10 +14537,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ThermostatUserInterfaceConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ScheduleProgrammingVisibility::Id; } }; } // namespace ScheduleProgrammingVisibility +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ThermostatUserInterfaceConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ThermostatUserInterfaceConfiguration namespace ColorControl { @@ -14546,7 +15444,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentHue::Id; } }; } // namespace CurrentHue @@ -14556,7 +15454,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentSaturation::Id; } }; } // namespace CurrentSaturation @@ -14566,7 +15464,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemainingTime::Id; } }; } // namespace RemainingTime @@ -14576,7 +15474,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentX::Id; } }; } // namespace CurrentX @@ -14586,7 +15484,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentY::Id; } }; } // namespace CurrentY @@ -14596,7 +15494,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DriftCompensation::Id; } }; } // namespace DriftCompensation @@ -14606,7 +15504,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CompensationText::Id; } }; } // namespace CompensationText @@ -14616,7 +15514,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorTemperature::Id; } }; } // namespace ColorTemperature @@ -14626,7 +15524,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorMode::Id; } }; } // namespace ColorMode @@ -14636,7 +15534,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorControlOptions::Id; } }; } // namespace ColorControlOptions @@ -14646,7 +15544,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfPrimaries::Id; } }; } // namespace NumberOfPrimaries @@ -14656,7 +15554,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary1X::Id; } }; } // namespace Primary1X @@ -14666,7 +15564,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Y::Id; } }; } // namespace Primary1Y @@ -14676,7 +15574,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary1Intensity::Id; } }; } // namespace Primary1Intensity @@ -14686,7 +15584,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary2X::Id; } }; } // namespace Primary2X @@ -14696,7 +15594,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Y::Id; } }; } // namespace Primary2Y @@ -14706,7 +15604,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary2Intensity::Id; } }; } // namespace Primary2Intensity @@ -14716,7 +15614,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary3X::Id; } }; } // namespace Primary3X @@ -14726,7 +15624,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Y::Id; } }; } // namespace Primary3Y @@ -14736,7 +15634,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary3Intensity::Id; } }; } // namespace Primary3Intensity @@ -14746,7 +15644,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary4X::Id; } }; } // namespace Primary4X @@ -14756,7 +15654,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Y::Id; } }; } // namespace Primary4Y @@ -14766,7 +15664,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary4Intensity::Id; } }; } // namespace Primary4Intensity @@ -14776,7 +15674,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary5X::Id; } }; } // namespace Primary5X @@ -14786,7 +15684,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Y::Id; } }; } // namespace Primary5Y @@ -14796,7 +15694,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary5Intensity::Id; } }; } // namespace Primary5Intensity @@ -14806,7 +15704,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary6X::Id; } }; } // namespace Primary6X @@ -14816,7 +15714,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Y::Id; } }; } // namespace Primary6Y @@ -14826,7 +15724,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Primary6Intensity::Id; } }; } // namespace Primary6Intensity @@ -14836,7 +15734,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointX::Id; } }; } // namespace WhitePointX @@ -14846,7 +15744,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WhitePointY::Id; } }; } // namespace WhitePointY @@ -14856,7 +15754,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRX::Id; } }; } // namespace ColorPointRX @@ -14866,7 +15764,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRY::Id; } }; } // namespace ColorPointRY @@ -14876,7 +15774,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointRIntensity::Id; } }; } // namespace ColorPointRIntensity @@ -14886,7 +15784,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGX::Id; } }; } // namespace ColorPointGX @@ -14896,7 +15794,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGY::Id; } }; } // namespace ColorPointGY @@ -14906,7 +15804,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointGIntensity::Id; } }; } // namespace ColorPointGIntensity @@ -14916,7 +15814,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBX::Id; } }; } // namespace ColorPointBX @@ -14926,7 +15824,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBY::Id; } }; } // namespace ColorPointBY @@ -14936,7 +15834,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorPointBIntensity::Id; } }; } // namespace ColorPointBIntensity @@ -14946,7 +15844,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedCurrentHue::Id; } }; } // namespace EnhancedCurrentHue @@ -14956,7 +15854,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedColorMode::Id; } }; } // namespace EnhancedColorMode @@ -14966,7 +15864,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopActive::Id; } }; } // namespace ColorLoopActive @@ -14976,7 +15874,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopDirection::Id; } }; } // namespace ColorLoopDirection @@ -14986,7 +15884,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopTime::Id; } }; } // namespace ColorLoopTime @@ -14996,7 +15894,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStartEnhancedHue::Id; } }; } // namespace ColorLoopStartEnhancedHue @@ -15006,7 +15904,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorLoopStoredEnhancedHue::Id; } }; } // namespace ColorLoopStoredEnhancedHue @@ -15016,7 +15914,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorCapabilities::Id; } }; } // namespace ColorCapabilities @@ -15026,7 +15924,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMin::Id; } }; } // namespace ColorTempPhysicalMin @@ -15036,7 +15934,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ColorTempPhysicalMax::Id; } }; } // namespace ColorTempPhysicalMax @@ -15046,7 +15944,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CoupleColorTempToLevelMinMireds::Id; } }; } // namespace CoupleColorTempToLevelMinMireds @@ -15056,10 +15954,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ColorControl::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartUpColorTemperatureMireds::Id; } }; } // namespace StartUpColorTemperatureMireds +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ColorControl namespace BallastConfiguration { @@ -15071,7 +15989,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMinLevel::Id; } }; } // namespace PhysicalMinLevel @@ -15081,7 +15999,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalMaxLevel::Id; } }; } // namespace PhysicalMaxLevel @@ -15091,7 +16009,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BallastStatus::Id; } }; } // namespace BallastStatus @@ -15101,7 +16019,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinLevel::Id; } }; } // namespace MinLevel @@ -15111,7 +16029,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxLevel::Id; } }; } // namespace MaxLevel @@ -15121,7 +16039,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerOnLevel::Id; } }; } // namespace PowerOnLevel @@ -15131,7 +16049,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerOnFadeTime::Id; } }; } // namespace PowerOnFadeTime @@ -15141,7 +16059,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IntrinsicBallastFactor::Id; } }; } // namespace IntrinsicBallastFactor @@ -15151,7 +16069,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BallastFactorAdjustment::Id; } }; } // namespace BallastFactorAdjustment @@ -15161,7 +16079,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampQuality::Id; } }; } // namespace LampQuality @@ -15171,7 +16089,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampType::Id; } }; } // namespace LampType @@ -15181,7 +16099,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampManufacturer::Id; } }; } // namespace LampManufacturer @@ -15191,7 +16109,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampRatedHours::Id; } }; } // namespace LampRatedHours @@ -15201,7 +16119,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHours::Id; } }; } // namespace LampBurnHours @@ -15211,7 +16129,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampAlarmMode::Id; } }; } // namespace LampAlarmMode @@ -15221,13 +16139,45 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return BallastConfiguration::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LampBurnHoursTripPoint::Id; } }; } // namespace LampBurnHoursTripPoint +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BallastConfiguration::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BallastConfiguration namespace IlluminanceMeasurement { +// Need to convert consumers to using the new enum classes, so we +// don't just have casts all over. +#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +// Enum for LightSensorType +enum class LightSensorType : uint8_t +{ + kPhotodiode = 0x00, + kCmos = 0x01, +}; +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using LightSensorType = EmberAfLightSensorType; +#endif namespace Attributes { namespace MeasuredValue { @@ -15236,7 +16186,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15246,7 +16196,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15256,7 +16206,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15266,7 +16216,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance @@ -15276,47 +16226,32 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return IlluminanceMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LightSensorType::Id; } }; } // namespace LightSensorType -} // namespace Attributes -} // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { - -namespace Attributes { -namespace LevelStatus { -struct TypeInfo -{ - using Type = uint8_t; - using DecodableType = uint8_t; - - static constexpr ClusterId GetClusterId() { return IlluminanceLevelSensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LevelStatus::Id; } -}; -} // namespace LevelStatus -namespace LightSensorType { +namespace FeatureMap { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; + using Type = uint32_t; + using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return IlluminanceLevelSensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::LightSensorType::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } }; -} // namespace LightSensorType -namespace IlluminanceLevelTarget { +} // namespace FeatureMap +namespace ClusterRevision { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IlluminanceLevelSensing::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::IlluminanceLevelTarget::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IlluminanceMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } }; -} // namespace IlluminanceLevelTarget +} // namespace ClusterRevision } // namespace Attributes -} // namespace IlluminanceLevelSensing +} // namespace IlluminanceMeasurement namespace TemperatureMeasurement { namespace Attributes { @@ -15326,7 +16261,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return TemperatureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15336,7 +16271,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return TemperatureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15346,7 +16281,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return TemperatureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15356,10 +16291,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return TemperatureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TemperatureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace TemperatureMeasurement namespace PressureMeasurement { @@ -15371,7 +16326,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15381,7 +16336,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15391,7 +16346,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15401,7 +16356,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance @@ -15411,7 +16366,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ScaledValue::Id; } }; } // namespace ScaledValue @@ -15421,7 +16376,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinScaledValue::Id; } }; } // namespace MinScaledValue @@ -15431,7 +16386,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxScaledValue::Id; } }; } // namespace MaxScaledValue @@ -15441,7 +16396,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ScaledTolerance::Id; } }; } // namespace ScaledTolerance @@ -15451,10 +16406,30 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return PressureMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Scale::Id; } }; } // namespace Scale +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::PressureMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace PressureMeasurement namespace FlowMeasurement { @@ -15466,7 +16441,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15476,7 +16451,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15486,7 +16461,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15496,22 +16471,42 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return FlowMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance -} // namespace Attributes -} // namespace FlowMeasurement -namespace RelativeHumidityMeasurement { - -namespace Attributes { -namespace MeasuredValue { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { struct TypeInfo { using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return RelativeHumidityMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FlowMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes +} // namespace FlowMeasurement +namespace RelativeHumidityMeasurement { + +namespace Attributes { +namespace MeasuredValue { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15521,7 +16516,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return RelativeHumidityMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15531,7 +16526,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return RelativeHumidityMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15541,10 +16536,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return RelativeHumidityMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::RelativeHumidityMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace RelativeHumidityMeasurement namespace OccupancySensing { @@ -15556,7 +16571,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Occupancy::Id; } }; } // namespace Occupancy @@ -15566,7 +16581,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorType::Id; } }; } // namespace OccupancySensorType @@ -15576,7 +16591,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OccupancySensorTypeBitmap::Id; } }; } // namespace OccupancySensorTypeBitmap @@ -15586,7 +16601,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PirOccupiedToUnoccupiedDelay::Id; } }; } // namespace PirOccupiedToUnoccupiedDelay @@ -15596,7 +16611,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedDelay::Id; } }; } // namespace PirUnoccupiedToOccupiedDelay @@ -15606,7 +16621,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PirUnoccupiedToOccupiedThreshold::Id; } }; } // namespace PirUnoccupiedToOccupiedThreshold @@ -15616,7 +16631,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id; } }; } // namespace UltrasonicOccupiedToUnoccupiedDelay @@ -15626,7 +16641,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id; } }; } // namespace UltrasonicUnoccupiedToOccupiedDelay @@ -15636,7 +16651,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id; } }; } // namespace UltrasonicUnoccupiedToOccupiedThreshold @@ -15646,7 +16661,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id; } }; } // namespace PhysicalContactOccupiedToUnoccupiedDelay @@ -15656,7 +16671,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id; } }; } // namespace PhysicalContactUnoccupiedToOccupiedDelay @@ -15666,10 +16681,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return OccupancySensing::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id; } }; } // namespace PhysicalContactUnoccupiedToOccupiedThreshold +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OccupancySensing::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OccupancySensing namespace CarbonMonoxideConcentrationMeasurement { @@ -15681,7 +16716,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15691,7 +16726,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15701,7 +16736,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15711,10 +16746,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CarbonMonoxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace CarbonMonoxideConcentrationMeasurement namespace CarbonDioxideConcentrationMeasurement { @@ -15726,7 +16781,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15736,7 +16791,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15746,7 +16801,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15756,10 +16811,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CarbonDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CarbonDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace CarbonDioxideConcentrationMeasurement namespace EthyleneConcentrationMeasurement { @@ -15771,7 +16846,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15781,7 +16856,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15791,7 +16866,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15801,10 +16876,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthyleneConcentrationMeasurement namespace EthyleneOxideConcentrationMeasurement { @@ -15816,7 +16911,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15826,7 +16921,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15836,7 +16931,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15846,10 +16941,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return EthyleneOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::EthyleneOxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthyleneOxideConcentrationMeasurement namespace HydrogenConcentrationMeasurement { @@ -15861,7 +16976,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15871,7 +16986,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15881,7 +16996,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15891,10 +17006,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace HydrogenConcentrationMeasurement namespace HydrogenSulphideConcentrationMeasurement { @@ -15906,7 +17041,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15916,7 +17051,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15926,7 +17061,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15936,10 +17071,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HydrogenSulphideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace HydrogenSulphideConcentrationMeasurement namespace NitricOxideConcentrationMeasurement { @@ -15951,7 +17106,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitricOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -15961,7 +17116,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitricOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -15971,7 +17126,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitricOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -15981,10 +17136,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitricOxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NitricOxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace NitricOxideConcentrationMeasurement namespace NitrogenDioxideConcentrationMeasurement { @@ -15996,7 +17171,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16006,7 +17181,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16016,7 +17191,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16026,10 +17201,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::NitrogenDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace NitrogenDioxideConcentrationMeasurement namespace OxygenConcentrationMeasurement { @@ -16041,7 +17236,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16051,7 +17246,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16061,7 +17256,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16071,10 +17266,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OxygenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OxygenConcentrationMeasurement namespace OzoneConcentrationMeasurement { @@ -16086,7 +17301,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OzoneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16096,7 +17311,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OzoneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16106,7 +17321,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OzoneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16116,10 +17331,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return OzoneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::OzoneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace OzoneConcentrationMeasurement namespace SulfurDioxideConcentrationMeasurement { @@ -16131,7 +17366,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfurDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16141,7 +17376,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfurDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16151,7 +17386,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfurDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16161,10 +17396,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfurDioxideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SulfurDioxideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SulfurDioxideConcentrationMeasurement namespace DissolvedOxygenConcentrationMeasurement { @@ -16176,7 +17431,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16186,7 +17441,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16196,7 +17451,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16206,10 +17461,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::DissolvedOxygenConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace DissolvedOxygenConcentrationMeasurement namespace BromateConcentrationMeasurement { @@ -16221,7 +17496,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16231,7 +17506,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16241,7 +17516,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16251,10 +17526,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromateConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromateConcentrationMeasurement namespace ChloraminesConcentrationMeasurement { @@ -16266,7 +17561,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloraminesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16276,7 +17571,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloraminesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16286,7 +17581,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloraminesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16296,10 +17591,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloraminesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChloraminesConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChloraminesConcentrationMeasurement namespace ChlorineConcentrationMeasurement { @@ -16311,7 +17626,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16321,7 +17636,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16331,7 +17646,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16341,10 +17656,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorineConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChlorineConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChlorineConcentrationMeasurement namespace FecalColiformAndEColiConcentrationMeasurement { @@ -16356,7 +17691,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16366,7 +17701,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16376,7 +17711,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16386,10 +17721,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FecalColiformAndEColiConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace FecalColiformAndEColiConcentrationMeasurement namespace FluorideConcentrationMeasurement { @@ -16401,7 +17756,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FluorideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16411,7 +17766,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FluorideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16421,7 +17776,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FluorideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16431,10 +17786,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return FluorideConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::FluorideConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace FluorideConcentrationMeasurement namespace HaloaceticAcidsConcentrationMeasurement { @@ -16446,7 +17821,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16456,7 +17831,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16466,7 +17841,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16476,10 +17851,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::HaloaceticAcidsConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace HaloaceticAcidsConcentrationMeasurement namespace TotalTrihalomethanesConcentrationMeasurement { @@ -16491,7 +17886,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16501,7 +17896,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16511,7 +17906,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16521,10 +17916,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TotalTrihalomethanesConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace TotalTrihalomethanesConcentrationMeasurement namespace TotalColiformBacteriaConcentrationMeasurement { @@ -16536,7 +17951,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16546,7 +17961,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16556,7 +17971,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16566,10 +17981,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TotalColiformBacteriaConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace TotalColiformBacteriaConcentrationMeasurement namespace TurbidityConcentrationMeasurement { @@ -16581,7 +18016,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TurbidityConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16591,7 +18026,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TurbidityConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16601,7 +18036,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TurbidityConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16611,10 +18046,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return TurbidityConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TurbidityConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace TurbidityConcentrationMeasurement namespace CopperConcentrationMeasurement { @@ -16626,7 +18081,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CopperConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16636,7 +18091,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CopperConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16646,7 +18101,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CopperConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16656,10 +18111,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return CopperConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::CopperConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace CopperConcentrationMeasurement namespace LeadConcentrationMeasurement { @@ -16671,7 +18146,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return LeadConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16681,7 +18156,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return LeadConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16691,7 +18166,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return LeadConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16701,10 +18176,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return LeadConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LeadConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace LeadConcentrationMeasurement namespace ManganeseConcentrationMeasurement { @@ -16716,7 +18211,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ManganeseConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16726,7 +18221,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ManganeseConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16736,7 +18231,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ManganeseConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16746,10 +18241,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ManganeseConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ManganeseConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ManganeseConcentrationMeasurement namespace SulfateConcentrationMeasurement { @@ -16761,7 +18276,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16771,7 +18286,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16781,7 +18296,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16791,10 +18306,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SulfateConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SulfateConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SulfateConcentrationMeasurement namespace BromodichloromethaneConcentrationMeasurement { @@ -16806,7 +18341,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16816,7 +18351,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16826,7 +18361,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16836,10 +18371,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromodichloromethaneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromodichloromethaneConcentrationMeasurement namespace BromoformConcentrationMeasurement { @@ -16851,7 +18406,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromoformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16861,7 +18416,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromoformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16871,7 +18426,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromoformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16881,10 +18436,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return BromoformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::BromoformConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromoformConcentrationMeasurement namespace ChlorodibromomethaneConcentrationMeasurement { @@ -16896,7 +18471,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16906,7 +18481,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16916,7 +18491,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16926,10 +18501,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChlorodibromomethaneConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChlorodibromomethaneConcentrationMeasurement namespace ChloroformConcentrationMeasurement { @@ -16941,7 +18536,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloroformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16951,7 +18546,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloroformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -16961,7 +18556,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloroformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -16971,10 +18566,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return ChloroformConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ChloroformConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChloroformConcentrationMeasurement namespace SodiumConcentrationMeasurement { @@ -16986,7 +18601,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SodiumConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredValue::Id; } }; } // namespace MeasuredValue @@ -16996,7 +18611,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SodiumConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MinMeasuredValue::Id; } }; } // namespace MinMeasuredValue @@ -17006,7 +18621,7 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SodiumConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxMeasuredValue::Id; } }; } // namespace MaxMeasuredValue @@ -17016,10 +18631,30 @@ struct TypeInfo using Type = float; using DecodableType = float; - static constexpr ClusterId GetClusterId() { return SodiumConcentrationMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Tolerance::Id; } }; } // namespace Tolerance +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SodiumConcentrationMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SodiumConcentrationMeasurement namespace IasZone { @@ -17291,7 +18926,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ZoneState::Id; } }; } // namespace ZoneState @@ -17301,7 +18936,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ZoneType::Id; } }; } // namespace ZoneType @@ -17311,7 +18946,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ZoneStatus::Id; } }; } // namespace ZoneStatus @@ -17321,7 +18956,7 @@ struct TypeInfo using Type = chip::NodeId; using DecodableType = chip::NodeId; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::IasCieAddress::Id; } }; } // namespace IasCieAddress @@ -17331,7 +18966,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ZoneId::Id; } }; } // namespace ZoneId @@ -17341,7 +18976,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NumberOfZoneSensitivityLevelsSupported::Id; } }; } // namespace NumberOfZoneSensitivityLevelsSupported @@ -17351,10 +18986,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return IasZone::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentZoneSensitivityLevel::Id; } }; } // namespace CurrentZoneSensitivityLevel +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasZone::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace IasZone namespace IasAce { @@ -18145,6 +19800,28 @@ struct DecodableType }; // namespace GetZoneStatus } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasAce::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasAce::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace IasAce namespace IasWd { @@ -18239,10 +19916,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return IasWd::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::IasWd::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MaxDuration::Id; } }; } // namespace MaxDuration +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasWd::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::IasWd::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace IasWd namespace WakeOnLan { @@ -18254,10 +19951,30 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return WakeOnLan::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::WakeOnLanMacAddress::Id; } }; } // namespace WakeOnLanMacAddress +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::WakeOnLan::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace WakeOnLan namespace TvChannel { @@ -18466,7 +20183,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return TvChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TvChannelList::Id; } }; } // namespace TvChannelList @@ -18476,7 +20193,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return TvChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TvChannelLineup::Id; } }; } // namespace TvChannelLineup @@ -18486,10 +20203,30 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return TvChannel::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentTvChannel::Id; } }; } // namespace CurrentTvChannel +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace TvChannel namespace TargetNavigator { @@ -18602,20 +20339,40 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return TargetNavigator::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::TargetNavigatorList::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::TargetNavigatorList::Id; } +}; +} // namespace TargetNavigatorList +namespace CurrentNavigatorTarget { +struct TypeInfo +{ + using Type = uint8_t; + using DecodableType = uint8_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::CurrentNavigatorTarget::Id; } +}; +} // namespace CurrentNavigatorTarget +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } }; -} // namespace TargetNavigatorList -namespace CurrentNavigatorTarget { +} // namespace FeatureMap +namespace ClusterRevision { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; + using Type = uint16_t; + using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return TargetNavigator::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::CurrentNavigatorTarget::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } }; -} // namespace CurrentNavigatorTarget +} // namespace ClusterRevision } // namespace Attributes } // namespace TargetNavigator namespace MediaPlayback { @@ -19267,7 +21024,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PlaybackState::Id; } }; } // namespace PlaybackState @@ -19277,7 +21034,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::StartTime::Id; } }; } // namespace StartTime @@ -19287,7 +21044,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Duration::Id; } }; } // namespace Duration @@ -19297,7 +21054,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PositionUpdatedAt::Id; } }; } // namespace PositionUpdatedAt @@ -19307,7 +21064,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Position::Id; } }; } // namespace Position @@ -19317,7 +21074,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PlaybackSpeed::Id; } }; } // namespace PlaybackSpeed @@ -19327,7 +21084,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeEnd::Id; } }; } // namespace SeekRangeEnd @@ -19337,10 +21094,30 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return MediaPlayback::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SeekRangeStart::Id; } }; } // namespace SeekRangeStart +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaPlayback::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace MediaPlayback namespace MediaInput { @@ -19511,7 +21288,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MediaInputList::Id; } }; } // namespace MediaInputList @@ -19521,10 +21298,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return MediaInput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentMediaInput::Id; } }; } // namespace CurrentMediaInput +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace MediaInput namespace LowPower { @@ -19556,6 +21353,28 @@ struct DecodableType }; // namespace Sleep } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::LowPower::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace LowPower namespace KeypadInput { // Need to convert consumers to using the new enum classes, so we @@ -19727,6 +21546,28 @@ struct DecodableType }; // namespace SendKeyResponse } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::KeypadInput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace KeypadInput namespace ContentLauncher { // Need to convert consumers to using the new enum classes, so we @@ -20045,7 +21886,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ContentLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcceptsHeaderList::Id; } }; } // namespace AcceptsHeaderList @@ -20055,10 +21896,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ContentLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SupportedStreamingTypes::Id; } }; } // namespace SupportedStreamingTypes +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ContentLauncher namespace AudioOutput { @@ -20173,7 +22034,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AudioOutputList::Id; } }; } // namespace AudioOutputList @@ -20183,10 +22044,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return AudioOutput::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentAudioOutput::Id; } }; } // namespace CurrentAudioOutput +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace AudioOutput namespace ApplicationLauncher { @@ -20302,7 +22183,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationLauncherList::Id; } }; } // namespace ApplicationLauncherList @@ -20312,7 +22193,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CatalogVendorId::Id; } }; } // namespace CatalogVendorId @@ -20322,10 +22203,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ApplicationLauncher::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationId::Id; } }; } // namespace ApplicationId +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplicationLauncher namespace ApplicationBasic { @@ -20382,7 +22283,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorName::Id; } }; } // namespace VendorName @@ -20392,7 +22293,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorId::Id; } }; } // namespace VendorId @@ -20402,7 +22303,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationName::Id; } }; } // namespace ApplicationName @@ -20412,7 +22313,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductId::Id; } }; } // namespace ProductId @@ -20422,7 +22323,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationId::Id; } }; } // namespace ApplicationId @@ -20432,7 +22333,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CatalogVendorId::Id; } }; } // namespace CatalogVendorId @@ -20442,10 +22343,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ApplicationBasic::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApplicationStatus::Id; } }; } // namespace ApplicationStatus +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplicationBasic::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplicationBasic namespace AccountLogin { @@ -20540,6 +22461,28 @@ struct DecodableType }; // namespace Login } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::AccountLogin::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace AccountLogin namespace TestCluster { // Need to convert consumers to using the new enum classes, so we @@ -21011,6 +22954,37 @@ struct DecodableType CHIP_ERROR Decode(TLV::TLVReader & reader); }; }; // namespace TestSimpleArgumentRequest +namespace TestEnumsResponse { +enum class Fields +{ + kArg1 = 0, + kArg2 = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return TestEnumsResponse::Id; } + static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + + chip::VendorId arg1; + SimpleEnum arg2; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return TestEnumsResponse::Id; } + static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + + chip::VendorId arg1; + SimpleEnum arg2; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace TestEnumsResponse namespace TestStructArrayArgumentRequest { enum class Fields { @@ -21250,6 +23224,37 @@ struct DecodableType CHIP_ERROR Decode(TLV::TLVReader & reader); }; }; // namespace TestListInt8UReverseRequest +namespace TestEnumsRequest { +enum class Fields +{ + kArg1 = 0, + kArg2 = 1, +}; + +struct Type +{ +public: + // Use GetCommandId instead of commandId directly to avoid naming conflict with CommandIdentification in ExecutionOfACommand + static constexpr CommandId GetCommandId() { return TestEnumsRequest::Id; } + static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + + chip::VendorId arg1; + SimpleEnum arg2; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +struct DecodableType +{ +public: + static constexpr CommandId GetCommandId() { return TestEnumsRequest::Id; } + static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + + chip::VendorId arg1; + SimpleEnum arg2; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace TestEnumsRequest } // namespace Commands namespace Attributes { @@ -21259,7 +23264,7 @@ struct TypeInfo using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Boolean::Id; } }; } // namespace Boolean @@ -21269,7 +23274,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap8::Id; } }; } // namespace Bitmap8 @@ -21279,7 +23284,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap16::Id; } }; } // namespace Bitmap16 @@ -21289,7 +23294,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap32::Id; } }; } // namespace Bitmap32 @@ -21299,7 +23304,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Bitmap64::Id; } }; } // namespace Bitmap64 @@ -21309,7 +23314,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int8u::Id; } }; } // namespace Int8u @@ -21319,7 +23324,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int16u::Id; } }; } // namespace Int16u @@ -21329,7 +23334,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int32u::Id; } }; } // namespace Int32u @@ -21339,7 +23344,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int64u::Id; } }; } // namespace Int64u @@ -21349,7 +23354,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int8s::Id; } }; } // namespace Int8s @@ -21359,7 +23364,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int16s::Id; } }; } // namespace Int16s @@ -21369,7 +23374,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int32s::Id; } }; } // namespace Int32s @@ -21379,7 +23384,7 @@ struct TypeInfo using Type = int64_t; using DecodableType = int64_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Int64s::Id; } }; } // namespace Int64s @@ -21389,7 +23394,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Enum8::Id; } }; } // namespace Enum8 @@ -21399,7 +23404,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Enum16::Id; } }; } // namespace Enum16 @@ -21409,7 +23414,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OctetString::Id; } }; } // namespace OctetString @@ -21419,7 +23424,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ListInt8u::Id; } }; } // namespace ListInt8u @@ -21429,7 +23434,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ListOctetString::Id; } }; } // namespace ListOctetString @@ -21439,7 +23444,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ListStructOctetString::Id; } }; } // namespace ListStructOctetString @@ -21449,7 +23454,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LongOctetString::Id; } }; } // namespace LongOctetString @@ -21459,7 +23464,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CharString::Id; } }; } // namespace CharString @@ -21469,7 +23474,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LongCharString::Id; } }; } // namespace LongCharString @@ -21479,7 +23484,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EpochUs::Id; } }; } // namespace EpochUs @@ -21489,20 +23494,50 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EpochS::Id; } }; } // namespace EpochS +namespace VendorId { +struct TypeInfo +{ + using Type = chip::VendorId; + using DecodableType = chip::VendorId; + + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::VendorId::Id; } +}; +} // namespace VendorId namespace Unsupported { struct TypeInfo { using Type = bool; using DecodableType = bool; - static constexpr ClusterId GetClusterId() { return TestCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Unsupported::Id; } }; } // namespace Unsupported +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes namespace Events { namespace TestEvent { @@ -21953,12 +23988,34 @@ struct DecodableType static constexpr CommandId GetCommandId() { return CancelAllMessages::Id; } static constexpr ClusterId GetClusterId() { return Messaging::Id; } - uint32_t implementationDateTime; - CHIP_ERROR Decode(TLV::TLVReader & reader); + uint32_t implementationDateTime; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; +}; // namespace CancelAllMessages +} // namespace Commands + +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Messaging::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } }; -}; // namespace CancelAllMessages -} // namespace Commands +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + static constexpr ClusterId GetClusterId() { return Clusters::Messaging::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace Messaging namespace ApplianceIdentification { @@ -21969,7 +24026,7 @@ struct TypeInfo using Type = uint64_t; using DecodableType = uint64_t; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BasicIdentification::Id; } }; } // namespace BasicIdentification @@ -21979,7 +24036,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CompanyName::Id; } }; } // namespace CompanyName @@ -21989,7 +24046,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CompanyId::Id; } }; } // namespace CompanyId @@ -21999,7 +24056,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BrandName::Id; } }; } // namespace BrandName @@ -22009,7 +24066,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::BrandId::Id; } }; } // namespace BrandId @@ -22019,7 +24076,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Model::Id; } }; } // namespace Model @@ -22029,7 +24086,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } }; } // namespace PartNumber @@ -22039,7 +24096,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductRevision::Id; } }; } // namespace ProductRevision @@ -22049,7 +24106,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareRevision::Id; } }; } // namespace SoftwareRevision @@ -22059,7 +24116,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductTypeName::Id; } }; } // namespace ProductTypeName @@ -22069,7 +24126,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductTypeId::Id; } }; } // namespace ProductTypeId @@ -22079,10 +24136,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ApplianceIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CecedSpecificationVersion::Id; } }; } // namespace CecedSpecificationVersion +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceIdentification::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceIdentification namespace MeterIdentification { @@ -22094,7 +24171,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CompanyName::Id; } }; } // namespace CompanyName @@ -22104,7 +24181,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeterTypeId::Id; } }; } // namespace MeterTypeId @@ -22114,7 +24191,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DataQualityId::Id; } }; } // namespace DataQualityId @@ -22124,7 +24201,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CustomerName::Id; } }; } // namespace CustomerName @@ -22134,7 +24211,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Model::Id; } }; } // namespace Model @@ -22144,7 +24221,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PartNumber::Id; } }; } // namespace PartNumber @@ -22154,7 +24231,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ProductRevision::Id; } }; } // namespace ProductRevision @@ -22164,7 +24241,7 @@ struct TypeInfo using Type = chip::ByteSpan; using DecodableType = chip::ByteSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SoftwareRevision::Id; } }; } // namespace SoftwareRevision @@ -22174,7 +24251,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::UtilityName::Id; } }; } // namespace UtilityName @@ -22184,7 +24261,7 @@ struct TypeInfo using Type = chip::CharSpan; using DecodableType = chip::CharSpan; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Pod::Id; } }; } // namespace Pod @@ -22194,7 +24271,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AvailablePower::Id; } }; } // namespace AvailablePower @@ -22204,10 +24281,30 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return MeterIdentification::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerThreshold::Id; } }; } // namespace PowerThreshold +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::MeterIdentification::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace MeterIdentification namespace ApplianceEventsAndAlert { @@ -22362,6 +24459,28 @@ struct DecodableType }; // namespace EventsNotification } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace ApplianceEventsAndAlert namespace ApplianceStatistics { @@ -22563,7 +24682,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LogMaxSize::Id; } }; } // namespace LogMaxSize @@ -22573,10 +24692,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ApplianceStatistics::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LogQueueMaxSize::Id; } }; } // namespace LogQueueMaxSize +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceStatistics namespace ElectricalMeasurement { @@ -22729,7 +24868,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasurementType::Id; } }; } // namespace MeasurementType @@ -22739,7 +24878,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcVoltage::Id; } }; } // namespace DcVoltage @@ -22749,7 +24888,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcVoltageMin::Id; } }; } // namespace DcVoltageMin @@ -22759,7 +24898,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcVoltageMax::Id; } }; } // namespace DcVoltageMax @@ -22769,7 +24908,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcCurrent::Id; } }; } // namespace DcCurrent @@ -22779,7 +24918,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcCurrentMin::Id; } }; } // namespace DcCurrentMin @@ -22789,7 +24928,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcCurrentMax::Id; } }; } // namespace DcCurrentMax @@ -22799,7 +24938,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcPower::Id; } }; } // namespace DcPower @@ -22809,7 +24948,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcPowerMin::Id; } }; } // namespace DcPowerMin @@ -22819,7 +24958,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcPowerMax::Id; } }; } // namespace DcPowerMax @@ -22829,7 +24968,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcVoltageMultiplier::Id; } }; } // namespace DcVoltageMultiplier @@ -22839,7 +24978,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcVoltageDivisor::Id; } }; } // namespace DcVoltageDivisor @@ -22849,7 +24988,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcCurrentMultiplier::Id; } }; } // namespace DcCurrentMultiplier @@ -22859,7 +24998,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcCurrentDivisor::Id; } }; } // namespace DcCurrentDivisor @@ -22869,7 +25008,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcPowerMultiplier::Id; } }; } // namespace DcPowerMultiplier @@ -22879,7 +25018,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DcPowerDivisor::Id; } }; } // namespace DcPowerDivisor @@ -22889,7 +25028,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcFrequency::Id; } }; } // namespace AcFrequency @@ -22899,7 +25038,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcFrequencyMin::Id; } }; } // namespace AcFrequencyMin @@ -22909,7 +25048,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcFrequencyMax::Id; } }; } // namespace AcFrequencyMax @@ -22919,7 +25058,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::NeutralCurrent::Id; } }; } // namespace NeutralCurrent @@ -22929,7 +25068,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TotalActivePower::Id; } }; } // namespace TotalActivePower @@ -22939,7 +25078,7 @@ struct TypeInfo using Type = int32_t; using DecodableType = int32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TotalReactivePower::Id; } }; } // namespace TotalReactivePower @@ -22949,7 +25088,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TotalApparentPower::Id; } }; } // namespace TotalApparentPower @@ -22959,7 +25098,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured1stHarmonicCurrent::Id; } }; } // namespace Measured1stHarmonicCurrent @@ -22969,7 +25108,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured3rdHarmonicCurrent::Id; } }; } // namespace Measured3rdHarmonicCurrent @@ -22979,7 +25118,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured5thHarmonicCurrent::Id; } }; } // namespace Measured5thHarmonicCurrent @@ -22989,7 +25128,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured7thHarmonicCurrent::Id; } }; } // namespace Measured7thHarmonicCurrent @@ -22999,7 +25138,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured9thHarmonicCurrent::Id; } }; } // namespace Measured9thHarmonicCurrent @@ -23009,7 +25148,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Measured11thHarmonicCurrent::Id; } }; } // namespace Measured11thHarmonicCurrent @@ -23019,7 +25158,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase1stHarmonicCurrent::Id; } }; } // namespace MeasuredPhase1stHarmonicCurrent @@ -23029,7 +25168,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase3rdHarmonicCurrent::Id; } }; } // namespace MeasuredPhase3rdHarmonicCurrent @@ -23039,7 +25178,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase5thHarmonicCurrent::Id; } }; } // namespace MeasuredPhase5thHarmonicCurrent @@ -23049,7 +25188,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase7thHarmonicCurrent::Id; } }; } // namespace MeasuredPhase7thHarmonicCurrent @@ -23059,7 +25198,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase9thHarmonicCurrent::Id; } }; } // namespace MeasuredPhase9thHarmonicCurrent @@ -23069,7 +25208,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::MeasuredPhase11thHarmonicCurrent::Id; } }; } // namespace MeasuredPhase11thHarmonicCurrent @@ -23079,7 +25218,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcFrequencyMultiplier::Id; } }; } // namespace AcFrequencyMultiplier @@ -23089,7 +25228,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcFrequencyDivisor::Id; } }; } // namespace AcFrequencyDivisor @@ -23099,7 +25238,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerMultiplier::Id; } }; } // namespace PowerMultiplier @@ -23109,7 +25248,7 @@ struct TypeInfo using Type = uint32_t; using DecodableType = uint32_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerDivisor::Id; } }; } // namespace PowerDivisor @@ -23119,7 +25258,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::HarmonicCurrentMultiplier::Id; } }; } // namespace HarmonicCurrentMultiplier @@ -23129,7 +25268,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PhaseHarmonicCurrentMultiplier::Id; } }; } // namespace PhaseHarmonicCurrentMultiplier @@ -23139,7 +25278,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstantaneousVoltage::Id; } }; } // namespace InstantaneousVoltage @@ -23149,7 +25288,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstantaneousLineCurrent::Id; } }; } // namespace InstantaneousLineCurrent @@ -23159,7 +25298,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstantaneousActiveCurrent::Id; } }; } // namespace InstantaneousActiveCurrent @@ -23169,7 +25308,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstantaneousReactiveCurrent::Id; } }; } // namespace InstantaneousReactiveCurrent @@ -23179,7 +25318,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::InstantaneousPower::Id; } }; } // namespace InstantaneousPower @@ -23189,7 +25328,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltage::Id; } }; } // namespace RmsVoltage @@ -23199,7 +25338,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMin::Id; } }; } // namespace RmsVoltageMin @@ -23209,7 +25348,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMax::Id; } }; } // namespace RmsVoltageMax @@ -23219,7 +25358,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrent::Id; } }; } // namespace RmsCurrent @@ -23229,7 +25368,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMin::Id; } }; } // namespace RmsCurrentMin @@ -23239,7 +25378,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMax::Id; } }; } // namespace RmsCurrentMax @@ -23249,7 +25388,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePower::Id; } }; } // namespace ActivePower @@ -23259,7 +25398,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMin::Id; } }; } // namespace ActivePowerMin @@ -23269,7 +25408,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMax::Id; } }; } // namespace ActivePowerMax @@ -23279,7 +25418,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ReactivePower::Id; } }; } // namespace ReactivePower @@ -23289,7 +25428,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApparentPower::Id; } }; } // namespace ApparentPower @@ -23299,7 +25438,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerFactor::Id; } }; } // namespace PowerFactor @@ -23309,7 +25448,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsVoltageMeasurementPeriod::Id; } }; } // namespace AverageRmsVoltageMeasurementPeriod @@ -23319,7 +25458,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsUnderVoltageCounter::Id; } }; } // namespace AverageRmsUnderVoltageCounter @@ -23329,7 +25468,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeOverVoltagePeriod::Id; } }; } // namespace RmsExtremeOverVoltagePeriod @@ -23339,7 +25478,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeUnderVoltagePeriod::Id; } }; } // namespace RmsExtremeUnderVoltagePeriod @@ -23349,7 +25488,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSagPeriod::Id; } }; } // namespace RmsVoltageSagPeriod @@ -23359,7 +25498,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSwellPeriod::Id; } }; } // namespace RmsVoltageSwellPeriod @@ -23369,7 +25508,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcVoltageMultiplier::Id; } }; } // namespace AcVoltageMultiplier @@ -23379,7 +25518,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcVoltageDivisor::Id; } }; } // namespace AcVoltageDivisor @@ -23389,7 +25528,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCurrentMultiplier::Id; } }; } // namespace AcCurrentMultiplier @@ -23399,7 +25538,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCurrentDivisor::Id; } }; } // namespace AcCurrentDivisor @@ -23409,7 +25548,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcPowerMultiplier::Id; } }; } // namespace AcPowerMultiplier @@ -23419,7 +25558,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcPowerDivisor::Id; } }; } // namespace AcPowerDivisor @@ -23429,7 +25568,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::OverloadAlarmsMask::Id; } }; } // namespace OverloadAlarmsMask @@ -23439,7 +25578,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VoltageOverload::Id; } }; } // namespace VoltageOverload @@ -23449,7 +25588,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CurrentOverload::Id; } }; } // namespace CurrentOverload @@ -23459,7 +25598,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcOverloadAlarmsMask::Id; } }; } // namespace AcOverloadAlarmsMask @@ -23469,7 +25608,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcVoltageOverload::Id; } }; } // namespace AcVoltageOverload @@ -23479,7 +25618,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcCurrentOverload::Id; } }; } // namespace AcCurrentOverload @@ -23489,7 +25628,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcActivePowerOverload::Id; } }; } // namespace AcActivePowerOverload @@ -23499,7 +25638,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AcReactivePowerOverload::Id; } }; } // namespace AcReactivePowerOverload @@ -23509,7 +25648,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsOverVoltage::Id; } }; } // namespace AverageRmsOverVoltage @@ -23519,7 +25658,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsUnderVoltage::Id; } }; } // namespace AverageRmsUnderVoltage @@ -23529,7 +25668,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeOverVoltage::Id; } }; } // namespace RmsExtremeOverVoltage @@ -23539,7 +25678,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeUnderVoltage::Id; } }; } // namespace RmsExtremeUnderVoltage @@ -23549,7 +25688,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSag::Id; } }; } // namespace RmsVoltageSag @@ -23559,7 +25698,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSwell::Id; } }; } // namespace RmsVoltageSwell @@ -23569,7 +25708,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LineCurrentPhaseB::Id; } }; } // namespace LineCurrentPhaseB @@ -23579,7 +25718,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveCurrentPhaseB::Id; } }; } // namespace ActiveCurrentPhaseB @@ -23589,7 +25728,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ReactiveCurrentPhaseB::Id; } }; } // namespace ReactiveCurrentPhaseB @@ -23599,7 +25738,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltagePhaseB::Id; } }; } // namespace RmsVoltagePhaseB @@ -23609,7 +25748,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMinPhaseB::Id; } }; } // namespace RmsVoltageMinPhaseB @@ -23619,7 +25758,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMaxPhaseB::Id; } }; } // namespace RmsVoltageMaxPhaseB @@ -23629,7 +25768,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentPhaseB::Id; } }; } // namespace RmsCurrentPhaseB @@ -23639,7 +25778,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMinPhaseB::Id; } }; } // namespace RmsCurrentMinPhaseB @@ -23649,7 +25788,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMaxPhaseB::Id; } }; } // namespace RmsCurrentMaxPhaseB @@ -23659,7 +25798,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerPhaseB::Id; } }; } // namespace ActivePowerPhaseB @@ -23669,7 +25808,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMinPhaseB::Id; } }; } // namespace ActivePowerMinPhaseB @@ -23679,7 +25818,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMaxPhaseB::Id; } }; } // namespace ActivePowerMaxPhaseB @@ -23689,7 +25828,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ReactivePowerPhaseB::Id; } }; } // namespace ReactivePowerPhaseB @@ -23699,7 +25838,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApparentPowerPhaseB::Id; } }; } // namespace ApparentPowerPhaseB @@ -23709,7 +25848,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerFactorPhaseB::Id; } }; } // namespace PowerFactorPhaseB @@ -23719,7 +25858,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id; } }; } // namespace AverageRmsVoltageMeasurementPeriodPhaseB @@ -23729,7 +25868,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsOverVoltageCounterPhaseB::Id; } }; } // namespace AverageRmsOverVoltageCounterPhaseB @@ -23739,7 +25878,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsUnderVoltageCounterPhaseB::Id; } }; } // namespace AverageRmsUnderVoltageCounterPhaseB @@ -23749,7 +25888,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id; } }; } // namespace RmsExtremeOverVoltagePeriodPhaseB @@ -23759,7 +25898,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id; } }; } // namespace RmsExtremeUnderVoltagePeriodPhaseB @@ -23769,7 +25908,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSagPeriodPhaseB::Id; } }; } // namespace RmsVoltageSagPeriodPhaseB @@ -23779,7 +25918,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSwellPeriodPhaseB::Id; } }; } // namespace RmsVoltageSwellPeriodPhaseB @@ -23789,7 +25928,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LineCurrentPhaseC::Id; } }; } // namespace LineCurrentPhaseC @@ -23799,7 +25938,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActiveCurrentPhaseC::Id; } }; } // namespace ActiveCurrentPhaseC @@ -23809,7 +25948,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ReactiveCurrentPhaseC::Id; } }; } // namespace ReactiveCurrentPhaseC @@ -23819,7 +25958,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltagePhaseC::Id; } }; } // namespace RmsVoltagePhaseC @@ -23829,7 +25968,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMinPhaseC::Id; } }; } // namespace RmsVoltageMinPhaseC @@ -23839,7 +25978,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageMaxPhaseC::Id; } }; } // namespace RmsVoltageMaxPhaseC @@ -23849,7 +25988,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentPhaseC::Id; } }; } // namespace RmsCurrentPhaseC @@ -23859,7 +25998,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMinPhaseC::Id; } }; } // namespace RmsCurrentMinPhaseC @@ -23869,7 +26008,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsCurrentMaxPhaseC::Id; } }; } // namespace RmsCurrentMaxPhaseC @@ -23879,7 +26018,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerPhaseC::Id; } }; } // namespace ActivePowerPhaseC @@ -23889,7 +26028,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMinPhaseC::Id; } }; } // namespace ActivePowerMinPhaseC @@ -23899,7 +26038,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ActivePowerMaxPhaseC::Id; } }; } // namespace ActivePowerMaxPhaseC @@ -23909,7 +26048,7 @@ struct TypeInfo using Type = int16_t; using DecodableType = int16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ReactivePowerPhaseC::Id; } }; } // namespace ReactivePowerPhaseC @@ -23919,7 +26058,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ApparentPowerPhaseC::Id; } }; } // namespace ApparentPowerPhaseC @@ -23929,7 +26068,7 @@ struct TypeInfo using Type = int8_t; using DecodableType = int8_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::PowerFactorPhaseC::Id; } }; } // namespace PowerFactorPhaseC @@ -23939,7 +26078,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id; } }; } // namespace AverageRmsVoltageMeasurementPeriodPhaseC @@ -23949,7 +26088,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsOverVoltageCounterPhaseC::Id; } }; } // namespace AverageRmsOverVoltageCounterPhaseC @@ -23959,7 +26098,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AverageRmsUnderVoltageCounterPhaseC::Id; } }; } // namespace AverageRmsUnderVoltageCounterPhaseC @@ -23969,7 +26108,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id; } }; } // namespace RmsExtremeOverVoltagePeriodPhaseC @@ -23979,7 +26118,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id; } }; } // namespace RmsExtremeUnderVoltagePeriodPhaseC @@ -23989,7 +26128,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSagPeriodPhaseC::Id; } }; } // namespace RmsVoltageSagPeriodPhaseC @@ -23999,10 +26138,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return ElectricalMeasurement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RmsVoltageSwellPeriodPhaseC::Id; } }; } // namespace RmsVoltageSwellPeriodPhaseC +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::ElectricalMeasurement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace ElectricalMeasurement namespace Binding { @@ -24084,6 +26243,28 @@ struct DecodableType }; // namespace Unbind } // namespace Commands +namespace Attributes { +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::Binding::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes } // namespace Binding namespace GroupKeyManagement { // Need to convert consumers to using the new enum classes, so we @@ -24157,7 +26338,7 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GroupKeyManagement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::Groups::Id; } }; } // namespace Groups @@ -24167,10 +26348,30 @@ struct TypeInfo using Type = DataModel::List; using DecodableType = DataModel::DecodableList; - static constexpr ClusterId GetClusterId() { return GroupKeyManagement::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::GroupKeys::Id; } }; } // namespace GroupKeys +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace GroupKeyManagement namespace SampleMfgSpecificCluster { @@ -24213,7 +26414,7 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return SampleMfgSpecificCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EmberSampleAttribute::Id; } }; } // namespace EmberSampleAttribute @@ -24223,10 +26424,30 @@ struct TypeInfo using Type = uint8_t; using DecodableType = uint8_t; - static constexpr ClusterId GetClusterId() { return SampleMfgSpecificCluster::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EmberSampleAttribute2::Id; } }; } // namespace EmberSampleAttribute2 +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SampleMfgSpecificCluster namespace SampleMfgSpecificCluster2 { @@ -24269,7 +26490,7 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return SampleMfgSpecificCluster2::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster2::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EmberSampleAttribute3::Id; } }; } // namespace EmberSampleAttribute3 @@ -24279,10 +26500,30 @@ struct TypeInfo using Type = uint16_t; using DecodableType = uint16_t; - static constexpr ClusterId GetClusterId() { return SampleMfgSpecificCluster2::Id; } + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster2::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::EmberSampleAttribute4::Id; } }; } // namespace EmberSampleAttribute4 +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster2::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::SampleMfgSpecificCluster2::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision } // namespace Attributes } // namespace SampleMfgSpecificCluster2 diff --git a/zzz_generated/app-common/app-common/zap-generated/command-id.h b/zzz_generated/app-common/app-common/zap-generated/command-id.h index 864b40024e5f16..9b06034094b782 100644 --- a/zzz_generated/app-common/app-common/zap-generated/command-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/command-id.h @@ -441,6 +441,7 @@ #define ZCL_TEST_ADD_ARGUMENTS_COMMAND_ID (0x04) #define ZCL_TEST_LIST_INT8_U_REVERSE_RESPONSE_COMMAND_ID (0x04) #define ZCL_TEST_SIMPLE_ARGUMENT_REQUEST_COMMAND_ID (0x05) +#define ZCL_TEST_ENUMS_RESPONSE_COMMAND_ID (0x05) #define ZCL_TEST_STRUCT_ARRAY_ARGUMENT_REQUEST_COMMAND_ID (0x06) #define ZCL_TEST_STRUCT_ARGUMENT_REQUEST_COMMAND_ID (0x07) #define ZCL_TEST_NESTED_STRUCT_ARGUMENT_REQUEST_COMMAND_ID (0x08) @@ -449,6 +450,7 @@ #define ZCL_TEST_NESTED_STRUCT_LIST_ARGUMENT_REQUEST_COMMAND_ID (0x0B) #define ZCL_TEST_LIST_NESTED_STRUCT_LIST_ARGUMENT_REQUEST_COMMAND_ID (0x0C) #define ZCL_TEST_LIST_INT8_U_REVERSE_REQUEST_COMMAND_ID (0x0D) +#define ZCL_TEST_ENUMS_REQUEST_COMMAND_ID (0x0E) // Commands for cluster: Messaging #define ZCL_DISPLAY_MESSAGE_COMMAND_ID (0x00) diff --git a/zzz_generated/app-common/app-common/zap-generated/enums.h b/zzz_generated/app-common/app-common/zap-generated/enums.h index 50a916b5c922ee..d76af314956aca 100644 --- a/zzz_generated/app-common/app-common/zap-generated/enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/enums.h @@ -946,6 +946,13 @@ enum EmberAfLevelStatus : uint8_t EMBER_ZCL_LEVEL_STATUS_ABOVE_TARGET = 2, }; +// Enum for LightSensorType +enum EmberAfLightSensorType : uint8_t +{ + EMBER_ZCL_LIGHT_SENSOR_TYPE_PHOTODIODE = 0, + EMBER_ZCL_LIGHT_SENSOR_TYPE_CMOS = 1, +}; + // Enum for LogsIntent enum EmberAfLogsIntent : uint8_t { @@ -971,13 +978,6 @@ enum EmberAfLogsTransferProtocol : uint8_t EMBER_ZCL_LOGS_TRANSFER_PROTOCOL_BDX = 1, }; -// Enum for MeasurementLightSensorType -enum EmberAfMeasurementLightSensorType : uint8_t -{ - EMBER_ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_PHOTODIODE = 0, - EMBER_ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_CMOS = 1, -}; - // Enum for MediaInputType enum EmberAfMediaInputType : uint8_t { @@ -1388,13 +1388,6 @@ enum EmberAfSecurityType : uint8_t EMBER_ZCL_SECURITY_TYPE_WPA3 = 5, }; -// Enum for SensingLightSensorType -enum EmberAfSensingLightSensorType : uint8_t -{ - EMBER_ZCL_SENSING_LIGHT_SENSOR_TYPE_PHOTODIODE = 0, - EMBER_ZCL_SENSING_LIGHT_SENSOR_TYPE_CMOS = 1, -}; - // Enum for SetpointAdjustMode enum EmberAfSetpointAdjustMode : uint8_t { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h index 5ea6f40e9fd5cd..77baa6b1a2fb6a 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h @@ -270,9 +270,13 @@ namespace Battery3AlarmState { static constexpr AttributeId Id = 0x0000007E; } // namespace Battery3AlarmState -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerConfiguration @@ -316,9 +320,13 @@ namespace HighTempDwellTripPoint { static constexpr AttributeId Id = 0x00000014; } // namespace HighTempDwellTripPoint -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace DeviceTemperatureConfiguration @@ -334,9 +342,13 @@ namespace IdentifyType { static constexpr AttributeId Id = 0x00000001; } // namespace IdentifyType -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Identify @@ -348,9 +360,13 @@ namespace NameSupport { static constexpr AttributeId Id = 0x00000000; } // namespace NameSupport -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Groups @@ -382,9 +398,13 @@ namespace LastConfiguredBy { static constexpr AttributeId Id = 0x00000005; } // namespace LastConfiguredBy -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Scenes @@ -428,9 +448,13 @@ namespace StartUpOnOff { static constexpr AttributeId Id = 0x00004003; } // namespace StartUpOnOff -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OnOff @@ -446,9 +470,13 @@ namespace SwitchActions { static constexpr AttributeId Id = 0x00000010; } // namespace SwitchActions -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OnOffSwitchConfiguration @@ -512,9 +540,13 @@ namespace StartUpCurrentLevel { static constexpr AttributeId Id = 0x00004000; } // namespace StartUpCurrentLevel -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace LevelControl @@ -526,9 +558,13 @@ namespace AlarmCount { static constexpr AttributeId Id = 0x00000000; } // namespace AlarmCount -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Alarms @@ -576,9 +612,13 @@ namespace ValidUntilTime { static constexpr AttributeId Id = 0x00000009; } // namespace ValidUntilTime -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Time @@ -622,9 +662,13 @@ namespace ApplicationType { static constexpr AttributeId Id = 0x00000100; } // namespace ApplicationType -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BinaryInputBasic @@ -652,9 +696,13 @@ namespace ScheduleMode { static constexpr AttributeId Id = 0x00000004; } // namespace ScheduleMode -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerProfile @@ -674,9 +722,13 @@ namespace RemainingTime { static constexpr AttributeId Id = 0x00000002; } // namespace RemainingTime -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceControl @@ -700,9 +752,13 @@ namespace PartsList { static constexpr AttributeId Id = 0x00000003; } // namespace PartsList -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Descriptor @@ -738,9 +794,13 @@ namespace FastPollTimeoutMax { static constexpr AttributeId Id = 0x00000006; } // namespace FastPollTimeoutMax -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PollControl @@ -820,13 +880,31 @@ namespace Reachable { static constexpr AttributeId Id = 0x00000011; } // namespace Reachable -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Basic +namespace OtaSoftwareUpdateProvider { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace OtaSoftwareUpdateProvider + namespace OtaSoftwareUpdateRequestor { namespace Attributes { @@ -838,9 +916,13 @@ namespace UpdatePossible { static constexpr AttributeId Id = 0x00000002; } // namespace UpdatePossible -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OtaSoftwareUpdateRequestor @@ -972,9 +1054,13 @@ namespace ActiveBatteryChargeFaults { static constexpr AttributeId Id = 0x0000001E; } // namespace ActiveBatteryChargeFaults -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PowerSource @@ -998,13 +1084,45 @@ namespace LocationCapabilityList { static constexpr AttributeId Id = 0x00000003; } // namespace LocationCapabilityList -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace GeneralCommissioning +namespace NetworkCommissioning { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace NetworkCommissioning + +namespace DiagnosticLogs { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace DiagnosticLogs + namespace GeneralDiagnostics { namespace Attributes { @@ -1040,9 +1158,13 @@ namespace ActiveNetworkFaults { static constexpr AttributeId Id = 0x00000007; } // namespace ActiveNetworkFaults -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace GeneralDiagnostics @@ -1066,9 +1188,13 @@ namespace CurrentHeapHighWatermark { static constexpr AttributeId Id = 0x00000003; } // namespace CurrentHeapHighWatermark -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SoftwareDiagnostics @@ -1328,9 +1454,13 @@ namespace ActiveNetworkFaultsList { static constexpr AttributeId Id = 0x0000003E; } // namespace ActiveNetworkFaultsList -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ThreadNetworkDiagnostics @@ -1390,9 +1520,13 @@ namespace OverrunCount { static constexpr AttributeId Id = 0x0000000C; } // namespace OverrunCount -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace WiFiNetworkDiagnostics @@ -1436,9 +1570,13 @@ namespace TimeSinceReset { static constexpr AttributeId Id = 0x00000008; } // namespace TimeSinceReset -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthernetNetworkDiagnostics @@ -1502,9 +1640,13 @@ namespace Reachable { static constexpr AttributeId Id = 0x00000011; } // namespace Reachable -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BridgedDeviceBasic @@ -1524,13 +1666,31 @@ namespace MultiPressMax { static constexpr AttributeId Id = 0x00000002; } // namespace MultiPressMax -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Switch +namespace AdministratorCommissioning { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace AdministratorCommissioning + namespace OperationalCredentials { namespace Attributes { @@ -1550,9 +1710,13 @@ namespace TrustedRootCertificates { static constexpr AttributeId Id = 0x00000004; } // namespace TrustedRootCertificates -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OperationalCredentials @@ -1564,13 +1728,35 @@ namespace LabelList { static constexpr AttributeId Id = 0x00000000; } // namespace LabelList -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace FixedLabel +namespace BooleanState { +namespace Attributes { + +namespace StateValue { +static constexpr AttributeId Id = 0x00000000; +} // namespace StateValue + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace BooleanState + namespace ShadeConfiguration { namespace Attributes { @@ -1594,9 +1780,13 @@ namespace Mode { static constexpr AttributeId Id = 0x00000011; } // namespace Mode -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ShadeConfiguration @@ -1776,9 +1966,13 @@ namespace RfidProgrammingEventMask { static constexpr AttributeId Id = 0x00000047; } // namespace RfidProgrammingEventMask -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace DoorLock @@ -1894,9 +2088,13 @@ namespace SafetyStatus { static constexpr AttributeId Id = 0x0000001A; } // namespace SafetyStatus -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace WindowCovering @@ -1944,9 +2142,13 @@ namespace BarrierPosition { static constexpr AttributeId Id = 0x0000000A; } // namespace BarrierPosition -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BarrierControl @@ -2050,9 +2252,13 @@ namespace AlarmMask { static constexpr AttributeId Id = 0x00000022; } // namespace AlarmMask -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PumpConfigurationAndControl @@ -2232,9 +2438,13 @@ namespace AcCapacityFormat { static constexpr AttributeId Id = 0x00000047; } // namespace AcCapacityFormat -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace Thermostat @@ -2250,9 +2460,13 @@ namespace FanModeSequence { static constexpr AttributeId Id = 0x00000001; } // namespace FanModeSequence -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace FanControl @@ -2292,9 +2506,13 @@ namespace RelativeHumidityDisplay { static constexpr AttributeId Id = 0x00000015; } // namespace RelativeHumidityDisplay -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace DehumidificationControl @@ -2314,9 +2532,13 @@ namespace ScheduleProgrammingVisibility { static constexpr AttributeId Id = 0x00000002; } // namespace ScheduleProgrammingVisibility -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ThermostatUserInterfaceConfiguration @@ -2532,9 +2754,13 @@ namespace StartUpColorTemperatureMireds { static constexpr AttributeId Id = 0x00004010; } // namespace StartUpColorTemperatureMireds -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ColorControl @@ -2606,9 +2832,13 @@ namespace LampBurnHoursTripPoint { static constexpr AttributeId Id = 0x00000035; } // namespace LampBurnHoursTripPoint -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BallastConfiguration @@ -2636,35 +2866,17 @@ namespace LightSensorType { static constexpr AttributeId Id = 0x00000004; } // namespace LightSensorType -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { -namespace Attributes { - -namespace LevelStatus { -static constexpr AttributeId Id = 0x00000000; -} // namespace LevelStatus - -namespace LightSensorType { -static constexpr AttributeId Id = 0x00000001; -} // namespace LightSensorType - -namespace IlluminanceLevelTarget { -static constexpr AttributeId Id = 0x00000010; -} // namespace IlluminanceLevelTarget - -namespace FeatureMap = Globals::Attributes::FeatureMap; - -namespace ClusterRevision = Globals::Attributes::ClusterRevision; - -} // namespace Attributes -} // namespace IlluminanceLevelSensing - namespace TemperatureMeasurement { namespace Attributes { @@ -2684,9 +2896,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TemperatureMeasurement @@ -2730,9 +2946,13 @@ namespace Scale { static constexpr AttributeId Id = 0x00000014; } // namespace Scale -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace PressureMeasurement @@ -2756,9 +2976,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace FlowMeasurement @@ -2782,9 +3006,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace RelativeHumidityMeasurement @@ -2840,9 +3068,13 @@ namespace PhysicalContactUnoccupiedToOccupiedThreshold { static constexpr AttributeId Id = 0x00000032; } // namespace PhysicalContactUnoccupiedToOccupiedThreshold -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OccupancySensing @@ -2866,9 +3098,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace CarbonMonoxideConcentrationMeasurement @@ -2892,9 +3128,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace CarbonDioxideConcentrationMeasurement @@ -2918,9 +3158,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthyleneConcentrationMeasurement @@ -2944,9 +3188,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace EthyleneOxideConcentrationMeasurement @@ -2970,9 +3218,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace HydrogenConcentrationMeasurement @@ -2996,9 +3248,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace HydrogenSulphideConcentrationMeasurement @@ -3022,9 +3278,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace NitricOxideConcentrationMeasurement @@ -3048,9 +3308,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace NitrogenDioxideConcentrationMeasurement @@ -3074,9 +3338,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OxygenConcentrationMeasurement @@ -3100,9 +3368,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace OzoneConcentrationMeasurement @@ -3126,9 +3398,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SulfurDioxideConcentrationMeasurement @@ -3152,9 +3428,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace DissolvedOxygenConcentrationMeasurement @@ -3178,9 +3458,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromateConcentrationMeasurement @@ -3204,9 +3488,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChloraminesConcentrationMeasurement @@ -3230,9 +3518,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChlorineConcentrationMeasurement @@ -3256,9 +3548,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace FecalColiformAndEColiConcentrationMeasurement @@ -3282,9 +3578,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace FluorideConcentrationMeasurement @@ -3308,9 +3608,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace HaloaceticAcidsConcentrationMeasurement @@ -3334,9 +3638,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TotalTrihalomethanesConcentrationMeasurement @@ -3360,9 +3668,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TotalColiformBacteriaConcentrationMeasurement @@ -3386,9 +3698,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TurbidityConcentrationMeasurement @@ -3412,9 +3728,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace CopperConcentrationMeasurement @@ -3438,9 +3758,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace LeadConcentrationMeasurement @@ -3464,9 +3788,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ManganeseConcentrationMeasurement @@ -3490,9 +3818,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SulfateConcentrationMeasurement @@ -3516,9 +3848,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromodichloromethaneConcentrationMeasurement @@ -3542,9 +3878,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace BromoformConcentrationMeasurement @@ -3568,9 +3908,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChlorodibromomethaneConcentrationMeasurement @@ -3594,9 +3938,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ChloroformConcentrationMeasurement @@ -3620,9 +3968,13 @@ namespace Tolerance { static constexpr AttributeId Id = 0x00000003; } // namespace Tolerance -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SodiumConcentrationMeasurement @@ -3658,13 +4010,31 @@ namespace CurrentZoneSensitivityLevel { static constexpr AttributeId Id = 0x00000013; } // namespace CurrentZoneSensitivityLevel -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace IasZone +namespace IasAce { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace IasAce + namespace IasWd { namespace Attributes { @@ -3672,9 +4042,13 @@ namespace MaxDuration { static constexpr AttributeId Id = 0x00000000; } // namespace MaxDuration -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace IasWd @@ -3686,9 +4060,13 @@ namespace WakeOnLanMacAddress { static constexpr AttributeId Id = 0x00000000; } // namespace WakeOnLanMacAddress -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace WakeOnLan @@ -3708,9 +4086,13 @@ namespace CurrentTvChannel { static constexpr AttributeId Id = 0x00000002; } // namespace CurrentTvChannel -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TvChannel @@ -3726,9 +4108,13 @@ namespace CurrentNavigatorTarget { static constexpr AttributeId Id = 0x00000001; } // namespace CurrentNavigatorTarget -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TargetNavigator @@ -3768,9 +4154,13 @@ namespace SeekRangeStart { static constexpr AttributeId Id = 0x00000007; } // namespace SeekRangeStart -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace MediaPlayback @@ -3786,13 +4176,45 @@ namespace CurrentMediaInput { static constexpr AttributeId Id = 0x00000001; } // namespace CurrentMediaInput -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace MediaInput +namespace LowPower { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace LowPower + +namespace KeypadInput { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace KeypadInput + namespace ContentLauncher { namespace Attributes { @@ -3804,9 +4226,13 @@ namespace SupportedStreamingTypes { static constexpr AttributeId Id = 0x00000001; } // namespace SupportedStreamingTypes -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ContentLauncher @@ -3822,9 +4248,13 @@ namespace CurrentAudioOutput { static constexpr AttributeId Id = 0x00000001; } // namespace CurrentAudioOutput -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace AudioOutput @@ -3844,9 +4274,13 @@ namespace ApplicationId { static constexpr AttributeId Id = 0x00000002; } // namespace ApplicationId -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplicationLauncher @@ -3882,13 +4316,31 @@ namespace ApplicationStatus { static constexpr AttributeId Id = 0x00000007; } // namespace ApplicationStatus -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplicationBasic +namespace AccountLogin { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace AccountLogin + namespace TestCluster { namespace Attributes { @@ -3988,17 +4440,39 @@ namespace EpochS { static constexpr AttributeId Id = 0x00000021; } // namespace EpochS +namespace VendorId { +static constexpr AttributeId Id = 0x00000022; +} // namespace VendorId + namespace Unsupported { static constexpr AttributeId Id = 0x000000FF; } // namespace Unsupported -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace TestCluster +namespace Messaging { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Messaging + namespace ApplianceIdentification { namespace Attributes { @@ -4050,9 +4524,13 @@ namespace CecedSpecificationVersion { static constexpr AttributeId Id = 0x0000001A; } // namespace CecedSpecificationVersion -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceIdentification @@ -4108,13 +4586,31 @@ namespace PowerThreshold { static constexpr AttributeId Id = 0x0000000E; } // namespace PowerThreshold -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace MeterIdentification +namespace ApplianceEventsAndAlert { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace ApplianceEventsAndAlert + namespace ApplianceStatistics { namespace Attributes { @@ -4126,9 +4622,13 @@ namespace LogQueueMaxSize { static constexpr AttributeId Id = 0x00000001; } // namespace LogQueueMaxSize -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ApplianceStatistics @@ -4648,13 +5148,31 @@ namespace RmsVoltageSwellPeriodPhaseC { static constexpr AttributeId Id = 0x00000A17; } // namespace RmsVoltageSwellPeriodPhaseC -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace ElectricalMeasurement +namespace Binding { +namespace Attributes { + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace Binding + namespace GroupKeyManagement { namespace Attributes { @@ -4666,9 +5184,13 @@ namespace GroupKeys { static constexpr AttributeId Id = 0x00000001; } // namespace GroupKeys -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace GroupKeyManagement @@ -4684,9 +5206,13 @@ namespace EmberSampleAttribute2 { static constexpr AttributeId Id = 0x10020001; } // namespace EmberSampleAttribute2 -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SampleMfgSpecificCluster @@ -4702,9 +5228,13 @@ namespace EmberSampleAttribute4 { static constexpr AttributeId Id = 0x10490001; } // namespace EmberSampleAttribute4 -namespace FeatureMap = Globals::Attributes::FeatureMap; +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap -namespace ClusterRevision = Globals::Attributes::ClusterRevision; +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision } // namespace Attributes } // namespace SampleMfgSpecificCluster2 diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h index ae83eb4ad7ddd4..9646729d0ec190 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h @@ -121,6 +121,9 @@ static constexpr ClusterId Id = 0x0000003E; namespace FixedLabel { static constexpr ClusterId Id = 0x00000040; } // namespace FixedLabel +namespace BooleanState { +static constexpr ClusterId Id = 0x00000045; +} // namespace BooleanState namespace ShadeConfiguration { static constexpr ClusterId Id = 0x00000100; } // namespace ShadeConfiguration @@ -157,9 +160,6 @@ static constexpr ClusterId Id = 0x00000301; namespace IlluminanceMeasurement { static constexpr ClusterId Id = 0x00000400; } // namespace IlluminanceMeasurement -namespace IlluminanceLevelSensing { -static constexpr ClusterId Id = 0x00000401; -} // namespace IlluminanceLevelSensing namespace TemperatureMeasurement { static constexpr ClusterId Id = 0x00000402; } // namespace TemperatureMeasurement 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 4d854aba490213..70411ed21f5ec6 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 @@ -1580,6 +1580,10 @@ namespace TestSimpleArgumentRequest { static constexpr CommandId Id = 0x00000005; } // namespace TestSimpleArgumentRequest +namespace TestEnumsResponse { +static constexpr CommandId Id = 0x00000005; +} // namespace TestEnumsResponse + namespace TestStructArrayArgumentRequest { static constexpr CommandId Id = 0x00000006; } // namespace TestStructArrayArgumentRequest @@ -1612,6 +1616,10 @@ namespace TestListInt8UReverseRequest { static constexpr CommandId Id = 0x0000000D; } // namespace TestListInt8UReverseRequest +namespace TestEnumsRequest { +static constexpr CommandId Id = 0x0000000E; +} // namespace TestEnumsRequest + } // namespace Commands } // namespace TestCluster diff --git a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h index 83d9ca702ed9da..1e20dcacddbe50 100644 --- a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h +++ b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h @@ -220,6 +220,12 @@ #define CHIP_PRINTCLUSTER_FIXED_LABEL_CLUSTER #endif +#if defined(ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER) || defined(ZCL_USING_BOOLEAN_STATE_CLUSTER_CLIENT) +#define CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER { ZCL_BOOLEAN_STATE_CLUSTER_ID, 69, "Boolean State" }, +#else +#define CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER +#endif + #if defined(ZCL_USING_SHADE_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_SHADE_CONFIG_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER { ZCL_SHADE_CONFIG_CLUSTER_ID, 256, "Shade Configuration" }, #else @@ -287,16 +293,11 @@ #define CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER #endif -#if defined(ZCL_USING_ILLUM_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_ILLUM_MEASUREMENT_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER { ZCL_ILLUM_MEASUREMENT_CLUSTER_ID, 1024, "Illuminance Measurement" }, -#else -#define CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER -#endif - -#if defined(ZCL_USING_ILLUM_LEVEL_SENSING_CLUSTER_SERVER) || defined(ZCL_USING_ILLUM_LEVEL_SENSING_CLUSTER_CLIENT) -#define CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER { ZCL_ILLUM_LEVEL_SENSING_CLUSTER_ID, 1025, "Illuminance Level Sensing" }, +#if defined(ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_CLIENT) +#define CHIP_PRINTCLUSTER_ILLUMINANCE_MEASUREMENT_CLUSTER \ + { ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID, 1024, "Illuminance Measurement" }, #else -#define CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER +#define CHIP_PRINTCLUSTER_ILLUMINANCE_MEASUREMENT_CLUSTER #endif #if defined(ZCL_USING_TEMP_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_TEMP_MEASUREMENT_CLUSTER_CLIENT) @@ -764,6 +765,7 @@ CHIP_PRINTCLUSTER_ADMINISTRATOR_COMMISSIONING_CLUSTER \ CHIP_PRINTCLUSTER_OPERATIONAL_CREDENTIALS_CLUSTER \ CHIP_PRINTCLUSTER_FIXED_LABEL_CLUSTER \ + CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER \ CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER \ CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER \ CHIP_PRINTCLUSTER_WINDOW_COVERING_CLUSTER \ @@ -775,8 +777,7 @@ CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER \ CHIP_PRINTCLUSTER_COLOR_CONTROL_CLUSTER \ CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER \ - CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER \ - CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER \ + CHIP_PRINTCLUSTER_ILLUMINANCE_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_TEMP_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_PRESSURE_MEASUREMENT_CLUSTER \ CHIP_PRINTCLUSTER_FLOW_MEASUREMENT_CLUSTER \ diff --git a/zzz_generated/bridge-app/zap-generated/endpoint_config.h b/zzz_generated/bridge-app/zap-generated/endpoint_config.h index 2fdd09d615e2bd..4a09c25dc3b928 100644 --- a/zzz_generated/bridge-app/zap-generated/endpoint_config.h +++ b/zzz_generated/bridge-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,38 +98,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -208,7 +145,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -224,184 +161,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -420,7 +357,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -446,7 +383,7 @@ \ /* Endpoint: 1, Cluster: Fixed Label (server), big-endian */ \ \ - /* 3364 - label list, */ \ + /* 2351 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -467,96 +404,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -564,10 +438,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -585,7 +459,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -601,38 +475,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -648,7 +522,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -664,184 +538,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -860,7 +734,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -886,7 +760,7 @@ \ /* Endpoint: 1, Cluster: Fixed Label (server), little-endian */ \ \ - /* 3364 - label list, */ \ + /* 2351 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -905,7 +779,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (84) +#define GENERATED_DEFAULTS_COUNT (81) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -938,159 +812,159 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(780) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* NetworkName */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1818) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1826) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2106) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2360) }, /* PartitionId */ \ - { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ - { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ - { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ - { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ - { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ - { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ - { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ - { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2364) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2368) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2372) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2376) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2380) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2384) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2388) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2392) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2396) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2400) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2404) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2408) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2412) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2416) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2420) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2424) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2428) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2432) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2436) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2440) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2444) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2448) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2452) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2456) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2460) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2464) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2468) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2472) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2476) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2480) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2484) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2488) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2492) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2496) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2500) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2508) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2516) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2520) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2526) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2531) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2545) }, /* ActiveNetworkFaultsList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(788) }, /* NetworkName */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(805) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(813) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(831) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(839) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1093) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1347) }, /* PartitionId */ \ + { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ + { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ + { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ + { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ + { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ + { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ + { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ + { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ + { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ + { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ + { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1351) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1355) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1359) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1363) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1367) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1371) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1375) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1379) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1383) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1387) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1391) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1395) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1399) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1403) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1407) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1411) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1415) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1419) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1423) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1427) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1431) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1435) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1439) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1443) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1447) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1451) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1455) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1459) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1463) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1467) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1471) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1475) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1479) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1483) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1487) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1513) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1518) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1532) }, /* ActiveNetworkFaultsList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2549) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1536) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2556) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2560) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2564) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2568) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2572) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2576) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2580) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2588) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1543) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1547) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1551) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1555) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1559) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1563) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1567) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1575) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2596) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2604) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2612) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2620) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2628) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1583) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1591) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1599) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1607) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1615) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2636) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1623) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2644) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1631) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2964) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1951) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Level Control (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ @@ -1111,7 +985,7 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3364) }, /* label list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2351) }, /* label list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ } @@ -1149,13 +1023,11 @@ #define GENERATED_CLUSTER_COUNT 15 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -1225,17 +1097,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 12, 3433 }, { ZAP_CLUSTER_INDEX(12), 3, 282 }, \ + { ZAP_CLUSTER_INDEX(0), 12, 2418 }, { ZAP_CLUSTER_INDEX(12), 3, 282 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3715) +#define ATTRIBUTE_MAX_SIZE (2700) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 513edb6bf75f2b..c543381ca6ac75 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -158,19 +158,14 @@ OnApplicationLauncherApplicationLauncherListListAttributeResponse(void * context { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnApplicationLauncherApplicationLauncherListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -183,8 +178,7 @@ OnApplicationLauncherApplicationLauncherListListAttributeResponse(void * context ++i; ChipLogProgress(chipTool, "INT16U[%" PRIu16 "]: %" PRIu16 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnAudioOutputAudioOutputListListAttributeResponse( @@ -193,19 +187,14 @@ static void OnAudioOutputAudioOutputListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnAudioOutputAudioOutputListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -221,8 +210,7 @@ static void OnAudioOutputAudioOutputListListAttributeResponse( ChipLogProgress(chipTool, " outputType: %" PRIu8 "", entry.outputType); ChipLogProgress(Zcl, " name: %.*s", static_cast(entry.name.size()), entry.name.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void @@ -231,19 +219,14 @@ OnContentLauncherAcceptsHeaderListListAttributeResponse(void * context, { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnContentLauncherAcceptsHeaderListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -256,8 +239,7 @@ OnContentLauncherAcceptsHeaderListListAttributeResponse(void * context, ++i; ChipLogProgress(Zcl, " : %zu", entry.size()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( @@ -266,19 +248,14 @@ static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnContentLauncherSupportedStreamingTypesListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -291,8 +268,7 @@ static void OnContentLauncherSupportedStreamingTypesListAttributeResponse( ++i; ChipLogProgress(chipTool, "ContentLaunchStreamingType[%" PRIu16 "]: %" PRIu8 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnDescriptorDeviceListListAttributeResponse( @@ -301,19 +277,14 @@ static void OnDescriptorDeviceListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnDescriptorDeviceListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -328,8 +299,7 @@ static void OnDescriptorDeviceListListAttributeResponse( ChipLogProgress(chipTool, " type: %" PRIu32 "", entry.type); ChipLogProgress(chipTool, " revision: %" PRIu16 "", entry.revision); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnDescriptorServerListListAttributeResponse(void * context, @@ -337,19 +307,14 @@ static void OnDescriptorServerListListAttributeResponse(void * context, { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnDescriptorServerListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -362,8 +327,7 @@ static void OnDescriptorServerListListAttributeResponse(void * context, ++i; ChipLogProgress(chipTool, "CLUSTER_ID[%" PRIu16 "]: %" PRIu32 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnDescriptorClientListListAttributeResponse(void * context, @@ -371,19 +335,14 @@ static void OnDescriptorClientListListAttributeResponse(void * context, { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnDescriptorClientListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -396,8 +355,7 @@ static void OnDescriptorClientListListAttributeResponse(void * context, ++i; ChipLogProgress(chipTool, "CLUSTER_ID[%" PRIu16 "]: %" PRIu32 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnDescriptorPartsListListAttributeResponse(void * context, @@ -405,19 +363,14 @@ static void OnDescriptorPartsListListAttributeResponse(void * context, { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnDescriptorPartsListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -430,8 +383,7 @@ static void OnDescriptorPartsListListAttributeResponse(void * context, ++i; ChipLogProgress(chipTool, "ENDPOINT_NO[%" PRIu16 "]: %" PRIu16 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnFixedLabelLabelListListAttributeResponse( @@ -440,19 +392,14 @@ static void OnFixedLabelLabelListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnFixedLabelLabelListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -467,8 +414,7 @@ static void OnFixedLabelLabelListListAttributeResponse( ChipLogProgress(Zcl, " label: %.*s", static_cast(entry.label.size()), entry.label.data()); ChipLogProgress(Zcl, " value: %.*s", static_cast(entry.value.size()), entry.value.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeResponse( @@ -478,19 +424,14 @@ static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeRespons { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnGeneralCommissioningBasicCommissioningInfoListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -504,8 +445,7 @@ static void OnGeneralCommissioningBasicCommissioningInfoListListAttributeRespons ChipLogProgress(chipTool, "BasicCommissioningInfoType[%" PRIu16 "]:", i); ChipLogProgress(chipTool, " failSafeExpiryLengthMs: %" PRIu32 "", entry.failSafeExpiryLengthMs); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse( @@ -515,19 +455,14 @@ static void OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -546,8 +481,7 @@ static void OnGeneralDiagnosticsNetworkInterfacesListAttributeResponse( ChipLogProgress(Zcl, " HardwareAddress: %zu", entry.hardwareAddress.size()); ChipLogProgress(chipTool, " type: %" PRIu8 "", entry.type); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnGroupKeyManagementGroupsListAttributeResponse( @@ -556,19 +490,14 @@ static void OnGroupKeyManagementGroupsListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnGroupKeyManagementGroupsListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -584,8 +513,7 @@ static void OnGroupKeyManagementGroupsListAttributeResponse( ChipLogProgress(chipTool, " vendorGroupId: %" PRIu16 "", entry.vendorGroupId); ChipLogProgress(chipTool, " groupKeySetIndex: %" PRIu16 "", entry.groupKeySetIndex); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnGroupKeyManagementGroupKeysListAttributeResponse( @@ -594,19 +522,14 @@ static void OnGroupKeyManagementGroupKeysListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnGroupKeyManagementGroupKeysListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -624,8 +547,7 @@ static void OnGroupKeyManagementGroupKeysListAttributeResponse( ChipLogProgress(chipTool, " groupKeyEpochStartTime: %" PRIu64 "", entry.groupKeyEpochStartTime); ChipLogProgress(chipTool, " groupKeySecurityPolicy: %" PRIu8 "", entry.groupKeySecurityPolicy); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnMediaInputMediaInputListListAttributeResponse( @@ -634,19 +556,14 @@ static void OnMediaInputMediaInputListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnMediaInputMediaInputListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -663,8 +580,7 @@ static void OnMediaInputMediaInputListListAttributeResponse( ChipLogProgress(Zcl, " name: %.*s", static_cast(entry.name.size()), entry.name.data()); ChipLogProgress(Zcl, " description: %.*s", static_cast(entry.description.size()), entry.description.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnOperationalCredentialsFabricsListListAttributeResponse( @@ -674,19 +590,14 @@ static void OnOperationalCredentialsFabricsListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnOperationalCredentialsFabricsListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -705,8 +616,7 @@ static void OnOperationalCredentialsFabricsListListAttributeResponse( ChipLogProgress(chipTool, " nodeId: %" PRIu64 "", entry.nodeId); ChipLogProgress(Zcl, " Label: %.*s", static_cast(entry.label.size()), entry.label.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context, @@ -714,19 +624,14 @@ static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnPowerSourceActiveBatteryFaultsListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -739,8 +644,7 @@ static void OnPowerSourceActiveBatteryFaultsListAttributeResponse(void * context ++i; ChipLogProgress(chipTool, "ENUM8[%" PRIu16 "]: %" PRIu8 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnTvChannelTvChannelListListAttributeResponse( @@ -749,19 +653,14 @@ static void OnTvChannelTvChannelListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnTvChannelTvChannelListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -780,8 +679,7 @@ static void OnTvChannelTvChannelListListAttributeResponse( ChipLogProgress(Zcl, " affiliateCallSign: %.*s", static_cast(entry.affiliateCallSign.size()), entry.affiliateCallSign.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( @@ -791,19 +689,14 @@ static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnTargetNavigatorTargetNavigatorListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -818,27 +711,21 @@ static void OnTargetNavigatorTargetNavigatorListListAttributeResponse( ChipLogProgress(chipTool, " identifier: %" PRIu8 "", entry.identifier); ChipLogProgress(Zcl, " name: %.*s", static_cast(entry.name.size()), entry.name.data()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnTestClusterListInt8uListAttributeResponse(void * context, const chip::app::DataModel::DecodableList & list) { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnTestClusterListInt8uListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -851,8 +738,7 @@ static void OnTestClusterListInt8uListAttributeResponse(void * context, const ch ++i; ChipLogProgress(chipTool, "INT8U[%" PRIu16 "]: %" PRIu8 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnTestClusterListOctetStringListAttributeResponse(void * context, @@ -860,19 +746,14 @@ static void OnTestClusterListOctetStringListAttributeResponse(void * context, { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnTestClusterListOctetStringListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -885,8 +766,7 @@ static void OnTestClusterListOctetStringListAttributeResponse(void * context, ++i; ChipLogProgress(Zcl, " : %zu", entry.size()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnTestClusterListStructOctetStringListAttributeResponse( @@ -895,19 +775,14 @@ static void OnTestClusterListStructOctetStringListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnTestClusterListStructOctetStringListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -922,8 +797,7 @@ static void OnTestClusterListStructOctetStringListAttributeResponse( ChipLogProgress(chipTool, " fabricIndex: %" PRIu64 "", entry.fabricIndex); ChipLogProgress(Zcl, " operationalCert: %zu", entry.operationalCert.size()); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( @@ -933,19 +807,14 @@ static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -972,8 +841,7 @@ static void OnThreadNetworkDiagnosticsNeighborTableListListAttributeResponse( ChipLogProgress(chipTool, " fullNetworkData: %d", entry.fullNetworkData); ChipLogProgress(chipTool, " isChild: %d", entry.isChild); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse( @@ -983,19 +851,14 @@ static void OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -1018,8 +881,7 @@ static void OnThreadNetworkDiagnosticsRouteTableListListAttributeResponse( ChipLogProgress(chipTool, " allocated: %d", entry.allocated); ChipLogProgress(chipTool, " linkEstablished: %d", entry.linkEstablished); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse( @@ -1029,19 +891,14 @@ static void OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse( { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -1056,8 +913,7 @@ static void OnThreadNetworkDiagnosticsSecurityPolicyListAttributeResponse( ChipLogProgress(chipTool, " rotationTime: %" PRIu16 "", entry.rotationTime); ChipLogProgress(chipTool, " flags: %" PRIu16 "", entry.flags); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeResponse( @@ -1067,19 +923,14 @@ static void OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeR { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -1104,8 +955,7 @@ static void OnThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeR ChipLogProgress(chipTool, " securityPolicyPresent: %d", entry.securityPolicyPresent); ChipLogProgress(chipTool, " channelMaskPresent: %d", entry.channelMaskPresent); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeResponse( @@ -1113,19 +963,14 @@ static void OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeRespon { ModelCommand * command = static_cast(context); - size_t count = 0; + size_t count = 0; + CHIP_ERROR err = list.ComputeSize(&count); + if (err != CHIP_NO_ERROR) { - auto iter = list.begin(); - while (iter.Next()) - { - ++count; - } - if (iter.GetStatus() != CHIP_NO_ERROR) - { - command->SetCommandExitStatus(iter.GetStatus()); - return; - } + command->SetCommandExitStatus(err); + return; } + ChipLogProgress(chipTool, "OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeResponse: %zu entries", count); auto iter = list.begin(); @@ -1138,8 +983,7 @@ static void OnThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeRespon ++i; ChipLogProgress(chipTool, "NetworkFault[%" PRIu16 "]: %" PRIu8 "", i, entry); } - - command->SetCommandExitStatus(CHIP_NO_ERROR); + command->SetCommandExitStatus(iter.GetStatus()); } static void OnAccountLoginGetSetupPINResponseSuccess( @@ -1185,6 +1029,19 @@ static void OnContentLauncherLaunchURLResponseSuccess( command->SetCommandExitStatus(CHIP_NO_ERROR); }; +static void OnDiagnosticLogsRetrieveLogsResponseSuccess( + void * context, const chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType & data) +{ + ChipLogProgress(Zcl, "Received RetrieveLogsResponse:"); + ChipLogProgress(Zcl, " status: %" PRIu8 "", data.status); + ChipLogProgress(Zcl, " content: %zu", data.content.size()); + ChipLogProgress(Zcl, " timeStamp: %" PRIu32 "", data.timeStamp); + ChipLogProgress(Zcl, " timeSinceBoot: %" PRIu32 "", data.timeSinceBoot); + + ModelCommand * command = static_cast(context); + command->SetCommandExitStatus(CHIP_NO_ERROR); +}; + static void OnDoorLockClearAllPinsResponseSuccess(void * context, const chip::app::Clusters::DoorLock::Commands::ClearAllPinsResponse::DecodableType & data) @@ -1941,6 +1798,18 @@ static void OnTestClusterTestAddArgumentsResponseSuccess( command->SetCommandExitStatus(CHIP_NO_ERROR); }; +static void +OnTestClusterTestEnumsResponseSuccess(void * context, + const chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType & data) +{ + ChipLogProgress(Zcl, "Received TestEnumsResponse:"); + ChipLogProgress(Zcl, " arg1: %" PRIu16 "", data.arg1); + ChipLogProgress(Zcl, " arg2: %" PRIu8 "", data.arg2); + + ModelCommand * command = static_cast(context); + command->SetCommandExitStatus(CHIP_NO_ERROR); +}; + static void OnTestClusterTestListInt8UReverseResponseSuccess( void * context, const chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseResponse::DecodableType & data) { @@ -1973,6 +1842,7 @@ static void OnTestClusterTestSpecificResponseSuccess( | Basic | 0x0028 | | BinaryInputBasic | 0x000F | | Binding | 0xF000 | +| BooleanState | 0x0045 | | BridgedDeviceBasic | 0x0039 | | ColorControl | 0x0300 | | ContentLauncher | 0x050A | @@ -1988,6 +1858,7 @@ static void OnTestClusterTestSpecificResponseSuccess( | GroupKeyManagement | 0xF004 | | Groups | 0x0004 | | Identify | 0x0003 | +| IlluminanceMeasurement | 0x0400 | | KeypadInput | 0x0509 | | LevelControl | 0x0008 | | LowPower | 0x0508 | @@ -3410,7 +3281,7 @@ class WriteBasicUserLabel : public ModelCommand new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - chip::ByteSpan mValue; + chip::CharSpan mValue; }; /* @@ -3477,7 +3348,7 @@ class WriteBasicLocation : public ModelCommand new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - chip::ByteSpan mValue; + chip::CharSpan mValue; }; /* @@ -4283,30 +4154,154 @@ class BindingUnbind : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0000F000) command (0x00000001) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0000F000) command (0x00000001) on endpoint %" PRIu8, endpointId); + + chip::Controller::BindingCluster cluster; + cluster.Associate(device, endpointId); + return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::Binding::Commands::Unbind::Type mRequest; +}; + +/* + * Attribute ClusterRevision + */ +class ReadBindingClusterRevision : public ModelCommand +{ +public: + ReadBindingClusterRevision() : ModelCommand("read") + { + AddArgument("attr-name", "cluster-revision"); + ModelCommand::AddArguments(); + } + + ~ReadBindingClusterRevision() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0xF000) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::BindingCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +/*----------------------------------------------------------------------------*\ +| Cluster BooleanState | 0x0045 | +|------------------------------------------------------------------------------| +| Commands: | | +|------------------------------------------------------------------------------| +| Attributes: | | +| * StateValue | 0x0000 | +| * ClusterRevision | 0xFFFD | +\*----------------------------------------------------------------------------*/ + +/* + * Attribute StateValue + */ +class ReadBooleanStateStateValue : public ModelCommand +{ +public: + ReadBooleanStateStateValue() : ModelCommand("read") + { + AddArgument("attr-name", "state-value"); + ModelCommand::AddArguments(); + } + + ~ReadBooleanStateStateValue() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0045) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::BooleanStateCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeStateValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnBooleanAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +class ReportBooleanStateStateValue : public ModelCommand +{ +public: + ReportBooleanStateStateValue() : ModelCommand("report") + { + AddArgument("attr-name", "state-value"); + AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval); + AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval); + ModelCommand::AddArguments(); + } + + ~ReportBooleanStateStateValue() + { + delete onSuccessCallback; + delete onFailureCallback; + delete onReportCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0045) command (0x06) on endpoint %" PRIu8, endpointId); - chip::Controller::BindingCluster cluster; + chip::Controller::BooleanStateCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + + CHIP_ERROR err = cluster.ReportAttributeStateValue(onReportCallback->Cancel()); + if (err != CHIP_NO_ERROR) + { + return err; + } + + return cluster.SubscribeAttributeStateValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval, + mMaxInterval); } private: - chip::app::Clusters::Binding::Commands::Unbind::Type mRequest; + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnDefaultSuccessResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); + chip::Callback::Callback * onReportCallback = + new chip::Callback::Callback(OnBooleanAttributeResponse, this); + uint16_t mMinInterval; + uint16_t mMaxInterval; }; /* * Attribute ClusterRevision */ -class ReadBindingClusterRevision : public ModelCommand +class ReadBooleanStateClusterRevision : public ModelCommand { public: - ReadBindingClusterRevision() : ModelCommand("read") + ReadBooleanStateClusterRevision() : ModelCommand("read") { AddArgument("attr-name", "cluster-revision"); ModelCommand::AddArguments(); } - ~ReadBindingClusterRevision() + ~ReadBooleanStateClusterRevision() { delete onSuccessCallback; delete onFailureCallback; @@ -4314,9 +4309,9 @@ class ReadBindingClusterRevision : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0xF000) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0045) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::BindingCluster cluster; + chip::Controller::BooleanStateCluster cluster; cluster.Associate(device, endpointId); return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } @@ -4517,7 +4512,7 @@ class WriteBridgedDeviceBasicUserLabel : public ModelCommand new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - chip::ByteSpan mValue; + chip::CharSpan mValue; }; /* @@ -8380,7 +8375,7 @@ class DiagnosticLogsRetrieveLogsRequest : public ModelCommand chip::Controller::DiagnosticLogsCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + return cluster.InvokeCommand(mRequest, this, OnDiagnosticLogsRetrieveLogsResponseSuccess, OnDefaultFailure); } private: @@ -10955,26 +10950,249 @@ class GroupsViewGroup : public ModelCommand chip::Controller::GroupsCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnGroupsViewGroupResponseSuccess, OnDefaultFailure); + return cluster.InvokeCommand(mRequest, this, OnGroupsViewGroupResponseSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::Groups::Commands::ViewGroup::Type mRequest; +}; + +/* + * Attribute NameSupport + */ +class ReadGroupsNameSupport : public ModelCommand +{ +public: + ReadGroupsNameSupport() : ModelCommand("read") + { + AddArgument("attr-name", "name-support"); + ModelCommand::AddArguments(); + } + + ~ReadGroupsNameSupport() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0004) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::GroupsCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeNameSupport(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt8uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +/* + * Attribute ClusterRevision + */ +class ReadGroupsClusterRevision : public ModelCommand +{ +public: + ReadGroupsClusterRevision() : ModelCommand("read") + { + AddArgument("attr-name", "cluster-revision"); + ModelCommand::AddArguments(); + } + + ~ReadGroupsClusterRevision() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0004) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::GroupsCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +/*----------------------------------------------------------------------------*\ +| Cluster Identify | 0x0003 | +|------------------------------------------------------------------------------| +| Commands: | | +| * Identify | 0x00 | +| * IdentifyQuery | 0x01 | +| * TriggerEffect | 0x40 | +|------------------------------------------------------------------------------| +| Attributes: | | +| * IdentifyTime | 0x0000 | +| * IdentifyType | 0x0001 | +| * ClusterRevision | 0xFFFD | +\*----------------------------------------------------------------------------*/ + +/* + * Command Identify + */ +class IdentifyIdentify : public ModelCommand +{ +public: + IdentifyIdentify() : ModelCommand("identify") + { + AddArgument("IdentifyTime", 0, UINT16_MAX, &mRequest.identifyTime); + ModelCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on endpoint %" PRIu8, endpointId); + + chip::Controller::IdentifyCluster cluster; + cluster.Associate(device, endpointId); + return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::Identify::Commands::Identify::Type mRequest; +}; + +/* + * Command IdentifyQuery + */ +class IdentifyIdentifyQuery : public ModelCommand +{ +public: + IdentifyIdentifyQuery() : ModelCommand("identify-query") { ModelCommand::AddArguments(); } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000001) on endpoint %" PRIu8, endpointId); + + chip::Controller::IdentifyCluster cluster; + cluster.Associate(device, endpointId); + return cluster.InvokeCommand(mRequest, this, OnIdentifyIdentifyQueryResponseSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::Identify::Commands::IdentifyQuery::Type mRequest; +}; + +/* + * Command TriggerEffect + */ +class IdentifyTriggerEffect : public ModelCommand +{ +public: + IdentifyTriggerEffect() : ModelCommand("trigger-effect") + { + AddArgument("EffectIdentifier", 0, UINT8_MAX, + reinterpret_cast *>(&mRequest.effectIdentifier)); + AddArgument("EffectVariant", 0, UINT8_MAX, + reinterpret_cast *>(&mRequest.effectVariant)); + ModelCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on endpoint %" PRIu8, endpointId); + + chip::Controller::IdentifyCluster cluster; + cluster.Associate(device, endpointId); + return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::Identify::Commands::TriggerEffect::Type mRequest; +}; + +/* + * Attribute IdentifyTime + */ +class ReadIdentifyIdentifyTime : public ModelCommand +{ +public: + ReadIdentifyIdentifyTime() : ModelCommand("read") + { + AddArgument("attr-name", "identify-time"); + ModelCommand::AddArguments(); + } + + ~ReadIdentifyIdentifyTime() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::IdentifyCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeIdentifyTime(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +class WriteIdentifyIdentifyTime : public ModelCommand +{ +public: + WriteIdentifyIdentifyTime() : ModelCommand("write") + { + AddArgument("attr-name", "identify-time"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + ModelCommand::AddArguments(); + } + + ~WriteIdentifyIdentifyTime() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x01) on endpoint %" PRIu8, endpointId); + + chip::Controller::IdentifyCluster cluster; + cluster.Associate(device, endpointId); + return cluster.WriteAttributeIdentifyTime(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue); } private: - chip::app::Clusters::Groups::Commands::ViewGroup::Type mRequest; + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnDefaultSuccessResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); + uint16_t mValue; }; /* - * Attribute NameSupport + * Attribute IdentifyType */ -class ReadGroupsNameSupport : public ModelCommand +class ReadIdentifyIdentifyType : public ModelCommand { public: - ReadGroupsNameSupport() : ModelCommand("read") + ReadIdentifyIdentifyType() : ModelCommand("read") { - AddArgument("attr-name", "name-support"); + AddArgument("attr-name", "identify-type"); ModelCommand::AddArguments(); } - ~ReadGroupsNameSupport() + ~ReadIdentifyIdentifyType() { delete onSuccessCallback; delete onFailureCallback; @@ -10982,11 +11200,11 @@ class ReadGroupsNameSupport : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0004) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::GroupsCluster cluster; + chip::Controller::IdentifyCluster cluster; cluster.Associate(device, endpointId); - return cluster.ReadAttributeNameSupport(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + return cluster.ReadAttributeIdentifyType(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: @@ -10999,16 +11217,16 @@ class ReadGroupsNameSupport : public ModelCommand /* * Attribute ClusterRevision */ -class ReadGroupsClusterRevision : public ModelCommand +class ReadIdentifyClusterRevision : public ModelCommand { public: - ReadGroupsClusterRevision() : ModelCommand("read") + ReadIdentifyClusterRevision() : ModelCommand("read") { AddArgument("attr-name", "cluster-revision"); ModelCommand::AddArguments(); } - ~ReadGroupsClusterRevision() + ~ReadIdentifyClusterRevision() { delete onSuccessCallback; delete onFailureCallback; @@ -11016,9 +11234,9 @@ class ReadGroupsClusterRevision : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0004) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::GroupsCluster cluster; + chip::Controller::IdentifyCluster cluster; cluster.Associate(device, endpointId); return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } @@ -11031,106 +11249,146 @@ class ReadGroupsClusterRevision : public ModelCommand }; /*----------------------------------------------------------------------------*\ -| Cluster Identify | 0x0003 | +| Cluster IlluminanceMeasurement | 0x0400 | |------------------------------------------------------------------------------| | Commands: | | -| * Identify | 0x00 | -| * IdentifyQuery | 0x01 | -| * TriggerEffect | 0x40 | |------------------------------------------------------------------------------| | Attributes: | | -| * IdentifyTime | 0x0000 | -| * IdentifyType | 0x0001 | +| * MeasuredValue | 0x0000 | +| * MinMeasuredValue | 0x0001 | +| * MaxMeasuredValue | 0x0002 | +| * Tolerance | 0x0003 | +| * LightSensorType | 0x0004 | | * ClusterRevision | 0xFFFD | \*----------------------------------------------------------------------------*/ /* - * Command Identify + * Attribute MeasuredValue */ -class IdentifyIdentify : public ModelCommand +class ReadIlluminanceMeasurementMeasuredValue : public ModelCommand { public: - IdentifyIdentify() : ModelCommand("identify") + ReadIlluminanceMeasurementMeasuredValue() : ModelCommand("read") { - AddArgument("IdentifyTime", 0, UINT16_MAX, &mRequest.identifyTime); + AddArgument("attr-name", "measured-value"); ModelCommand::AddArguments(); } + ~ReadIlluminanceMeasurementMeasuredValue() + { + delete onSuccessCallback; + delete onFailureCallback; + } + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + return cluster.ReadAttributeMeasuredValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: - chip::app::Clusters::Identify::Commands::Identify::Type mRequest; + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); }; -/* - * Command IdentifyQuery - */ -class IdentifyIdentifyQuery : public ModelCommand +class ReportIlluminanceMeasurementMeasuredValue : public ModelCommand { public: - IdentifyIdentifyQuery() : ModelCommand("identify-query") { ModelCommand::AddArguments(); } + ReportIlluminanceMeasurementMeasuredValue() : ModelCommand("report") + { + AddArgument("attr-name", "measured-value"); + AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval); + AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval); + ModelCommand::AddArguments(); + } + + ~ReportIlluminanceMeasurementMeasuredValue() + { + delete onSuccessCallback; + delete onFailureCallback; + delete onReportCallback; + } CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000001) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x06) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnIdentifyIdentifyQueryResponseSuccess, OnDefaultFailure); + + CHIP_ERROR err = cluster.ReportAttributeMeasuredValue(onReportCallback->Cancel()); + if (err != CHIP_NO_ERROR) + { + return err; + } + + return cluster.SubscribeAttributeMeasuredValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval, + mMaxInterval); } private: - chip::app::Clusters::Identify::Commands::IdentifyQuery::Type mRequest; + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnDefaultSuccessResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); + chip::Callback::Callback * onReportCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + uint16_t mMinInterval; + uint16_t mMaxInterval; }; /* - * Command TriggerEffect + * Attribute MinMeasuredValue */ -class IdentifyTriggerEffect : public ModelCommand +class ReadIlluminanceMeasurementMinMeasuredValue : public ModelCommand { public: - IdentifyTriggerEffect() : ModelCommand("trigger-effect") + ReadIlluminanceMeasurementMinMeasuredValue() : ModelCommand("read") { - AddArgument("EffectIdentifier", 0, UINT8_MAX, - reinterpret_cast *>(&mRequest.effectIdentifier)); - AddArgument("EffectVariant", 0, UINT8_MAX, - reinterpret_cast *>(&mRequest.effectVariant)); + AddArgument("attr-name", "min-measured-value"); ModelCommand::AddArguments(); } + ~ReadIlluminanceMeasurementMinMeasuredValue() + { + delete onSuccessCallback; + delete onFailureCallback; + } + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.InvokeCommand(mRequest, this, OnDefaultSuccess, OnDefaultFailure); + return cluster.ReadAttributeMinMeasuredValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: - chip::app::Clusters::Identify::Commands::TriggerEffect::Type mRequest; + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); }; /* - * Attribute IdentifyTime + * Attribute MaxMeasuredValue */ -class ReadIdentifyIdentifyTime : public ModelCommand +class ReadIlluminanceMeasurementMaxMeasuredValue : public ModelCommand { public: - ReadIdentifyIdentifyTime() : ModelCommand("read") + ReadIlluminanceMeasurementMaxMeasuredValue() : ModelCommand("read") { - AddArgument("attr-name", "identify-time"); + AddArgument("attr-name", "max-measured-value"); ModelCommand::AddArguments(); } - ~ReadIdentifyIdentifyTime() + ~ReadIlluminanceMeasurementMaxMeasuredValue() { delete onSuccessCallback; delete onFailureCallback; @@ -11138,11 +11396,11 @@ class ReadIdentifyIdentifyTime : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.ReadAttributeIdentifyTime(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + return cluster.ReadAttributeMaxMeasuredValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: @@ -11152,17 +11410,19 @@ class ReadIdentifyIdentifyTime : public ModelCommand new chip::Callback::Callback(OnDefaultFailureResponse, this); }; -class WriteIdentifyIdentifyTime : public ModelCommand +/* + * Attribute Tolerance + */ +class ReadIlluminanceMeasurementTolerance : public ModelCommand { public: - WriteIdentifyIdentifyTime() : ModelCommand("write") + ReadIlluminanceMeasurementTolerance() : ModelCommand("read") { - AddArgument("attr-name", "identify-time"); - AddArgument("attr-value", 0, UINT16_MAX, &mValue); + AddArgument("attr-name", "tolerance"); ModelCommand::AddArguments(); } - ~WriteIdentifyIdentifyTime() + ~ReadIlluminanceMeasurementTolerance() { delete onSuccessCallback; delete onFailureCallback; @@ -11170,34 +11430,33 @@ class WriteIdentifyIdentifyTime : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x01) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.WriteAttributeIdentifyTime(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue); + return cluster.ReadAttributeTolerance(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: - chip::Callback::Callback * onSuccessCallback = - new chip::Callback::Callback(OnDefaultSuccessResponse, this); + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - uint16_t mValue; }; /* - * Attribute IdentifyType + * Attribute LightSensorType */ -class ReadIdentifyIdentifyType : public ModelCommand +class ReadIlluminanceMeasurementLightSensorType : public ModelCommand { public: - ReadIdentifyIdentifyType() : ModelCommand("read") + ReadIlluminanceMeasurementLightSensorType() : ModelCommand("read") { - AddArgument("attr-name", "identify-type"); + AddArgument("attr-name", "light-sensor-type"); ModelCommand::AddArguments(); } - ~ReadIdentifyIdentifyType() + ~ReadIlluminanceMeasurementLightSensorType() { delete onSuccessCallback; delete onFailureCallback; @@ -11205,11 +11464,11 @@ class ReadIdentifyIdentifyType : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); - return cluster.ReadAttributeIdentifyType(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + return cluster.ReadAttributeLightSensorType(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } private: @@ -11222,16 +11481,16 @@ class ReadIdentifyIdentifyType : public ModelCommand /* * Attribute ClusterRevision */ -class ReadIdentifyClusterRevision : public ModelCommand +class ReadIlluminanceMeasurementClusterRevision : public ModelCommand { public: - ReadIdentifyClusterRevision() : ModelCommand("read") + ReadIlluminanceMeasurementClusterRevision() : ModelCommand("read") { AddArgument("attr-name", "cluster-revision"); ModelCommand::AddArguments(); } - ~ReadIdentifyClusterRevision() + ~ReadIlluminanceMeasurementClusterRevision() { delete onSuccessCallback; delete onFailureCallback; @@ -11239,9 +11498,9 @@ class ReadIdentifyClusterRevision : public ModelCommand CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override { - ChipLogProgress(chipTool, "Sending cluster (0x0003) command (0x00) on endpoint %" PRIu8, endpointId); + ChipLogProgress(chipTool, "Sending cluster (0x0400) command (0x00) on endpoint %" PRIu8, endpointId); - chip::Controller::IdentifyCluster cluster; + chip::Controller::IlluminanceMeasurementCluster cluster; cluster.Associate(device, endpointId); return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); } @@ -18181,6 +18440,7 @@ class ReadTemperatureMeasurementClusterRevision : public ModelCommand | Commands: | | | * Test | 0x00 | | * TestAddArguments | 0x04 | +| * TestEnumsRequest | 0x0E | | * TestListInt8UArgumentRequest | 0x0A | | * TestListInt8UReverseRequest | 0x0D | | * TestListStructArgumentRequest | 0x09 | @@ -18214,6 +18474,7 @@ class ReadTemperatureMeasurementClusterRevision : public ModelCommand | * LongCharString | 0x001F | | * EpochUs | 0x0020 | | * EpochS | 0x0021 | +| * VendorId | 0x0022 | | * Unsupported | 0x00FF | | * ClusterRevision | 0xFFFD | \*----------------------------------------------------------------------------*/ @@ -18265,6 +18526,32 @@ class TestClusterTestAddArguments : public ModelCommand chip::app::Clusters::TestCluster::Commands::TestAddArguments::Type mRequest; }; +/* + * Command TestEnumsRequest + */ +class TestClusterTestEnumsRequest : public ModelCommand +{ +public: + TestClusterTestEnumsRequest() : ModelCommand("test-enums-request") + { + AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1); + AddArgument("Arg2", 0, UINT8_MAX, reinterpret_cast *>(&mRequest.arg2)); + ModelCommand::AddArguments(); + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x0000050F) command (0x0000000E) on endpoint %" PRIu8, endpointId); + + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, endpointId); + return cluster.InvokeCommand(mRequest, this, OnTestClusterTestEnumsResponseSuccess, OnDefaultFailure); + } + +private: + chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type mRequest; +}; + /* * Command TestListInt8UArgumentRequest */ @@ -19735,7 +20022,7 @@ class WriteTestClusterCharString : public ModelCommand new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - chip::ByteSpan mValue; + chip::CharSpan mValue; }; /* @@ -19802,7 +20089,7 @@ class WriteTestClusterLongCharString : public ModelCommand new chip::Callback::Callback(OnDefaultSuccessResponse, this); chip::Callback::Callback * onFailureCallback = new chip::Callback::Callback(OnDefaultFailureResponse, this); - chip::ByteSpan mValue; + chip::CharSpan mValue; }; /* @@ -19939,6 +20226,73 @@ class WriteTestClusterEpochS : public ModelCommand uint32_t mValue; }; +/* + * Attribute VendorId + */ +class ReadTestClusterVendorId : public ModelCommand +{ +public: + ReadTestClusterVendorId() : ModelCommand("read") + { + AddArgument("attr-name", "vendor-id"); + ModelCommand::AddArguments(); + } + + ~ReadTestClusterVendorId() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x050F) command (0x00) on endpoint %" PRIu8, endpointId); + + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, endpointId); + return cluster.ReadAttributeVendorId(onSuccessCallback->Cancel(), onFailureCallback->Cancel()); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); +}; + +class WriteTestClusterVendorId : public ModelCommand +{ +public: + WriteTestClusterVendorId() : ModelCommand("write") + { + AddArgument("attr-name", "vendor-id"); + AddArgument("attr-value", 0, UINT16_MAX, &mValue); + ModelCommand::AddArguments(); + } + + ~WriteTestClusterVendorId() + { + delete onSuccessCallback; + delete onFailureCallback; + } + + CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override + { + ChipLogProgress(chipTool, "Sending cluster (0x050F) command (0x01) on endpoint %" PRIu8, endpointId); + + chip::Controller::TestClusterCluster cluster; + cluster.Associate(device, endpointId); + return cluster.WriteAttributeVendorId(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue); + } + +private: + chip::Callback::Callback * onSuccessCallback = + new chip::Callback::Callback(OnDefaultSuccessResponse, this); + chip::Callback::Callback * onFailureCallback = + new chip::Callback::Callback(OnDefaultFailureResponse, this); + chip::VendorId mValue; +}; + /* * Attribute Unsupported */ @@ -25640,6 +25994,18 @@ void registerClusterBinding(Commands & commands) commands.Register(clusterName, clusterCommands); } +void registerClusterBooleanState(Commands & commands) +{ + const char * clusterName = "BooleanState"; + + commands_list clusterCommands = { + make_unique(), // + make_unique(), // + make_unique(), // + }; + + commands.Register(clusterName, clusterCommands); +} void registerClusterBridgedDeviceBasic(Commands & commands) { const char * clusterName = "BridgedDeviceBasic"; @@ -25980,6 +26346,22 @@ void registerClusterIdentify(Commands & commands) commands.Register(clusterName, clusterCommands); } +void registerClusterIlluminanceMeasurement(Commands & commands) +{ + const char * clusterName = "IlluminanceMeasurement"; + + commands_list clusterCommands = { + make_unique(), // + make_unique(), // + make_unique(), // + make_unique(), // + make_unique(), // + make_unique(), // + make_unique(), // + }; + + commands.Register(clusterName, clusterCommands); +} void registerClusterKeypadInput(Commands & commands) { const char * clusterName = "KeypadInput"; @@ -26392,6 +26774,7 @@ void registerClusterTestCluster(Commands & commands) commands_list clusterCommands = { make_unique(), // make_unique(), // + make_unique(), // make_unique(), // make_unique(), // make_unique(), // @@ -26444,6 +26827,8 @@ void registerClusterTestCluster(Commands & commands) make_unique(), // make_unique(), // make_unique(), // + make_unique(), // + make_unique(), // make_unique(), // make_unique(), // make_unique(), // @@ -26673,6 +27058,7 @@ void registerClusters(Commands & commands) registerClusterBasic(commands); registerClusterBinaryInputBasic(commands); registerClusterBinding(commands); + registerClusterBooleanState(commands); registerClusterBridgedDeviceBasic(commands); registerClusterColorControl(commands); registerClusterContentLauncher(commands); @@ -26688,6 +27074,7 @@ void registerClusters(Commands & commands) registerClusterGroupKeyManagement(commands); registerClusterGroups(commands); registerClusterIdentify(commands); + registerClusterIlluminanceMeasurement(commands); registerClusterKeypadInput(commands); registerClusterLevelControl(commands); registerClusterLowPower(commands); diff --git a/zzz_generated/chip-tool/zap-generated/reporting/Commands.h b/zzz_generated/chip-tool/zap-generated/reporting/Commands.h index 9bea6c53d76dd1..9453b5dc06ce30 100644 --- a/zzz_generated/chip-tool/zap-generated/reporting/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/reporting/Commands.h @@ -32,12 +32,14 @@ class Listen : public ReportingCommand { delete onReportBinaryInputBasicPresentValueCallback; delete onReportBinaryInputBasicStatusFlagsCallback; + delete onReportBooleanStateStateValueCallback; delete onReportColorControlCurrentHueCallback; delete onReportColorControlCurrentSaturationCallback; delete onReportColorControlCurrentXCallback; delete onReportColorControlCurrentYCallback; delete onReportColorControlColorTemperatureCallback; delete onReportDoorLockLockStateCallback; + delete onReportIlluminanceMeasurementMeasuredValueCallback; delete onReportLevelControlCurrentLevelCallback; delete onReportOccupancySensingOccupancyCallback; delete onReportOnOffOnOffCallback; @@ -65,6 +67,8 @@ class Listen : public ReportingCommand BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x000F, 0x006F, onReportBinaryInputBasicStatusFlagsCallback->Cancel(), BasicAttributeFilter); + callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0045, 0x0000, onReportBooleanStateStateValueCallback->Cancel(), + BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0300, 0x0000, onReportColorControlCurrentHueCallback->Cancel(), BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0300, 0x0001, @@ -78,6 +82,9 @@ class Listen : public ReportingCommand BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0101, 0x0000, onReportDoorLockLockStateCallback->Cancel(), BasicAttributeFilter); + callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0400, 0x0000, + onReportIlluminanceMeasurementMeasuredValueCallback->Cancel(), + BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0008, 0x0000, onReportLevelControlCurrentLevelCallback->Cancel(), BasicAttributeFilter); callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0406, 0x0000, onReportOccupancySensingOccupancyCallback->Cancel(), @@ -165,6 +172,8 @@ class Listen : public ReportingCommand new chip::Callback::Callback(OnBooleanAttributeResponse, this); chip::Callback::Callback * onReportBinaryInputBasicStatusFlagsCallback = new chip::Callback::Callback(OnInt8uAttributeResponse, this); + chip::Callback::Callback * onReportBooleanStateStateValueCallback = + new chip::Callback::Callback(OnBooleanAttributeResponse, this); chip::Callback::Callback * onReportColorControlCurrentHueCallback = new chip::Callback::Callback(OnInt8uAttributeResponse, this); chip::Callback::Callback * onReportColorControlCurrentSaturationCallback = @@ -177,6 +186,8 @@ class Listen : public ReportingCommand new chip::Callback::Callback(OnInt16uAttributeResponse, this); chip::Callback::Callback * onReportDoorLockLockStateCallback = new chip::Callback::Callback(OnInt8uAttributeResponse, this); + chip::Callback::Callback * onReportIlluminanceMeasurementMeasuredValueCallback = + new chip::Callback::Callback(OnInt16uAttributeResponse, this); chip::Callback::Callback * onReportLevelControlCurrentLevelCallback = new chip::Callback::Callback(OnInt8uAttributeResponse, this); chip::Callback::Callback * onReportOccupancySensingOccupancyCallback = diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 31035b327592cc..da2c2fd8c8b867 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -247,6 +247,4754 @@ class Test_TC_CC_1_1 : public TestCommand void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } }; +class Test_TC_CC_2_1 : public TestCommand +{ +public: + Test_TC_CC_2_1() : TestCommand("Test_TC_CC_2_1"), mTestIndex(0) {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_2_1\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_2_1\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Reads mandatory attribute: CurrentHue\n"); + err = TestReadsMandatoryAttributeCurrentHue_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Validate constraints of attribute: current hue\n"); + err = TestValidateConstraintsOfAttributeCurrentHue_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Write the default value to mandatory attribute: CurrentHue\n"); + err = TestWriteTheDefaultValueToMandatoryAttributeCurrentHue_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Reads back mandatory attribute: CurrentHue\n"); + err = TestReadsBackMandatoryAttributeCurrentHue_3(); + break; + case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Reads mandatory attribute: CurrentSaturation\n"); + err = TestReadsMandatoryAttributeCurrentSaturation_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Validate constraints of attribute: CurrentSaturation\n"); + err = TestValidateConstraintsOfAttributeCurrentSaturation_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Write the default value to mandatory attribute: CurrentSaturation\n"); + err = TestWriteTheDefaultValueToMandatoryAttributeCurrentSaturation_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Reads back mandatory attribute: CurrentSaturation\n"); + err = TestReadsBackMandatoryAttributeCurrentSaturation_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Read the mandatory attribute: CurrentX\n"); + err = TestReadTheMandatoryAttributeCurrentX_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Validate constraints of attribute: CurrentX\n"); + err = TestValidateConstraintsOfAttributeCurrentX_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Write the default value to mandatory attribute: CurrentX\n"); + err = TestWriteTheDefaultValueToMandatoryAttributeCurrentX_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Reads back mandatory attribute: CurrentX\n"); + err = TestReadsBackMandatoryAttributeCurrentX_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Read the mandatory attribute: CurrentY\n"); + err = TestReadTheMandatoryAttributeCurrentY_12(); + break; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Validate constraints of attribute: CurrentY\n"); + err = TestValidateConstraintsOfAttributeCurrentY_13(); + break; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Write the default values to mandatory attribute: CurrentY\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeCurrentY_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Reads back mandatory attribute: CurrentY\n"); + err = TestReadsBackMandatoryAttributeCurrentY_15(); + break; + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Validate constraints of attribute: ColorTemperatureMireds\n"); + err = TestValidateConstraintsOfAttributeColorTemperatureMireds_16(); + break; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Validate constraints of attribute: ColorMode\n"); + err = TestValidateConstraintsOfAttributeColorMode_17(); + break; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Read the mandatory attribute: Options\n"); + err = TestReadTheMandatoryAttributeOptions_18(); + break; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Validate constraints of attribute: Options\n"); + err = TestValidateConstraintsOfAttributeOptions_19(); + break; + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Write the default values to mandatory attribute: Options\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeOptions_20(); + break; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Reads back mandatory attribute: Options\n"); + err = TestReadsBackMandatoryAttributeOptions_21(); + break; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Read the mandatory attribute: EnhancedCurrentHue\n"); + err = TestReadTheMandatoryAttributeEnhancedCurrentHue_22(); + break; + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : Validate constraints of attribute: EnhancedCurrentHue\n"); + err = TestValidateConstraintsOfAttributeEnhancedCurrentHue_23(); + break; + case 24: + ChipLogProgress(chipTool, + " ***** Test Step 24 : Write the default values to mandatory attribute: EnhancedCurrentHue\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeEnhancedCurrentHue_24(); + break; + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Reads back mandatory attribute: EnhancedCurrentHue\n"); + err = TestReadsBackMandatoryAttributeEnhancedCurrentHue_25(); + break; + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Validate constraints of attribute: EnhancedColorMode\n"); + err = TestValidateConstraintsOfAttributeEnhancedColorMode_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Read the mandatory attribute: ColorLoopActive\n"); + err = TestReadTheMandatoryAttributeColorLoopActive_27(); + break; + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Validate constraints of attribute: ColorLoopActive\n"); + err = TestValidateConstraintsOfAttributeColorLoopActive_28(); + break; + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Write the default values to mandatory attribute: ColorLoopActive\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorLoopActive_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Reads back mandatory attribute: ColorLoopActive\n"); + err = TestReadsBackMandatoryAttributeColorLoopActive_30(); + break; + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Read the mandatory attribute: ColorLoopDirection\n"); + err = TestReadTheMandatoryAttributeColorLoopDirection_31(); + break; + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Validate constraints of attribute: ColorLoopDirection\n"); + err = TestValidateConstraintsOfAttributeColorLoopDirection_32(); + break; + case 33: + ChipLogProgress(chipTool, + " ***** Test Step 33 : Write the default values to mandatory attribute: ColorLoopDirection\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorLoopDirection_33(); + break; + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Reads back mandatory attribute: ColorLoopDirection\n"); + err = TestReadsBackMandatoryAttributeColorLoopDirection_34(); + break; + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Read the mandatory attribute: ColorLoopTime\n"); + err = TestReadTheMandatoryAttributeColorLoopTime_35(); + break; + case 36: + ChipLogProgress(chipTool, " ***** Test Step 36 : Validate constraints of attribute: ColorLoopTime\n"); + err = TestValidateConstraintsOfAttributeColorLoopTime_36(); + break; + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : Write the default values to mandatory attribute: ColorLoopTime\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorLoopTime_37(); + break; + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : Reads back mandatory attribute: ColorLoopTime\n"); + err = TestReadsBackMandatoryAttributeColorLoopTime_38(); + break; + case 39: + ChipLogProgress(chipTool, " ***** Test Step 39 : Read the mandatory attribute: ColorLoopStartEnhancedHue\n"); + err = TestReadTheMandatoryAttributeColorLoopStartEnhancedHue_39(); + break; + case 40: + ChipLogProgress(chipTool, " ***** Test Step 40 : Validate constraints of attribute: ColorLoopStartEnhancedHue\n"); + err = TestValidateConstraintsOfAttributeColorLoopStartEnhancedHue_40(); + break; + case 41: + ChipLogProgress(chipTool, + " ***** Test Step 41 : Write the default values to mandatory attribute: ColorLoopStartEnhancedHue\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorLoopStartEnhancedHue_41(); + break; + case 42: + ChipLogProgress(chipTool, " ***** Test Step 42 : Reads back mandatory attribute: ColorLoopStartEnhancedHue\n"); + err = TestReadsBackMandatoryAttributeColorLoopStartEnhancedHue_42(); + break; + case 43: + ChipLogProgress(chipTool, " ***** Test Step 43 : Read the mandatory attribute: ColorLoopStoredEnhancedHue\n"); + err = TestReadTheMandatoryAttributeColorLoopStoredEnhancedHue_43(); + break; + case 44: + ChipLogProgress(chipTool, " ***** Test Step 44 : Validate constraints of attribute: ColorLoopStoredEnhancedHue\n"); + err = TestValidateConstraintsOfAttributeColorLoopStoredEnhancedHue_44(); + break; + case 45: + ChipLogProgress(chipTool, + " ***** Test Step 45 : Write the default values to mandatory attribute: ColorLoopStoredEnhancedHue\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorLoopStoredEnhancedHue_45(); + break; + case 46: + ChipLogProgress(chipTool, " ***** Test Step 46 : Reads back mandatory attribute: ColorLoopStoredEnhancedHue\n"); + err = TestReadsBackMandatoryAttributeColorLoopStoredEnhancedHue_46(); + break; + case 47: + ChipLogProgress(chipTool, " ***** Test Step 47 : Read the mandatory attribute: ColorCapabilities\n"); + err = TestReadTheMandatoryAttributeColorCapabilities_47(); + break; + case 48: + ChipLogProgress(chipTool, " ***** Test Step 48 : Validate constraints of attribute: ColorCapabilities\n"); + err = TestValidateConstraintsOfAttributeColorCapabilities_48(); + break; + case 49: + ChipLogProgress(chipTool, " ***** Test Step 49 : Write the default values to mandatory attribute: ColorCapabilities\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorCapabilities_49(); + break; + case 50: + ChipLogProgress(chipTool, " ***** Test Step 50 : Reads back mandatory attribute: ColorCapabilities\n"); + err = TestReadsBackMandatoryAttributeColorCapabilities_50(); + break; + case 51: + ChipLogProgress(chipTool, " ***** Test Step 51 : Read the mandatory attribute: ColorTempPhysicalMinMireds\n"); + err = TestReadTheMandatoryAttributeColorTempPhysicalMinMireds_51(); + break; + case 52: + ChipLogProgress(chipTool, " ***** Test Step 52 : Validate constraints of attribute: ColorTempPhysicalMinMireds\n"); + err = TestValidateConstraintsOfAttributeColorTempPhysicalMinMireds_52(); + break; + case 53: + ChipLogProgress(chipTool, + " ***** Test Step 53 : Write the default values to mandatory attribute: ColorTempPhysicalMinMireds\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorTempPhysicalMinMireds_53(); + break; + case 54: + ChipLogProgress(chipTool, " ***** Test Step 54 : Reads back mandatory attribute: ColorTempPhysicalMinMireds\n"); + err = TestReadsBackMandatoryAttributeColorTempPhysicalMinMireds_54(); + break; + case 55: + ChipLogProgress(chipTool, " ***** Test Step 55 : Read the mandatory attribute: ColorTempPhysicalMaxMireds\n"); + err = TestReadTheMandatoryAttributeColorTempPhysicalMaxMireds_55(); + break; + case 56: + ChipLogProgress(chipTool, " ***** Test Step 56 : Validate constraints of attribute: ColorTempPhysicalMaxMireds\n"); + err = TestValidateConstraintsOfAttributeColorTempPhysicalMaxMireds_56(); + break; + case 57: + ChipLogProgress(chipTool, + " ***** Test Step 57 : Write the default values to mandatory attribute: ColorTempPhysicalMaxMireds\n"); + err = TestWriteTheDefaultValuesToMandatoryAttributeColorTempPhysicalMaxMireds_57(); + break; + case 58: + ChipLogProgress(chipTool, " ***** Test Step 58 : Reads back mandatory attribute: ColorTempPhysicalMaxMireds\n"); + err = TestReadsBackMandatoryAttributeColorTempPhysicalMaxMireds_58(); + break; + case 59: + ChipLogProgress(chipTool, " ***** Test Step 59 : Read the optional attribute: CoupleColorTempToLevelMinMireds\n"); + err = TestReadTheOptionalAttributeCoupleColorTempToLevelMinMireds_59(); + break; + case 60: + ChipLogProgress( + chipTool, + " ***** Test Step 60 : Write the default values to optional attribute: CoupleColorTempToLevelMinMireds\n"); + err = TestWriteTheDefaultValuesToOptionalAttributeCoupleColorTempToLevelMinMireds_60(); + break; + case 61: + ChipLogProgress(chipTool, " ***** Test Step 61 : Reads back optional attribute: CoupleColorTempToLevelMinMireds\n"); + err = TestReadsBackOptionalAttributeCoupleColorTempToLevelMinMireds_61(); + break; + case 62: + ChipLogProgress(chipTool, " ***** Test Step 62 : Read the optional attribute: StartUpColorTemperatureMireds\n"); + err = TestReadTheOptionalAttributeStartUpColorTemperatureMireds_62(); + break; + case 63: + ChipLogProgress( + chipTool, " ***** Test Step 63 : Write the default values to optional attribute: StartUpColorTemperatureMireds\n"); + err = TestWriteTheDefaultValuesToOptionalAttributeStartUpColorTemperatureMireds_63(); + break; + case 64: + ChipLogProgress(chipTool, " ***** Test Step 64 : Reads back optional attribute: StartUpColorTemperatureMireds\n"); + err = TestReadsBackOptionalAttributeStartUpColorTemperatureMireds_64(); + break; + case 65: + ChipLogProgress(chipTool, " ***** Test Step 65 : Read the Optional attribute: RemainingTime\n"); + err = TestReadTheOptionalAttributeRemainingTime_65(); + break; + case 66: + ChipLogProgress(chipTool, " ***** Test Step 66 : Validate constraints of attribute: RemainingTime\n"); + err = TestValidateConstraintsOfAttributeRemainingTime_66(); + break; + case 67: + ChipLogProgress(chipTool, " ***** Test Step 67 : Write the default values to optional attribute: RemainingTime\n"); + err = TestWriteTheDefaultValuesToOptionalAttributeRemainingTime_67(); + break; + case 68: + ChipLogProgress(chipTool, " ***** Test Step 68 : Reads back optional attribute: RemainingTime\n"); + err = TestReadsBackOptionalAttributeRemainingTime_68(); + break; + case 69: + ChipLogProgress(chipTool, " ***** Test Step 69 : Read the optional attribute: DriftCompensation\n"); + err = TestReadTheOptionalAttributeDriftCompensation_69(); + break; + case 70: + ChipLogProgress(chipTool, " ***** Test Step 70 : Write the default values to optional attribute: DriftCompensation\n"); + err = TestWriteTheDefaultValuesToOptionalAttributeDriftCompensation_70(); + break; + case 71: + ChipLogProgress(chipTool, " ***** Test Step 71 : Reads back optional attribute: DriftCompensation\n"); + err = TestReadsBackOptionalAttributeDriftCompensation_71(); + break; + case 72: + ChipLogProgress(chipTool, " ***** Test Step 72 : Read the optional attribute: CompensationText\n"); + err = TestReadTheOptionalAttributeCompensationText_72(); + break; + case 73: + ChipLogProgress(chipTool, " ***** Test Step 73 : Read the mandatory attribute: NumberOfPrimaries\n"); + err = TestReadTheMandatoryAttributeNumberOfPrimaries_73(); + break; + case 74: + ChipLogProgress(chipTool, " ***** Test Step 74 : Write the default mandatory attribute: NumberOfPrimaries\n"); + err = TestWriteTheDefaultMandatoryAttributeNumberOfPrimaries_74(); + break; + case 75: + ChipLogProgress(chipTool, " ***** Test Step 75 : Read back the mandatory attribute: NumberOfPrimaries\n"); + err = TestReadBackTheMandatoryAttributeNumberOfPrimaries_75(); + break; + case 76: + ChipLogProgress(chipTool, " ***** Test Step 76 : Read the mandatory attribute: Primary1X\n"); + err = TestReadTheMandatoryAttributePrimary1X_76(); + break; + case 77: + ChipLogProgress(chipTool, " ***** Test Step 77 : Write the default mandatory attribute: Primary1X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary1X_77(); + break; + case 78: + ChipLogProgress(chipTool, " ***** Test Step 78 : Read back the mandatory attribute: Primary1X\n"); + err = TestReadBackTheMandatoryAttributePrimary1X_78(); + break; + case 79: + ChipLogProgress(chipTool, " ***** Test Step 79 : Read the mandatory attribute: Primary1Y\n"); + err = TestReadTheMandatoryAttributePrimary1Y_79(); + break; + case 80: + ChipLogProgress(chipTool, " ***** Test Step 80 : Write the default mandatory attribute: Primary1Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary1Y_80(); + break; + case 81: + ChipLogProgress(chipTool, " ***** Test Step 81 : Read back the mandatory attribute: Primary1Y\n"); + err = TestReadBackTheMandatoryAttributePrimary1Y_81(); + break; + case 82: + ChipLogProgress(chipTool, " ***** Test Step 82 : Read the mandatory attribute: Primary1Intensity\n"); + err = TestReadTheMandatoryAttributePrimary1Intensity_82(); + break; + case 83: + ChipLogProgress(chipTool, " ***** Test Step 83 : Read the mandatory attribute: Primary2X\n"); + err = TestReadTheMandatoryAttributePrimary2X_83(); + break; + case 84: + ChipLogProgress(chipTool, " ***** Test Step 84 : Write the default mandatory attribute: Primary2X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary2X_84(); + break; + case 85: + ChipLogProgress(chipTool, " ***** Test Step 85 : Read back the mandatory attribute: Primary2X\n"); + err = TestReadBackTheMandatoryAttributePrimary2X_85(); + break; + case 86: + ChipLogProgress(chipTool, " ***** Test Step 86 : Read the mandatory attribute: Primary2Y\n"); + err = TestReadTheMandatoryAttributePrimary2Y_86(); + break; + case 87: + ChipLogProgress(chipTool, " ***** Test Step 87 : Write the default mandatory attribute: Primary2Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary2Y_87(); + break; + case 88: + ChipLogProgress(chipTool, " ***** Test Step 88 : Read back the mandatory attribute: Primary2Y\n"); + err = TestReadBackTheMandatoryAttributePrimary2Y_88(); + break; + case 89: + ChipLogProgress(chipTool, " ***** Test Step 89 : Validate constraints of attribute: Primary2Intensity\n"); + err = TestValidateConstraintsOfAttributePrimary2Intensity_89(); + break; + case 90: + ChipLogProgress(chipTool, " ***** Test Step 90 : Read the mandatory attribute: Primary3X\n"); + err = TestReadTheMandatoryAttributePrimary3X_90(); + break; + case 91: + ChipLogProgress(chipTool, " ***** Test Step 91 : Write the default mandatory attribute: Primary3X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary3X_91(); + break; + case 92: + ChipLogProgress(chipTool, " ***** Test Step 92 : Read back the mandatory attribute: Primary3X\n"); + err = TestReadBackTheMandatoryAttributePrimary3X_92(); + break; + case 93: + ChipLogProgress(chipTool, " ***** Test Step 93 : Read the mandatory attribute: Primary3Y\n"); + err = TestReadTheMandatoryAttributePrimary3Y_93(); + break; + case 94: + ChipLogProgress(chipTool, " ***** Test Step 94 : Write the default mandatory attribute: Primary3Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary3Y_94(); + break; + case 95: + ChipLogProgress(chipTool, " ***** Test Step 95 : Read back the mandatory attribute: Primary3Y\n"); + err = TestReadBackTheMandatoryAttributePrimary3Y_95(); + break; + case 96: + ChipLogProgress(chipTool, " ***** Test Step 96 : Read the mandatory attribute: Primary3Intensity\n"); + err = TestReadTheMandatoryAttributePrimary3Intensity_96(); + break; + case 97: + ChipLogProgress(chipTool, " ***** Test Step 97 : Read the mandatory attribute: Primary4X\n"); + err = TestReadTheMandatoryAttributePrimary4X_97(); + break; + case 98: + ChipLogProgress(chipTool, " ***** Test Step 98 : Write the default mandatory attribute: Primary4X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary4X_98(); + break; + case 99: + ChipLogProgress(chipTool, " ***** Test Step 99 : Read back the mandatory attribute: Primary4X\n"); + err = TestReadBackTheMandatoryAttributePrimary4X_99(); + break; + case 100: + ChipLogProgress(chipTool, " ***** Test Step 100 : Read the mandatory attribute: Primary4Y\n"); + err = TestReadTheMandatoryAttributePrimary4Y_100(); + break; + case 101: + ChipLogProgress(chipTool, " ***** Test Step 101 : Write the default mandatory attribute: Primary4Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary4Y_101(); + break; + case 102: + ChipLogProgress(chipTool, " ***** Test Step 102 : Read back the mandatory attribute: Primary4Y\n"); + err = TestReadBackTheMandatoryAttributePrimary4Y_102(); + break; + case 103: + ChipLogProgress(chipTool, " ***** Test Step 103 : Read the mandatory attribute: Primary4Intensity\n"); + err = TestReadTheMandatoryAttributePrimary4Intensity_103(); + break; + case 104: + ChipLogProgress(chipTool, " ***** Test Step 104 : Read the mandatory attribute: Primary5X\n"); + err = TestReadTheMandatoryAttributePrimary5X_104(); + break; + case 105: + ChipLogProgress(chipTool, " ***** Test Step 105 : Write the default mandatory attribute: Primary5X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary5X_105(); + break; + case 106: + ChipLogProgress(chipTool, " ***** Test Step 106 : Read back the mandatory attribute: Primary5X\n"); + err = TestReadBackTheMandatoryAttributePrimary5X_106(); + break; + case 107: + ChipLogProgress(chipTool, " ***** Test Step 107 : Read the mandatory attribute: Primary5Y\n"); + err = TestReadTheMandatoryAttributePrimary5Y_107(); + break; + case 108: + ChipLogProgress(chipTool, " ***** Test Step 108 : Write the default mandatory attribute: Primary5Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary5Y_108(); + break; + case 109: + ChipLogProgress(chipTool, " ***** Test Step 109 : Read back the mandatory attribute: Primary5Y\n"); + err = TestReadBackTheMandatoryAttributePrimary5Y_109(); + break; + case 110: + ChipLogProgress(chipTool, " ***** Test Step 110 : Read the mandatory attribute: Primary5Intensity\n"); + err = TestReadTheMandatoryAttributePrimary5Intensity_110(); + break; + case 111: + ChipLogProgress(chipTool, " ***** Test Step 111 : Read the mandatory attribute: Primary6X\n"); + err = TestReadTheMandatoryAttributePrimary6X_111(); + break; + case 112: + ChipLogProgress(chipTool, " ***** Test Step 112 : Write the default mandatory attribute: Primary6X\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary6X_112(); + break; + case 113: + ChipLogProgress(chipTool, " ***** Test Step 113 : Read back the mandatory attribute: Primary6X\n"); + err = TestReadBackTheMandatoryAttributePrimary6X_113(); + break; + case 114: + ChipLogProgress(chipTool, " ***** Test Step 114 : Read the mandatory attribute: Primary6Y\n"); + err = TestReadTheMandatoryAttributePrimary6Y_114(); + break; + case 115: + ChipLogProgress(chipTool, " ***** Test Step 115 : Write the default mandatory attribute: Primary6Y\n"); + err = TestWriteTheDefaultMandatoryAttributePrimary6Y_115(); + break; + case 116: + ChipLogProgress(chipTool, " ***** Test Step 116 : Read back the mandatory attribute: Primary6Y\n"); + err = TestReadBackTheMandatoryAttributePrimary6Y_116(); + break; + case 117: + ChipLogProgress(chipTool, " ***** Test Step 117 : Read the mandatory attribute: Primary6Intensity\n"); + err = TestReadTheMandatoryAttributePrimary6Intensity_117(); + break; + case 118: + ChipLogProgress(chipTool, " ***** Test Step 118 : Read the optional attribute: WhitePointX\n"); + err = TestReadTheOptionalAttributeWhitePointX_118(); + break; + case 119: + ChipLogProgress(chipTool, " ***** Test Step 119 : Write the default optional attribute: WhitePointX\n"); + err = TestWriteTheDefaultOptionalAttributeWhitePointX_119(); + break; + case 120: + ChipLogProgress(chipTool, " ***** Test Step 120 : Read back the optional attribute: WhitePointX\n"); + err = TestReadBackTheOptionalAttributeWhitePointX_120(); + break; + case 121: + ChipLogProgress(chipTool, " ***** Test Step 121 : Read the optional attribute: WhitePointY\n"); + err = TestReadTheOptionalAttributeWhitePointY_121(); + break; + case 122: + ChipLogProgress(chipTool, " ***** Test Step 122 : Write the default optional attribute: WhitePointY\n"); + err = TestWriteTheDefaultOptionalAttributeWhitePointY_122(); + break; + case 123: + ChipLogProgress(chipTool, " ***** Test Step 123 : Read back the optional attribute: WhitePointY\n"); + err = TestReadBackTheOptionalAttributeWhitePointY_123(); + break; + case 124: + ChipLogProgress(chipTool, " ***** Test Step 124 : Read the optional attribute: ColorPointRX\n"); + err = TestReadTheOptionalAttributeColorPointRX_124(); + break; + case 125: + ChipLogProgress(chipTool, " ***** Test Step 125 : Write the default optional attribute: ColorPointRX\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointRX_125(); + break; + case 126: + ChipLogProgress(chipTool, " ***** Test Step 126 : Read back the optional attribute: ColorPointRX\n"); + err = TestReadBackTheOptionalAttributeColorPointRX_126(); + break; + case 127: + ChipLogProgress(chipTool, " ***** Test Step 127 : Read the optional attribute: ColorPointRY\n"); + err = TestReadTheOptionalAttributeColorPointRY_127(); + break; + case 128: + ChipLogProgress(chipTool, " ***** Test Step 128 : Write the default optional attribute: ColorPointRY\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointRY_128(); + break; + case 129: + ChipLogProgress(chipTool, " ***** Test Step 129 : Read back the optional attribute: ColorPointRY\n"); + err = TestReadBackTheOptionalAttributeColorPointRY_129(); + break; + case 130: + ChipLogProgress(chipTool, " ***** Test Step 130 : Read the optional attribute: ColorPointRIntensity\n"); + err = TestReadTheOptionalAttributeColorPointRIntensity_130(); + break; + case 131: + ChipLogProgress(chipTool, " ***** Test Step 131 : Read the optional attribute: ColorPointGX\n"); + err = TestReadTheOptionalAttributeColorPointGX_131(); + break; + case 132: + ChipLogProgress(chipTool, " ***** Test Step 132 : Write the default optional attribute: ColorPointGX\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointGX_132(); + break; + case 133: + ChipLogProgress(chipTool, " ***** Test Step 133 : Read back the optional attribute: ColorPointGX\n"); + err = TestReadBackTheOptionalAttributeColorPointGX_133(); + break; + case 134: + ChipLogProgress(chipTool, " ***** Test Step 134 : Read the optional attribute: ColorPointGY\n"); + err = TestReadTheOptionalAttributeColorPointGY_134(); + break; + case 135: + ChipLogProgress(chipTool, " ***** Test Step 135 : Write the default optional attribute: ColorPointGY\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointGY_135(); + break; + case 136: + ChipLogProgress(chipTool, " ***** Test Step 136 : Read back the optional attribute: ColorPointGY\n"); + err = TestReadBackTheOptionalAttributeColorPointGY_136(); + break; + case 137: + ChipLogProgress(chipTool, " ***** Test Step 137 : Read the optional attribute: ColorPointGIntensity\n"); + err = TestReadTheOptionalAttributeColorPointGIntensity_137(); + break; + case 138: + ChipLogProgress(chipTool, " ***** Test Step 138 : Read the optional attribute: ColorPointBX\n"); + err = TestReadTheOptionalAttributeColorPointBX_138(); + break; + case 139: + ChipLogProgress(chipTool, " ***** Test Step 139 : Write the default optional attribute: ColorPointBX\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointBX_139(); + break; + case 140: + ChipLogProgress(chipTool, " ***** Test Step 140 : Read back the optional attribute: ColorPointBX\n"); + err = TestReadBackTheOptionalAttributeColorPointBX_140(); + break; + case 141: + ChipLogProgress(chipTool, " ***** Test Step 141 : Read the optional attribute: ColorPointBY\n"); + err = TestReadTheOptionalAttributeColorPointBY_141(); + break; + case 142: + ChipLogProgress(chipTool, " ***** Test Step 142 : Write the default optional attribute: ColorPointBY\n"); + err = TestWriteTheDefaultOptionalAttributeColorPointBY_142(); + break; + case 143: + ChipLogProgress(chipTool, " ***** Test Step 143 : Read back the optional attribute: ColorPointBY\n"); + err = TestReadBackTheOptionalAttributeColorPointBY_143(); + break; + case 144: + ChipLogProgress(chipTool, " ***** Test Step 144 : Read the optional attribute: ColorPointBIntensity\n"); + err = TestReadTheOptionalAttributeColorPointBIntensity_144(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 145; + + chip::Callback::Callback mOnFailureCallback_0{ OnFailureCallback_0, this }; + chip::Callback::Callback mOnSuccessCallback_0{ OnSuccessCallback_0, this }; + chip::Callback::Callback mOnFailureCallback_1{ OnFailureCallback_1, this }; + chip::Callback::Callback mOnSuccessCallback_1{ OnSuccessCallback_1, this }; + chip::Callback::Callback mOnFailureCallback_2{ OnFailureCallback_2, this }; + chip::Callback::Callback mOnSuccessCallback_2{ OnSuccessCallback_2, this }; + chip::Callback::Callback mOnFailureCallback_3{ OnFailureCallback_3, this }; + chip::Callback::Callback mOnSuccessCallback_3{ OnSuccessCallback_3, this }; + chip::Callback::Callback mOnFailureCallback_4{ OnFailureCallback_4, this }; + chip::Callback::Callback mOnSuccessCallback_4{ OnSuccessCallback_4, this }; + chip::Callback::Callback mOnFailureCallback_5{ OnFailureCallback_5, this }; + chip::Callback::Callback mOnSuccessCallback_5{ OnSuccessCallback_5, this }; + chip::Callback::Callback mOnFailureCallback_6{ OnFailureCallback_6, this }; + chip::Callback::Callback mOnSuccessCallback_6{ OnSuccessCallback_6, this }; + chip::Callback::Callback mOnFailureCallback_7{ OnFailureCallback_7, this }; + chip::Callback::Callback mOnSuccessCallback_7{ OnSuccessCallback_7, this }; + chip::Callback::Callback mOnFailureCallback_8{ OnFailureCallback_8, this }; + chip::Callback::Callback mOnSuccessCallback_8{ OnSuccessCallback_8, this }; + chip::Callback::Callback mOnFailureCallback_9{ OnFailureCallback_9, this }; + chip::Callback::Callback mOnSuccessCallback_9{ OnSuccessCallback_9, this }; + chip::Callback::Callback mOnFailureCallback_10{ OnFailureCallback_10, this }; + chip::Callback::Callback mOnSuccessCallback_10{ OnSuccessCallback_10, this }; + chip::Callback::Callback mOnFailureCallback_11{ OnFailureCallback_11, this }; + chip::Callback::Callback mOnSuccessCallback_11{ OnSuccessCallback_11, this }; + chip::Callback::Callback mOnFailureCallback_12{ OnFailureCallback_12, this }; + chip::Callback::Callback mOnSuccessCallback_12{ OnSuccessCallback_12, this }; + chip::Callback::Callback mOnFailureCallback_13{ OnFailureCallback_13, this }; + chip::Callback::Callback mOnSuccessCallback_13{ OnSuccessCallback_13, this }; + chip::Callback::Callback mOnFailureCallback_14{ OnFailureCallback_14, this }; + chip::Callback::Callback mOnSuccessCallback_14{ OnSuccessCallback_14, this }; + chip::Callback::Callback mOnFailureCallback_15{ OnFailureCallback_15, this }; + chip::Callback::Callback mOnSuccessCallback_15{ OnSuccessCallback_15, this }; + chip::Callback::Callback mOnFailureCallback_16{ OnFailureCallback_16, this }; + chip::Callback::Callback mOnSuccessCallback_16{ OnSuccessCallback_16, + this }; + chip::Callback::Callback mOnFailureCallback_17{ OnFailureCallback_17, this }; + chip::Callback::Callback mOnSuccessCallback_17{ OnSuccessCallback_17, this }; + chip::Callback::Callback mOnFailureCallback_18{ OnFailureCallback_18, this }; + chip::Callback::Callback mOnSuccessCallback_18{ OnSuccessCallback_18, + this }; + chip::Callback::Callback mOnFailureCallback_19{ OnFailureCallback_19, this }; + chip::Callback::Callback mOnSuccessCallback_19{ OnSuccessCallback_19, + this }; + chip::Callback::Callback mOnFailureCallback_20{ OnFailureCallback_20, this }; + chip::Callback::Callback mOnSuccessCallback_20{ OnSuccessCallback_20, + this }; + chip::Callback::Callback mOnFailureCallback_21{ OnFailureCallback_21, this }; + chip::Callback::Callback mOnSuccessCallback_21{ OnSuccessCallback_21, + this }; + chip::Callback::Callback mOnFailureCallback_22{ OnFailureCallback_22, this }; + chip::Callback::Callback mOnSuccessCallback_22{ OnSuccessCallback_22, + this }; + chip::Callback::Callback mOnFailureCallback_23{ OnFailureCallback_23, this }; + chip::Callback::Callback mOnSuccessCallback_23{ OnSuccessCallback_23, + this }; + chip::Callback::Callback mOnFailureCallback_24{ OnFailureCallback_24, this }; + chip::Callback::Callback mOnSuccessCallback_24{ OnSuccessCallback_24, + this }; + chip::Callback::Callback mOnFailureCallback_25{ OnFailureCallback_25, this }; + chip::Callback::Callback mOnSuccessCallback_25{ OnSuccessCallback_25, + this }; + chip::Callback::Callback mOnFailureCallback_26{ OnFailureCallback_26, this }; + chip::Callback::Callback mOnSuccessCallback_26{ OnSuccessCallback_26, + this }; + chip::Callback::Callback mOnFailureCallback_27{ OnFailureCallback_27, this }; + chip::Callback::Callback mOnSuccessCallback_27{ OnSuccessCallback_27, this }; + chip::Callback::Callback mOnFailureCallback_28{ OnFailureCallback_28, this }; + chip::Callback::Callback mOnSuccessCallback_28{ OnSuccessCallback_28, this }; + chip::Callback::Callback mOnFailureCallback_29{ OnFailureCallback_29, this }; + chip::Callback::Callback mOnSuccessCallback_29{ OnSuccessCallback_29, this }; + chip::Callback::Callback mOnFailureCallback_30{ OnFailureCallback_30, this }; + chip::Callback::Callback mOnSuccessCallback_30{ OnSuccessCallback_30, this }; + chip::Callback::Callback mOnFailureCallback_31{ OnFailureCallback_31, this }; + chip::Callback::Callback mOnSuccessCallback_31{ OnSuccessCallback_31, + this }; + chip::Callback::Callback mOnFailureCallback_32{ OnFailureCallback_32, this }; + chip::Callback::Callback mOnSuccessCallback_32{ OnSuccessCallback_32, + this }; + chip::Callback::Callback mOnFailureCallback_33{ OnFailureCallback_33, this }; + chip::Callback::Callback mOnSuccessCallback_33{ OnSuccessCallback_33, + this }; + chip::Callback::Callback mOnFailureCallback_34{ OnFailureCallback_34, this }; + chip::Callback::Callback mOnSuccessCallback_34{ OnSuccessCallback_34, + this }; + chip::Callback::Callback mOnFailureCallback_35{ OnFailureCallback_35, this }; + chip::Callback::Callback mOnSuccessCallback_35{ OnSuccessCallback_35, this }; + chip::Callback::Callback mOnFailureCallback_36{ OnFailureCallback_36, this }; + chip::Callback::Callback mOnSuccessCallback_36{ OnSuccessCallback_36, this }; + chip::Callback::Callback mOnFailureCallback_37{ OnFailureCallback_37, this }; + chip::Callback::Callback mOnSuccessCallback_37{ OnSuccessCallback_37, this }; + chip::Callback::Callback mOnFailureCallback_38{ OnFailureCallback_38, this }; + chip::Callback::Callback mOnSuccessCallback_38{ OnSuccessCallback_38, this }; + chip::Callback::Callback mOnFailureCallback_39{ OnFailureCallback_39, this }; + chip::Callback::Callback mOnSuccessCallback_39{ + OnSuccessCallback_39, this + }; + chip::Callback::Callback mOnFailureCallback_40{ OnFailureCallback_40, this }; + chip::Callback::Callback mOnSuccessCallback_40{ + OnSuccessCallback_40, this + }; + chip::Callback::Callback mOnFailureCallback_41{ OnFailureCallback_41, this }; + chip::Callback::Callback mOnSuccessCallback_41{ + OnSuccessCallback_41, this + }; + chip::Callback::Callback mOnFailureCallback_42{ OnFailureCallback_42, this }; + chip::Callback::Callback mOnSuccessCallback_42{ + OnSuccessCallback_42, this + }; + chip::Callback::Callback mOnFailureCallback_43{ OnFailureCallback_43, this }; + chip::Callback::Callback mOnSuccessCallback_43{ + OnSuccessCallback_43, this + }; + chip::Callback::Callback mOnFailureCallback_44{ OnFailureCallback_44, this }; + chip::Callback::Callback mOnSuccessCallback_44{ + OnSuccessCallback_44, this + }; + chip::Callback::Callback mOnFailureCallback_45{ OnFailureCallback_45, this }; + chip::Callback::Callback mOnSuccessCallback_45{ + OnSuccessCallback_45, this + }; + chip::Callback::Callback mOnFailureCallback_46{ OnFailureCallback_46, this }; + chip::Callback::Callback mOnSuccessCallback_46{ + OnSuccessCallback_46, this + }; + chip::Callback::Callback mOnFailureCallback_47{ OnFailureCallback_47, this }; + chip::Callback::Callback mOnSuccessCallback_47{ OnSuccessCallback_47, + this }; + chip::Callback::Callback mOnFailureCallback_48{ OnFailureCallback_48, this }; + chip::Callback::Callback mOnSuccessCallback_48{ OnSuccessCallback_48, + this }; + chip::Callback::Callback mOnFailureCallback_49{ OnFailureCallback_49, this }; + chip::Callback::Callback mOnSuccessCallback_49{ OnSuccessCallback_49, + this }; + chip::Callback::Callback mOnFailureCallback_50{ OnFailureCallback_50, this }; + chip::Callback::Callback mOnSuccessCallback_50{ OnSuccessCallback_50, + this }; + chip::Callback::Callback mOnFailureCallback_51{ OnFailureCallback_51, this }; + chip::Callback::Callback mOnSuccessCallback_51{ OnSuccessCallback_51, + this }; + chip::Callback::Callback mOnFailureCallback_52{ OnFailureCallback_52, this }; + chip::Callback::Callback mOnSuccessCallback_52{ OnSuccessCallback_52, + this }; + chip::Callback::Callback mOnFailureCallback_53{ OnFailureCallback_53, this }; + chip::Callback::Callback mOnSuccessCallback_53{ OnSuccessCallback_53, + this }; + chip::Callback::Callback mOnFailureCallback_54{ OnFailureCallback_54, this }; + chip::Callback::Callback mOnSuccessCallback_54{ OnSuccessCallback_54, + this }; + chip::Callback::Callback mOnFailureCallback_55{ OnFailureCallback_55, this }; + chip::Callback::Callback mOnSuccessCallback_55{ OnSuccessCallback_55, + this }; + chip::Callback::Callback mOnFailureCallback_56{ OnFailureCallback_56, this }; + chip::Callback::Callback mOnSuccessCallback_56{ OnSuccessCallback_56, + this }; + chip::Callback::Callback mOnFailureCallback_57{ OnFailureCallback_57, this }; + chip::Callback::Callback mOnSuccessCallback_57{ OnSuccessCallback_57, + this }; + chip::Callback::Callback mOnFailureCallback_58{ OnFailureCallback_58, this }; + chip::Callback::Callback mOnSuccessCallback_58{ OnSuccessCallback_58, + this }; + chip::Callback::Callback mOnFailureCallback_59{ OnFailureCallback_59, this }; + chip::Callback::Callback mOnSuccessCallback_59{ + OnSuccessCallback_59, this + }; + chip::Callback::Callback mOnFailureCallback_60{ OnFailureCallback_60, this }; + chip::Callback::Callback mOnSuccessCallback_60{ + OnSuccessCallback_60, this + }; + chip::Callback::Callback mOnFailureCallback_61{ OnFailureCallback_61, this }; + chip::Callback::Callback mOnSuccessCallback_61{ + OnSuccessCallback_61, this + }; + chip::Callback::Callback mOnFailureCallback_62{ OnFailureCallback_62, this }; + chip::Callback::Callback mOnSuccessCallback_62{ + OnSuccessCallback_62, this + }; + chip::Callback::Callback mOnFailureCallback_63{ OnFailureCallback_63, this }; + chip::Callback::Callback mOnSuccessCallback_63{ + OnSuccessCallback_63, this + }; + chip::Callback::Callback mOnFailureCallback_64{ OnFailureCallback_64, this }; + chip::Callback::Callback mOnSuccessCallback_64{ + OnSuccessCallback_64, this + }; + chip::Callback::Callback mOnFailureCallback_65{ OnFailureCallback_65, this }; + chip::Callback::Callback mOnSuccessCallback_65{ OnSuccessCallback_65, this }; + chip::Callback::Callback mOnFailureCallback_66{ OnFailureCallback_66, this }; + chip::Callback::Callback mOnSuccessCallback_66{ OnSuccessCallback_66, this }; + chip::Callback::Callback mOnFailureCallback_67{ OnFailureCallback_67, this }; + chip::Callback::Callback mOnSuccessCallback_67{ OnSuccessCallback_67, this }; + chip::Callback::Callback mOnFailureCallback_68{ OnFailureCallback_68, this }; + chip::Callback::Callback mOnSuccessCallback_68{ OnSuccessCallback_68, this }; + chip::Callback::Callback mOnFailureCallback_69{ OnFailureCallback_69, this }; + chip::Callback::Callback mOnSuccessCallback_69{ OnSuccessCallback_69, + this }; + chip::Callback::Callback mOnFailureCallback_70{ OnFailureCallback_70, this }; + chip::Callback::Callback mOnSuccessCallback_70{ OnSuccessCallback_70, + this }; + chip::Callback::Callback mOnFailureCallback_71{ OnFailureCallback_71, this }; + chip::Callback::Callback mOnSuccessCallback_71{ OnSuccessCallback_71, + this }; + chip::Callback::Callback mOnFailureCallback_72{ OnFailureCallback_72, this }; + chip::Callback::Callback mOnSuccessCallback_72{ OnSuccessCallback_72, + this }; + chip::Callback::Callback mOnFailureCallback_73{ OnFailureCallback_73, this }; + chip::Callback::Callback mOnSuccessCallback_73{ OnSuccessCallback_73, + this }; + chip::Callback::Callback mOnFailureCallback_74{ OnFailureCallback_74, this }; + chip::Callback::Callback mOnSuccessCallback_74{ OnSuccessCallback_74, + this }; + chip::Callback::Callback mOnFailureCallback_75{ OnFailureCallback_75, this }; + chip::Callback::Callback mOnSuccessCallback_75{ OnSuccessCallback_75, + this }; + chip::Callback::Callback mOnFailureCallback_76{ OnFailureCallback_76, this }; + chip::Callback::Callback mOnSuccessCallback_76{ OnSuccessCallback_76, this }; + chip::Callback::Callback mOnFailureCallback_77{ OnFailureCallback_77, this }; + chip::Callback::Callback mOnSuccessCallback_77{ OnSuccessCallback_77, this }; + chip::Callback::Callback mOnFailureCallback_78{ OnFailureCallback_78, this }; + chip::Callback::Callback mOnSuccessCallback_78{ OnSuccessCallback_78, this }; + chip::Callback::Callback mOnFailureCallback_79{ OnFailureCallback_79, this }; + chip::Callback::Callback mOnSuccessCallback_79{ OnSuccessCallback_79, this }; + chip::Callback::Callback mOnFailureCallback_80{ OnFailureCallback_80, this }; + chip::Callback::Callback mOnSuccessCallback_80{ OnSuccessCallback_80, this }; + chip::Callback::Callback mOnFailureCallback_81{ OnFailureCallback_81, this }; + chip::Callback::Callback mOnSuccessCallback_81{ OnSuccessCallback_81, this }; + chip::Callback::Callback mOnFailureCallback_82{ OnFailureCallback_82, this }; + chip::Callback::Callback mOnSuccessCallback_82{ OnSuccessCallback_82, + this }; + chip::Callback::Callback mOnFailureCallback_83{ OnFailureCallback_83, this }; + chip::Callback::Callback mOnSuccessCallback_83{ OnSuccessCallback_83, this }; + chip::Callback::Callback mOnFailureCallback_84{ OnFailureCallback_84, this }; + chip::Callback::Callback mOnSuccessCallback_84{ OnSuccessCallback_84, this }; + chip::Callback::Callback mOnFailureCallback_85{ OnFailureCallback_85, this }; + chip::Callback::Callback mOnSuccessCallback_85{ OnSuccessCallback_85, this }; + chip::Callback::Callback mOnFailureCallback_86{ OnFailureCallback_86, this }; + chip::Callback::Callback mOnSuccessCallback_86{ OnSuccessCallback_86, this }; + chip::Callback::Callback mOnFailureCallback_87{ OnFailureCallback_87, this }; + chip::Callback::Callback mOnSuccessCallback_87{ OnSuccessCallback_87, this }; + chip::Callback::Callback mOnFailureCallback_88{ OnFailureCallback_88, this }; + chip::Callback::Callback mOnSuccessCallback_88{ OnSuccessCallback_88, this }; + chip::Callback::Callback mOnFailureCallback_89{ OnFailureCallback_89, this }; + chip::Callback::Callback mOnSuccessCallback_89{ OnSuccessCallback_89, + this }; + chip::Callback::Callback mOnFailureCallback_90{ OnFailureCallback_90, this }; + chip::Callback::Callback mOnSuccessCallback_90{ OnSuccessCallback_90, this }; + chip::Callback::Callback mOnFailureCallback_91{ OnFailureCallback_91, this }; + chip::Callback::Callback mOnSuccessCallback_91{ OnSuccessCallback_91, this }; + chip::Callback::Callback mOnFailureCallback_92{ OnFailureCallback_92, this }; + chip::Callback::Callback mOnSuccessCallback_92{ OnSuccessCallback_92, this }; + chip::Callback::Callback mOnFailureCallback_93{ OnFailureCallback_93, this }; + chip::Callback::Callback mOnSuccessCallback_93{ OnSuccessCallback_93, this }; + chip::Callback::Callback mOnFailureCallback_94{ OnFailureCallback_94, this }; + chip::Callback::Callback mOnSuccessCallback_94{ OnSuccessCallback_94, this }; + chip::Callback::Callback mOnFailureCallback_95{ OnFailureCallback_95, this }; + chip::Callback::Callback mOnSuccessCallback_95{ OnSuccessCallback_95, this }; + chip::Callback::Callback mOnFailureCallback_96{ OnFailureCallback_96, this }; + chip::Callback::Callback mOnSuccessCallback_96{ OnSuccessCallback_96, + this }; + chip::Callback::Callback mOnFailureCallback_97{ OnFailureCallback_97, this }; + chip::Callback::Callback mOnSuccessCallback_97{ OnSuccessCallback_97, this }; + chip::Callback::Callback mOnFailureCallback_98{ OnFailureCallback_98, this }; + chip::Callback::Callback mOnSuccessCallback_98{ OnSuccessCallback_98, this }; + chip::Callback::Callback mOnFailureCallback_99{ OnFailureCallback_99, this }; + chip::Callback::Callback mOnSuccessCallback_99{ OnSuccessCallback_99, this }; + chip::Callback::Callback mOnFailureCallback_100{ OnFailureCallback_100, this }; + chip::Callback::Callback mOnSuccessCallback_100{ OnSuccessCallback_100, this }; + chip::Callback::Callback mOnFailureCallback_101{ OnFailureCallback_101, this }; + chip::Callback::Callback mOnSuccessCallback_101{ OnSuccessCallback_101, this }; + chip::Callback::Callback mOnFailureCallback_102{ OnFailureCallback_102, this }; + chip::Callback::Callback mOnSuccessCallback_102{ OnSuccessCallback_102, this }; + chip::Callback::Callback mOnFailureCallback_103{ OnFailureCallback_103, this }; + chip::Callback::Callback mOnSuccessCallback_103{ OnSuccessCallback_103, + this }; + chip::Callback::Callback mOnFailureCallback_104{ OnFailureCallback_104, this }; + chip::Callback::Callback mOnSuccessCallback_104{ OnSuccessCallback_104, this }; + chip::Callback::Callback mOnFailureCallback_105{ OnFailureCallback_105, this }; + chip::Callback::Callback mOnSuccessCallback_105{ OnSuccessCallback_105, this }; + chip::Callback::Callback mOnFailureCallback_106{ OnFailureCallback_106, this }; + chip::Callback::Callback mOnSuccessCallback_106{ OnSuccessCallback_106, this }; + chip::Callback::Callback mOnFailureCallback_107{ OnFailureCallback_107, this }; + chip::Callback::Callback mOnSuccessCallback_107{ OnSuccessCallback_107, this }; + chip::Callback::Callback mOnFailureCallback_108{ OnFailureCallback_108, this }; + chip::Callback::Callback mOnSuccessCallback_108{ OnSuccessCallback_108, this }; + chip::Callback::Callback mOnFailureCallback_109{ OnFailureCallback_109, this }; + chip::Callback::Callback mOnSuccessCallback_109{ OnSuccessCallback_109, this }; + chip::Callback::Callback mOnFailureCallback_110{ OnFailureCallback_110, this }; + chip::Callback::Callback mOnSuccessCallback_110{ OnSuccessCallback_110, + this }; + chip::Callback::Callback mOnFailureCallback_111{ OnFailureCallback_111, this }; + chip::Callback::Callback mOnSuccessCallback_111{ OnSuccessCallback_111, this }; + chip::Callback::Callback mOnFailureCallback_112{ OnFailureCallback_112, this }; + chip::Callback::Callback mOnSuccessCallback_112{ OnSuccessCallback_112, this }; + chip::Callback::Callback mOnFailureCallback_113{ OnFailureCallback_113, this }; + chip::Callback::Callback mOnSuccessCallback_113{ OnSuccessCallback_113, this }; + chip::Callback::Callback mOnFailureCallback_114{ OnFailureCallback_114, this }; + chip::Callback::Callback mOnSuccessCallback_114{ OnSuccessCallback_114, this }; + chip::Callback::Callback mOnFailureCallback_115{ OnFailureCallback_115, this }; + chip::Callback::Callback mOnSuccessCallback_115{ OnSuccessCallback_115, this }; + chip::Callback::Callback mOnFailureCallback_116{ OnFailureCallback_116, this }; + chip::Callback::Callback mOnSuccessCallback_116{ OnSuccessCallback_116, this }; + chip::Callback::Callback mOnFailureCallback_117{ OnFailureCallback_117, this }; + chip::Callback::Callback mOnSuccessCallback_117{ OnSuccessCallback_117, + this }; + chip::Callback::Callback mOnFailureCallback_118{ OnFailureCallback_118, this }; + chip::Callback::Callback mOnSuccessCallback_118{ OnSuccessCallback_118, this }; + chip::Callback::Callback mOnFailureCallback_119{ OnFailureCallback_119, this }; + chip::Callback::Callback mOnSuccessCallback_119{ OnSuccessCallback_119, this }; + chip::Callback::Callback mOnFailureCallback_120{ OnFailureCallback_120, this }; + chip::Callback::Callback mOnSuccessCallback_120{ OnSuccessCallback_120, this }; + chip::Callback::Callback mOnFailureCallback_121{ OnFailureCallback_121, this }; + chip::Callback::Callback mOnSuccessCallback_121{ OnSuccessCallback_121, this }; + chip::Callback::Callback mOnFailureCallback_122{ OnFailureCallback_122, this }; + chip::Callback::Callback mOnSuccessCallback_122{ OnSuccessCallback_122, this }; + chip::Callback::Callback mOnFailureCallback_123{ OnFailureCallback_123, this }; + chip::Callback::Callback mOnSuccessCallback_123{ OnSuccessCallback_123, this }; + chip::Callback::Callback mOnFailureCallback_124{ OnFailureCallback_124, this }; + chip::Callback::Callback mOnSuccessCallback_124{ OnSuccessCallback_124, this }; + chip::Callback::Callback mOnFailureCallback_125{ OnFailureCallback_125, this }; + chip::Callback::Callback mOnSuccessCallback_125{ OnSuccessCallback_125, this }; + chip::Callback::Callback mOnFailureCallback_126{ OnFailureCallback_126, this }; + chip::Callback::Callback mOnSuccessCallback_126{ OnSuccessCallback_126, this }; + chip::Callback::Callback mOnFailureCallback_127{ OnFailureCallback_127, this }; + chip::Callback::Callback mOnSuccessCallback_127{ OnSuccessCallback_127, this }; + chip::Callback::Callback mOnFailureCallback_128{ OnFailureCallback_128, this }; + chip::Callback::Callback mOnSuccessCallback_128{ OnSuccessCallback_128, this }; + chip::Callback::Callback mOnFailureCallback_129{ OnFailureCallback_129, this }; + chip::Callback::Callback mOnSuccessCallback_129{ OnSuccessCallback_129, this }; + chip::Callback::Callback mOnFailureCallback_130{ OnFailureCallback_130, this }; + chip::Callback::Callback mOnSuccessCallback_130{ OnSuccessCallback_130, + this }; + chip::Callback::Callback mOnFailureCallback_131{ OnFailureCallback_131, this }; + chip::Callback::Callback mOnSuccessCallback_131{ OnSuccessCallback_131, this }; + chip::Callback::Callback mOnFailureCallback_132{ OnFailureCallback_132, this }; + chip::Callback::Callback mOnSuccessCallback_132{ OnSuccessCallback_132, this }; + chip::Callback::Callback mOnFailureCallback_133{ OnFailureCallback_133, this }; + chip::Callback::Callback mOnSuccessCallback_133{ OnSuccessCallback_133, this }; + chip::Callback::Callback mOnFailureCallback_134{ OnFailureCallback_134, this }; + chip::Callback::Callback mOnSuccessCallback_134{ OnSuccessCallback_134, this }; + chip::Callback::Callback mOnFailureCallback_135{ OnFailureCallback_135, this }; + chip::Callback::Callback mOnSuccessCallback_135{ OnSuccessCallback_135, this }; + chip::Callback::Callback mOnFailureCallback_136{ OnFailureCallback_136, this }; + chip::Callback::Callback mOnSuccessCallback_136{ OnSuccessCallback_136, this }; + chip::Callback::Callback mOnFailureCallback_137{ OnFailureCallback_137, this }; + chip::Callback::Callback mOnSuccessCallback_137{ OnSuccessCallback_137, + this }; + chip::Callback::Callback mOnFailureCallback_138{ OnFailureCallback_138, this }; + chip::Callback::Callback mOnSuccessCallback_138{ OnSuccessCallback_138, this }; + chip::Callback::Callback mOnFailureCallback_139{ OnFailureCallback_139, this }; + chip::Callback::Callback mOnSuccessCallback_139{ OnSuccessCallback_139, this }; + chip::Callback::Callback mOnFailureCallback_140{ OnFailureCallback_140, this }; + chip::Callback::Callback mOnSuccessCallback_140{ OnSuccessCallback_140, this }; + chip::Callback::Callback mOnFailureCallback_141{ OnFailureCallback_141, this }; + chip::Callback::Callback mOnSuccessCallback_141{ OnSuccessCallback_141, this }; + chip::Callback::Callback mOnFailureCallback_142{ OnFailureCallback_142, this }; + chip::Callback::Callback mOnSuccessCallback_142{ OnSuccessCallback_142, this }; + chip::Callback::Callback mOnFailureCallback_143{ OnFailureCallback_143, this }; + chip::Callback::Callback mOnSuccessCallback_143{ OnSuccessCallback_143, this }; + chip::Callback::Callback mOnFailureCallback_144{ OnFailureCallback_144, this }; + chip::Callback::Callback mOnSuccessCallback_144{ OnSuccessCallback_144, + this }; + + static void OnFailureCallback_0(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_0(status); + } + + static void OnSuccessCallback_0(void * context, uint8_t currentHue) + { + (static_cast(context))->OnSuccessResponse_0(currentHue); + } + + static void OnFailureCallback_1(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_1(status); + } + + static void OnSuccessCallback_1(void * context, uint8_t currentHue) + { + (static_cast(context))->OnSuccessResponse_1(currentHue); + } + + static void OnFailureCallback_2(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_2(status); + } + + static void OnSuccessCallback_2(void * context, uint8_t currentHue) + { + (static_cast(context))->OnSuccessResponse_2(currentHue); + } + + static void OnFailureCallback_3(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_3(status); + } + + static void OnSuccessCallback_3(void * context, uint8_t currentHue) + { + (static_cast(context))->OnSuccessResponse_3(currentHue); + } + + static void OnFailureCallback_4(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_4(status); + } + + static void OnSuccessCallback_4(void * context, uint8_t currentSaturation) + { + (static_cast(context))->OnSuccessResponse_4(currentSaturation); + } + + static void OnFailureCallback_5(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_5(status); + } + + static void OnSuccessCallback_5(void * context, uint8_t currentSaturation) + { + (static_cast(context))->OnSuccessResponse_5(currentSaturation); + } + + static void OnFailureCallback_6(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_6(status); + } + + static void OnSuccessCallback_6(void * context, uint8_t currentSaturation) + { + (static_cast(context))->OnSuccessResponse_6(currentSaturation); + } + + static void OnFailureCallback_7(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_7(status); + } + + static void OnSuccessCallback_7(void * context, uint8_t currentSaturation) + { + (static_cast(context))->OnSuccessResponse_7(currentSaturation); + } + + static void OnFailureCallback_8(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_8(status); + } + + static void OnSuccessCallback_8(void * context, uint16_t currentX) + { + (static_cast(context))->OnSuccessResponse_8(currentX); + } + + static void OnFailureCallback_9(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_9(status); + } + + static void OnSuccessCallback_9(void * context, uint16_t currentX) + { + (static_cast(context))->OnSuccessResponse_9(currentX); + } + + static void OnFailureCallback_10(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_10(status); + } + + static void OnSuccessCallback_10(void * context, uint16_t currentX) + { + (static_cast(context))->OnSuccessResponse_10(currentX); + } + + static void OnFailureCallback_11(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_11(status); + } + + static void OnSuccessCallback_11(void * context, uint16_t currentX) + { + (static_cast(context))->OnSuccessResponse_11(currentX); + } + + static void OnFailureCallback_12(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_12(status); + } + + static void OnSuccessCallback_12(void * context, uint16_t currentY) + { + (static_cast(context))->OnSuccessResponse_12(currentY); + } + + static void OnFailureCallback_13(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_13(status); + } + + static void OnSuccessCallback_13(void * context, uint16_t currentY) + { + (static_cast(context))->OnSuccessResponse_13(currentY); + } + + static void OnFailureCallback_14(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_14(status); + } + + static void OnSuccessCallback_14(void * context, uint16_t currentY) + { + (static_cast(context))->OnSuccessResponse_14(currentY); + } + + static void OnFailureCallback_15(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_15(status); + } + + static void OnSuccessCallback_15(void * context, uint16_t currentY) + { + (static_cast(context))->OnSuccessResponse_15(currentY); + } + + static void OnFailureCallback_16(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_16(status); + } + + static void OnSuccessCallback_16(void * context, uint16_t colorTemperature) + { + (static_cast(context))->OnSuccessResponse_16(colorTemperature); + } + + static void OnFailureCallback_17(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_17(status); + } + + static void OnSuccessCallback_17(void * context, uint8_t colorMode) + { + (static_cast(context))->OnSuccessResponse_17(colorMode); + } + + static void OnFailureCallback_18(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_18(status); + } + + static void OnSuccessCallback_18(void * context, uint8_t colorControlOptions) + { + (static_cast(context))->OnSuccessResponse_18(colorControlOptions); + } + + static void OnFailureCallback_19(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_19(status); + } + + static void OnSuccessCallback_19(void * context, uint8_t colorControlOptions) + { + (static_cast(context))->OnSuccessResponse_19(colorControlOptions); + } + + static void OnFailureCallback_20(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_20(status); + } + + static void OnSuccessCallback_20(void * context, uint8_t colorControlOptions) + { + (static_cast(context))->OnSuccessResponse_20(colorControlOptions); + } + + static void OnFailureCallback_21(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_21(status); + } + + static void OnSuccessCallback_21(void * context, uint8_t colorControlOptions) + { + (static_cast(context))->OnSuccessResponse_21(colorControlOptions); + } + + static void OnFailureCallback_22(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_22(status); + } + + static void OnSuccessCallback_22(void * context, uint16_t enhancedCurrentHue) + { + (static_cast(context))->OnSuccessResponse_22(enhancedCurrentHue); + } + + static void OnFailureCallback_23(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_23(status); + } + + static void OnSuccessCallback_23(void * context, uint16_t enhancedCurrentHue) + { + (static_cast(context))->OnSuccessResponse_23(enhancedCurrentHue); + } + + static void OnFailureCallback_24(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_24(status); + } + + static void OnSuccessCallback_24(void * context, uint16_t enhancedCurrentHue) + { + (static_cast(context))->OnSuccessResponse_24(enhancedCurrentHue); + } + + static void OnFailureCallback_25(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_25(status); + } + + static void OnSuccessCallback_25(void * context, uint16_t enhancedCurrentHue) + { + (static_cast(context))->OnSuccessResponse_25(enhancedCurrentHue); + } + + static void OnFailureCallback_26(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_26(status); + } + + static void OnSuccessCallback_26(void * context, uint8_t enhancedColorMode) + { + (static_cast(context))->OnSuccessResponse_26(enhancedColorMode); + } + + static void OnFailureCallback_27(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_27(status); + } + + static void OnSuccessCallback_27(void * context, uint8_t colorLoopActive) + { + (static_cast(context))->OnSuccessResponse_27(colorLoopActive); + } + + static void OnFailureCallback_28(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_28(status); + } + + static void OnSuccessCallback_28(void * context, uint8_t colorLoopActive) + { + (static_cast(context))->OnSuccessResponse_28(colorLoopActive); + } + + static void OnFailureCallback_29(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_29(status); + } + + static void OnSuccessCallback_29(void * context, uint8_t colorLoopActive) + { + (static_cast(context))->OnSuccessResponse_29(colorLoopActive); + } + + static void OnFailureCallback_30(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_30(status); + } + + static void OnSuccessCallback_30(void * context, uint8_t colorLoopActive) + { + (static_cast(context))->OnSuccessResponse_30(colorLoopActive); + } + + static void OnFailureCallback_31(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_31(status); + } + + static void OnSuccessCallback_31(void * context, uint8_t colorLoopDirection) + { + (static_cast(context))->OnSuccessResponse_31(colorLoopDirection); + } + + static void OnFailureCallback_32(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_32(status); + } + + static void OnSuccessCallback_32(void * context, uint8_t colorLoopDirection) + { + (static_cast(context))->OnSuccessResponse_32(colorLoopDirection); + } + + static void OnFailureCallback_33(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_33(status); + } + + static void OnSuccessCallback_33(void * context, uint8_t colorLoopDirection) + { + (static_cast(context))->OnSuccessResponse_33(colorLoopDirection); + } + + static void OnFailureCallback_34(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_34(status); + } + + static void OnSuccessCallback_34(void * context, uint8_t colorLoopDirection) + { + (static_cast(context))->OnSuccessResponse_34(colorLoopDirection); + } + + static void OnFailureCallback_35(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_35(status); + } + + static void OnSuccessCallback_35(void * context, uint16_t colorLoopTime) + { + (static_cast(context))->OnSuccessResponse_35(colorLoopTime); + } + + static void OnFailureCallback_36(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_36(status); + } + + static void OnSuccessCallback_36(void * context, uint16_t colorLoopTime) + { + (static_cast(context))->OnSuccessResponse_36(colorLoopTime); + } + + static void OnFailureCallback_37(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_37(status); + } + + static void OnSuccessCallback_37(void * context, uint16_t colorLoopTime) + { + (static_cast(context))->OnSuccessResponse_37(colorLoopTime); + } + + static void OnFailureCallback_38(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_38(status); + } + + static void OnSuccessCallback_38(void * context, uint16_t colorLoopTime) + { + (static_cast(context))->OnSuccessResponse_38(colorLoopTime); + } + + static void OnFailureCallback_39(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_39(status); + } + + static void OnSuccessCallback_39(void * context, uint16_t colorLoopStartEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_39(colorLoopStartEnhancedHue); + } + + static void OnFailureCallback_40(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_40(status); + } + + static void OnSuccessCallback_40(void * context, uint16_t colorLoopStartEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_40(colorLoopStartEnhancedHue); + } + + static void OnFailureCallback_41(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_41(status); + } + + static void OnSuccessCallback_41(void * context, uint16_t colorLoopStartEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_41(colorLoopStartEnhancedHue); + } + + static void OnFailureCallback_42(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_42(status); + } + + static void OnSuccessCallback_42(void * context, uint16_t colorLoopStartEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_42(colorLoopStartEnhancedHue); + } + + static void OnFailureCallback_43(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_43(status); + } + + static void OnSuccessCallback_43(void * context, uint16_t colorLoopStoredEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_43(colorLoopStoredEnhancedHue); + } + + static void OnFailureCallback_44(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_44(status); + } + + static void OnSuccessCallback_44(void * context, uint16_t colorLoopStoredEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_44(colorLoopStoredEnhancedHue); + } + + static void OnFailureCallback_45(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_45(status); + } + + static void OnSuccessCallback_45(void * context, uint16_t colorLoopStoredEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_45(colorLoopStoredEnhancedHue); + } + + static void OnFailureCallback_46(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_46(status); + } + + static void OnSuccessCallback_46(void * context, uint16_t colorLoopStoredEnhancedHue) + { + (static_cast(context))->OnSuccessResponse_46(colorLoopStoredEnhancedHue); + } + + static void OnFailureCallback_47(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_47(status); + } + + static void OnSuccessCallback_47(void * context, uint16_t colorCapabilities) + { + (static_cast(context))->OnSuccessResponse_47(colorCapabilities); + } + + static void OnFailureCallback_48(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_48(status); + } + + static void OnSuccessCallback_48(void * context, uint16_t colorCapabilities) + { + (static_cast(context))->OnSuccessResponse_48(colorCapabilities); + } + + static void OnFailureCallback_49(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_49(status); + } + + static void OnSuccessCallback_49(void * context, uint16_t colorCapabilities) + { + (static_cast(context))->OnSuccessResponse_49(colorCapabilities); + } + + static void OnFailureCallback_50(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_50(status); + } + + static void OnSuccessCallback_50(void * context, uint16_t colorCapabilities) + { + (static_cast(context))->OnSuccessResponse_50(colorCapabilities); + } + + static void OnFailureCallback_51(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_51(status); + } + + static void OnSuccessCallback_51(void * context, uint16_t colorTempPhysicalMin) + { + (static_cast(context))->OnSuccessResponse_51(colorTempPhysicalMin); + } + + static void OnFailureCallback_52(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_52(status); + } + + static void OnSuccessCallback_52(void * context, uint16_t colorTempPhysicalMin) + { + (static_cast(context))->OnSuccessResponse_52(colorTempPhysicalMin); + } + + static void OnFailureCallback_53(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_53(status); + } + + static void OnSuccessCallback_53(void * context, uint16_t colorTempPhysicalMin) + { + (static_cast(context))->OnSuccessResponse_53(colorTempPhysicalMin); + } + + static void OnFailureCallback_54(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_54(status); + } + + static void OnSuccessCallback_54(void * context, uint16_t colorTempPhysicalMin) + { + (static_cast(context))->OnSuccessResponse_54(colorTempPhysicalMin); + } + + static void OnFailureCallback_55(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_55(status); + } + + static void OnSuccessCallback_55(void * context, uint16_t colorTempPhysicalMax) + { + (static_cast(context))->OnSuccessResponse_55(colorTempPhysicalMax); + } + + static void OnFailureCallback_56(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_56(status); + } + + static void OnSuccessCallback_56(void * context, uint16_t colorTempPhysicalMax) + { + (static_cast(context))->OnSuccessResponse_56(colorTempPhysicalMax); + } + + static void OnFailureCallback_57(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_57(status); + } + + static void OnSuccessCallback_57(void * context, uint16_t colorTempPhysicalMax) + { + (static_cast(context))->OnSuccessResponse_57(colorTempPhysicalMax); + } + + static void OnFailureCallback_58(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_58(status); + } + + static void OnSuccessCallback_58(void * context, uint16_t colorTempPhysicalMax) + { + (static_cast(context))->OnSuccessResponse_58(colorTempPhysicalMax); + } + + static void OnFailureCallback_59(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_59(status); + } + + static void OnSuccessCallback_59(void * context, uint16_t coupleColorTempToLevelMinMireds) + { + (static_cast(context))->OnSuccessResponse_59(coupleColorTempToLevelMinMireds); + } + + static void OnFailureCallback_60(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_60(status); + } + + static void OnSuccessCallback_60(void * context, uint16_t coupleColorTempToLevelMinMireds) + { + (static_cast(context))->OnSuccessResponse_60(coupleColorTempToLevelMinMireds); + } + + static void OnFailureCallback_61(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_61(status); + } + + static void OnSuccessCallback_61(void * context, uint16_t coupleColorTempToLevelMinMireds) + { + (static_cast(context))->OnSuccessResponse_61(coupleColorTempToLevelMinMireds); + } + + static void OnFailureCallback_62(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_62(status); + } + + static void OnSuccessCallback_62(void * context, uint16_t startUpColorTemperatureMireds) + { + (static_cast(context))->OnSuccessResponse_62(startUpColorTemperatureMireds); + } + + static void OnFailureCallback_63(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_63(status); + } + + static void OnSuccessCallback_63(void * context, uint16_t startUpColorTemperatureMireds) + { + (static_cast(context))->OnSuccessResponse_63(startUpColorTemperatureMireds); + } + + static void OnFailureCallback_64(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_64(status); + } + + static void OnSuccessCallback_64(void * context, uint16_t startUpColorTemperatureMireds) + { + (static_cast(context))->OnSuccessResponse_64(startUpColorTemperatureMireds); + } + + static void OnFailureCallback_65(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_65(status); + } + + static void OnSuccessCallback_65(void * context, uint16_t remainingTime) + { + (static_cast(context))->OnSuccessResponse_65(remainingTime); + } + + static void OnFailureCallback_66(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_66(status); + } + + static void OnSuccessCallback_66(void * context, uint16_t remainingTime) + { + (static_cast(context))->OnSuccessResponse_66(remainingTime); + } + + static void OnFailureCallback_67(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_67(status); + } + + static void OnSuccessCallback_67(void * context, uint16_t remainingTime) + { + (static_cast(context))->OnSuccessResponse_67(remainingTime); + } + + static void OnFailureCallback_68(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_68(status); + } + + static void OnSuccessCallback_68(void * context, uint16_t remainingTime) + { + (static_cast(context))->OnSuccessResponse_68(remainingTime); + } + + static void OnFailureCallback_69(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_69(status); + } + + static void OnSuccessCallback_69(void * context, uint8_t driftCompensation) + { + (static_cast(context))->OnSuccessResponse_69(driftCompensation); + } + + static void OnFailureCallback_70(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_70(status); + } + + static void OnSuccessCallback_70(void * context, uint8_t driftCompensation) + { + (static_cast(context))->OnSuccessResponse_70(driftCompensation); + } + + static void OnFailureCallback_71(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_71(status); + } + + static void OnSuccessCallback_71(void * context, uint8_t driftCompensation) + { + (static_cast(context))->OnSuccessResponse_71(driftCompensation); + } + + static void OnFailureCallback_72(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_72(status); + } + + static void OnSuccessCallback_72(void * context, chip::CharSpan compensationText) + { + (static_cast(context))->OnSuccessResponse_72(compensationText); + } + + static void OnFailureCallback_73(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_73(status); + } + + static void OnSuccessCallback_73(void * context, uint8_t numberOfPrimaries) + { + (static_cast(context))->OnSuccessResponse_73(numberOfPrimaries); + } + + static void OnFailureCallback_74(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_74(status); + } + + static void OnSuccessCallback_74(void * context, uint8_t numberOfPrimaries) + { + (static_cast(context))->OnSuccessResponse_74(numberOfPrimaries); + } + + static void OnFailureCallback_75(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_75(status); + } + + static void OnSuccessCallback_75(void * context, uint8_t numberOfPrimaries) + { + (static_cast(context))->OnSuccessResponse_75(numberOfPrimaries); + } + + static void OnFailureCallback_76(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_76(status); + } + + static void OnSuccessCallback_76(void * context, uint16_t primary1X) + { + (static_cast(context))->OnSuccessResponse_76(primary1X); + } + + static void OnFailureCallback_77(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_77(status); + } + + static void OnSuccessCallback_77(void * context, uint16_t primary1X) + { + (static_cast(context))->OnSuccessResponse_77(primary1X); + } + + static void OnFailureCallback_78(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_78(status); + } + + static void OnSuccessCallback_78(void * context, uint16_t primary1X) + { + (static_cast(context))->OnSuccessResponse_78(primary1X); + } + + static void OnFailureCallback_79(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_79(status); + } + + static void OnSuccessCallback_79(void * context, uint16_t primary1Y) + { + (static_cast(context))->OnSuccessResponse_79(primary1Y); + } + + static void OnFailureCallback_80(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_80(status); + } + + static void OnSuccessCallback_80(void * context, uint16_t primary1Y) + { + (static_cast(context))->OnSuccessResponse_80(primary1Y); + } + + static void OnFailureCallback_81(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_81(status); + } + + static void OnSuccessCallback_81(void * context, uint16_t primary1Y) + { + (static_cast(context))->OnSuccessResponse_81(primary1Y); + } + + static void OnFailureCallback_82(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_82(status); + } + + static void OnSuccessCallback_82(void * context, uint8_t primary1Intensity) + { + (static_cast(context))->OnSuccessResponse_82(primary1Intensity); + } + + static void OnFailureCallback_83(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_83(status); + } + + static void OnSuccessCallback_83(void * context, uint16_t primary2X) + { + (static_cast(context))->OnSuccessResponse_83(primary2X); + } + + static void OnFailureCallback_84(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_84(status); + } + + static void OnSuccessCallback_84(void * context, uint16_t primary2X) + { + (static_cast(context))->OnSuccessResponse_84(primary2X); + } + + static void OnFailureCallback_85(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_85(status); + } + + static void OnSuccessCallback_85(void * context, uint16_t primary2X) + { + (static_cast(context))->OnSuccessResponse_85(primary2X); + } + + static void OnFailureCallback_86(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_86(status); + } + + static void OnSuccessCallback_86(void * context, uint16_t primary2Y) + { + (static_cast(context))->OnSuccessResponse_86(primary2Y); + } + + static void OnFailureCallback_87(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_87(status); + } + + static void OnSuccessCallback_87(void * context, uint16_t primary2Y) + { + (static_cast(context))->OnSuccessResponse_87(primary2Y); + } + + static void OnFailureCallback_88(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_88(status); + } + + static void OnSuccessCallback_88(void * context, uint16_t primary2Y) + { + (static_cast(context))->OnSuccessResponse_88(primary2Y); + } + + static void OnFailureCallback_89(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_89(status); + } + + static void OnSuccessCallback_89(void * context, uint8_t primary2Intensity) + { + (static_cast(context))->OnSuccessResponse_89(primary2Intensity); + } + + static void OnFailureCallback_90(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_90(status); + } + + static void OnSuccessCallback_90(void * context, uint16_t primary3X) + { + (static_cast(context))->OnSuccessResponse_90(primary3X); + } + + static void OnFailureCallback_91(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_91(status); + } + + static void OnSuccessCallback_91(void * context, uint16_t primary3X) + { + (static_cast(context))->OnSuccessResponse_91(primary3X); + } + + static void OnFailureCallback_92(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_92(status); + } + + static void OnSuccessCallback_92(void * context, uint16_t primary3X) + { + (static_cast(context))->OnSuccessResponse_92(primary3X); + } + + static void OnFailureCallback_93(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_93(status); + } + + static void OnSuccessCallback_93(void * context, uint16_t primary3Y) + { + (static_cast(context))->OnSuccessResponse_93(primary3Y); + } + + static void OnFailureCallback_94(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_94(status); + } + + static void OnSuccessCallback_94(void * context, uint16_t primary3Y) + { + (static_cast(context))->OnSuccessResponse_94(primary3Y); + } + + static void OnFailureCallback_95(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_95(status); + } + + static void OnSuccessCallback_95(void * context, uint16_t primary3Y) + { + (static_cast(context))->OnSuccessResponse_95(primary3Y); + } + + static void OnFailureCallback_96(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_96(status); + } + + static void OnSuccessCallback_96(void * context, uint8_t primary3Intensity) + { + (static_cast(context))->OnSuccessResponse_96(primary3Intensity); + } + + static void OnFailureCallback_97(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_97(status); + } + + static void OnSuccessCallback_97(void * context, uint16_t primary4X) + { + (static_cast(context))->OnSuccessResponse_97(primary4X); + } + + static void OnFailureCallback_98(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_98(status); + } + + static void OnSuccessCallback_98(void * context, uint16_t primary4X) + { + (static_cast(context))->OnSuccessResponse_98(primary4X); + } + + static void OnFailureCallback_99(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_99(status); + } + + static void OnSuccessCallback_99(void * context, uint16_t primary4X) + { + (static_cast(context))->OnSuccessResponse_99(primary4X); + } + + static void OnFailureCallback_100(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_100(status); + } + + static void OnSuccessCallback_100(void * context, uint16_t primary4Y) + { + (static_cast(context))->OnSuccessResponse_100(primary4Y); + } + + static void OnFailureCallback_101(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_101(status); + } + + static void OnSuccessCallback_101(void * context, uint16_t primary4Y) + { + (static_cast(context))->OnSuccessResponse_101(primary4Y); + } + + static void OnFailureCallback_102(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_102(status); + } + + static void OnSuccessCallback_102(void * context, uint16_t primary4Y) + { + (static_cast(context))->OnSuccessResponse_102(primary4Y); + } + + static void OnFailureCallback_103(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_103(status); + } + + static void OnSuccessCallback_103(void * context, uint8_t primary4Intensity) + { + (static_cast(context))->OnSuccessResponse_103(primary4Intensity); + } + + static void OnFailureCallback_104(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_104(status); + } + + static void OnSuccessCallback_104(void * context, uint16_t primary5X) + { + (static_cast(context))->OnSuccessResponse_104(primary5X); + } + + static void OnFailureCallback_105(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_105(status); + } + + static void OnSuccessCallback_105(void * context, uint16_t primary5X) + { + (static_cast(context))->OnSuccessResponse_105(primary5X); + } + + static void OnFailureCallback_106(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_106(status); + } + + static void OnSuccessCallback_106(void * context, uint16_t primary5X) + { + (static_cast(context))->OnSuccessResponse_106(primary5X); + } + + static void OnFailureCallback_107(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_107(status); + } + + static void OnSuccessCallback_107(void * context, uint16_t primary5Y) + { + (static_cast(context))->OnSuccessResponse_107(primary5Y); + } + + static void OnFailureCallback_108(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_108(status); + } + + static void OnSuccessCallback_108(void * context, uint16_t primary5Y) + { + (static_cast(context))->OnSuccessResponse_108(primary5Y); + } + + static void OnFailureCallback_109(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_109(status); + } + + static void OnSuccessCallback_109(void * context, uint16_t primary5Y) + { + (static_cast(context))->OnSuccessResponse_109(primary5Y); + } + + static void OnFailureCallback_110(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_110(status); + } + + static void OnSuccessCallback_110(void * context, uint8_t primary5Intensity) + { + (static_cast(context))->OnSuccessResponse_110(primary5Intensity); + } + + static void OnFailureCallback_111(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_111(status); + } + + static void OnSuccessCallback_111(void * context, uint16_t primary6X) + { + (static_cast(context))->OnSuccessResponse_111(primary6X); + } + + static void OnFailureCallback_112(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_112(status); + } + + static void OnSuccessCallback_112(void * context, uint16_t primary6X) + { + (static_cast(context))->OnSuccessResponse_112(primary6X); + } + + static void OnFailureCallback_113(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_113(status); + } + + static void OnSuccessCallback_113(void * context, uint16_t primary6X) + { + (static_cast(context))->OnSuccessResponse_113(primary6X); + } + + static void OnFailureCallback_114(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_114(status); + } + + static void OnSuccessCallback_114(void * context, uint16_t primary6Y) + { + (static_cast(context))->OnSuccessResponse_114(primary6Y); + } + + static void OnFailureCallback_115(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_115(status); + } + + static void OnSuccessCallback_115(void * context, uint16_t primary6Y) + { + (static_cast(context))->OnSuccessResponse_115(primary6Y); + } + + static void OnFailureCallback_116(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_116(status); + } + + static void OnSuccessCallback_116(void * context, uint16_t primary6Y) + { + (static_cast(context))->OnSuccessResponse_116(primary6Y); + } + + static void OnFailureCallback_117(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_117(status); + } + + static void OnSuccessCallback_117(void * context, uint8_t primary6Intensity) + { + (static_cast(context))->OnSuccessResponse_117(primary6Intensity); + } + + static void OnFailureCallback_118(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_118(status); + } + + static void OnSuccessCallback_118(void * context, uint16_t whitePointX) + { + (static_cast(context))->OnSuccessResponse_118(whitePointX); + } + + static void OnFailureCallback_119(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_119(status); + } + + static void OnSuccessCallback_119(void * context, uint16_t whitePointX) + { + (static_cast(context))->OnSuccessResponse_119(whitePointX); + } + + static void OnFailureCallback_120(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_120(status); + } + + static void OnSuccessCallback_120(void * context, uint16_t whitePointX) + { + (static_cast(context))->OnSuccessResponse_120(whitePointX); + } + + static void OnFailureCallback_121(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_121(status); + } + + static void OnSuccessCallback_121(void * context, uint16_t whitePointY) + { + (static_cast(context))->OnSuccessResponse_121(whitePointY); + } + + static void OnFailureCallback_122(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_122(status); + } + + static void OnSuccessCallback_122(void * context, uint16_t whitePointY) + { + (static_cast(context))->OnSuccessResponse_122(whitePointY); + } + + static void OnFailureCallback_123(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_123(status); + } + + static void OnSuccessCallback_123(void * context, uint16_t whitePointY) + { + (static_cast(context))->OnSuccessResponse_123(whitePointY); + } + + static void OnFailureCallback_124(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_124(status); + } + + static void OnSuccessCallback_124(void * context, uint16_t colorPointRX) + { + (static_cast(context))->OnSuccessResponse_124(colorPointRX); + } + + static void OnFailureCallback_125(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_125(status); + } + + static void OnSuccessCallback_125(void * context, uint16_t colorPointRX) + { + (static_cast(context))->OnSuccessResponse_125(colorPointRX); + } + + static void OnFailureCallback_126(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_126(status); + } + + static void OnSuccessCallback_126(void * context, uint16_t colorPointRX) + { + (static_cast(context))->OnSuccessResponse_126(colorPointRX); + } + + static void OnFailureCallback_127(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_127(status); + } + + static void OnSuccessCallback_127(void * context, uint16_t colorPointRY) + { + (static_cast(context))->OnSuccessResponse_127(colorPointRY); + } + + static void OnFailureCallback_128(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_128(status); + } + + static void OnSuccessCallback_128(void * context, uint16_t colorPointRY) + { + (static_cast(context))->OnSuccessResponse_128(colorPointRY); + } + + static void OnFailureCallback_129(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_129(status); + } + + static void OnSuccessCallback_129(void * context, uint16_t colorPointRY) + { + (static_cast(context))->OnSuccessResponse_129(colorPointRY); + } + + static void OnFailureCallback_130(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_130(status); + } + + static void OnSuccessCallback_130(void * context, uint8_t colorPointRIntensity) + { + (static_cast(context))->OnSuccessResponse_130(colorPointRIntensity); + } + + static void OnFailureCallback_131(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_131(status); + } + + static void OnSuccessCallback_131(void * context, uint16_t colorPointGX) + { + (static_cast(context))->OnSuccessResponse_131(colorPointGX); + } + + static void OnFailureCallback_132(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_132(status); + } + + static void OnSuccessCallback_132(void * context, uint16_t colorPointGX) + { + (static_cast(context))->OnSuccessResponse_132(colorPointGX); + } + + static void OnFailureCallback_133(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_133(status); + } + + static void OnSuccessCallback_133(void * context, uint16_t colorPointGX) + { + (static_cast(context))->OnSuccessResponse_133(colorPointGX); + } + + static void OnFailureCallback_134(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_134(status); + } + + static void OnSuccessCallback_134(void * context, uint16_t colorPointGY) + { + (static_cast(context))->OnSuccessResponse_134(colorPointGY); + } + + static void OnFailureCallback_135(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_135(status); + } + + static void OnSuccessCallback_135(void * context, uint16_t colorPointGY) + { + (static_cast(context))->OnSuccessResponse_135(colorPointGY); + } + + static void OnFailureCallback_136(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_136(status); + } + + static void OnSuccessCallback_136(void * context, uint16_t colorPointGY) + { + (static_cast(context))->OnSuccessResponse_136(colorPointGY); + } + + static void OnFailureCallback_137(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_137(status); + } + + static void OnSuccessCallback_137(void * context, uint8_t colorPointGIntensity) + { + (static_cast(context))->OnSuccessResponse_137(colorPointGIntensity); + } + + static void OnFailureCallback_138(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_138(status); + } + + static void OnSuccessCallback_138(void * context, uint16_t colorPointBX) + { + (static_cast(context))->OnSuccessResponse_138(colorPointBX); + } + + static void OnFailureCallback_139(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_139(status); + } + + static void OnSuccessCallback_139(void * context, uint16_t colorPointBX) + { + (static_cast(context))->OnSuccessResponse_139(colorPointBX); + } + + static void OnFailureCallback_140(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_140(status); + } + + static void OnSuccessCallback_140(void * context, uint16_t colorPointBX) + { + (static_cast(context))->OnSuccessResponse_140(colorPointBX); + } + + static void OnFailureCallback_141(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_141(status); + } + + static void OnSuccessCallback_141(void * context, uint16_t colorPointBY) + { + (static_cast(context))->OnSuccessResponse_141(colorPointBY); + } + + static void OnFailureCallback_142(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_142(status); + } + + static void OnSuccessCallback_142(void * context, uint16_t colorPointBY) + { + (static_cast(context))->OnSuccessResponse_142(colorPointBY); + } + + static void OnFailureCallback_143(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_143(status); + } + + static void OnSuccessCallback_143(void * context, uint16_t colorPointBY) + { + (static_cast(context))->OnSuccessResponse_143(colorPointBY); + } + + static void OnFailureCallback_144(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_144(status); + } + + static void OnSuccessCallback_144(void * context, uint8_t colorPointBIntensity) + { + (static_cast(context))->OnSuccessResponse_144(colorPointBIntensity); + } + + // + // Tests methods + // + + CHIP_ERROR TestReadsMandatoryAttributeCurrentHue_0() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentHue(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); + } + + void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_0(uint8_t currentHue) + { + VerifyOrReturn(CheckValue("currentHue", currentHue, 0)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeCurrentHue_1() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentHue(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); + } + + void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_1(uint8_t currentHue) + { + VerifyOrReturn(CheckConstraintType("currentHue", "", "uint8")); + VerifyOrReturn(CheckConstraintMaxValue("currentHue", currentHue, 254)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValueToMandatoryAttributeCurrentHue_2() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t currentHueArgument = 0; + + return cluster.WriteAttributeCurrentHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), currentHueArgument); + } + + void OnFailureResponse_2(uint8_t status) { NextTest(); } + + void OnSuccessResponse_2(uint8_t currentHue) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeCurrentHue_3() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); + } + + void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_3(uint8_t currentHue) + { + VerifyOrReturn(CheckValue("currentHue", currentHue, 0)); + NextTest(); + } + + CHIP_ERROR TestReadsMandatoryAttributeCurrentSaturation_4() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentSaturation(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); + } + + void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_4(uint8_t currentSaturation) + { + VerifyOrReturn(CheckValue("currentSaturation", currentSaturation, 0)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeCurrentSaturation_5() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentSaturation(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); + } + + void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_5(uint8_t currentSaturation) + { + VerifyOrReturn(CheckConstraintType("currentSaturation", "", "uint8")); + VerifyOrReturn(CheckConstraintMaxValue("currentSaturation", currentSaturation, 254)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValueToMandatoryAttributeCurrentSaturation_6() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t currentSaturationArgument = 0; + + return cluster.WriteAttributeCurrentSaturation(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel(), + currentSaturationArgument); + } + + void OnFailureResponse_6(uint8_t status) { NextTest(); } + + void OnSuccessResponse_6(uint8_t currentSaturation) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeCurrentSaturation_7() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentSaturation(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); + } + + void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_7(uint8_t currentSaturation) + { + VerifyOrReturn(CheckValue("currentSaturation", currentSaturation, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeCurrentX_8() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentX(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); + } + + void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_8(uint16_t currentX) + { + VerifyOrReturn(CheckValue("currentX", currentX, 24939U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeCurrentX_9() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentX(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); + } + + void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_9(uint16_t currentX) + { + VerifyOrReturn(CheckConstraintType("currentX", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("currentX", currentX, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValueToMandatoryAttributeCurrentX_10() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t currentXArgument = 24939U; + + return cluster.WriteAttributeCurrentX(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel(), currentXArgument); + } + + void OnFailureResponse_10(uint8_t status) { NextTest(); } + + void OnSuccessResponse_10(uint16_t currentX) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeCurrentX_11() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentX(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); + } + + void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_11(uint16_t currentX) + { + VerifyOrReturn(CheckValue("currentX", currentX, 24939U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeCurrentY_12() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentY(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel()); + } + + void OnFailureResponse_12(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_12(uint16_t currentY) + { + VerifyOrReturn(CheckValue("currentY", currentY, 24701U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeCurrentY_13() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentY(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel()); + } + + void OnFailureResponse_13(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_13(uint16_t currentY) + { + VerifyOrReturn(CheckConstraintType("currentY", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("currentY", currentY, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeCurrentY_14() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t currentYArgument = 24701U; + + return cluster.WriteAttributeCurrentY(mOnSuccessCallback_14.Cancel(), mOnFailureCallback_14.Cancel(), currentYArgument); + } + + void OnFailureResponse_14(uint8_t status) { NextTest(); } + + void OnSuccessResponse_14(uint16_t currentY) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeCurrentY_15() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCurrentY(mOnSuccessCallback_15.Cancel(), mOnFailureCallback_15.Cancel()); + } + + void OnFailureResponse_15(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_15(uint16_t currentY) + { + VerifyOrReturn(CheckValue("currentY", currentY, 24701U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorTemperatureMireds_16() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTemperature(mOnSuccessCallback_16.Cancel(), mOnFailureCallback_16.Cancel()); + } + + void OnFailureResponse_16(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_16(uint16_t colorTemperature) + { + VerifyOrReturn(CheckConstraintType("colorTemperature", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorTemperature", colorTemperature, 65279)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorMode_17() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorMode(mOnSuccessCallback_17.Cancel(), mOnFailureCallback_17.Cancel()); + } + + void OnFailureResponse_17(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_17(uint8_t colorMode) + { + VerifyOrReturn(CheckConstraintType("colorMode", "", "enum8")); + VerifyOrReturn(CheckConstraintMaxValue("colorMode", colorMode, 2)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeOptions_18() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorControlOptions(mOnSuccessCallback_18.Cancel(), mOnFailureCallback_18.Cancel()); + } + + void OnFailureResponse_18(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_18(uint8_t colorControlOptions) + { + VerifyOrReturn(CheckValue("colorControlOptions", colorControlOptions, 0)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeOptions_19() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorControlOptions(mOnSuccessCallback_19.Cancel(), mOnFailureCallback_19.Cancel()); + } + + void OnFailureResponse_19(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_19(uint8_t colorControlOptions) + { + VerifyOrReturn(CheckConstraintType("colorControlOptions", "", "map8")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeOptions_20() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t colorControlOptionsArgument = 0; + + return cluster.WriteAttributeColorControlOptions(mOnSuccessCallback_20.Cancel(), mOnFailureCallback_20.Cancel(), + colorControlOptionsArgument); + } + + void OnFailureResponse_20(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_20(uint8_t colorControlOptions) { NextTest(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeOptions_21() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorControlOptions(mOnSuccessCallback_21.Cancel(), mOnFailureCallback_21.Cancel()); + } + + void OnFailureResponse_21(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_21(uint8_t colorControlOptions) + { + VerifyOrReturn(CheckValue("colorControlOptions", colorControlOptions, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeEnhancedCurrentHue_22() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeEnhancedCurrentHue(mOnSuccessCallback_22.Cancel(), mOnFailureCallback_22.Cancel()); + } + + void OnFailureResponse_22(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_22(uint16_t enhancedCurrentHue) + { + VerifyOrReturn(CheckValue("enhancedCurrentHue", enhancedCurrentHue, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeEnhancedCurrentHue_23() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeEnhancedCurrentHue(mOnSuccessCallback_23.Cancel(), mOnFailureCallback_23.Cancel()); + } + + void OnFailureResponse_23(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_23(uint16_t enhancedCurrentHue) + { + VerifyOrReturn(CheckConstraintType("enhancedCurrentHue", "", "uint16")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeEnhancedCurrentHue_24() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t enhancedCurrentHueArgument = 0U; + + return cluster.WriteAttributeEnhancedCurrentHue(mOnSuccessCallback_24.Cancel(), mOnFailureCallback_24.Cancel(), + enhancedCurrentHueArgument); + } + + void OnFailureResponse_24(uint8_t status) { NextTest(); } + + void OnSuccessResponse_24(uint16_t enhancedCurrentHue) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeEnhancedCurrentHue_25() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeEnhancedCurrentHue(mOnSuccessCallback_25.Cancel(), mOnFailureCallback_25.Cancel()); + } + + void OnFailureResponse_25(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_25(uint16_t enhancedCurrentHue) + { + VerifyOrReturn(CheckValue("enhancedCurrentHue", enhancedCurrentHue, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeEnhancedColorMode_26() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeEnhancedColorMode(mOnSuccessCallback_26.Cancel(), mOnFailureCallback_26.Cancel()); + } + + void OnFailureResponse_26(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_26(uint8_t enhancedColorMode) + { + VerifyOrReturn(CheckConstraintType("enhancedColorMode", "", "enum8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorLoopActive_27() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopActive(mOnSuccessCallback_27.Cancel(), mOnFailureCallback_27.Cancel()); + } + + void OnFailureResponse_27(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_27(uint8_t colorLoopActive) + { + VerifyOrReturn(CheckValue("colorLoopActive", colorLoopActive, 0)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorLoopActive_28() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopActive(mOnSuccessCallback_28.Cancel(), mOnFailureCallback_28.Cancel()); + } + + void OnFailureResponse_28(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_28(uint8_t colorLoopActive) + { + VerifyOrReturn(CheckConstraintType("colorLoopActive", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorLoopActive_29() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t colorLoopActiveArgument = 0; + + return cluster.WriteAttributeColorLoopActive(mOnSuccessCallback_29.Cancel(), mOnFailureCallback_29.Cancel(), + colorLoopActiveArgument); + } + + void OnFailureResponse_29(uint8_t status) { NextTest(); } + + void OnSuccessResponse_29(uint8_t colorLoopActive) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorLoopActive_30() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopActive(mOnSuccessCallback_30.Cancel(), mOnFailureCallback_30.Cancel()); + } + + void OnFailureResponse_30(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_30(uint8_t colorLoopActive) + { + VerifyOrReturn(CheckValue("colorLoopActive", colorLoopActive, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorLoopDirection_31() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_31.Cancel(), mOnFailureCallback_31.Cancel()); + } + + void OnFailureResponse_31(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_31(uint8_t colorLoopDirection) + { + VerifyOrReturn(CheckValue("colorLoopDirection", colorLoopDirection, 0)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorLoopDirection_32() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_32.Cancel(), mOnFailureCallback_32.Cancel()); + } + + void OnFailureResponse_32(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_32(uint8_t colorLoopDirection) + { + VerifyOrReturn(CheckConstraintType("colorLoopDirection", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorLoopDirection_33() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t colorLoopDirectionArgument = 0; + + return cluster.WriteAttributeColorLoopDirection(mOnSuccessCallback_33.Cancel(), mOnFailureCallback_33.Cancel(), + colorLoopDirectionArgument); + } + + void OnFailureResponse_33(uint8_t status) { NextTest(); } + + void OnSuccessResponse_33(uint8_t colorLoopDirection) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorLoopDirection_34() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_34.Cancel(), mOnFailureCallback_34.Cancel()); + } + + void OnFailureResponse_34(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_34(uint8_t colorLoopDirection) + { + VerifyOrReturn(CheckValue("colorLoopDirection", colorLoopDirection, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorLoopTime_35() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopTime(mOnSuccessCallback_35.Cancel(), mOnFailureCallback_35.Cancel()); + } + + void OnFailureResponse_35(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_35(uint16_t colorLoopTime) + { + VerifyOrReturn(CheckValue("colorLoopTime", colorLoopTime, 25U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorLoopTime_36() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopTime(mOnSuccessCallback_36.Cancel(), mOnFailureCallback_36.Cancel()); + } + + void OnFailureResponse_36(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_36(uint16_t colorLoopTime) + { + VerifyOrReturn(CheckConstraintType("colorLoopTime", "", "uint16")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorLoopTime_37() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorLoopTimeArgument = 25U; + + return cluster.WriteAttributeColorLoopTime(mOnSuccessCallback_37.Cancel(), mOnFailureCallback_37.Cancel(), + colorLoopTimeArgument); + } + + void OnFailureResponse_37(uint8_t status) { NextTest(); } + + void OnSuccessResponse_37(uint16_t colorLoopTime) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorLoopTime_38() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopTime(mOnSuccessCallback_38.Cancel(), mOnFailureCallback_38.Cancel()); + } + + void OnFailureResponse_38(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_38(uint16_t colorLoopTime) + { + VerifyOrReturn(CheckValue("colorLoopTime", colorLoopTime, 25U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorLoopStartEnhancedHue_39() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStartEnhancedHue(mOnSuccessCallback_39.Cancel(), mOnFailureCallback_39.Cancel()); + } + + void OnFailureResponse_39(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_39(uint16_t colorLoopStartEnhancedHue) + { + VerifyOrReturn(CheckValue("colorLoopStartEnhancedHue", colorLoopStartEnhancedHue, 8960U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorLoopStartEnhancedHue_40() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStartEnhancedHue(mOnSuccessCallback_40.Cancel(), mOnFailureCallback_40.Cancel()); + } + + void OnFailureResponse_40(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_40(uint16_t colorLoopStartEnhancedHue) + { + VerifyOrReturn(CheckConstraintType("colorLoopStartEnhancedHue", "", "uint16")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorLoopStartEnhancedHue_41() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorLoopStartEnhancedHueArgument = 8960U; + + return cluster.WriteAttributeColorLoopStartEnhancedHue(mOnSuccessCallback_41.Cancel(), mOnFailureCallback_41.Cancel(), + colorLoopStartEnhancedHueArgument); + } + + void OnFailureResponse_41(uint8_t status) { NextTest(); } + + void OnSuccessResponse_41(uint16_t colorLoopStartEnhancedHue) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorLoopStartEnhancedHue_42() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStartEnhancedHue(mOnSuccessCallback_42.Cancel(), mOnFailureCallback_42.Cancel()); + } + + void OnFailureResponse_42(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_42(uint16_t colorLoopStartEnhancedHue) + { + VerifyOrReturn(CheckValue("colorLoopStartEnhancedHue", colorLoopStartEnhancedHue, 8960U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorLoopStoredEnhancedHue_43() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStoredEnhancedHue(mOnSuccessCallback_43.Cancel(), mOnFailureCallback_43.Cancel()); + } + + void OnFailureResponse_43(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_43(uint16_t colorLoopStoredEnhancedHue) + { + VerifyOrReturn(CheckValue("colorLoopStoredEnhancedHue", colorLoopStoredEnhancedHue, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorLoopStoredEnhancedHue_44() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStoredEnhancedHue(mOnSuccessCallback_44.Cancel(), mOnFailureCallback_44.Cancel()); + } + + void OnFailureResponse_44(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_44(uint16_t colorLoopStoredEnhancedHue) + { + VerifyOrReturn(CheckConstraintType("colorLoopStoredEnhancedHue", "", "uint16")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorLoopStoredEnhancedHue_45() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorLoopStoredEnhancedHueArgument = 0U; + + return cluster.WriteAttributeColorLoopStoredEnhancedHue(mOnSuccessCallback_45.Cancel(), mOnFailureCallback_45.Cancel(), + colorLoopStoredEnhancedHueArgument); + } + + void OnFailureResponse_45(uint8_t status) { NextTest(); } + + void OnSuccessResponse_45(uint16_t colorLoopStoredEnhancedHue) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorLoopStoredEnhancedHue_46() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorLoopStoredEnhancedHue(mOnSuccessCallback_46.Cancel(), mOnFailureCallback_46.Cancel()); + } + + void OnFailureResponse_46(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_46(uint16_t colorLoopStoredEnhancedHue) + { + VerifyOrReturn(CheckValue("colorLoopStoredEnhancedHue", colorLoopStoredEnhancedHue, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorCapabilities_47() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorCapabilities(mOnSuccessCallback_47.Cancel(), mOnFailureCallback_47.Cancel()); + } + + void OnFailureResponse_47(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_47(uint16_t colorCapabilities) + { + VerifyOrReturn(CheckValue("colorCapabilities", colorCapabilities, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorCapabilities_48() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorCapabilities(mOnSuccessCallback_48.Cancel(), mOnFailureCallback_48.Cancel()); + } + + void OnFailureResponse_48(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_48(uint16_t colorCapabilities) + { + VerifyOrReturn(CheckConstraintType("colorCapabilities", "", "map16")); + VerifyOrReturn(CheckConstraintMaxValue("colorCapabilities", colorCapabilities, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorCapabilities_49() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorCapabilitiesArgument = 0U; + + return cluster.WriteAttributeColorCapabilities(mOnSuccessCallback_49.Cancel(), mOnFailureCallback_49.Cancel(), + colorCapabilitiesArgument); + } + + void OnFailureResponse_49(uint8_t status) { NextTest(); } + + void OnSuccessResponse_49(uint16_t colorCapabilities) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorCapabilities_50() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorCapabilities(mOnSuccessCallback_50.Cancel(), mOnFailureCallback_50.Cancel()); + } + + void OnFailureResponse_50(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_50(uint16_t colorCapabilities) + { + VerifyOrReturn(CheckValue("colorCapabilities", colorCapabilities, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorTempPhysicalMinMireds_51() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMin(mOnSuccessCallback_51.Cancel(), mOnFailureCallback_51.Cancel()); + } + + void OnFailureResponse_51(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_51(uint16_t colorTempPhysicalMin) + { + VerifyOrReturn(CheckValue("colorTempPhysicalMin", colorTempPhysicalMin, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorTempPhysicalMinMireds_52() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMin(mOnSuccessCallback_52.Cancel(), mOnFailureCallback_52.Cancel()); + } + + void OnFailureResponse_52(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_52(uint16_t colorTempPhysicalMin) + { + VerifyOrReturn(CheckConstraintType("colorTempPhysicalMin", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorTempPhysicalMin", colorTempPhysicalMin, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorTempPhysicalMinMireds_53() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorTempPhysicalMinArgument = 0U; + + return cluster.WriteAttributeColorTempPhysicalMin(mOnSuccessCallback_53.Cancel(), mOnFailureCallback_53.Cancel(), + colorTempPhysicalMinArgument); + } + + void OnFailureResponse_53(uint8_t status) { NextTest(); } + + void OnSuccessResponse_53(uint16_t colorTempPhysicalMin) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorTempPhysicalMinMireds_54() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMin(mOnSuccessCallback_54.Cancel(), mOnFailureCallback_54.Cancel()); + } + + void OnFailureResponse_54(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_54(uint16_t colorTempPhysicalMin) + { + VerifyOrReturn(CheckValue("colorTempPhysicalMin", colorTempPhysicalMin, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeColorTempPhysicalMaxMireds_55() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMax(mOnSuccessCallback_55.Cancel(), mOnFailureCallback_55.Cancel()); + } + + void OnFailureResponse_55(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_55(uint16_t colorTempPhysicalMax) + { + VerifyOrReturn(CheckValue("colorTempPhysicalMax", colorTempPhysicalMax, 65279U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeColorTempPhysicalMaxMireds_56() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMax(mOnSuccessCallback_56.Cancel(), mOnFailureCallback_56.Cancel()); + } + + void OnFailureResponse_56(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_56(uint16_t colorTempPhysicalMax) + { + VerifyOrReturn(CheckConstraintType("colorTempPhysicalMax", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorTempPhysicalMax", colorTempPhysicalMax, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToMandatoryAttributeColorTempPhysicalMaxMireds_57() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorTempPhysicalMaxArgument = 65279U; + + return cluster.WriteAttributeColorTempPhysicalMax(mOnSuccessCallback_57.Cancel(), mOnFailureCallback_57.Cancel(), + colorTempPhysicalMaxArgument); + } + + void OnFailureResponse_57(uint8_t status) { NextTest(); } + + void OnSuccessResponse_57(uint16_t colorTempPhysicalMax) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackMandatoryAttributeColorTempPhysicalMaxMireds_58() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorTempPhysicalMax(mOnSuccessCallback_58.Cancel(), mOnFailureCallback_58.Cancel()); + } + + void OnFailureResponse_58(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_58(uint16_t colorTempPhysicalMax) + { + VerifyOrReturn(CheckValue("colorTempPhysicalMax", colorTempPhysicalMax, 65279U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeCoupleColorTempToLevelMinMireds_59() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCoupleColorTempToLevelMinMireds(mOnSuccessCallback_59.Cancel(), mOnFailureCallback_59.Cancel()); + } + + void OnFailureResponse_59(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_59(uint16_t coupleColorTempToLevelMinMireds) + { + VerifyOrReturn(CheckConstraintType("coupleColorTempToLevelMinMireds", "", "uint16")); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToOptionalAttributeCoupleColorTempToLevelMinMireds_60() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t coupleColorTempToLevelMinMiredsArgument = 0U; + + return cluster.WriteAttributeCoupleColorTempToLevelMinMireds(mOnSuccessCallback_60.Cancel(), mOnFailureCallback_60.Cancel(), + coupleColorTempToLevelMinMiredsArgument); + } + + void OnFailureResponse_60(uint8_t status) { NextTest(); } + + void OnSuccessResponse_60(uint16_t coupleColorTempToLevelMinMireds) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackOptionalAttributeCoupleColorTempToLevelMinMireds_61() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCoupleColorTempToLevelMinMireds(mOnSuccessCallback_61.Cancel(), mOnFailureCallback_61.Cancel()); + } + + void OnFailureResponse_61(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_61(uint16_t coupleColorTempToLevelMinMireds) + { + VerifyOrReturn(CheckValue("coupleColorTempToLevelMinMireds", coupleColorTempToLevelMinMireds, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeStartUpColorTemperatureMireds_62() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeStartUpColorTemperatureMireds(mOnSuccessCallback_62.Cancel(), mOnFailureCallback_62.Cancel()); + } + + void OnFailureResponse_62(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_62(uint16_t startUpColorTemperatureMireds) + { + VerifyOrReturn(CheckConstraintType("startUpColorTemperatureMireds", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("startUpColorTemperatureMireds", startUpColorTemperatureMireds, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToOptionalAttributeStartUpColorTemperatureMireds_63() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t startUpColorTemperatureMiredsArgument = 0U; + + return cluster.WriteAttributeStartUpColorTemperatureMireds(mOnSuccessCallback_63.Cancel(), mOnFailureCallback_63.Cancel(), + startUpColorTemperatureMiredsArgument); + } + + void OnFailureResponse_63(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_63(uint16_t startUpColorTemperatureMireds) { NextTest(); } + + CHIP_ERROR TestReadsBackOptionalAttributeStartUpColorTemperatureMireds_64() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeStartUpColorTemperatureMireds(mOnSuccessCallback_64.Cancel(), mOnFailureCallback_64.Cancel()); + } + + void OnFailureResponse_64(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_64(uint16_t startUpColorTemperatureMireds) + { + VerifyOrReturn(CheckValue("startUpColorTemperatureMireds", startUpColorTemperatureMireds, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeRemainingTime_65() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeRemainingTime(mOnSuccessCallback_65.Cancel(), mOnFailureCallback_65.Cancel()); + } + + void OnFailureResponse_65(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_65(uint16_t remainingTime) + { + VerifyOrReturn(CheckValue("remainingTime", remainingTime, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributeRemainingTime_66() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeRemainingTime(mOnSuccessCallback_66.Cancel(), mOnFailureCallback_66.Cancel()); + } + + void OnFailureResponse_66(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_66(uint16_t remainingTime) + { + VerifyOrReturn(CheckConstraintType("remainingTime", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("remainingTime", remainingTime, 254)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToOptionalAttributeRemainingTime_67() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t remainingTimeArgument = 0U; + + return cluster.WriteAttributeRemainingTime(mOnSuccessCallback_67.Cancel(), mOnFailureCallback_67.Cancel(), + remainingTimeArgument); + } + + void OnFailureResponse_67(uint8_t status) { NextTest(); } + + void OnSuccessResponse_67(uint16_t remainingTime) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackOptionalAttributeRemainingTime_68() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeRemainingTime(mOnSuccessCallback_68.Cancel(), mOnFailureCallback_68.Cancel()); + } + + void OnFailureResponse_68(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_68(uint16_t remainingTime) + { + VerifyOrReturn(CheckValue("remainingTime", remainingTime, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeDriftCompensation_69() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeDriftCompensation(mOnSuccessCallback_69.Cancel(), mOnFailureCallback_69.Cancel()); + } + + void OnFailureResponse_69(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_69(uint8_t driftCompensation) + { + VerifyOrReturn(CheckConstraintType("driftCompensation", "", "enum8")); + VerifyOrReturn(CheckConstraintMaxValue("driftCompensation", driftCompensation, 4)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultValuesToOptionalAttributeDriftCompensation_70() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t driftCompensationArgument = static_cast(0); + + return cluster.WriteAttributeDriftCompensation(mOnSuccessCallback_70.Cancel(), mOnFailureCallback_70.Cancel(), + driftCompensationArgument); + } + + void OnFailureResponse_70(uint8_t status) { NextTest(); } + + void OnSuccessResponse_70(uint8_t driftCompensation) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadsBackOptionalAttributeDriftCompensation_71() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeDriftCompensation(mOnSuccessCallback_71.Cancel(), mOnFailureCallback_71.Cancel()); + } + + void OnFailureResponse_71(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_71(uint8_t driftCompensation) + { + VerifyOrReturn(CheckValue("driftCompensation", driftCompensation, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeCompensationText_72() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeCompensationText(mOnSuccessCallback_72.Cancel(), mOnFailureCallback_72.Cancel()); + } + + void OnFailureResponse_72(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_72(chip::CharSpan compensationText) + { + VerifyOrReturn(CheckConstraintType("compensationText", "", "string")); + VerifyOrReturn(CheckConstraintMaxLength("compensationText", compensationText.size(), 254)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributeNumberOfPrimaries_73() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeNumberOfPrimaries(mOnSuccessCallback_73.Cancel(), mOnFailureCallback_73.Cancel()); + } + + void OnFailureResponse_73(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_73(uint8_t numberOfPrimaries) + { + VerifyOrReturn(CheckConstraintType("numberOfPrimaries", "", "uint8")); + VerifyOrReturn(CheckConstraintMaxValue("numberOfPrimaries", numberOfPrimaries, 6)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributeNumberOfPrimaries_74() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint8_t numberOfPrimariesArgument = 0; + + return cluster.WriteAttributeNumberOfPrimaries(mOnSuccessCallback_74.Cancel(), mOnFailureCallback_74.Cancel(), + numberOfPrimariesArgument); + } + + void OnFailureResponse_74(uint8_t status) { NextTest(); } + + void OnSuccessResponse_74(uint8_t numberOfPrimaries) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributeNumberOfPrimaries_75() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeNumberOfPrimaries(mOnSuccessCallback_75.Cancel(), mOnFailureCallback_75.Cancel()); + } + + void OnFailureResponse_75(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_75(uint8_t numberOfPrimaries) + { + VerifyOrReturn(CheckValue("numberOfPrimaries", numberOfPrimaries, 0)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary1X_76() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary1X(mOnSuccessCallback_76.Cancel(), mOnFailureCallback_76.Cancel()); + } + + void OnFailureResponse_76(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_76(uint16_t primary1X) + { + VerifyOrReturn(CheckConstraintType("primary1X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary1X", primary1X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary1X_77() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary1XArgument = 0U; + + return cluster.WriteAttributePrimary1X(mOnSuccessCallback_77.Cancel(), mOnFailureCallback_77.Cancel(), primary1XArgument); + } + + void OnFailureResponse_77(uint8_t status) { NextTest(); } + + void OnSuccessResponse_77(uint16_t primary1X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary1X_78() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary1X(mOnSuccessCallback_78.Cancel(), mOnFailureCallback_78.Cancel()); + } + + void OnFailureResponse_78(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_78(uint16_t primary1X) + { + VerifyOrReturn(CheckValue("primary1X", primary1X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary1Y_79() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary1Y(mOnSuccessCallback_79.Cancel(), mOnFailureCallback_79.Cancel()); + } + + void OnFailureResponse_79(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_79(uint16_t primary1Y) + { + VerifyOrReturn(CheckConstraintType("primary1Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary1Y", primary1Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary1Y_80() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary1YArgument = 0U; + + return cluster.WriteAttributePrimary1Y(mOnSuccessCallback_80.Cancel(), mOnFailureCallback_80.Cancel(), primary1YArgument); + } + + void OnFailureResponse_80(uint8_t status) { NextTest(); } + + void OnSuccessResponse_80(uint16_t primary1Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary1Y_81() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary1Y(mOnSuccessCallback_81.Cancel(), mOnFailureCallback_81.Cancel()); + } + + void OnFailureResponse_81(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_81(uint16_t primary1Y) + { + VerifyOrReturn(CheckValue("primary1Y", primary1Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary1Intensity_82() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary1Intensity(mOnSuccessCallback_82.Cancel(), mOnFailureCallback_82.Cancel()); + } + + void OnFailureResponse_82(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_82(uint8_t primary1Intensity) + { + VerifyOrReturn(CheckConstraintType("primary1Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary2X_83() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary2X(mOnSuccessCallback_83.Cancel(), mOnFailureCallback_83.Cancel()); + } + + void OnFailureResponse_83(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_83(uint16_t primary2X) + { + VerifyOrReturn(CheckConstraintType("primary2X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary2X", primary2X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary2X_84() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary2XArgument = 0U; + + return cluster.WriteAttributePrimary2X(mOnSuccessCallback_84.Cancel(), mOnFailureCallback_84.Cancel(), primary2XArgument); + } + + void OnFailureResponse_84(uint8_t status) { NextTest(); } + + void OnSuccessResponse_84(uint16_t primary2X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary2X_85() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary2X(mOnSuccessCallback_85.Cancel(), mOnFailureCallback_85.Cancel()); + } + + void OnFailureResponse_85(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_85(uint16_t primary2X) + { + VerifyOrReturn(CheckValue("primary2X", primary2X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary2Y_86() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary2Y(mOnSuccessCallback_86.Cancel(), mOnFailureCallback_86.Cancel()); + } + + void OnFailureResponse_86(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_86(uint16_t primary2Y) + { + VerifyOrReturn(CheckConstraintType("primary2Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary2Y", primary2Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary2Y_87() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary2YArgument = 0U; + + return cluster.WriteAttributePrimary2Y(mOnSuccessCallback_87.Cancel(), mOnFailureCallback_87.Cancel(), primary2YArgument); + } + + void OnFailureResponse_87(uint8_t status) { NextTest(); } + + void OnSuccessResponse_87(uint16_t primary2Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary2Y_88() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary2Y(mOnSuccessCallback_88.Cancel(), mOnFailureCallback_88.Cancel()); + } + + void OnFailureResponse_88(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_88(uint16_t primary2Y) + { + VerifyOrReturn(CheckValue("primary2Y", primary2Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestValidateConstraintsOfAttributePrimary2Intensity_89() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary2Intensity(mOnSuccessCallback_89.Cancel(), mOnFailureCallback_89.Cancel()); + } + + void OnFailureResponse_89(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_89(uint8_t primary2Intensity) + { + VerifyOrReturn(CheckConstraintType("primary2Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary3X_90() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary3X(mOnSuccessCallback_90.Cancel(), mOnFailureCallback_90.Cancel()); + } + + void OnFailureResponse_90(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_90(uint16_t primary3X) + { + VerifyOrReturn(CheckConstraintType("primary3X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary3X", primary3X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary3X_91() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary3XArgument = 0U; + + return cluster.WriteAttributePrimary3X(mOnSuccessCallback_91.Cancel(), mOnFailureCallback_91.Cancel(), primary3XArgument); + } + + void OnFailureResponse_91(uint8_t status) { NextTest(); } + + void OnSuccessResponse_91(uint16_t primary3X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary3X_92() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary3X(mOnSuccessCallback_92.Cancel(), mOnFailureCallback_92.Cancel()); + } + + void OnFailureResponse_92(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_92(uint16_t primary3X) + { + VerifyOrReturn(CheckValue("primary3X", primary3X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary3Y_93() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary3Y(mOnSuccessCallback_93.Cancel(), mOnFailureCallback_93.Cancel()); + } + + void OnFailureResponse_93(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_93(uint16_t primary3Y) + { + VerifyOrReturn(CheckConstraintType("primary3Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary3Y", primary3Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary3Y_94() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary3YArgument = 0U; + + return cluster.WriteAttributePrimary3Y(mOnSuccessCallback_94.Cancel(), mOnFailureCallback_94.Cancel(), primary3YArgument); + } + + void OnFailureResponse_94(uint8_t status) { NextTest(); } + + void OnSuccessResponse_94(uint16_t primary3Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary3Y_95() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary3Y(mOnSuccessCallback_95.Cancel(), mOnFailureCallback_95.Cancel()); + } + + void OnFailureResponse_95(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_95(uint16_t primary3Y) + { + VerifyOrReturn(CheckValue("primary3Y", primary3Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary3Intensity_96() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary3Intensity(mOnSuccessCallback_96.Cancel(), mOnFailureCallback_96.Cancel()); + } + + void OnFailureResponse_96(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_96(uint8_t primary3Intensity) + { + VerifyOrReturn(CheckConstraintType("primary3Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary4X_97() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary4X(mOnSuccessCallback_97.Cancel(), mOnFailureCallback_97.Cancel()); + } + + void OnFailureResponse_97(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_97(uint16_t primary4X) + { + VerifyOrReturn(CheckConstraintType("primary4X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary4X", primary4X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary4X_98() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary4XArgument = 0U; + + return cluster.WriteAttributePrimary4X(mOnSuccessCallback_98.Cancel(), mOnFailureCallback_98.Cancel(), primary4XArgument); + } + + void OnFailureResponse_98(uint8_t status) { NextTest(); } + + void OnSuccessResponse_98(uint16_t primary4X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary4X_99() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary4X(mOnSuccessCallback_99.Cancel(), mOnFailureCallback_99.Cancel()); + } + + void OnFailureResponse_99(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_99(uint16_t primary4X) + { + VerifyOrReturn(CheckValue("primary4X", primary4X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary4Y_100() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary4Y(mOnSuccessCallback_100.Cancel(), mOnFailureCallback_100.Cancel()); + } + + void OnFailureResponse_100(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_100(uint16_t primary4Y) + { + VerifyOrReturn(CheckConstraintType("primary4Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary4Y", primary4Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary4Y_101() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary4YArgument = 0U; + + return cluster.WriteAttributePrimary4Y(mOnSuccessCallback_101.Cancel(), mOnFailureCallback_101.Cancel(), primary4YArgument); + } + + void OnFailureResponse_101(uint8_t status) { NextTest(); } + + void OnSuccessResponse_101(uint16_t primary4Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary4Y_102() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary4Y(mOnSuccessCallback_102.Cancel(), mOnFailureCallback_102.Cancel()); + } + + void OnFailureResponse_102(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_102(uint16_t primary4Y) + { + VerifyOrReturn(CheckValue("primary4Y", primary4Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary4Intensity_103() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary4Intensity(mOnSuccessCallback_103.Cancel(), mOnFailureCallback_103.Cancel()); + } + + void OnFailureResponse_103(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_103(uint8_t primary4Intensity) + { + VerifyOrReturn(CheckConstraintType("primary4Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary5X_104() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary5X(mOnSuccessCallback_104.Cancel(), mOnFailureCallback_104.Cancel()); + } + + void OnFailureResponse_104(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_104(uint16_t primary5X) + { + VerifyOrReturn(CheckConstraintType("primary5X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary5X", primary5X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary5X_105() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary5XArgument = 0U; + + return cluster.WriteAttributePrimary5X(mOnSuccessCallback_105.Cancel(), mOnFailureCallback_105.Cancel(), primary5XArgument); + } + + void OnFailureResponse_105(uint8_t status) { NextTest(); } + + void OnSuccessResponse_105(uint16_t primary5X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary5X_106() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary5X(mOnSuccessCallback_106.Cancel(), mOnFailureCallback_106.Cancel()); + } + + void OnFailureResponse_106(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_106(uint16_t primary5X) + { + VerifyOrReturn(CheckValue("primary5X", primary5X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary5Y_107() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary5Y(mOnSuccessCallback_107.Cancel(), mOnFailureCallback_107.Cancel()); + } + + void OnFailureResponse_107(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_107(uint16_t primary5Y) + { + VerifyOrReturn(CheckConstraintType("primary5Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary5Y", primary5Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary5Y_108() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary5YArgument = 0U; + + return cluster.WriteAttributePrimary5Y(mOnSuccessCallback_108.Cancel(), mOnFailureCallback_108.Cancel(), primary5YArgument); + } + + void OnFailureResponse_108(uint8_t status) { NextTest(); } + + void OnSuccessResponse_108(uint16_t primary5Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary5Y_109() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary5Y(mOnSuccessCallback_109.Cancel(), mOnFailureCallback_109.Cancel()); + } + + void OnFailureResponse_109(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_109(uint16_t primary5Y) + { + VerifyOrReturn(CheckValue("primary5Y", primary5Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary5Intensity_110() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary5Intensity(mOnSuccessCallback_110.Cancel(), mOnFailureCallback_110.Cancel()); + } + + void OnFailureResponse_110(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_110(uint8_t primary5Intensity) + { + VerifyOrReturn(CheckConstraintType("primary5Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary6X_111() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary6X(mOnSuccessCallback_111.Cancel(), mOnFailureCallback_111.Cancel()); + } + + void OnFailureResponse_111(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_111(uint16_t primary6X) + { + VerifyOrReturn(CheckConstraintType("primary6X", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary6X", primary6X, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary6X_112() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary6XArgument = 0U; + + return cluster.WriteAttributePrimary6X(mOnSuccessCallback_112.Cancel(), mOnFailureCallback_112.Cancel(), primary6XArgument); + } + + void OnFailureResponse_112(uint8_t status) { NextTest(); } + + void OnSuccessResponse_112(uint16_t primary6X) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary6X_113() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary6X(mOnSuccessCallback_113.Cancel(), mOnFailureCallback_113.Cancel()); + } + + void OnFailureResponse_113(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_113(uint16_t primary6X) + { + VerifyOrReturn(CheckValue("primary6X", primary6X, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary6Y_114() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary6Y(mOnSuccessCallback_114.Cancel(), mOnFailureCallback_114.Cancel()); + } + + void OnFailureResponse_114(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_114(uint16_t primary6Y) + { + VerifyOrReturn(CheckConstraintType("primary6Y", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("primary6Y", primary6Y, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultMandatoryAttributePrimary6Y_115() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t primary6YArgument = 0U; + + return cluster.WriteAttributePrimary6Y(mOnSuccessCallback_115.Cancel(), mOnFailureCallback_115.Cancel(), primary6YArgument); + } + + void OnFailureResponse_115(uint8_t status) { NextTest(); } + + void OnSuccessResponse_115(uint16_t primary6Y) { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadBackTheMandatoryAttributePrimary6Y_116() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary6Y(mOnSuccessCallback_116.Cancel(), mOnFailureCallback_116.Cancel()); + } + + void OnFailureResponse_116(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_116(uint16_t primary6Y) + { + VerifyOrReturn(CheckValue("primary6Y", primary6Y, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheMandatoryAttributePrimary6Intensity_117() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributePrimary6Intensity(mOnSuccessCallback_117.Cancel(), mOnFailureCallback_117.Cancel()); + } + + void OnFailureResponse_117(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_117(uint8_t primary6Intensity) + { + VerifyOrReturn(CheckConstraintType("primary6Intensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeWhitePointX_118() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeWhitePointX(mOnSuccessCallback_118.Cancel(), mOnFailureCallback_118.Cancel()); + } + + void OnFailureResponse_118(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_118(uint16_t whitePointX) + { + VerifyOrReturn(CheckConstraintType("whitePointX", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("whitePointX", whitePointX, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeWhitePointX_119() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t whitePointXArgument = 0U; + + return cluster.WriteAttributeWhitePointX(mOnSuccessCallback_119.Cancel(), mOnFailureCallback_119.Cancel(), + whitePointXArgument); + } + + void OnFailureResponse_119(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_119(uint16_t whitePointX) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeWhitePointX_120() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeWhitePointX(mOnSuccessCallback_120.Cancel(), mOnFailureCallback_120.Cancel()); + } + + void OnFailureResponse_120(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_120(uint16_t whitePointX) + { + VerifyOrReturn(CheckValue("whitePointX", whitePointX, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeWhitePointY_121() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeWhitePointY(mOnSuccessCallback_121.Cancel(), mOnFailureCallback_121.Cancel()); + } + + void OnFailureResponse_121(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_121(uint16_t whitePointY) + { + VerifyOrReturn(CheckConstraintType("whitePointY", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("whitePointY", whitePointY, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeWhitePointY_122() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t whitePointYArgument = 0U; + + return cluster.WriteAttributeWhitePointY(mOnSuccessCallback_122.Cancel(), mOnFailureCallback_122.Cancel(), + whitePointYArgument); + } + + void OnFailureResponse_122(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_122(uint16_t whitePointY) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeWhitePointY_123() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeWhitePointY(mOnSuccessCallback_123.Cancel(), mOnFailureCallback_123.Cancel()); + } + + void OnFailureResponse_123(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_123(uint16_t whitePointY) + { + VerifyOrReturn(CheckValue("whitePointY", whitePointY, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointRX_124() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointRX(mOnSuccessCallback_124.Cancel(), mOnFailureCallback_124.Cancel()); + } + + void OnFailureResponse_124(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_124(uint16_t colorPointRX) + { + VerifyOrReturn(CheckConstraintType("colorPointRX", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointRX", colorPointRX, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointRX_125() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointRXArgument = 0U; + + return cluster.WriteAttributeColorPointRX(mOnSuccessCallback_125.Cancel(), mOnFailureCallback_125.Cancel(), + colorPointRXArgument); + } + + void OnFailureResponse_125(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_125(uint16_t colorPointRX) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointRX_126() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointRX(mOnSuccessCallback_126.Cancel(), mOnFailureCallback_126.Cancel()); + } + + void OnFailureResponse_126(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_126(uint16_t colorPointRX) + { + VerifyOrReturn(CheckValue("colorPointRX", colorPointRX, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointRY_127() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointRY(mOnSuccessCallback_127.Cancel(), mOnFailureCallback_127.Cancel()); + } + + void OnFailureResponse_127(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_127(uint16_t colorPointRY) + { + VerifyOrReturn(CheckConstraintType("colorPointRY", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointRY", colorPointRY, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointRY_128() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointRYArgument = 0U; + + return cluster.WriteAttributeColorPointRY(mOnSuccessCallback_128.Cancel(), mOnFailureCallback_128.Cancel(), + colorPointRYArgument); + } + + void OnFailureResponse_128(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_128(uint16_t colorPointRY) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointRY_129() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointRY(mOnSuccessCallback_129.Cancel(), mOnFailureCallback_129.Cancel()); + } + + void OnFailureResponse_129(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_129(uint16_t colorPointRY) + { + VerifyOrReturn(CheckValue("colorPointRY", colorPointRY, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointRIntensity_130() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointRIntensity(mOnSuccessCallback_130.Cancel(), mOnFailureCallback_130.Cancel()); + } + + void OnFailureResponse_130(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_130(uint8_t colorPointRIntensity) + { + VerifyOrReturn(CheckConstraintType("colorPointRIntensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointGX_131() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointGX(mOnSuccessCallback_131.Cancel(), mOnFailureCallback_131.Cancel()); + } + + void OnFailureResponse_131(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_131(uint16_t colorPointGX) + { + VerifyOrReturn(CheckConstraintType("colorPointGX", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointGX", colorPointGX, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointGX_132() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointGXArgument = 0U; + + return cluster.WriteAttributeColorPointGX(mOnSuccessCallback_132.Cancel(), mOnFailureCallback_132.Cancel(), + colorPointGXArgument); + } + + void OnFailureResponse_132(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_132(uint16_t colorPointGX) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointGX_133() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointGX(mOnSuccessCallback_133.Cancel(), mOnFailureCallback_133.Cancel()); + } + + void OnFailureResponse_133(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_133(uint16_t colorPointGX) + { + VerifyOrReturn(CheckValue("colorPointGX", colorPointGX, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointGY_134() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointGY(mOnSuccessCallback_134.Cancel(), mOnFailureCallback_134.Cancel()); + } + + void OnFailureResponse_134(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_134(uint16_t colorPointGY) + { + VerifyOrReturn(CheckConstraintType("colorPointGY", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointGY", colorPointGY, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointGY_135() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointGYArgument = 0U; + + return cluster.WriteAttributeColorPointGY(mOnSuccessCallback_135.Cancel(), mOnFailureCallback_135.Cancel(), + colorPointGYArgument); + } + + void OnFailureResponse_135(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_135(uint16_t colorPointGY) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointGY_136() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointGY(mOnSuccessCallback_136.Cancel(), mOnFailureCallback_136.Cancel()); + } + + void OnFailureResponse_136(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_136(uint16_t colorPointGY) + { + VerifyOrReturn(CheckValue("colorPointGY", colorPointGY, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointGIntensity_137() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointGIntensity(mOnSuccessCallback_137.Cancel(), mOnFailureCallback_137.Cancel()); + } + + void OnFailureResponse_137(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_137(uint8_t colorPointGIntensity) + { + VerifyOrReturn(CheckConstraintType("colorPointGIntensity", "", "uint8")); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointBX_138() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointBX(mOnSuccessCallback_138.Cancel(), mOnFailureCallback_138.Cancel()); + } + + void OnFailureResponse_138(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_138(uint16_t colorPointBX) + { + VerifyOrReturn(CheckConstraintType("colorPointBX", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointBX", colorPointBX, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointBX_139() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointBXArgument = 0U; + + return cluster.WriteAttributeColorPointBX(mOnSuccessCallback_139.Cancel(), mOnFailureCallback_139.Cancel(), + colorPointBXArgument); + } + + void OnFailureResponse_139(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_139(uint16_t colorPointBX) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointBX_140() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointBX(mOnSuccessCallback_140.Cancel(), mOnFailureCallback_140.Cancel()); + } + + void OnFailureResponse_140(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_140(uint16_t colorPointBX) + { + VerifyOrReturn(CheckValue("colorPointBX", colorPointBX, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointBY_141() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointBY(mOnSuccessCallback_141.Cancel(), mOnFailureCallback_141.Cancel()); + } + + void OnFailureResponse_141(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_141(uint16_t colorPointBY) + { + VerifyOrReturn(CheckConstraintType("colorPointBY", "", "uint16")); + VerifyOrReturn(CheckConstraintMaxValue("colorPointBY", colorPointBY, 65279)); + NextTest(); + } + + CHIP_ERROR TestWriteTheDefaultOptionalAttributeColorPointBY_142() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + uint16_t colorPointBYArgument = 0U; + + return cluster.WriteAttributeColorPointBY(mOnSuccessCallback_142.Cancel(), mOnFailureCallback_142.Cancel(), + colorPointBYArgument); + } + + void OnFailureResponse_142(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_142(uint16_t colorPointBY) { NextTest(); } + + CHIP_ERROR TestReadBackTheOptionalAttributeColorPointBY_143() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointBY(mOnSuccessCallback_143.Cancel(), mOnFailureCallback_143.Cancel()); + } + + void OnFailureResponse_143(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_143(uint16_t colorPointBY) + { + VerifyOrReturn(CheckValue("colorPointBY", colorPointBY, 0U)); + NextTest(); + } + + CHIP_ERROR TestReadTheOptionalAttributeColorPointBIntensity_144() + { + chip::Controller::ColorControlClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeColorPointBIntensity(mOnSuccessCallback_144.Cancel(), mOnFailureCallback_144.Cancel()); + } + + void OnFailureResponse_144(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_144(uint8_t colorPointBIntensity) + { + VerifyOrReturn(CheckConstraintType("colorPointBIntensity", "", "uint8")); + NextTest(); + } +}; + class Test_TC_CC_3_1 : public TestCommand { public: @@ -7270,7 +12018,7 @@ class Test_TC_OO_1_1 : public TestCommand void OnSuccessResponse_0(uint16_t clusterRevision) { - VerifyOrReturn(CheckValue("clusterRevision", clusterRevision, 3U)); + VerifyOrReturn(CheckValue("clusterRevision", clusterRevision, 4U)); NextTest(); } @@ -7301,7 +12049,7 @@ class Test_TC_OO_1_1 : public TestCommand void OnSuccessResponse_2(uint16_t clusterRevision) { - VerifyOrReturn(CheckValue("clusterRevision", clusterRevision, 3U)); + VerifyOrReturn(CheckValue("clusterRevision", clusterRevision, 4U)); NextTest(); } @@ -7721,7 +12469,7 @@ class Test_TC_OO_2_1 : public TestCommand chip::Controller::OnOffClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t startUpOnOffArgument = 0; + uint8_t startUpOnOffArgument = static_cast(0); return cluster.WriteAttributeStartUpOnOff(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel(), startUpOnOffArgument); @@ -9448,7 +14196,7 @@ class Test_TC_TSUIC_2_1 : public TestCommand chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t temperatureDisplayModeArgument = 0; + uint8_t temperatureDisplayModeArgument = static_cast(0); return cluster.WriteAttributeTemperatureDisplayMode(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), temperatureDisplayModeArgument); @@ -9527,7 +14275,7 @@ class Test_TC_TSUIC_2_1 : public TestCommand chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t keypadLockoutArgument = 0; + uint8_t keypadLockoutArgument = static_cast(0); return cluster.WriteAttributeKeypadLockout(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel(), keypadLockoutArgument); @@ -9606,7 +14354,7 @@ class Test_TC_TSUIC_2_1 : public TestCommand chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t scheduleProgrammingVisibilityArgument = 0; + uint8_t scheduleProgrammingVisibilityArgument = static_cast(0); return cluster.WriteAttributeScheduleProgrammingVisibility(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel(), scheduleProgrammingVisibilityArgument); @@ -13023,6 +17771,26 @@ class TestCluster : public TestCommand ChipLogProgress(chipTool, " ***** Test Step 121 : Send Test Command to unsupported endpoint\n"); err = TestSendTestCommandToUnsupportedEndpoint_121(); break; + case 122: + ChipLogProgress(chipTool, " ***** Test Step 122 : Read attribute vendor_id Default Value\n"); + err = TestReadAttributeVendorIdDefaultValue_122(); + break; + case 123: + ChipLogProgress(chipTool, " ***** Test Step 123 : Write attribute vendor_id\n"); + err = TestWriteAttributeVendorId_123(); + break; + case 124: + ChipLogProgress(chipTool, " ***** Test Step 124 : Read attribute vendor_id\n"); + err = TestReadAttributeVendorId_124(); + break; + case 125: + ChipLogProgress(chipTool, " ***** Test Step 125 : Restore attribute vendor_id\n"); + err = TestRestoreAttributeVendorId_125(); + break; + case 126: + ChipLogProgress(chipTool, " ***** Test Step 126 : Send a command with a vendor_id and enum\n"); + err = TestSendACommandWithAVendorIdAndEnum_126(); + break; } if (CHIP_NO_ERROR != err) @@ -13034,7 +17802,7 @@ class TestCluster : public TestCommand private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 122; + const uint16_t mTestCount = 127; chip::Callback::Callback mOnFailureCallback_5{ OnFailureCallback_5, this }; chip::Callback::Callback mOnSuccessCallback_5{ OnSuccessCallback_5, this }; @@ -13292,6 +18060,18 @@ class TestCluster : public TestCommand chip::Callback::Callback mOnSuccessCallback_119{ OnSuccessCallback_119, this }; chip::Callback::Callback mOnFailureCallback_120{ OnFailureCallback_120, this }; chip::Callback::Callback mOnSuccessCallback_120{ OnSuccessCallback_120, this }; + chip::Callback::Callback mOnFailureCallback_122{ OnFailureCallback_122, this }; + chip::Callback::Callback mOnSuccessCallback_122{ OnSuccessCallback_122, + this }; + chip::Callback::Callback mOnFailureCallback_123{ OnFailureCallback_123, this }; + chip::Callback::Callback mOnSuccessCallback_123{ OnSuccessCallback_123, + this }; + chip::Callback::Callback mOnFailureCallback_124{ OnFailureCallback_124, this }; + chip::Callback::Callback mOnSuccessCallback_124{ OnSuccessCallback_124, + this }; + chip::Callback::Callback mOnFailureCallback_125{ OnFailureCallback_125, this }; + chip::Callback::Callback mOnSuccessCallback_125{ OnSuccessCallback_125, + this }; static void OnFailureCallback_5(void * context, uint8_t status) { @@ -14456,6 +19236,46 @@ class TestCluster : public TestCommand (static_cast(context))->OnSuccessResponse_120(unsupported); } + static void OnFailureCallback_122(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_122(status); + } + + static void OnSuccessCallback_122(void * context, chip::VendorId vendorId) + { + (static_cast(context))->OnSuccessResponse_122(vendorId); + } + + static void OnFailureCallback_123(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_123(status); + } + + static void OnSuccessCallback_123(void * context, chip::VendorId vendorId) + { + (static_cast(context))->OnSuccessResponse_123(vendorId); + } + + static void OnFailureCallback_124(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_124(status); + } + + static void OnSuccessCallback_124(void * context, chip::VendorId vendorId) + { + (static_cast(context))->OnSuccessResponse_124(vendorId); + } + + static void OnFailureCallback_125(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_125(status); + } + + static void OnSuccessCallback_125(void * context, chip::VendorId vendorId) + { + (static_cast(context))->OnSuccessResponse_125(vendorId); + } + // // Tests methods // @@ -15721,7 +20541,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t enum8Argument = 255; + uint8_t enum8Argument = static_cast(255); return cluster.WriteAttributeEnum8(mOnSuccessCallback_79.Cancel(), mOnFailureCallback_79.Cancel(), enum8Argument); } @@ -15751,7 +20571,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - uint8_t enum8Argument = 0; + uint8_t enum8Argument = static_cast(0); return cluster.WriteAttributeEnum8(mOnSuccessCallback_81.Cancel(), mOnFailureCallback_81.Cancel(), enum8Argument); } @@ -15797,7 +20617,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - uint16_t enum16Argument = 65535U; + uint16_t enum16Argument = static_cast(65535U); return cluster.WriteAttributeEnum16(mOnSuccessCallback_84.Cancel(), mOnFailureCallback_84.Cancel(), enum16Argument); } @@ -15827,7 +20647,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - uint16_t enum16Argument = 0U; + uint16_t enum16Argument = static_cast(0U); return cluster.WriteAttributeEnum16(mOnSuccessCallback_86.Cancel(), mOnFailureCallback_86.Cancel(), enum16Argument); } @@ -16040,7 +20860,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - chip::ByteSpan charStringArgument = chip::ByteSpan(chip::Uint8::from_const_char("☉T☉"), strlen("☉T☉")); + chip::CharSpan charStringArgument = chip::CharSpan("☉T☉", strlen("☉T☉")); return cluster.WriteAttributeCharString(mOnSuccessCallback_99.Cancel(), mOnFailureCallback_99.Cancel(), charStringArgument); } @@ -16054,8 +20874,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - chip::ByteSpan charStringArgument = - chip::ByteSpan(chip::Uint8::from_const_char("☉TestValueLongerThan10☉"), strlen("☉TestValueLongerThan10☉")); + chip::CharSpan charStringArgument = chip::CharSpan("☉TestValueLongerThan10☉", strlen("☉TestValueLongerThan10☉")); return cluster.WriteAttributeCharString(mOnSuccessCallback_100.Cancel(), mOnFailureCallback_100.Cancel(), charStringArgument); @@ -16070,7 +20889,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - chip::ByteSpan charStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); + chip::CharSpan charStringArgument = chip::CharSpan("", strlen("")); return cluster.WriteAttributeCharString(mOnSuccessCallback_101.Cancel(), mOnFailureCallback_101.Cancel(), charStringArgument); @@ -16101,11 +20920,10 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - chip::ByteSpan longCharStringArgument = chip::ByteSpan( - chip::Uint8::from_const_char( - "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" - "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" - "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉"), + chip::CharSpan longCharStringArgument = chip::CharSpan( + "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" + "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" + "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉", strlen("☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉")); @@ -16143,7 +20961,7 @@ class TestCluster : public TestCommand chip::Controller::TestClusterClusterTest cluster; cluster.Associate(mDevice, 1); - chip::ByteSpan longCharStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); + chip::CharSpan longCharStringArgument = chip::CharSpan("", strlen("")); return cluster.WriteAttributeLongCharString(mOnSuccessCallback_105.Cancel(), mOnFailureCallback_105.Cancel(), longCharStringArgument); @@ -16415,6 +21233,98 @@ class TestCluster : public TestCommand void OnFailureResponse_121(uint8_t status) { NextTest(); } void OnSuccessResponse_121() { ThrowSuccessResponse(); } + + CHIP_ERROR TestReadAttributeVendorIdDefaultValue_122() + { + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeVendorId(mOnSuccessCallback_122.Cancel(), mOnFailureCallback_122.Cancel()); + } + + void OnFailureResponse_122(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_122(chip::VendorId vendorId) + { + VerifyOrReturn(CheckValue("vendorId", vendorId, 0U)); + NextTest(); + } + + CHIP_ERROR TestWriteAttributeVendorId_123() + { + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevice, 1); + + chip::VendorId vendorIdArgument = static_cast(17U); + + return cluster.WriteAttributeVendorId(mOnSuccessCallback_123.Cancel(), mOnFailureCallback_123.Cancel(), vendorIdArgument); + } + + void OnFailureResponse_123(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_123(chip::VendorId vendorId) { NextTest(); } + + CHIP_ERROR TestReadAttributeVendorId_124() + { + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevice, 1); + + return cluster.ReadAttributeVendorId(mOnSuccessCallback_124.Cancel(), mOnFailureCallback_124.Cancel()); + } + + void OnFailureResponse_124(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_124(chip::VendorId vendorId) + { + VerifyOrReturn(CheckValue("vendorId", vendorId, 17U)); + NextTest(); + } + + CHIP_ERROR TestRestoreAttributeVendorId_125() + { + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevice, 1); + + chip::VendorId vendorIdArgument = static_cast(0U); + + return cluster.WriteAttributeVendorId(mOnSuccessCallback_125.Cancel(), mOnFailureCallback_125.Cancel(), vendorIdArgument); + } + + void OnFailureResponse_125(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_125(chip::VendorId vendorId) { NextTest(); } + + CHIP_ERROR TestSendACommandWithAVendorIdAndEnum_126() + { + chip::Controller::TestClusterClusterTest cluster; + cluster.Associate(mDevice, 1); + + using requestType = chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type; + using responseType = chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType; + + chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type request; + request.arg1 = static_cast(20003); + request.arg2 = static_cast(101); + + auto success = [](void * context, const responseType & data) { + (static_cast(context))->OnSuccessResponse_126(data.arg1, data.arg2); + }; + + auto failure = [](void * context, EmberAfStatus status) { + (static_cast(context))->OnFailureResponse_126(status); + }; + return cluster.InvokeCommand(request, this, success, failure); + } + + void OnFailureResponse_126(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_126(chip::VendorId arg1, chip::app::Clusters::TestCluster::SimpleEnum arg2) + { + VerifyOrReturn(CheckValue("arg1", arg1, 20003U)); + + VerifyOrReturn(CheckValue("arg2", arg2, 101)); + NextTest(); + } }; class TestClusterComplexTypes : public TestCommand @@ -17224,6 +22134,179 @@ class TestDescriptorCluster : public TestCommand } }; +class TestBasicInformation : public TestCommand +{ +public: + TestBasicInformation() : TestCommand("TestBasicInformation"), mTestIndex(0) {} + + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; + + if (0 == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Start: TestBasicInformation\n"); + } + + if (mTestCount == mTestIndex) + { + ChipLogProgress(chipTool, " **** Test Complete: TestBasicInformation\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } + + Wait(); + + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) + { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Read location\n"); + err = TestReadLocation_0(); + break; + case 1: + ChipLogProgress(chipTool, " ***** Test Step 1 : Write location\n"); + err = TestWriteLocation_1(); + break; + case 2: + ChipLogProgress(chipTool, " ***** Test Step 2 : Read back location\n"); + err = TestReadBackLocation_2(); + break; + case 3: + ChipLogProgress(chipTool, " ***** Test Step 3 : Restore initial location value\n"); + err = TestRestoreInitialLocationValue_3(); + break; + } + + if (CHIP_NO_ERROR != err) + { + ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); + SetCommandExitStatus(err); + } + } + +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 4; + + chip::Callback::Callback mOnFailureCallback_0{ OnFailureCallback_0, this }; + chip::Callback::Callback mOnSuccessCallback_0{ OnSuccessCallback_0, this }; + chip::Callback::Callback mOnFailureCallback_1{ OnFailureCallback_1, this }; + chip::Callback::Callback mOnSuccessCallback_1{ OnSuccessCallback_1, this }; + chip::Callback::Callback mOnFailureCallback_2{ OnFailureCallback_2, this }; + chip::Callback::Callback mOnSuccessCallback_2{ OnSuccessCallback_2, this }; + chip::Callback::Callback mOnFailureCallback_3{ OnFailureCallback_3, this }; + chip::Callback::Callback mOnSuccessCallback_3{ OnSuccessCallback_3, this }; + + static void OnFailureCallback_0(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_0(status); + } + + static void OnSuccessCallback_0(void * context, chip::CharSpan location) + { + (static_cast(context))->OnSuccessResponse_0(location); + } + + static void OnFailureCallback_1(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_1(status); + } + + static void OnSuccessCallback_1(void * context, chip::CharSpan location) + { + (static_cast(context))->OnSuccessResponse_1(location); + } + + static void OnFailureCallback_2(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_2(status); + } + + static void OnSuccessCallback_2(void * context, chip::CharSpan location) + { + (static_cast(context))->OnSuccessResponse_2(location); + } + + static void OnFailureCallback_3(void * context, uint8_t status) + { + (static_cast(context))->OnFailureResponse_3(status); + } + + static void OnSuccessCallback_3(void * context, chip::CharSpan location) + { + (static_cast(context))->OnSuccessResponse_3(location); + } + + // + // Tests methods + // + + CHIP_ERROR TestReadLocation_0() + { + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevice, 0); + + return cluster.ReadAttributeLocation(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); + } + + void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_0(chip::CharSpan location) + { + VerifyOrReturn(CheckValueAsString("location", location, "")); + NextTest(); + } + + CHIP_ERROR TestWriteLocation_1() + { + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevice, 0); + + chip::CharSpan locationArgument = chip::CharSpan("us", strlen("us")); + + return cluster.WriteAttributeLocation(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), locationArgument); + } + + void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_1(chip::CharSpan location) { NextTest(); } + + CHIP_ERROR TestReadBackLocation_2() + { + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevice, 0); + + return cluster.ReadAttributeLocation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); + } + + void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_2(chip::CharSpan location) + { + VerifyOrReturn(CheckValueAsString("location", location, "us")); + NextTest(); + } + + CHIP_ERROR TestRestoreInitialLocationValue_3() + { + chip::Controller::BasicClusterTest cluster; + cluster.Associate(mDevice, 0); + + chip::CharSpan locationArgument = chip::CharSpan("", strlen("")); + + return cluster.WriteAttributeLocation(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), locationArgument); + } + + void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } + + void OnSuccessResponse_3(chip::CharSpan location) { NextTest(); } +}; + class TestOperationalCredentialsCluster : public TestCommand { public: @@ -17628,6 +22711,7 @@ void registerCommandsTests(Commands & commands) commands_list clusterCommands = { make_unique(), make_unique(), + make_unique(), make_unique(), make_unique(), make_unique(), @@ -17690,6 +22774,7 @@ void registerCommandsTests(Commands & commands) make_unique(), make_unique(), make_unique(), + make_unique(), make_unique(), make_unique(), }; diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.cpp b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.cpp index 49b3288103e4cb..c0da73bd03d295 100644 --- a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.cpp +++ b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.cpp @@ -140,7 +140,7 @@ void ApplicationLauncherClusterApplicationLauncherListListAttributeFilter(TLV::T Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -164,7 +164,7 @@ void ApplicationLauncherClusterApplicationLauncherListListAttributeFilter(TLV::T void AudioOutputClusterAudioOutputListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -188,7 +188,7 @@ void AudioOutputClusterAudioOutputListListAttributeFilter(TLV::TLVReader * tlvDa void ContentLauncherClusterAcceptsHeaderListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -213,7 +213,7 @@ void ContentLauncherClusterSupportedStreamingTypesListAttributeFilter(TLV::TLVRe Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -237,7 +237,7 @@ void ContentLauncherClusterSupportedStreamingTypesListAttributeFilter(TLV::TLVRe void DescriptorClusterDeviceListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -261,7 +261,7 @@ void DescriptorClusterDeviceListListAttributeFilter(TLV::TLVReader * tlvData, Ca void DescriptorClusterServerListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -285,7 +285,7 @@ void DescriptorClusterServerListListAttributeFilter(TLV::TLVReader * tlvData, Ca void DescriptorClusterClientListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -309,7 +309,7 @@ void DescriptorClusterClientListListAttributeFilter(TLV::TLVReader * tlvData, Ca void DescriptorClusterPartsListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -333,7 +333,7 @@ void DescriptorClusterPartsListListAttributeFilter(TLV::TLVReader * tlvData, Cal void FixedLabelClusterLabelListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -358,7 +358,9 @@ void GeneralCommissioningClusterBasicCommissioningInfoListListAttributeFilter(TL Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfoType::DecodableType> + list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -383,7 +385,7 @@ void GeneralDiagnosticsClusterNetworkInterfacesListAttributeFilter(TLV::TLVReade Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -407,7 +409,7 @@ void GeneralDiagnosticsClusterNetworkInterfacesListAttributeFilter(TLV::TLVReade void GroupKeyManagementClusterGroupsListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -431,7 +433,7 @@ void GroupKeyManagementClusterGroupsListAttributeFilter(TLV::TLVReader * tlvData void GroupKeyManagementClusterGroupKeysListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -455,7 +457,7 @@ void GroupKeyManagementClusterGroupKeysListAttributeFilter(TLV::TLVReader * tlvD void MediaInputClusterMediaInputListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -479,7 +481,7 @@ void MediaInputClusterMediaInputListListAttributeFilter(TLV::TLVReader * tlvData void OperationalCredentialsClusterFabricsListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -503,7 +505,7 @@ void OperationalCredentialsClusterFabricsListListAttributeFilter(TLV::TLVReader void PowerSourceClusterActiveBatteryFaultsListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -527,7 +529,7 @@ void PowerSourceClusterActiveBatteryFaultsListAttributeFilter(TLV::TLVReader * t void TvChannelClusterTvChannelListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -552,7 +554,8 @@ void TargetNavigatorClusterTargetNavigatorListListAttributeFilter(TLV::TLVReader Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList + list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -576,7 +579,7 @@ void TargetNavigatorClusterTargetNavigatorListListAttributeFilter(TLV::TLVReader void TestClusterClusterListInt8uListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -600,7 +603,7 @@ void TestClusterClusterListInt8uListAttributeFilter(TLV::TLVReader * tlvData, Ca void TestClusterClusterListOctetStringListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -624,7 +627,7 @@ void TestClusterClusterListOctetStringListAttributeFilter(TLV::TLVReader * tlvDa void TestClusterClusterListStructOctetStringListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -649,7 +652,7 @@ void ThreadNetworkDiagnosticsClusterNeighborTableListListAttributeFilter(TLV::TL Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -674,7 +677,7 @@ void ThreadNetworkDiagnosticsClusterRouteTableListListAttributeFilter(TLV::TLVRe Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -699,7 +702,7 @@ void ThreadNetworkDiagnosticsClusterSecurityPolicyListAttributeFilter(TLV::TLVRe Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -724,7 +727,9 @@ void ThreadNetworkDiagnosticsClusterOperationalDatasetComponentsListAttributeFil Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList< + chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::DecodableType> + list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -750,7 +755,7 @@ void ThreadNetworkDiagnosticsClusterActiveNetworkFaultsListListAttributeFilter(T Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -830,6 +835,23 @@ bool emberAfContentLauncherClusterLaunchURLResponseCallback(EndpointId endpoint, return true; } +bool emberAfDiagnosticLogsClusterRetrieveLogsResponseCallback(EndpointId endpoint, app::CommandSender * commandObj, uint8_t status, + chip::ByteSpan content, uint32_t timeStamp, uint32_t timeSinceBoot) +{ + ChipLogProgress(Zcl, "RetrieveLogsResponse:"); + ChipLogProgress(Zcl, " status: %" PRIu8 "", status); + ChipLogProgress(Zcl, " content: %zu", content.size()); + ChipLogProgress(Zcl, " timeStamp: %" PRIu32 "", timeStamp); + ChipLogProgress(Zcl, " timeSinceBoot: %" PRIu32 "", timeSinceBoot); + + GET_CLUSTER_RESPONSE_CALLBACKS("DiagnosticLogsClusterRetrieveLogsResponseCallback"); + + Callback::Callback * cb = + Callback::Callback::FromCancelable(onSuccessCallback); + cb->mCall(cb->mContext, status, content, timeStamp, timeSinceBoot); + return true; +} + bool emberAfDoorLockClusterClearAllPinsResponseCallback(EndpointId endpoint, app::CommandSender * commandObj, uint8_t status) { ChipLogProgress(Zcl, "ClearAllPinsResponse:"); @@ -1834,6 +1856,21 @@ bool emberAfTestClusterClusterTestAddArgumentsResponseCallback(EndpointId endpoi return true; } +bool emberAfTestClusterClusterTestEnumsResponseCallback(EndpointId endpoint, app::CommandSender * commandObj, chip::VendorId arg1, + uint8_t arg2) +{ + ChipLogProgress(Zcl, "TestEnumsResponse:"); + ChipLogProgress(Zcl, " arg1: %" PRIu16 "", arg1); + ChipLogProgress(Zcl, " arg2: %" PRIu8 "", arg2); + + GET_CLUSTER_RESPONSE_CALLBACKS("TestClusterClusterTestEnumsResponseCallback"); + + Callback::Callback * cb = + Callback::Callback::FromCancelable(onSuccessCallback); + cb->mCall(cb->mContext, arg1, arg2); + return true; +} + bool emberAfTestClusterClusterTestListInt8UReverseResponseCallback(EndpointId endpoint, app::CommandSender * commandObj, /* TYPE WARNING: array array defaults to */ uint8_t * arg1) { diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h index c9536f6e8cadc4..0a8622772ae39d 100644 --- a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h +++ b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h @@ -41,6 +41,8 @@ typedef void (*ApplicationLauncherClusterLaunchAppResponseCallback)(void * conte typedef void (*ContentLauncherClusterLaunchContentResponseCallback)(void * context, chip::CharSpan data, uint8_t contentLaunchStatus); typedef void (*ContentLauncherClusterLaunchURLResponseCallback)(void * context, chip::CharSpan data, uint8_t contentLaunchStatus); +typedef void (*DiagnosticLogsClusterRetrieveLogsResponseCallback)(void * context, uint8_t status, chip::ByteSpan content, + uint32_t timeStamp, uint32_t timeSinceBoot); typedef void (*DoorLockClusterClearAllPinsResponseCallback)(void * context, uint8_t status); typedef void (*DoorLockClusterClearAllRfidsResponseCallback)(void * context, uint8_t status); typedef void (*DoorLockClusterClearHolidayScheduleResponseCallback)(void * context, uint8_t status); @@ -141,6 +143,7 @@ typedef void (*TvChannelClusterChangeChannelResponseCallback)(void * context, uint8_t ErrorType); typedef void (*TargetNavigatorClusterNavigateTargetResponseCallback)(void * context, uint8_t status, chip::CharSpan data); typedef void (*TestClusterClusterTestAddArgumentsResponseCallback)(void * context, uint8_t returnValue); +typedef void (*TestClusterClusterTestEnumsResponseCallback)(void * context, chip::VendorId arg1, uint8_t arg2); typedef void (*TestClusterClusterTestListInt8UReverseResponseCallback)(void * context, /* TYPE WARNING: array array defaults to */ uint8_t * arg1); typedef void (*TestClusterClusterTestSpecificResponseCallback)(void * context, uint8_t returnValue); diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp index 64d4e3711a4d1b..2d6528277b5258 100644 --- a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp @@ -51,7 +51,7 @@ namespace Controller { // AccountLogin Cluster Commands CHIP_ERROR AccountLoginCluster::GetSetupPIN(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan tempAccountIdentifier) + chip::CharSpan tempAccountIdentifier) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -75,9 +75,7 @@ CHIP_ERROR AccountLoginCluster::GetSetupPIN(Callback::Cancelable * onSuccessCall VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // tempAccountIdentifier: charString - SuccessOrExit(err = writer->PutString( - TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(tempAccountIdentifier.data()), tempAccountIdentifier.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -94,7 +92,7 @@ CHIP_ERROR AccountLoginCluster::GetSetupPIN(Callback::Cancelable * onSuccessCall } CHIP_ERROR AccountLoginCluster::Login(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan tempAccountIdentifier, chip::ByteSpan setupPIN) + chip::CharSpan tempAccountIdentifier, chip::CharSpan setupPIN) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -118,12 +116,9 @@ CHIP_ERROR AccountLoginCluster::Login(Callback::Cancelable * onSuccessCallback, VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // tempAccountIdentifier: charString - SuccessOrExit(err = writer->PutString( - TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(tempAccountIdentifier.data()), tempAccountIdentifier.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier.data())); // setupPIN: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(setupPIN.data()), setupPIN.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), setupPIN.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -478,7 +473,7 @@ template CHIP_ERROR ClusterBase::InvokeCommandGetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // data: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(data.data()), data.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); // catalogVendorId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), catalogVendorId)); // applicationId: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(applicationId.data()), applicationId.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), applicationId.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -582,7 +575,7 @@ ClusterBase::InvokeCommandPut(TLV::ContextTag(argSeqNumber++), index)); // name: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(name.data()), name.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -974,20 +966,18 @@ CHIP_ERROR BasicCluster::ReadAttributeUserLabel(Callback::Cancelable * onSuccess BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Basic::Attributes::UserLabel::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BasicCluster::WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000005; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::UserLabel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1002,20 +992,18 @@ CHIP_ERROR BasicCluster::ReadAttributeLocation(Callback::Cancelable * onSuccessC BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Basic::Attributes::Location::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BasicCluster::WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000006; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::Location::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1137,20 +1125,18 @@ CHIP_ERROR BasicCluster::ReadAttributeLocalConfigDisabled(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Basic::Attributes::LocalConfigDisabled::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BasicCluster::WriteAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000010; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::LocalConfigDisabled::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1196,20 +1182,18 @@ CHIP_ERROR BinaryInputBasicCluster::ReadAttributeOutOfService(Callback::Cancelab BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::BinaryInputBasic::Attributes::OutOfService::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BinaryInputBasicCluster::WriteAttributeOutOfService(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000051; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BinaryInputBasic::Attributes::OutOfService::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1225,20 +1209,18 @@ CHIP_ERROR BinaryInputBasicCluster::ReadAttributePresentValue(Callback::Cancelab BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::BinaryInputBasic::Attributes::PresentValue::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BinaryInputBasicCluster::WriteAttributePresentValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000055; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BinaryInputBasic::Attributes::PresentValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1421,6 +1403,50 @@ ClusterBase::InvokeCommand, CommandResponseFailureCallback); +// BooleanState Cluster Commands +// BooleanState Cluster Attributes +CHIP_ERROR BooleanStateCluster::ReadAttributeStateValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x00000000; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR BooleanStateCluster::SubscribeAttributeStateValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint16_t minInterval, + uint16_t maxInterval) +{ + chip::app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = BooleanState::Attributes::StateValue::Id; + attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendSubscribeAttributeRequest(attributePath, minInterval, maxInterval, onSuccessCallback, onFailureCallback); +} + +CHIP_ERROR BooleanStateCluster::ReportAttributeStateValue(Callback::Cancelable * onReportCallback) +{ + return RequestAttributeReporting(BooleanState::Attributes::StateValue::Id, onReportCallback, + BasicAttributeFilter); +} + +CHIP_ERROR BooleanStateCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x0000FFFD; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + // BridgedDeviceBasic Cluster Commands // BridgedDeviceBasic Cluster Attributes CHIP_ERROR BridgedDeviceBasicCluster::ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, @@ -1471,20 +1497,18 @@ CHIP_ERROR BridgedDeviceBasicCluster::ReadAttributeUserLabel(Callback::Cancelabl BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::BridgedDeviceBasic::Attributes::UserLabel::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR BridgedDeviceBasicCluster::WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000005; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::UserLabel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -2775,20 +2799,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorControlOptions(Callback::Cance BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorControlOptions::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000000F; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorControlOptions::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3032,20 +3054,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeWhitePointX(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::WhitePointX::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeWhitePointX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000030; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::WhitePointX::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3061,20 +3081,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeWhitePointY(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::WhitePointY::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeWhitePointY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000031; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::WhitePointY::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3090,20 +3108,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRX(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointRX::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000032; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointRX::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3119,20 +3135,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRY(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointRY::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000033; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointRY::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3148,20 +3162,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRIntensity(Callback::Canc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointRIntensity::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000034; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointRIntensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3177,20 +3189,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGX(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointGX::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000036; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointGX::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3206,20 +3216,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGY(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointGY::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000037; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointGY::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3235,20 +3243,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGIntensity(Callback::Canc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointGIntensity::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000038; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointGIntensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3264,20 +3270,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBX(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointBX::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000003A; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointBX::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3293,20 +3297,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBY(Callback::Cancelable * BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointBY::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000003B; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointBY::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3322,20 +3324,18 @@ CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBIntensity(Callback::Canc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::ColorPointBIntensity::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000003C; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorPointBIntensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3483,21 +3483,20 @@ CHIP_ERROR ColorControlCluster::ReadAttributeStartUpColorTemperatureMireds(Callb BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::ColorControl::Attributes::StartUpColorTemperatureMireds::TypeInfo::Type & requestData, + void * context, WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ColorControlCluster::WriteAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004010; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::StartUpColorTemperatureMireds::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -3610,7 +3609,7 @@ ClusterBase::InvokeCommandPut(TLV::ContextTag(argSeqNumber++), autoPlay)); // data: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(data.data()), data.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -3654,7 +3652,7 @@ CHIP_ERROR ContentLauncherCluster::LaunchContent(Callback::Cancelable * onSucces } CHIP_ERROR ContentLauncherCluster::LaunchURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan contentURL, chip::ByteSpan displayString) + chip::CharSpan contentURL, chip::CharSpan displayString) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -3678,11 +3676,9 @@ CHIP_ERROR ContentLauncherCluster::LaunchURL(Callback::Cancelable * onSuccessCal VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // contentURL: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(contentURL.data()), contentURL.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), contentURL.data())); // displayString: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(displayString.data()), displayString.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), displayString.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -3860,9 +3856,10 @@ CHIP_ERROR DiagnosticLogsCluster::RetrieveLogsRequest(Callback::Cancelable * onS // DiagnosticLogs Cluster Attributes template CHIP_ERROR ClusterBase::InvokeCommand( + chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsResponse::DecodableType>( const chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type &, void *, - CommandResponseSuccessCallback, CommandResponseFailureCallback); + CommandResponseSuccessCallback, + CommandResponseFailureCallback); // DoorLock Cluster Commands CHIP_ERROR DoorLockCluster::ClearAllPins(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) @@ -5538,7 +5535,7 @@ CHIP_ERROR GeneralCommissioningCluster::CommissioningComplete(Callback::Cancelab CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t location, - chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs) + chip::CharSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -5565,8 +5562,7 @@ CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable // location: regulatoryLocationType SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), location)); // countryCode: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(countryCode.data()), countryCode.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode.data())); // breadcrumb: int64u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb)); // timeoutMs: int32u @@ -5599,20 +5595,18 @@ CHIP_ERROR GeneralCommissioningCluster::ReadAttributeBreadcrumb(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::GeneralCommissioning::Attributes::Breadcrumb::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR GeneralCommissioningCluster::WriteAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralCommissioning::Attributes::Breadcrumb::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -5776,7 +5770,7 @@ CHIP_ERROR GroupKeyManagementCluster::ReadAttributeClusterRevision(Callback::Can // Groups Cluster Commands CHIP_ERROR GroupsCluster::AddGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t groupId, chip::ByteSpan groupName) + uint16_t groupId, chip::CharSpan groupName) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -5802,8 +5796,7 @@ CHIP_ERROR GroupsCluster::AddGroup(Callback::Cancelable * onSuccessCallback, Cal // groupId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), groupId)); // groupName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(groupName.data()), groupName.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -5820,7 +5813,7 @@ CHIP_ERROR GroupsCluster::AddGroup(Callback::Cancelable * onSuccessCallback, Cal } CHIP_ERROR GroupsCluster::AddGroupIfIdentifying(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t groupId, chip::ByteSpan groupName) + uint16_t groupId, chip::CharSpan groupName) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -5846,8 +5839,7 @@ CHIP_ERROR GroupsCluster::AddGroupIfIdentifying(Callback::Cancelable * onSuccess // groupId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), groupId)); // groupName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(groupName.data()), groupName.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -6221,20 +6213,18 @@ CHIP_ERROR IdentifyCluster::ReadAttributeIdentifyTime(Callback::Cancelable * onS BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Identify::Attributes::IdentifyTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR IdentifyCluster::WriteAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Identify::Attributes::IdentifyTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6278,56 +6268,148 @@ ClusterBase::InvokeCommand, CommandResponseFailureCallback); -// KeypadInput Cluster Commands -CHIP_ERROR KeypadInputCluster::SendKey(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t keyCode) -{ - CHIP_ERROR err = CHIP_NO_ERROR; - TLV::TLVWriter * writer = nullptr; - uint8_t argSeqNumber = 0; - - // Used when encoding non-empty command. Suppress error message when encoding empty commands. - (void) writer; - (void) argSeqNumber; - - VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); - - app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, KeypadInput::Commands::SendKey::Id, - (app::CommandPathFlags::kEndpointIdValid) }; - - CommandSenderHandle sender( - Platform::New(mDevice->GetInteractionModelDelegate(), mDevice->GetExchangeManager())); - - VerifyOrReturnError(sender != nullptr, CHIP_ERROR_NO_MEMORY); - - SuccessOrExit(err = sender->PrepareCommand(cmdParams)); - - VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - // keyCode: keypadInputCecKeyCode - SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), keyCode)); - - SuccessOrExit(err = sender->FinishCommand()); - - // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate. - mDevice->AddIMResponseHandler(sender.get(), onSuccessCallback, onFailureCallback); - - SuccessOrExit(err = mDevice->SendCommands(sender.get())); - - // We have successfully sent the command, and the callback handler will be responsible to free the object, release the object - // now. - sender.release(); -exit: - return err; -} - -// KeypadInput Cluster Attributes -CHIP_ERROR KeypadInputCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback) +// IlluminanceMeasurement Cluster Commands +// IlluminanceMeasurement Cluster Attributes +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) { app::AttributePathParams attributePath; attributePath.mEndpointId = mEndpoint; attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000FFFD; + attributePath.mFieldId = 0x00000000; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::SubscribeAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, + uint16_t minInterval, uint16_t maxInterval) +{ + chip::app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = IlluminanceMeasurement::Attributes::MeasuredValue::Id; + attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendSubscribeAttributeRequest(attributePath, minInterval, maxInterval, onSuccessCallback, onFailureCallback); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReportAttributeMeasuredValue(Callback::Cancelable * onReportCallback) +{ + return RequestAttributeReporting(IlluminanceMeasurement::Attributes::MeasuredValue::Id, onReportCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x00000001; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x00000002; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeTolerance(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x00000003; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeLightSensorType(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x00000004; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +CHIP_ERROR IlluminanceMeasurementCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x0000FFFD; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} + +// KeypadInput Cluster Commands +CHIP_ERROR KeypadInputCluster::SendKey(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint8_t keyCode) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVWriter * writer = nullptr; + uint8_t argSeqNumber = 0; + + // Used when encoding non-empty command. Suppress error message when encoding empty commands. + (void) writer; + (void) argSeqNumber; + + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + + app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, KeypadInput::Commands::SendKey::Id, + (app::CommandPathFlags::kEndpointIdValid) }; + + CommandSenderHandle sender( + Platform::New(mDevice->GetInteractionModelDelegate(), mDevice->GetExchangeManager())); + + VerifyOrReturnError(sender != nullptr, CHIP_ERROR_NO_MEMORY); + + SuccessOrExit(err = sender->PrepareCommand(cmdParams)); + + VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); + // keyCode: keypadInputCecKeyCode + SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), keyCode)); + + SuccessOrExit(err = sender->FinishCommand()); + + // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate. + mDevice->AddIMResponseHandler(sender.get(), onSuccessCallback, onFailureCallback); + + SuccessOrExit(err = mDevice->SendCommands(sender.get())); + + // We have successfully sent the command, and the callback handler will be responsible to free the object, release the object + // now. + sender.release(); +exit: + return err; +} + +// KeypadInput Cluster Attributes +CHIP_ERROR KeypadInputCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = 0x0000FFFD; attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, BasicAttributeFilter); @@ -6812,20 +6894,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeOptions(Callback::Cancelable * onSu BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::Options::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000000F; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::Options::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6841,20 +6921,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeOnOffTransitionTime(Callback::Cance BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::OnOffTransitionTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeOnOffTransitionTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000010; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::OnOffTransitionTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6870,20 +6948,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeOnLevel(Callback::Cancelable * onSu BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::OnLevel::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeOnLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000011; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::OnLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6899,20 +6975,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeOnTransitionTime(Callback::Cancelab BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::OnTransitionTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeOnTransitionTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000012; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::OnTransitionTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6928,20 +7002,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeOffTransitionTime(Callback::Cancela BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::OffTransitionTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeOffTransitionTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000013; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::OffTransitionTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6957,20 +7029,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeDefaultMoveRate(Callback::Cancelabl BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::DefaultMoveRate::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeDefaultMoveRate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000014; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::DefaultMoveRate::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -6986,20 +7056,18 @@ CHIP_ERROR LevelControlCluster::ReadAttributeStartUpCurrentLevel(Callback::Cance BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::LevelControl::Attributes::StartUpCurrentLevel::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR LevelControlCluster::WriteAttributeStartUpCurrentLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::StartUpCurrentLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -7152,7 +7220,7 @@ CHIP_ERROR MediaInputCluster::HideInputStatus(Callback::Cancelable * onSuccessCa } CHIP_ERROR MediaInputCluster::RenameInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t index, chip::ByteSpan name) + uint8_t index, chip::CharSpan name) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -7178,8 +7246,7 @@ CHIP_ERROR MediaInputCluster::RenameInput(Callback::Cancelable * onSuccessCallba // index: int8u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), index)); // name: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(name.data()), name.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -8541,7 +8608,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::NotifyUpdateApplied(Callback::Cance CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t vendorId, uint16_t productId, uint16_t hardwareVersion, uint32_t softwareVersion, - uint8_t protocolsSupported, chip::ByteSpan location, + uint8_t protocolsSupported, chip::CharSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -8577,8 +8644,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * o // protocolsSupported: OTADownloadProtocol SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), protocolsSupported)); // location: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(location.data()), location.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location.data())); // requestorCanConsent: boolean SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), requestorCanConsent)); // metadataForProvider: octetString @@ -8695,21 +8761,21 @@ CHIP_ERROR OtaSoftwareUpdateRequestorCluster::ReadAttributeDefaultOtaProvider(Ca BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProvider::TypeInfo::Type & requestData, + void * context, WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OtaSoftwareUpdateRequestorCluster::WriteAttributeDefaultOtaProvider(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000001; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProvider::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -9103,20 +9169,18 @@ CHIP_ERROR OnOffCluster::ReadAttributeOnTime(Callback::Cancelable * onSuccessCal BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::OnTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeOnTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004001; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::OnTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -9132,20 +9196,18 @@ CHIP_ERROR OnOffCluster::ReadAttributeOffWaitTime(Callback::Cancelable * onSucce BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::OffWaitTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeOffWaitTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004002; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::OffWaitTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -9161,20 +9223,18 @@ CHIP_ERROR OnOffCluster::ReadAttributeStartUpOnOff(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::StartUpOnOff::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeStartUpOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004003; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::StartUpOnOff::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -9257,20 +9317,18 @@ CHIP_ERROR OnOffSwitchConfigurationCluster::ReadAttributeSwitchActions(Callback: BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOffSwitchConfiguration::Attributes::SwitchActions::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffSwitchConfigurationCluster::WriteAttributeSwitchActions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000010; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOffSwitchConfiguration::Attributes::SwitchActions::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -9593,7 +9651,7 @@ CHIP_ERROR OperationalCredentialsCluster::RemoveTrustedRootCertificate(Callback: } CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan label) + Callback::Cancelable * onFailureCallback, chip::CharSpan label) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -9618,8 +9676,7 @@ CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // label: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(label.data()), label.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -10264,20 +10321,19 @@ CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeOperationMode(Callba BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::PumpConfigurationAndControl::Attributes::OperationMode::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR PumpConfigurationAndControlCluster::WriteAttributeOperationMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000020; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::OperationMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -10293,20 +10349,19 @@ CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeControlMode(Callback BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::PumpConfigurationAndControl::Attributes::ControlMode::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR PumpConfigurationAndControlCluster::WriteAttributeControlMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000021; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::ControlMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -10416,7 +10471,7 @@ CHIP_ERROR RelativeHumidityMeasurementCluster::ReadAttributeClusterRevision(Call // Scenes Cluster Commands CHIP_ERROR ScenesCluster::AddScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t groupId, uint8_t sceneId, uint16_t transitionTime, chip::ByteSpan sceneName, + uint16_t groupId, uint8_t sceneId, uint16_t transitionTime, chip::CharSpan sceneName, chip::ClusterId clusterId, uint8_t length, uint8_t value) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -10447,8 +10502,7 @@ CHIP_ERROR ScenesCluster::AddScene(Callback::Cancelable * onSuccessCallback, Cal // transitionTime: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime)); // sceneName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(sceneName.data()), sceneName.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), sceneName.data())); // clusterId: clusterId SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), clusterId)); // length: int8u @@ -10993,7 +11047,7 @@ CHIP_ERROR SwitchCluster::ReadAttributeClusterRevision(Callback::Cancelable * on // TvChannel Cluster Commands CHIP_ERROR TvChannelCluster::ChangeChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan match) + chip::CharSpan match) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -11017,8 +11071,7 @@ CHIP_ERROR TvChannelCluster::ChangeChannel(Callback::Cancelable * onSuccessCallb VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // match: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(match.data()), match.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), match.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -11186,7 +11239,7 @@ ClusterBase::InvokeCommandPut(TLV::ContextTag(argSeqNumber++), target)); // data: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(data.data()), data.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -11411,8 +11463,8 @@ CHIP_ERROR TestClusterCluster::TestAddArguments(Callback::Cancelable * onSuccess return err; } -CHIP_ERROR TestClusterCluster::TestListInt8UArgumentRequest(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t arg1) +CHIP_ERROR TestClusterCluster::TestEnumsRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + chip::VendorId arg1, uint8_t arg2) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -11424,8 +11476,7 @@ CHIP_ERROR TestClusterCluster::TestListInt8UArgumentRequest(Callback::Cancelable VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); - app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, - TestCluster::Commands::TestListInt8UArgumentRequest::Id, + app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, TestCluster::Commands::TestEnumsRequest::Id, (app::CommandPathFlags::kEndpointIdValid) }; CommandSenderHandle sender( @@ -11436,8 +11487,10 @@ CHIP_ERROR TestClusterCluster::TestListInt8UArgumentRequest(Callback::Cancelable SuccessOrExit(err = sender->PrepareCommand(cmdParams)); VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); - // arg1: int8u + // arg1: vendorId SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), arg1)); + // arg2: simpleEnum + SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), arg2)); SuccessOrExit(err = sender->FinishCommand()); @@ -11453,8 +11506,8 @@ CHIP_ERROR TestClusterCluster::TestListInt8UArgumentRequest(Callback::Cancelable return err; } -CHIP_ERROR TestClusterCluster::TestListInt8UReverseRequest(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t arg1) +CHIP_ERROR TestClusterCluster::TestListInt8UArgumentRequest(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint8_t arg1) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -11467,7 +11520,7 @@ CHIP_ERROR TestClusterCluster::TestListInt8UReverseRequest(Callback::Cancelable VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, - TestCluster::Commands::TestListInt8UReverseRequest::Id, + TestCluster::Commands::TestListInt8UArgumentRequest::Id, (app::CommandPathFlags::kEndpointIdValid) }; CommandSenderHandle sender( @@ -11495,9 +11548,8 @@ CHIP_ERROR TestClusterCluster::TestListInt8UReverseRequest(Callback::Cancelable return err; } -CHIP_ERROR TestClusterCluster::TestListStructArgumentRequest(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t a, bool b, uint8_t c, - chip::ByteSpan d, chip::ByteSpan e, uint8_t f) +CHIP_ERROR TestClusterCluster::TestListInt8UReverseRequest(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint8_t arg1) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -11510,7 +11562,50 @@ CHIP_ERROR TestClusterCluster::TestListStructArgumentRequest(Callback::Cancelabl VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, - TestCluster::Commands::TestListStructArgumentRequest::Id, + TestCluster::Commands::TestListInt8UReverseRequest::Id, + (app::CommandPathFlags::kEndpointIdValid) }; + + CommandSenderHandle sender( + Platform::New(mDevice->GetInteractionModelDelegate(), mDevice->GetExchangeManager())); + + VerifyOrReturnError(sender != nullptr, CHIP_ERROR_NO_MEMORY); + + SuccessOrExit(err = sender->PrepareCommand(cmdParams)); + + VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); + // arg1: int8u + SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), arg1)); + + SuccessOrExit(err = sender->FinishCommand()); + + // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate. + mDevice->AddIMResponseHandler(sender.get(), onSuccessCallback, onFailureCallback); + + SuccessOrExit(err = mDevice->SendCommands(sender.get())); + + // We have successfully sent the command, and the callback handler will be responsible to free the object, release the object + // now. + sender.release(); +exit: + return err; +} + +CHIP_ERROR TestClusterCluster::TestListStructArgumentRequest(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint8_t a, bool b, uint8_t c, + chip::ByteSpan d, chip::CharSpan e, uint8_t f) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVWriter * writer = nullptr; + uint8_t argSeqNumber = 0; + + // Used when encoding non-empty command. Suppress error message when encoding empty commands. + (void) writer; + (void) argSeqNumber; + + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + + app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, + TestCluster::Commands::TestListStructArgumentRequest::Id, (app::CommandPathFlags::kEndpointIdValid) }; CommandSenderHandle sender( @@ -11530,8 +11625,7 @@ CHIP_ERROR TestClusterCluster::TestListStructArgumentRequest(Callback::Cancelabl // d: octetString SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), d)); // e: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(e.data()), e.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e.data())); // f: simpleBitmap SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), f)); @@ -11627,7 +11721,7 @@ CHIP_ERROR TestClusterCluster::TestSpecific(Callback::Cancelable * onSuccessCall CHIP_ERROR TestClusterCluster::TestStructArgumentRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t a, bool b, uint8_t c, - chip::ByteSpan d, chip::ByteSpan e, uint8_t f) + chip::ByteSpan d, chip::CharSpan e, uint8_t f) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -11660,8 +11754,7 @@ CHIP_ERROR TestClusterCluster::TestStructArgumentRequest(Callback::Cancelable * // d: octetString SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), d)); // e: charString - SuccessOrExit( - err = writer->PutString(TLV::ContextTag(argSeqNumber++), Span(Uint8::to_const_char(e.data()), e.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e.data())); // f: simpleBitmap SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), f)); @@ -11731,20 +11824,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeBoolean(Callback::Cancelable * onSuc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Boolean::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeBoolean(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Boolean::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11760,20 +11851,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeBitmap8(Callback::Cancelable * onSuc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Bitmap8::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeBitmap8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000001; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Bitmap8::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11789,20 +11878,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeBitmap16(Callback::Cancelable * onSu BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Bitmap16::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeBitmap16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000002; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Bitmap16::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11818,20 +11905,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeBitmap32(Callback::Cancelable * onSu BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Bitmap32::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeBitmap32(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000003; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Bitmap32::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11847,20 +11932,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeBitmap64(Callback::Cancelable * onSu BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Bitmap64::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeBitmap64(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000004; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Bitmap64::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11876,20 +11959,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt8u(Callback::Cancelable * onSucce BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int8u::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt8u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000005; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int8u::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11905,20 +11986,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt16u(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int16u::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt16u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000006; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int16u::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11934,20 +12013,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt32u(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int32u::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt32u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000008; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int32u::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11963,20 +12040,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt64u(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int64u::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt64u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000000C; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int64u::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -11992,20 +12067,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt8s(Callback::Cancelable * onSucce BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int8s::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt8s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000000D; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int8s::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12021,20 +12094,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt16s(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int16s::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt16s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000000E; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int16s::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12050,20 +12121,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt32s(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int32s::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt32s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000010; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int32s::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12079,20 +12148,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeInt64s(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Int64s::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeInt64s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000014; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Int64s::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12108,20 +12175,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeEnum8(Callback::Cancelable * onSucce BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Enum8::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeEnum8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000015; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Enum8::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12137,20 +12202,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeEnum16(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Enum16::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeEnum16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000016; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Enum16::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12166,20 +12229,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeOctetString(Callback::Cancelable * o BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::OctetString::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000019; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::OctetString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12231,20 +12292,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeLongOctetString(Callback::Cancelable BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::LongOctetString::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeLongOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000001D; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::LongOctetString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12260,20 +12319,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeCharString(Callback::Cancelable * on BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::CharString::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeCharString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000001E; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::CharString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12289,20 +12346,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeLongCharString(Callback::Cancelable BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::LongCharString::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeLongCharString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000001F; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::LongCharString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12318,20 +12373,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeEpochUs(Callback::Cancelable * onSuc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::EpochUs::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeEpochUs(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000020; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::EpochUs::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12347,20 +12400,45 @@ CHIP_ERROR TestClusterCluster::ReadAttributeEpochS(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::EpochS::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeEpochS(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::EpochS::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} + +CHIP_ERROR TestClusterCluster::ReadAttributeVendorId(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; attributePath.mEndpointId = mEndpoint; attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000021; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); + attributePath.mFieldId = 0x00000022; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); +} - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::VendorId::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); +CHIP_ERROR TestClusterCluster::WriteAttributeVendorId(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, chip::VendorId value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::VendorId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12376,20 +12454,18 @@ CHIP_ERROR TestClusterCluster::ReadAttributeUnsupported(Callback::Cancelable * o BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::TestCluster::Attributes::Unsupported::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR TestClusterCluster::WriteAttributeUnsupported(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x000000FF; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::Unsupported::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12416,6 +12492,12 @@ template CHIP_ERROR ClusterBase::InvokeCommand, CommandResponseFailureCallback); +template CHIP_ERROR ClusterBase::InvokeCommand( + const chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type &, void *, + CommandResponseSuccessCallback, + CommandResponseFailureCallback); + template CHIP_ERROR ClusterBase::InvokeCommand( const chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type &, void *, @@ -12757,20 +12839,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeOccupiedCoolingSetpoint(Callback::Can BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::OccupiedCoolingSetpoint::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeOccupiedCoolingSetpoint(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000011; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::OccupiedCoolingSetpoint::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12786,20 +12866,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeOccupiedHeatingSetpoint(Callback::Can BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::OccupiedHeatingSetpoint::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeOccupiedHeatingSetpoint(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000012; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::OccupiedHeatingSetpoint::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12815,20 +12893,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeMinHeatSetpointLimit(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::MinHeatSetpointLimit::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeMinHeatSetpointLimit(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000015; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::MinHeatSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12844,20 +12920,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeMaxHeatSetpointLimit(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::MaxHeatSetpointLimit::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeMaxHeatSetpointLimit(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000016; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::MaxHeatSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12873,20 +12947,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeMinCoolSetpointLimit(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::MinCoolSetpointLimit::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeMinCoolSetpointLimit(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000017; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::MinCoolSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12902,20 +12974,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeMaxCoolSetpointLimit(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::MaxCoolSetpointLimit::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeMaxCoolSetpointLimit(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000018; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::MaxCoolSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12931,20 +13001,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeControlSequenceOfOperation(Callback:: BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::ControlSequenceOfOperation::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeControlSequenceOfOperation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000001B; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::ControlSequenceOfOperation::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -12960,20 +13028,18 @@ CHIP_ERROR ThermostatCluster::ReadAttributeSystemMode(Callback::Cancelable * onS BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::Thermostat::Attributes::SystemMode::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatCluster::WriteAttributeSystemMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x0000001C; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::SystemMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -13077,20 +13143,22 @@ ThermostatUserInterfaceConfigurationCluster::ReadAttributeTemperatureDisplayMode BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute< + chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::TypeInfo>( + const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::TypeInfo::Type & + requestData, + void * context, WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatUserInterfaceConfigurationCluster::WriteAttributeTemperatureDisplayMode( Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -13106,21 +13174,21 @@ CHIP_ERROR ThermostatUserInterfaceConfigurationCluster::ReadAttributeKeypadLocko BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::TypeInfo::Type & requestData, + void * context, WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatUserInterfaceConfigurationCluster::WriteAttributeKeypadLockout(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000001; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -13137,20 +13205,22 @@ ThermostatUserInterfaceConfigurationCluster::ReadAttributeScheduleProgrammingVis BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute< + chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::TypeInfo>( + const chip::app::Clusters::ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::TypeInfo::Type & + requestData, + void * context, WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR ThermostatUserInterfaceConfigurationCluster::WriteAttributeScheduleProgrammingVisibility( Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000002; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -14837,20 +14907,18 @@ CHIP_ERROR WindowCoveringCluster::ReadAttributeMode(Callback::Cancelable * onSuc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::WindowCovering::Attributes::Mode::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR WindowCoveringCluster::WriteAttributeMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000017; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::Mode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -14951,5 +15019,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h index 96464d088633ab..0e7380312fe396 100644 --- a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h +++ b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h @@ -38,9 +38,9 @@ class DLL_EXPORT AccountLoginCluster : public ClusterBase // Cluster Commands CHIP_ERROR GetSetupPIN(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan tempAccountIdentifier); + chip::CharSpan tempAccountIdentifier); CHIP_ERROR Login(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan tempAccountIdentifier, chip::ByteSpan setupPIN); + chip::CharSpan tempAccountIdentifier, chip::CharSpan setupPIN); // Cluster Attributes CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -97,8 +97,8 @@ class DLL_EXPORT ApplicationLauncherCluster : public ClusterBase ~ApplicationLauncherCluster() {} // Cluster Commands - CHIP_ERROR LaunchApp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan data, - uint16_t catalogVendorId, chip::ByteSpan applicationId); + CHIP_ERROR LaunchApp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::CharSpan data, + uint16_t catalogVendorId, chip::CharSpan applicationId); // Cluster Attributes CHIP_ERROR ReadAttributeApplicationLauncherList(Callback::Cancelable * onSuccessCallback, @@ -118,7 +118,7 @@ class DLL_EXPORT AudioOutputCluster : public ClusterBase // Cluster Commands CHIP_ERROR RenameOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index, - chip::ByteSpan name); + chip::CharSpan name); CHIP_ERROR SelectOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index); // Cluster Attributes @@ -183,9 +183,9 @@ class DLL_EXPORT BasicCluster : public ClusterBase CHIP_ERROR ReadAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value); @@ -233,6 +233,20 @@ class DLL_EXPORT BindingCluster : public ClusterBase private: }; +class DLL_EXPORT BooleanStateCluster : public ClusterBase +{ +public: + BooleanStateCluster() : ClusterBase(app::Clusters::BooleanState::Id) {} + ~BooleanStateCluster() {} + + // Cluster Attributes + CHIP_ERROR ReadAttributeStateValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR SubscribeAttributeStateValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t minInterval, uint16_t maxInterval); + CHIP_ERROR ReportAttributeStateValue(Callback::Cancelable * onReportCallback); +}; + class DLL_EXPORT BridgedDeviceBasicCluster : public ClusterBase { public: @@ -258,7 +272,7 @@ class DLL_EXPORT BridgedDeviceBasicCluster : public ClusterBase CHIP_ERROR ReadAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); }; class DLL_EXPORT ColorControlCluster : public ClusterBase @@ -432,9 +446,9 @@ class DLL_EXPORT ContentLauncherCluster : public ClusterBase // Cluster Commands CHIP_ERROR LaunchContent(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool autoPlay, - chip::ByteSpan data); + chip::CharSpan data); CHIP_ERROR LaunchURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan contentURL, chip::ByteSpan displayString); + chip::CharSpan contentURL, chip::CharSpan displayString); // Cluster Attributes CHIP_ERROR ReadAttributeAcceptsHeaderList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -612,7 +626,7 @@ class DLL_EXPORT GeneralCommissioningCluster : public ClusterBase uint16_t expiryLengthSeconds, uint64_t breadcrumb, uint32_t timeoutMs); CHIP_ERROR CommissioningComplete(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t location, chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs); + uint8_t location, chip::CharSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs); // Cluster Attributes CHIP_ERROR ReadAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -661,9 +675,9 @@ class DLL_EXPORT GroupsCluster : public ClusterBase // Cluster Commands CHIP_ERROR AddGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId, - chip::ByteSpan groupName); + chip::CharSpan groupName); CHIP_ERROR AddGroupIfIdentifying(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t groupId, chip::ByteSpan groupName); + uint16_t groupId, chip::CharSpan groupName); CHIP_ERROR GetGroupMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t groupCount, uint16_t groupList); CHIP_ERROR RemoveAllGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -699,6 +713,24 @@ class DLL_EXPORT IdentifyCluster : public ClusterBase private: }; +class DLL_EXPORT IlluminanceMeasurementCluster : public ClusterBase +{ +public: + IlluminanceMeasurementCluster() : ClusterBase(app::Clusters::IlluminanceMeasurement::Id) {} + ~IlluminanceMeasurementCluster() {} + + // Cluster Attributes + CHIP_ERROR ReadAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeTolerance(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeLightSensorType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR SubscribeAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t minInterval, uint16_t maxInterval); + CHIP_ERROR ReportAttributeMeasuredValue(Callback::Cancelable * onReportCallback); +}; + class DLL_EXPORT KeypadInputCluster : public ClusterBase { public: @@ -798,7 +830,7 @@ class DLL_EXPORT MediaInputCluster : public ClusterBase // Cluster Commands CHIP_ERROR HideInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR RenameInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index, - chip::ByteSpan name); + chip::CharSpan name); CHIP_ERROR SelectInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index); CHIP_ERROR ShowInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -891,7 +923,7 @@ class DLL_EXPORT OtaSoftwareUpdateProviderCluster : public ClusterBase chip::ByteSpan updateToken, uint32_t softwareVersion); CHIP_ERROR QueryImage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t vendorId, uint16_t productId, uint16_t hardwareVersion, uint32_t softwareVersion, uint8_t protocolsSupported, - chip::ByteSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider); + chip::CharSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider); // Cluster Attributes CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -1010,7 +1042,7 @@ class DLL_EXPORT OperationalCredentialsCluster : public ClusterBase CHIP_ERROR RemoveTrustedRootCertificate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan trustedRootIdentifier); CHIP_ERROR UpdateFabricLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan label); + chip::CharSpan label); CHIP_ERROR UpdateNOC(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan NOCValue, chip::ByteSpan ICACValue); @@ -1131,7 +1163,7 @@ class DLL_EXPORT ScenesCluster : public ClusterBase // Cluster Commands CHIP_ERROR AddScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId, - uint8_t sceneId, uint16_t transitionTime, chip::ByteSpan sceneName, chip::ClusterId clusterId, + uint8_t sceneId, uint16_t transitionTime, chip::CharSpan sceneName, chip::ClusterId clusterId, uint8_t length, uint8_t value); CHIP_ERROR GetSceneMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId); @@ -1199,7 +1231,7 @@ class DLL_EXPORT TvChannelCluster : public ClusterBase // Cluster Commands CHIP_ERROR ChangeChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan match); + chip::CharSpan match); CHIP_ERROR ChangeChannelByNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t majorNumber, uint16_t minorNumber); CHIP_ERROR SkipChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t count); @@ -1221,7 +1253,7 @@ class DLL_EXPORT TargetNavigatorCluster : public ClusterBase // Cluster Commands CHIP_ERROR NavigateTarget(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t target, - chip::ByteSpan data); + chip::CharSpan data); // Cluster Attributes CHIP_ERROR ReadAttributeTargetNavigatorList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -1256,16 +1288,18 @@ class DLL_EXPORT TestClusterCluster : public ClusterBase CHIP_ERROR Test(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR TestAddArguments(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t arg1, uint8_t arg2); + CHIP_ERROR TestEnumsRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + chip::VendorId arg1, uint8_t arg2); CHIP_ERROR TestListInt8UArgumentRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t arg1); CHIP_ERROR TestListInt8UReverseRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t arg1); CHIP_ERROR TestListStructArgumentRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t a, bool b, uint8_t c, chip::ByteSpan d, chip::ByteSpan e, uint8_t f); + uint8_t a, bool b, uint8_t c, chip::ByteSpan d, chip::CharSpan e, uint8_t f); CHIP_ERROR TestNotHandled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR TestSpecific(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR TestStructArgumentRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t a, bool b, uint8_t c, chip::ByteSpan d, chip::ByteSpan e, uint8_t f); + uint8_t a, bool b, uint8_t c, chip::ByteSpan d, chip::CharSpan e, uint8_t f); CHIP_ERROR TestUnknownCommand(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); // Cluster Attributes @@ -1294,6 +1328,7 @@ class DLL_EXPORT TestClusterCluster : public ClusterBase CHIP_ERROR ReadAttributeLongCharString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeEpochUs(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeEpochS(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeUnsupported(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR WriteAttributeBoolean(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, @@ -1331,13 +1366,15 @@ class DLL_EXPORT TestClusterCluster : public ClusterBase CHIP_ERROR WriteAttributeLongOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan value); CHIP_ERROR WriteAttributeCharString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeLongCharString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeEpochUs(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value); CHIP_ERROR WriteAttributeEpochS(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value); + CHIP_ERROR WriteAttributeVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + chip::VendorId value); CHIP_ERROR WriteAttributeUnsupported(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value); diff --git a/zzz_generated/controller-clusters/zap-generated/IMClusterCommandHandler.cpp b/zzz_generated/controller-clusters/zap-generated/IMClusterCommandHandler.cpp index 0ef28c73c599c3..a3458febceb324 100644 --- a/zzz_generated/controller-clusters/zap-generated/IMClusterCommandHandler.cpp +++ b/zzz_generated/controller-clusters/zap-generated/IMClusterCommandHandler.cpp @@ -420,6 +420,118 @@ void DispatchClientCommand(CommandSender * apCommandObj, const ConcreteCommandPa } // namespace ContentLauncher +namespace DiagnosticLogs { + +void DispatchClientCommand(CommandSender * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) +{ + // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV + // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error. + // Any error value TLVUnpackError means we have received an illegal value. + // The following variables are used for all commands to save code size. + CHIP_ERROR TLVError = CHIP_NO_ERROR; + CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR; + uint32_t validArgumentCount = 0; + uint32_t expectArgumentCount = 0; + uint32_t currentDecodeTagId = 0; + bool wasHandled = false; + { + switch (aCommandPath.mCommandId) + { + case Commands::RetrieveLogsResponse::Id: { + expectArgumentCount = 4; + uint8_t status; + chip::ByteSpan content; + uint32_t timeStamp; + uint32_t timeSinceBoot; + bool argExists[4]; + + memset(argExists, 0, sizeof argExists); + + while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR) + { + // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element. + // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid. + if (!TLV::IsContextTag(aDataTlv.GetTag())) + { + continue; + } + currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag()); + if (currentDecodeTagId < 4) + { + if (argExists[currentDecodeTagId]) + { + ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag())); + TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT; + break; + } + else + { + argExists[currentDecodeTagId] = true; + validArgumentCount++; + } + } + switch (currentDecodeTagId) + { + case 0: + TLVUnpackError = aDataTlv.Get(status); + break; + case 1: + TLVUnpackError = aDataTlv.Get(content); + break; + case 2: + TLVUnpackError = aDataTlv.Get(timeStamp); + break; + case 3: + TLVUnpackError = aDataTlv.Get(timeSinceBoot); + break; + default: + // Unsupported tag, ignore it. + ChipLogProgress(Zcl, "Unknown TLV tag during processing."); + break; + } + if (CHIP_NO_ERROR != TLVUnpackError) + { + break; + } + } + + if (CHIP_END_OF_TLV == TLVError) + { + // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error. + TLVError = CHIP_NO_ERROR; + } + + if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 4 == validArgumentCount) + { + wasHandled = emberAfDiagnosticLogsClusterRetrieveLogsResponseCallback(aCommandPath.mEndpointId, apCommandObj, + status, content, timeStamp, timeSinceBoot); + } + break; + } + default: { + // Unrecognized command ID, error status will apply. + ReportCommandUnsupported(apCommandObj, aCommandPath); + return; + } + } + } + + if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled) + { + apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand); + ChipLogProgress(Zcl, + "Failed to dispatch command, %" PRIu32 "/%" PRIu32 " arguments parsed, TLVError=%" CHIP_ERROR_FORMAT + ", UnpackError=%" CHIP_ERROR_FORMAT " (last decoded tag = %" PRIu32, + validArgumentCount, expectArgumentCount, TLVError.Format(), TLVUnpackError.Format(), currentDecodeTagId); + // A command with no arguments would never write currentDecodeTagId. If + // progress logging is also disabled, it would look unused. Silence that + // warning. + UNUSED_VAR(currentDecodeTagId); + } +} + +} // namespace DiagnosticLogs + namespace DoorLock { void DispatchClientCommand(CommandSender * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv) @@ -5129,6 +5241,68 @@ void DispatchClientCommand(CommandSender * apCommandObj, const ConcreteCommandPa } break; } + case Commands::TestEnumsResponse::Id: { + expectArgumentCount = 2; + chip::VendorId arg1; + uint8_t arg2; + bool argExists[2]; + + memset(argExists, 0, sizeof argExists); + + while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR) + { + // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element. + // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid. + if (!TLV::IsContextTag(aDataTlv.GetTag())) + { + continue; + } + currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag()); + if (currentDecodeTagId < 2) + { + if (argExists[currentDecodeTagId]) + { + ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag())); + TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT; + break; + } + else + { + argExists[currentDecodeTagId] = true; + validArgumentCount++; + } + } + switch (currentDecodeTagId) + { + case 0: + TLVUnpackError = aDataTlv.Get(arg1); + break; + case 1: + TLVUnpackError = aDataTlv.Get(arg2); + break; + default: + // Unsupported tag, ignore it. + ChipLogProgress(Zcl, "Unknown TLV tag during processing."); + break; + } + if (CHIP_NO_ERROR != TLVUnpackError) + { + break; + } + } + + if (CHIP_END_OF_TLV == TLVError) + { + // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error. + TLVError = CHIP_NO_ERROR; + } + + if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount) + { + wasHandled = emberAfTestClusterClusterTestEnumsResponseCallback(aCommandPath.mEndpointId, apCommandObj, arg1, arg2); + } + break; + } case Commands::TestListInt8UReverseResponse::Id: { expectArgumentCount = 1; /* TYPE WARNING: array array defaults to */ uint8_t * arg1; @@ -5307,6 +5481,9 @@ void DispatchSingleClusterResponseCommand(const ConcreteCommandPath & aCommandPa case Clusters::ContentLauncher::Id: Clusters::ContentLauncher::DispatchClientCommand(apCommandObj, aCommandPath, aReader); break; + case Clusters::DiagnosticLogs::Id: + Clusters::DiagnosticLogs::DispatchClientCommand(apCommandObj, aCommandPath, aReader); + break; case Clusters::DoorLock::Id: Clusters::DoorLock::DispatchClientCommand(apCommandObj, aCommandPath, aReader); break; diff --git a/zzz_generated/controller-clusters/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/controller-clusters/zap-generated/PluginApplicationCallbacks.h index 959ea4ae7e763f..e2498aa38e5a45 100644 --- a/zzz_generated/controller-clusters/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/controller-clusters/zap-generated/PluginApplicationCallbacks.h @@ -31,6 +31,7 @@ MatterBasicPluginClientInitCallback(); \ MatterBinaryInputBasicPluginClientInitCallback(); \ MatterBindingPluginClientInitCallback(); \ + MatterBooleanStatePluginClientInitCallback(); \ MatterBridgedDeviceBasicPluginClientInitCallback(); \ MatterColorControlPluginClientInitCallback(); \ MatterContentLauncherPluginClientInitCallback(); \ @@ -46,6 +47,7 @@ MatterGroupKeyManagementPluginClientInitCallback(); \ MatterGroupsPluginClientInitCallback(); \ MatterIdentifyPluginClientInitCallback(); \ + MatterIlluminanceMeasurementPluginClientInitCallback(); \ MatterKeypadInputPluginClientInitCallback(); \ MatterLevelControlPluginClientInitCallback(); \ MatterLowPowerPluginClientInitCallback(); \ diff --git a/zzz_generated/controller-clusters/zap-generated/callback-stub.cpp b/zzz_generated/controller-clusters/zap-generated/callback-stub.cpp index bc31e9b4debf78..1f435d5df826b8 100644 --- a/zzz_generated/controller-clusters/zap-generated/callback-stub.cpp +++ b/zzz_generated/controller-clusters/zap-generated/callback-stub.cpp @@ -56,6 +56,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_BINDING_CLUSTER_ID: emberAfBindingClusterInitCallback(endpoint); break; + case ZCL_BOOLEAN_STATE_CLUSTER_ID: + emberAfBooleanStateClusterInitCallback(endpoint); + break; case ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID: emberAfBridgedDeviceBasicClusterInitCallback(endpoint); break; @@ -101,6 +104,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_IDENTIFY_CLUSTER_ID: emberAfIdentifyClusterInitCallback(endpoint); break; + case ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID: + emberAfIlluminanceMeasurementClusterInitCallback(endpoint); + break; case ZCL_KEYPAD_INPUT_CLUSTER_ID: emberAfKeypadInputClusterInitCallback(endpoint); break; @@ -239,6 +245,11 @@ void __attribute__((weak)) emberAfBindingClusterInitCallback(EndpointId endpoint // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfBooleanStateClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfBridgedDeviceBasicClusterInitCallback(EndpointId endpoint) { // To prevent warning @@ -314,6 +325,11 @@ void __attribute__((weak)) emberAfIdentifyClusterInitCallback(EndpointId endpoin // To prevent warning (void) endpoint; } +void __attribute__((weak)) emberAfIlluminanceMeasurementClusterInitCallback(EndpointId endpoint) +{ + // To prevent warning + (void) endpoint; +} void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/controller-clusters/zap-generated/endpoint_config.h b/zzz_generated/controller-clusters/zap-generated/endpoint_config.h index ccac0aeb52a47e..9db7de1ed61f61 100644 --- a/zzz_generated/controller-clusters/zap-generated/endpoint_config.h +++ b/zzz_generated/controller-clusters/zap-generated/endpoint_config.h @@ -73,7 +73,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 53 +#define GENERATED_ATTRIBUTE_COUNT 55 #define GENERATED_ATTRIBUTES \ { \ \ @@ -151,6 +151,9 @@ /* Endpoint: 1, Cluster: Fixed Label (client) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ + /* Endpoint: 1, Cluster: Boolean State (client) */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + \ /* Endpoint: 1, Cluster: Door Lock (client) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ @@ -173,6 +176,9 @@ /* Endpoint: 1, Cluster: Color Control (client) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ + /* Endpoint: 1, Cluster: Illuminance Measurement (client) */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + \ /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ @@ -244,7 +250,7 @@ #define GENERATED_FUNCTION_ARRAYS #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 53 +#define GENERATED_CLUSTER_COUNT 55 #define GENERATED_CLUSTERS \ { \ { 0x0003, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Identify (client) */ \ @@ -311,88 +317,94 @@ 0x0040, ZAP_ATTRIBUTE_INDEX(23), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Fixed Label (client) */ \ { \ - 0x0101, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0045, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + }, /* Endpoint: 1, Cluster: Boolean State (client) */ \ + { \ + 0x0101, ZAP_ATTRIBUTE_INDEX(25), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Door Lock (client) */ \ { \ - 0x0102, ZAP_ATTRIBUTE_INDEX(25), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0102, ZAP_ATTRIBUTE_INDEX(26), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Window Covering (client) */ \ { \ - 0x0103, ZAP_ATTRIBUTE_INDEX(26), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0103, ZAP_ATTRIBUTE_INDEX(27), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Barrier Control (client) */ \ { \ - 0x0200, ZAP_ATTRIBUTE_INDEX(27), 2, 6, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0200, ZAP_ATTRIBUTE_INDEX(28), 2, 6, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Pump Configuration and Control (client) */ \ { \ - 0x0201, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0201, ZAP_ATTRIBUTE_INDEX(30), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Thermostat (client) */ \ { \ - 0x0204, ZAP_ATTRIBUTE_INDEX(30), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0204, ZAP_ATTRIBUTE_INDEX(31), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (client) */ \ { \ - 0x0300, ZAP_ATTRIBUTE_INDEX(31), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0300, ZAP_ATTRIBUTE_INDEX(32), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Color Control (client) */ \ { \ - 0x0402, ZAP_ATTRIBUTE_INDEX(32), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0400, ZAP_ATTRIBUTE_INDEX(33), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + }, /* Endpoint: 1, Cluster: Illuminance Measurement (client) */ \ + { \ + 0x0402, ZAP_ATTRIBUTE_INDEX(34), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \ { \ - 0x0403, ZAP_ATTRIBUTE_INDEX(33), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0403, ZAP_ATTRIBUTE_INDEX(35), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Pressure Measurement (client) */ \ { \ - 0x0404, ZAP_ATTRIBUTE_INDEX(34), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0404, ZAP_ATTRIBUTE_INDEX(36), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Flow Measurement (client) */ \ { \ - 0x0405, ZAP_ATTRIBUTE_INDEX(35), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0405, ZAP_ATTRIBUTE_INDEX(37), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Relative Humidity Measurement (client) */ \ { \ - 0x0406, ZAP_ATTRIBUTE_INDEX(36), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0406, ZAP_ATTRIBUTE_INDEX(38), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Occupancy Sensing (client) */ \ { \ - 0x0503, ZAP_ATTRIBUTE_INDEX(37), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0503, ZAP_ATTRIBUTE_INDEX(39), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Wake on LAN (client) */ \ { \ - 0x0504, ZAP_ATTRIBUTE_INDEX(38), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0504, ZAP_ATTRIBUTE_INDEX(40), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: TV Channel (client) */ \ { \ - 0x0505, ZAP_ATTRIBUTE_INDEX(39), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0505, ZAP_ATTRIBUTE_INDEX(41), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Target Navigator (client) */ \ { \ - 0x0506, ZAP_ATTRIBUTE_INDEX(40), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0506, ZAP_ATTRIBUTE_INDEX(42), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Media Playback (client) */ \ { \ - 0x0507, ZAP_ATTRIBUTE_INDEX(41), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0507, ZAP_ATTRIBUTE_INDEX(43), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Media Input (client) */ \ { \ - 0x0508, ZAP_ATTRIBUTE_INDEX(42), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0508, ZAP_ATTRIBUTE_INDEX(44), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Low Power (client) */ \ { \ - 0x0509, ZAP_ATTRIBUTE_INDEX(43), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0509, ZAP_ATTRIBUTE_INDEX(45), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Keypad Input (client) */ \ { \ - 0x050A, ZAP_ATTRIBUTE_INDEX(44), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050A, ZAP_ATTRIBUTE_INDEX(46), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Content Launcher (client) */ \ { \ - 0x050B, ZAP_ATTRIBUTE_INDEX(45), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050B, ZAP_ATTRIBUTE_INDEX(47), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Audio Output (client) */ \ { \ - 0x050C, ZAP_ATTRIBUTE_INDEX(46), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050C, ZAP_ATTRIBUTE_INDEX(48), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Application Launcher (client) */ \ { \ - 0x050D, ZAP_ATTRIBUTE_INDEX(47), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050D, ZAP_ATTRIBUTE_INDEX(49), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Application Basic (client) */ \ { \ - 0x050E, ZAP_ATTRIBUTE_INDEX(48), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050E, ZAP_ATTRIBUTE_INDEX(50), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Account Login (client) */ \ { \ - 0x050F, ZAP_ATTRIBUTE_INDEX(49), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x050F, ZAP_ATTRIBUTE_INDEX(51), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Test Cluster (client) */ \ { \ - 0x0B04, ZAP_ATTRIBUTE_INDEX(50), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0B04, ZAP_ATTRIBUTE_INDEX(52), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Electrical Measurement (client) */ \ { \ - 0xF000, ZAP_ATTRIBUTE_INDEX(51), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0xF000, ZAP_ATTRIBUTE_INDEX(53), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Binding (client) */ \ { \ - 0xF004, ZAP_ATTRIBUTE_INDEX(52), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0xF004, ZAP_ATTRIBUTE_INDEX(54), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Group Key Management (client) */ \ } @@ -401,7 +413,7 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 53, 108 }, \ + { ZAP_CLUSTER_INDEX(0), 55, 112 }, \ } // Largest attribute size is needed for various buffers @@ -411,7 +423,7 @@ #define ATTRIBUTE_SINGLETONS_SIZE (4) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (108) +#define ATTRIBUTE_MAX_SIZE (112) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (1) diff --git a/zzz_generated/controller-clusters/zap-generated/gen_config.h b/zzz_generated/controller-clusters/zap-generated/gen_config.h index ea3bc06a59f9e4..67c635c3e15303 100644 --- a/zzz_generated/controller-clusters/zap-generated/gen_config.h +++ b/zzz_generated/controller-clusters/zap-generated/gen_config.h @@ -38,6 +38,7 @@ #define EMBER_AF_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_BINARY_INPUT_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_BINDING_CLUSTER_CLIENT_ENDPOINT_COUNT (1) +#define EMBER_AF_BOOLEAN_STATE_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_BRIDGED_DEVICE_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_COLOR_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1) @@ -53,6 +54,7 @@ #define EMBER_AF_GROUP_KEY_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_GROUPS_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_IDENTIFY_CLUSTER_CLIENT_ENDPOINT_COUNT (1) +#define EMBER_AF_ILLUMINANCE_MEASUREMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_KEYPAD_INPUT_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_LEVEL_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_LOW_POWER_CLUSTER_CLIENT_ENDPOINT_COUNT (1) @@ -121,6 +123,10 @@ #define ZCL_USING_BINDING_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_BINDING_CLIENT +// Use this macro to check if the client side of the Boolean State cluster is included +#define ZCL_USING_BOOLEAN_STATE_CLUSTER_CLIENT +#define EMBER_AF_PLUGIN_BOOLEAN_STATE_CLIENT + // Use this macro to check if the client side of the Bridged Device Basic cluster is included #define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC_CLIENT @@ -181,6 +187,10 @@ #define ZCL_USING_IDENTIFY_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_IDENTIFY_CLIENT +// Use this macro to check if the client side of the Illuminance Measurement cluster is included +#define ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_CLIENT +#define EMBER_AF_PLUGIN_ILLUMINANCE_MEASUREMENT_CLIENT + // Use this macro to check if the client side of the Keypad Input cluster is included #define ZCL_USING_KEYPAD_INPUT_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_KEYPAD_INPUT_CLIENT diff --git a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp index ac3c5190bc0e57..5be80e2e8875b4 100644 --- a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp +++ b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -33,6045 +34,3704 @@ namespace chip { namespace Controller { CHIP_ERROR AccountLoginClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, AccountLogin::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR AdministratorCommissioningClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, AdministratorCommissioning::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan vendorName) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::VendorName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::VendorName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeVendorId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t vendorId) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::VendorId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::VendorId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeApplicationName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan applicationName) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::ApplicationName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, applicationName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::ApplicationName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeProductId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t productId) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::ProductId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::ProductId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeApplicationId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan applicationId) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::ApplicationId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, applicationId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::ApplicationId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t catalogVendorId) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::CatalogVendorId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, catalogVendorId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::CatalogVendorId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeApplicationStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t applicationStatus) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationBasic::Attributes::ApplicationStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, applicationStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::ApplicationStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationBasicClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationBasic::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ApplicationLauncherClusterTest::WriteAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t catalogVendorId) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationLauncher::Attributes::CatalogVendorId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, catalogVendorId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationLauncher::Attributes::CatalogVendorId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationLauncherClusterTest::WriteAttributeApplicationId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t applicationId) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ApplicationLauncher::Attributes::ApplicationId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, applicationId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationLauncher::Attributes::ApplicationId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ApplicationLauncherClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ApplicationLauncher::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR AudioOutputClusterTest::WriteAttributeCurrentAudioOutput(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t currentAudioOutput) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = AudioOutput::Attributes::CurrentAudioOutput::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentAudioOutput)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, AudioOutput::Attributes::CurrentAudioOutput::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR AudioOutputClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, AudioOutput::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR BarrierControlClusterTest::WriteAttributeBarrierMovingState(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t barrierMovingState) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BarrierControl::Attributes::BarrierMovingState::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, barrierMovingState)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BarrierControl::Attributes::BarrierMovingState::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BarrierControlClusterTest::WriteAttributeBarrierSafetyStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t barrierSafetyStatus) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BarrierControl::Attributes::BarrierSafetyStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, barrierSafetyStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BarrierControl::Attributes::BarrierSafetyStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BarrierControlClusterTest::WriteAttributeBarrierCapabilities(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t barrierCapabilities) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BarrierControl::Attributes::BarrierCapabilities::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, barrierCapabilities)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BarrierControl::Attributes::BarrierCapabilities::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BarrierControlClusterTest::WriteAttributeBarrierPosition(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t barrierPosition) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BarrierControl::Attributes::BarrierPosition::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, barrierPosition)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BarrierControl::Attributes::BarrierPosition::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BarrierControlClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BarrierControl::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR BasicClusterTest::WriteAttributeInteractionModelVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t interactionModelVersion) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::InteractionModelVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, interactionModelVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::InteractionModelVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan vendorName) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::VendorName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::VendorName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeVendorID(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t vendorID) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::VendorID::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorID)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::VendorID::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeProductName(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan productName) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::ProductName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ProductName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeProductID(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t productID) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::ProductID::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productID)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ProductID::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t hardwareVersion) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::HardwareVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, hardwareVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::HardwareVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan hardwareVersionString) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::HardwareVersionString::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, hardwareVersionString)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::HardwareVersionString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t softwareVersion) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::SoftwareVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, softwareVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::SoftwareVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan softwareVersionString) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::SoftwareVersionString::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, softwareVersionString)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::SoftwareVersionString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan manufacturingDate) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::ManufacturingDate::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, manufacturingDate)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ManufacturingDate::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributePartNumber(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan partNumber) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::PartNumber::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, partNumber)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::PartNumber::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeProductURL(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan productURL) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::ProductURL::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productURL)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ProductURL::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeProductLabel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan productLabel) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::ProductLabel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productLabel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ProductLabel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan serialNumber) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::SerialNumber::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, serialNumber)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::SerialNumber::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeReachable(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, bool reachable) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Basic::Attributes::Reachable::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, reachable)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::Reachable::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BasicClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR BinaryInputBasicClusterTest::WriteAttributeStatusFlags(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t statusFlags) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BinaryInputBasic::Attributes::StatusFlags::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, statusFlags)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BinaryInputBasic::Attributes::StatusFlags::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BinaryInputBasicClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BinaryInputBasic::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR BindingClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Binding::Attributes::ClusterRevision::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR BooleanStateClusterTest::WriteAttributeStateValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, bool value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BooleanState::Attributes::StateValue::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR BooleanStateClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BooleanState::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan vendorName) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::VendorName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::VendorName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeVendorID(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t vendorID) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::VendorID::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, vendorID)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::VendorID::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeProductName(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan productName) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::ProductName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::ProductName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t hardwareVersion) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::HardwareVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, hardwareVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::HardwareVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan hardwareVersionString) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::HardwareVersionString::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, hardwareVersionString)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::HardwareVersionString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t softwareVersion) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::SoftwareVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, softwareVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::SoftwareVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan softwareVersionString) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::SoftwareVersionString::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, softwareVersionString)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::SoftwareVersionString::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan manufacturingDate) + chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::ManufacturingDate::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, manufacturingDate)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::ManufacturingDate::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributePartNumber(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan partNumber) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::PartNumber::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, partNumber)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::PartNumber::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeProductURL(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan productURL) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::ProductURL::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productURL)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::ProductURL::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeProductLabel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan productLabel) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::ProductLabel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, productLabel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::ProductLabel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan serialNumber) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::SerialNumber::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, serialNumber)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::SerialNumber::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeReachable(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, bool reachable) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = BridgedDeviceBasic::Attributes::Reachable::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, reachable)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::Reachable::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR BridgedDeviceBasicClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, BridgedDeviceBasic::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ColorControlClusterTest::WriteAttributeCurrentHue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t currentHue) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CurrentHue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentHue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CurrentHue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t currentSaturation) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CurrentSaturation::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentSaturation)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CurrentSaturation::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeRemainingTime(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t remainingTime) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::RemainingTime::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, remainingTime)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::RemainingTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeCurrentX(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t currentX) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CurrentX::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentX)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CurrentX::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeCurrentY(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t currentY) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CurrentY::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentY)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CurrentY::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeDriftCompensation(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t driftCompensation) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::DriftCompensation::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, driftCompensation)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::DriftCompensation::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeCompensationText(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan compensationText) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CompensationText::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, compensationText)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CompensationText::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorTemperature(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t colorTemperature) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorTemperature::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorTemperature)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorTemperature::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorMode(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t colorMode) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorMode::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorMode)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeNumberOfPrimaries(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t numberOfPrimaries) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::NumberOfPrimaries::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, numberOfPrimaries)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::NumberOfPrimaries::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary1X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary1X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary1X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary1X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary1X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary1Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary1Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary1Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary1Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary1Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary1Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary1Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary1Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary1Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary1Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary2X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary2X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary2X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary2X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary2X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary2Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary2Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary2Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary2Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary2Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary2Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary2Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary2Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary2Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary2Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary3X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary3X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary3X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary3X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary3X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary3Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary3Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary3Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary3Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary3Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary3Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary3Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary3Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary3Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary3Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary4X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary4X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary4X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary4X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary4X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary4Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary4Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary4Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary4Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary4Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary4Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary4Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary4Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary4Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary4Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary5X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary5X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary5X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary5X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary5X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary5Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary5Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary5Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary5Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary5Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary5Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary5Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary5Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary5Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary5Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary6X(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary6X) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary6X::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary6X)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary6X::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary6Y(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t primary6Y) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary6Y::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary6Y)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary6Y::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributePrimary6Intensity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t primary6Intensity) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::Primary6Intensity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, primary6Intensity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::Primary6Intensity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeEnhancedCurrentHue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t enhancedCurrentHue) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::EnhancedCurrentHue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, enhancedCurrentHue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::EnhancedCurrentHue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeEnhancedColorMode(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t enhancedColorMode) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::EnhancedColorMode::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, enhancedColorMode)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::EnhancedColorMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorLoopActive(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t colorLoopActive) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorLoopActive::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorLoopActive)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorLoopActive::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorLoopDirection(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t colorLoopDirection) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorLoopDirection::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorLoopDirection)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorLoopDirection::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorLoopTime(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t colorLoopTime) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorLoopTime::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorLoopTime)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorLoopTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorLoopStartEnhancedHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t colorLoopStartEnhancedHue) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorLoopStartEnhancedHue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorLoopStartEnhancedHue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorLoopStartEnhancedHue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorLoopStoredEnhancedHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t colorLoopStoredEnhancedHue) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorLoopStoredEnhancedHue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorLoopStoredEnhancedHue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorCapabilities(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t colorCapabilities) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorCapabilities::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorCapabilities)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorCapabilities::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorTempPhysicalMin(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t colorTempPhysicalMin) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorTempPhysicalMin::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorTempPhysicalMin)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorTempPhysicalMin::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeColorTempPhysicalMax(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t colorTempPhysicalMax) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::ColorTempPhysicalMax::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, colorTempPhysicalMax)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ColorTempPhysicalMax::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeCoupleColorTempToLevelMinMireds(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t coupleColorTempToLevelMinMireds) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ColorControl::Attributes::CoupleColorTempToLevelMinMireds::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, coupleColorTempToLevelMinMireds)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::CoupleColorTempToLevelMinMireds::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ColorControlClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ColorControl::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ContentLauncherClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ContentLauncher::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR DescriptorClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Descriptor::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR DoorLockClusterTest::WriteAttributeLockState(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t lockState) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = DoorLock::Attributes::LockState::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, lockState)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, DoorLock::Attributes::LockState::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR DoorLockClusterTest::WriteAttributeLockType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t lockType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = DoorLock::Attributes::LockType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, lockType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, DoorLock::Attributes::LockType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR DoorLockClusterTest::WriteAttributeActuatorEnabled(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, bool actuatorEnabled) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = DoorLock::Attributes::ActuatorEnabled::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, actuatorEnabled)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, DoorLock::Attributes::ActuatorEnabled::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR DoorLockClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, DoorLock::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeMeasurementType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t measurementType) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::MeasurementType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, measurementType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::MeasurementType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeTotalActivePower(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int32_t totalActivePower) + Callback::Cancelable * onFailureCallback, int32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::TotalActivePower::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, totalActivePower)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::TotalActivePower::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsVoltage(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t rmsVoltage) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsVoltage::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsVoltage)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsVoltage::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsVoltageMin(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t rmsVoltageMin) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsVoltageMin::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsVoltageMin)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsVoltageMin::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsVoltageMax(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t rmsVoltageMax) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsVoltageMax::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsVoltageMax)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsVoltageMax::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsCurrent(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t rmsCurrent) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsCurrent::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsCurrent)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsCurrent::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsCurrentMin(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t rmsCurrentMin) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsCurrentMin::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsCurrentMin)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsCurrentMin::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeRmsCurrentMax(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t rmsCurrentMax) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::RmsCurrentMax::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rmsCurrentMax)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::RmsCurrentMax::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeActivePower(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t activePower) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::ActivePower::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, activePower)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::ActivePower::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeActivePowerMin(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t activePowerMin) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::ActivePowerMin::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, activePowerMin)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::ActivePowerMin::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeActivePowerMax(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t activePowerMax) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ElectricalMeasurement::Attributes::ActivePowerMax::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, activePowerMax)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::ActivePowerMax::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ElectricalMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ElectricalMeasurement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributePHYRate(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t PHYRate) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::PHYRate::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, PHYRate)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::PHYRate::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeFullDuplex(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - bool fullDuplex) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::FullDuplex::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, fullDuplex)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::FullDuplex::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributePacketRxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t packetRxCount) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::PacketRxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetRxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::PacketRxCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributePacketTxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t packetTxCount) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::PacketTxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetTxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::PacketTxCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeTxErrCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t txErrCount) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::TxErrCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txErrCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::TxErrCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeCollisionCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t collisionCount) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::CollisionCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, collisionCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::CollisionCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeOverrunCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t overrunCount) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::OverrunCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, overrunCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::OverrunCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeCarrierDetect(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - bool carrierDetect) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::CarrierDetect::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, carrierDetect)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::CarrierDetect::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeTimeSinceReset(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t timeSinceReset) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = EthernetNetworkDiagnostics::Attributes::TimeSinceReset::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, timeSinceReset)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::TimeSinceReset::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR EthernetNetworkDiagnosticsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, EthernetNetworkDiagnostics::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR FixedLabelClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, FixedLabel::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR FlowMeasurementClusterTest::WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, int16_t measuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = FlowMeasurement::Attributes::MeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, measuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, FlowMeasurement::Attributes::MeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR FlowMeasurementClusterTest::WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t minMeasuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = FlowMeasurement::Attributes::MinMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, FlowMeasurement::Attributes::MinMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR FlowMeasurementClusterTest::WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t maxMeasuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = FlowMeasurement::Attributes::MaxMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, FlowMeasurement::Attributes::MaxMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR FlowMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, FlowMeasurement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR GeneralCommissioningClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralCommissioning::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR GeneralDiagnosticsClusterTest::WriteAttributeRebootCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t rebootCount) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = GeneralDiagnostics::Attributes::RebootCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rebootCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralDiagnostics::Attributes::RebootCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR GeneralDiagnosticsClusterTest::WriteAttributeUpTime(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t upTime) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = GeneralDiagnostics::Attributes::UpTime::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, upTime)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralDiagnostics::Attributes::UpTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR GeneralDiagnosticsClusterTest::WriteAttributeTotalOperationalHours(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t totalOperationalHours) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = GeneralDiagnostics::Attributes::TotalOperationalHours::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, totalOperationalHours)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralDiagnostics::Attributes::TotalOperationalHours::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR GeneralDiagnosticsClusterTest::WriteAttributeBootReasons(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t bootReasons) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = GeneralDiagnostics::Attributes::BootReasons::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, bootReasons)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralDiagnostics::Attributes::BootReasons::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR GeneralDiagnosticsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralDiagnostics::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR GroupKeyManagementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GroupKeyManagement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR GroupsClusterTest::WriteAttributeNameSupport(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t nameSupport) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Groups::Attributes::NameSupport::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, nameSupport)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Groups::Attributes::NameSupport::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR GroupsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Groups::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR IdentifyClusterTest::WriteAttributeIdentifyType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t identifyType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Identify::Attributes::IdentifyType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, identifyType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Identify::Attributes::IdentifyType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR IdentifyClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Identify::Attributes::ClusterRevision::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::MeasuredValue::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, + uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::MinMeasuredValue::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, + uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::MaxMeasuredValue::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeTolerance(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::Tolerance::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeLightSensorType(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, uint8_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::LightSensorType::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} +CHIP_ERROR IlluminanceMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, + Callback::Cancelable * onFailureCallback, + uint16_t value) +{ + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, IlluminanceMeasurement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR KeypadInputClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, KeypadInput::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR LevelControlClusterTest::WriteAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t currentLevel) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::CurrentLevel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentLevel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::CurrentLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeRemainingTime(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t remainingTime) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::RemainingTime::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, remainingTime)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::RemainingTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeMinLevel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t minLevel) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::MinLevel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minLevel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::MinLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeMaxLevel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t maxLevel) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::MaxLevel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxLevel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::MaxLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeCurrentFrequency(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t currentFrequency) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::CurrentFrequency::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentFrequency)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::CurrentFrequency::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeMinFrequency(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t minFrequency) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::MinFrequency::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minFrequency)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::MinFrequency::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeMaxFrequency(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t maxFrequency) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = LevelControl::Attributes::MaxFrequency::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxFrequency)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::MaxFrequency::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR LevelControlClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LevelControl::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR LowPowerClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, LowPower::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR MediaInputClusterTest::WriteAttributeCurrentMediaInput(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t currentMediaInput) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaInput::Attributes::CurrentMediaInput::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentMediaInput)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaInput::Attributes::CurrentMediaInput::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaInputClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaInput::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR MediaPlaybackClusterTest::WriteAttributePlaybackState(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t playbackState) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::PlaybackState::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, playbackState)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::PlaybackState::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributeStartTime(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t startTime) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::StartTime::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, startTime)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::StartTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributeDuration(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t duration) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::Duration::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, duration)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::Duration::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributePositionUpdatedAt(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t positionUpdatedAt) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::PositionUpdatedAt::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, positionUpdatedAt)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::PositionUpdatedAt::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributePosition(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t position) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::Position::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, position)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::Position::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributePlaybackSpeed(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t playbackSpeed) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::PlaybackSpeed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, playbackSpeed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::PlaybackSpeed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributeSeekRangeEnd(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t seekRangeEnd) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::SeekRangeEnd::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, seekRangeEnd)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::SeekRangeEnd::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributeSeekRangeStart(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint64_t seekRangeStart) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = MediaPlayback::Attributes::SeekRangeStart::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, seekRangeStart)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::SeekRangeStart::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR MediaPlaybackClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, MediaPlayback::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR NetworkCommissioningClusterTest::WriteAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t featureMap) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::FeatureMap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, featureMap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, NetworkCommissioning::Attributes::FeatureMap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR NetworkCommissioningClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, NetworkCommissioning::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OtaSoftwareUpdateProviderClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OtaSoftwareUpdateProvider::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OtaSoftwareUpdateRequestorClusterTest::WriteAttributeUpdatePossible(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - bool updatePossible) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, updatePossible)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OtaSoftwareUpdateRequestorClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OccupancySensingClusterTest::WriteAttributeOccupancy(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t occupancy) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OccupancySensing::Attributes::Occupancy::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, occupancy)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OccupancySensing::Attributes::Occupancy::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OccupancySensingClusterTest::WriteAttributeOccupancySensorType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t occupancySensorType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OccupancySensing::Attributes::OccupancySensorType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, occupancySensorType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OccupancySensing::Attributes::OccupancySensorType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OccupancySensingClusterTest::WriteAttributeOccupancySensorTypeBitmap(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t occupancySensorTypeBitmap) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OccupancySensing::Attributes::OccupancySensorTypeBitmap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, occupancySensorTypeBitmap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OccupancySensing::Attributes::OccupancySensorTypeBitmap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OccupancySensingClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OccupancySensing::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OnOffClusterTest::WriteAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - bool onOff) + bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OnOff::Attributes::OnOff::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, onOff)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::OnOff::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OnOffClusterTest::WriteAttributeGlobalSceneControl(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, bool globalSceneControl) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OnOff::Attributes::GlobalSceneControl::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, globalSceneControl)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::GlobalSceneControl::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OnOffClusterTest::WriteAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t featureMap) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::FeatureMap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, featureMap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::FeatureMap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OnOffClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { - app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OnOffSwitchConfigurationClusterTest::WriteAttributeSwitchType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t switchType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OnOffSwitchConfiguration::Attributes::SwitchType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, switchType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOffSwitchConfiguration::Attributes::SwitchType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OnOffSwitchConfigurationClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOffSwitchConfiguration::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR OperationalCredentialsClusterTest::WriteAttributeSupportedFabrics(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t supportedFabrics) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OperationalCredentials::Attributes::SupportedFabrics::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, supportedFabrics)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OperationalCredentials::Attributes::SupportedFabrics::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OperationalCredentialsClusterTest::WriteAttributeCommissionedFabrics(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t commissionedFabrics) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = OperationalCredentials::Attributes::CommissionedFabrics::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, commissionedFabrics)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OperationalCredentials::Attributes::CommissionedFabrics::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR OperationalCredentialsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OperationalCredentials::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR PowerSourceClusterTest::WriteAttributeStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t status) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::Status::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, status)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::Status::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeOrder(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t order) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::Order::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, order)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::Order::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeDescription(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan description) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::Description::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, description)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::Description::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeBatteryVoltage(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t batteryVoltage) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::BatteryVoltage::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, batteryVoltage)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::BatteryVoltage::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeBatteryPercentRemaining(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t batteryPercentRemaining) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::BatteryPercentRemaining::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, batteryPercentRemaining)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::BatteryPercentRemaining::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeBatteryTimeRemaining(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t batteryTimeRemaining) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::BatteryTimeRemaining::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, batteryTimeRemaining)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::BatteryTimeRemaining::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeBatteryChargeLevel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t batteryChargeLevel) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::BatteryChargeLevel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, batteryChargeLevel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::BatteryChargeLevel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeBatteryChargeState(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t batteryChargeState) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PowerSource::Attributes::BatteryChargeState::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, batteryChargeState)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::BatteryChargeState::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t featureMap) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::FeatureMap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, featureMap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::FeatureMap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PowerSourceClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PowerSource::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR PressureMeasurementClusterTest::WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t measuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PressureMeasurement::Attributes::MeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, measuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PressureMeasurement::Attributes::MeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PressureMeasurementClusterTest::WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t minMeasuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PressureMeasurement::Attributes::MinMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PressureMeasurement::Attributes::MinMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PressureMeasurementClusterTest::WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t maxMeasuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PressureMeasurement::Attributes::MaxMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PressureMeasurement::Attributes::MaxMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PressureMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PressureMeasurement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t maxPressure) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxPressure::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxPressure)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxPressure::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxSpeed(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t maxSpeed) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxSpeed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxSpeed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxSpeed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxFlow(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t maxFlow) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxFlow::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxFlow)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxFlow::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMinConstPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t minConstPressure) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MinConstPressure::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minConstPressure)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MinConstPressure::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxConstPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t maxConstPressure) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxConstPressure::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxConstPressure)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxConstPressure::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMinCompPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t minCompPressure) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MinCompPressure::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minCompPressure)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MinCompPressure::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxCompPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t maxCompPressure) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxCompPressure::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxCompPressure)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxCompPressure::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMinConstSpeed(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t minConstSpeed) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MinConstSpeed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minConstSpeed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MinConstSpeed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxConstSpeed(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t maxConstSpeed) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxConstSpeed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxConstSpeed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxConstSpeed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMinConstFlow(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t minConstFlow) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MinConstFlow::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minConstFlow)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MinConstFlow::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxConstFlow(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t maxConstFlow) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxConstFlow::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxConstFlow)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxConstFlow::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMinConstTemp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t minConstTemp) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MinConstTemp::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minConstTemp)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MinConstTemp::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeMaxConstTemp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t maxConstTemp) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::MaxConstTemp::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxConstTemp)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::MaxConstTemp::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributePumpStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t pumpStatus) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::PumpStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, pumpStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::PumpStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeEffectiveOperationMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t effectiveOperationMode) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::EffectiveOperationMode::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, effectiveOperationMode)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::EffectiveOperationMode::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeEffectiveControlMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t effectiveControlMode) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::EffectiveControlMode::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, effectiveControlMode)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::EffectiveControlMode::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeCapacity(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t capacity) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::Capacity::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, capacity)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::Capacity::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeSpeed(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t speed) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::Speed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, speed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::Speed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeLifetimeEnergyConsumed(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t lifetimeEnergyConsumed) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, lifetimeEnergyConsumed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeAlarmMask(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t alarmMask) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = PumpConfigurationAndControl::Attributes::AlarmMask::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, alarmMask)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::AlarmMask::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t featureMap) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::FeatureMap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, featureMap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::FeatureMap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR PumpConfigurationAndControlClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::ClusterRevision::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR RelativeHumidityMeasurementClusterTest::WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t measuredValue) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = RelativeHumidityMeasurement::Attributes::MeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, measuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, RelativeHumidityMeasurement::Attributes::MeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR RelativeHumidityMeasurementClusterTest::WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t minMeasuredValue) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR RelativeHumidityMeasurementClusterTest::WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t maxMeasuredValue) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR RelativeHumidityMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, RelativeHumidityMeasurement::Attributes::ClusterRevision::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ScenesClusterTest::WriteAttributeSceneCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t sceneCount) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Scenes::Attributes::SceneCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, sceneCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::SceneCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ScenesClusterTest::WriteAttributeCurrentScene(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t currentScene) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Scenes::Attributes::CurrentScene::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentScene)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::CurrentScene::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ScenesClusterTest::WriteAttributeCurrentGroup(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t currentGroup) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Scenes::Attributes::CurrentGroup::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentGroup)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::CurrentGroup::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ScenesClusterTest::WriteAttributeSceneValid(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, bool sceneValid) + Callback::Cancelable * onFailureCallback, bool value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Scenes::Attributes::SceneValid::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, sceneValid)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::SceneValid::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ScenesClusterTest::WriteAttributeNameSupport(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t nameSupport) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Scenes::Attributes::NameSupport::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, nameSupport)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::NameSupport::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ScenesClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Scenes::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR SoftwareDiagnosticsClusterTest::WriteAttributeCurrentHeapFree(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t currentHeapFree) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = SoftwareDiagnostics::Attributes::CurrentHeapFree::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentHeapFree)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, SoftwareDiagnostics::Attributes::CurrentHeapFree::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR SoftwareDiagnosticsClusterTest::WriteAttributeCurrentHeapUsed(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t currentHeapUsed) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = SoftwareDiagnostics::Attributes::CurrentHeapUsed::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentHeapUsed)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, SoftwareDiagnostics::Attributes::CurrentHeapUsed::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR SoftwareDiagnosticsClusterTest::WriteAttributeCurrentHeapHighWatermark(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t currentHeapHighWatermark) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentHeapHighWatermark)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR SoftwareDiagnosticsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, SoftwareDiagnostics::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR SwitchClusterTest::WriteAttributeNumberOfPositions(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t numberOfPositions) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Switch::Attributes::NumberOfPositions::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, numberOfPositions)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Switch::Attributes::NumberOfPositions::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR SwitchClusterTest::WriteAttributeCurrentPosition(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t currentPosition) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Switch::Attributes::CurrentPosition::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPosition)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Switch::Attributes::CurrentPosition::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR SwitchClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Switch::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR TvChannelClusterTest::WriteAttributeTvChannelLineup(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan tvChannelLineup) + Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = TvChannel::Attributes::TvChannelLineup::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, tvChannelLineup)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TvChannel::Attributes::TvChannelLineup::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR TvChannelClusterTest::WriteAttributeCurrentTvChannel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan currentTvChannel) + Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = TvChannel::Attributes::CurrentTvChannel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentTvChannel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TvChannel::Attributes::CurrentTvChannel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR TvChannelClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TvChannel::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR TargetNavigatorClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TargetNavigator::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR TemperatureMeasurementClusterTest::WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t measuredValue) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = TemperatureMeasurement::Attributes::MeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, measuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TemperatureMeasurement::Attributes::MeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR TemperatureMeasurementClusterTest::WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t minMeasuredValue) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = TemperatureMeasurement::Attributes::MinMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, minMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TemperatureMeasurement::Attributes::MinMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR TemperatureMeasurementClusterTest::WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - int16_t maxMeasuredValue) + int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = TemperatureMeasurement::Attributes::MaxMeasuredValue::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, maxMeasuredValue)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TemperatureMeasurement::Attributes::MaxMeasuredValue::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR TemperatureMeasurementClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TemperatureMeasurement::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR TestClusterClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, TestCluster::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ThermostatClusterTest::WriteAttributeLocalTemperature(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, int16_t localTemperature) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::LocalTemperature::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, localTemperature)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::LocalTemperature::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeAbsMinHeatSetpointLimit(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t absMinHeatSetpointLimit) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::AbsMinHeatSetpointLimit::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, absMinHeatSetpointLimit)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::AbsMinHeatSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeAbsMaxHeatSetpointLimit(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t absMaxHeatSetpointLimit) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, absMaxHeatSetpointLimit)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeAbsMinCoolSetpointLimit(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t absMinCoolSetpointLimit) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::AbsMinCoolSetpointLimit::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, absMinCoolSetpointLimit)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::AbsMinCoolSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeAbsMaxCoolSetpointLimit(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - int16_t absMaxCoolSetpointLimit) + Callback::Cancelable * onFailureCallback, int16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, absMaxCoolSetpointLimit)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeStartOfWeek(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t startOfWeek) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::StartOfWeek::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, startOfWeek)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::StartOfWeek::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeNumberOfWeeklyTransitions(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t numberOfWeeklyTransitions) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::NumberOfWeeklyTransitions::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, numberOfWeeklyTransitions)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::NumberOfWeeklyTransitions::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeNumberOfDailyTransitions(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t numberOfDailyTransitions) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Thermostat::Attributes::NumberOfDailyTransitions::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, numberOfDailyTransitions)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::NumberOfDailyTransitions::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t featureMap) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::FeatureMap::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, featureMap)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::FeatureMap::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThermostatClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, Thermostat::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ThermostatUserInterfaceConfigurationClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeChannel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t channel) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::Channel::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, channel)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::Channel::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRoutingRole(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t routingRole) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RoutingRole::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, routingRole)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RoutingRole::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeNetworkName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan networkName) + chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::NetworkName::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, networkName)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::NetworkName::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributePanId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t panId) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::PanId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, panId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::PanId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeExtendedPanId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t extendedPanId) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::ExtendedPanId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, extendedPanId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ExtendedPanId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeMeshLocalPrefix(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan meshLocalPrefix) + chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, meshLocalPrefix)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeOverrunCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t overrunCount) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::OverrunCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, overrunCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::OverrunCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributePartitionId(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t partitionId) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::PartitionId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, partitionId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::PartitionId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeWeighting(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t weighting) + Callback::Cancelable * onFailureCallback, uint8_t value) { - app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::Weighting::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, weighting)); - + app::WriteClientHandle handle; + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::Weighting::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeDataVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t dataVersion) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::DataVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, dataVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::DataVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeStableDataVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t stableDataVersion) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::StableDataVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, stableDataVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::StableDataVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeLeaderRouterId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t leaderRouterId) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::LeaderRouterId::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, leaderRouterId)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::LeaderRouterId::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeDetachedRoleCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t detachedRoleCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, detachedRoleCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeChildRoleCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t childRoleCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::ChildRoleCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, childRoleCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ChildRoleCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRouterRoleCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t routerRoleCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RouterRoleCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, routerRoleCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RouterRoleCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeLeaderRoleCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t leaderRoleCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, leaderRoleCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeAttachAttemptCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t attachAttemptCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, attachAttemptCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributePartitionIdChangeCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t partitionIdChangeCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, partitionIdChangeCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeBetterPartitionAttachAttemptCount( - Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t betterPartitionAttachAttemptCount) + Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, betterPartitionAttachAttemptCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeParentChangeCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t parentChangeCount) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::ParentChangeCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, parentChangeCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ParentChangeCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxTotalCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t txTotalCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txTotalCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxTotalCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxUnicastCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txUnicastCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txUnicastCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxUnicastCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxBroadcastCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txBroadcastCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txBroadcastCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxAckRequestedCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txAckRequestedCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txAckRequestedCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxAckedCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t txAckedCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxAckedCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txAckedCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxAckedCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxNoAckRequestedCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txNoAckRequestedCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txNoAckRequestedCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxDataCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t txDataCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxDataCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txDataCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxDataCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxDataPollCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txDataPollCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txDataPollCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxDataPollCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxBeaconCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txBeaconCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txBeaconCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxBeaconCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxBeaconRequestCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txBeaconRequestCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txBeaconRequestCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxOtherCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t txOtherCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txOtherCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxOtherCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxRetryCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t txRetryCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txRetryCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxRetryCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxDirectMaxRetryExpiryCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txDirectMaxRetryExpiryCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txDirectMaxRetryExpiryCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxIndirectMaxRetryExpiryCount( - Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t txIndirectMaxRetryExpiryCount) + Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txIndirectMaxRetryExpiryCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, + ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxErrCcaCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txErrCcaCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txErrCcaCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxErrAbortCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txErrAbortCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txErrAbortCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeTxErrBusyChannelCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t txErrBusyChannelCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, txErrBusyChannelCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxTotalCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t rxTotalCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxTotalCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxTotalCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxUnicastCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxUnicastCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxUnicastCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxUnicastCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxBroadcastCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxBroadcastCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxBroadcastCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxDataCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t rxDataCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxDataCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxDataCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxDataCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxDataPollCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxDataPollCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxDataPollCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxDataPollCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxBeaconCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxBeaconCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxBeaconCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxBeaconCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxBeaconRequestCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxBeaconRequestCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxBeaconRequestCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxOtherCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t rxOtherCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxOtherCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxOtherCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxAddressFilteredCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxAddressFilteredCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxAddressFilteredCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxDestAddrFilteredCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxDestAddrFilteredCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxDestAddrFilteredCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxDuplicatedCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxDuplicatedCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxDuplicatedCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrNoFrameCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrNoFrameCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrNoFrameCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrUnknownNeighborCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrUnknownNeighborCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrUnknownNeighborCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrInvalidSrcAddrCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrInvalidSrcAddrCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrInvalidSrcAddrCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrSecCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrSecCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrSecCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrSecCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrFcsCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrFcsCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrFcsCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeRxErrOtherCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t rxErrOtherCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rxErrOtherCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeActiveTimestamp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t activeTimestamp) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, activeTimestamp)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributePendingTimestamp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint64_t pendingTimestamp) + uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::PendingTimestamp::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, pendingTimestamp)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::PendingTimestamp::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeDelay(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint32_t delay) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::Delay::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, delay)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::Delay::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeChannelMask(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan channelMask) + chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = ThreadNetworkDiagnostics::Attributes::ChannelMask::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, channelMask)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ChannelMask::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR ThreadNetworkDiagnosticsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, ThreadNetworkDiagnostics::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR WakeOnLanClusterTest::WriteAttributeWakeOnLanMacAddress(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - chip::ByteSpan wakeOnLanMacAddress) + Callback::Cancelable * onFailureCallback, chip::CharSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WakeOnLan::Attributes::WakeOnLanMacAddress::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, wakeOnLanMacAddress)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WakeOnLan::Attributes::WakeOnLanMacAddress::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WakeOnLanClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WakeOnLan::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeBssid(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan bssid) + Callback::Cancelable * onFailureCallback, chip::ByteSpan value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::Bssid::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, bssid)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::Bssid::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeSecurityType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t securityType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::SecurityType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, securityType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::SecurityType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeWiFiVersion(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t wiFiVersion) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, wiFiVersion)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::WiFiVersion::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeChannelNumber(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t channelNumber) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::ChannelNumber::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, channelNumber)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::ChannelNumber::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeRssi(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, int8_t rssi) + Callback::Cancelable * onFailureCallback, int8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::Rssi::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, rssi)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::Rssi::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeBeaconLostCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t beaconLostCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, beaconLostCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeBeaconRxCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint32_t beaconRxCount) + Callback::Cancelable * onFailureCallback, uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, beaconRxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributePacketMulticastRxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t packetMulticastRxCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetMulticastRxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributePacketMulticastTxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t packetMulticastTxCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetMulticastTxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributePacketUnicastRxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t packetUnicastRxCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetUnicastRxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributePacketUnicastTxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint32_t packetUnicastTxCount) + uint32_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, packetUnicastTxCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeCurrentMaxRate(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t currentMaxRate) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentMaxRate)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeOverrunCount(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint64_t overrunCount) + Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WiFiNetworkDiagnostics::Attributes::OverrunCount::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, overrunCount)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::OverrunCount::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WiFiNetworkDiagnosticsClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WiFiNetworkDiagnostics::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } CHIP_ERROR WindowCoveringClusterTest::WriteAttributeType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t type) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::Type::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, type)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::Type::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionLift(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t currentPositionLift) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionLift::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionLift)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionLift::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionTilt(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t currentPositionTilt) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionTilt::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionTilt)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionTilt::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeConfigStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t configStatus) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::ConfigStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, configStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::ConfigStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionLiftPercentage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t currentPositionLiftPercentage) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionLiftPercentage::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionLiftPercentage)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionLiftPercentage::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionTiltPercentage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t currentPositionTiltPercentage) + uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionTiltPercentage::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionTiltPercentage)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionTiltPercentage::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeOperationalStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint8_t operationalStatus) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::OperationalStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, operationalStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::OperationalStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeTargetPositionLiftPercent100ths(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t targetPositionLiftPercent100ths) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::TargetPositionLiftPercent100ths::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, targetPositionLiftPercent100ths)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::TargetPositionLiftPercent100ths::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeTargetPositionTiltPercent100ths(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t targetPositionTiltPercent100ths) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::TargetPositionTiltPercent100ths::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, targetPositionTiltPercent100ths)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::TargetPositionTiltPercent100ths::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeEndProductType(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint8_t endProductType) + Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::EndProductType::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, endProductType)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::EndProductType::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionLiftPercent100ths(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t currentPositionLiftPercent100ths) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionLiftPercent100ths::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionLiftPercent100ths)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionLiftPercent100ths::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeCurrentPositionTiltPercent100ths(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t currentPositionTiltPercent100ths) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::CurrentPositionTiltPercent100ths::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, currentPositionTiltPercent100ths)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::CurrentPositionTiltPercent100ths::Id), + value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeInstalledOpenLimitLift(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t installedOpenLimitLift) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::InstalledOpenLimitLift::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, installedOpenLimitLift)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::InstalledOpenLimitLift::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeInstalledClosedLimitLift(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t installedClosedLimitLift) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::InstalledClosedLimitLift::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, installedClosedLimitLift)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::InstalledClosedLimitLift::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeInstalledOpenLimitTilt(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t installedOpenLimitTilt) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::InstalledOpenLimitTilt::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, installedOpenLimitTilt)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::InstalledOpenLimitTilt::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeInstalledClosedLimitTilt(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint16_t installedClosedLimitTilt) + uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::InstalledClosedLimitTilt::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, installedClosedLimitTilt)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::InstalledClosedLimitTilt::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeSafetyStatus(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, uint16_t safetyStatus) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = WindowCovering::Attributes::SafetyStatus::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, safetyStatus)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::SafetyStatus::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } - CHIP_ERROR WindowCoveringClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, - uint16_t clusterRevision) + Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = Globals::Attributes::ClusterRevision::Id; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, clusterRevision)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, WindowCovering::Attributes::ClusterRevision::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } diff --git a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h index 28bcc1b73d428f..5ee90306ad4037 100644 --- a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h +++ b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h @@ -51,15 +51,15 @@ class DLL_EXPORT ApplicationBasicClusterTest : public ApplicationBasicCluster ~ApplicationBasicClusterTest() {} CHIP_ERROR WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeApplicationName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeApplicationId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeApplicationStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, @@ -121,31 +121,31 @@ class DLL_EXPORT BasicClusterTest : public BasicCluster CHIP_ERROR WriteAttributeInteractionModelVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeProductName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value); + Callback::Cancelable * onFailureCallback, chip::CharSpan value); CHIP_ERROR WriteAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value); CHIP_ERROR WriteAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value); + Callback::Cancelable * onFailureCallback, chip::CharSpan value); CHIP_ERROR WriteAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributePartNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value); CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, @@ -174,6 +174,18 @@ class DLL_EXPORT BindingClusterTest : public BindingCluster uint16_t value); }; +class DLL_EXPORT BooleanStateClusterTest : public BooleanStateCluster +{ +public: + BooleanStateClusterTest() : BooleanStateCluster() {} + ~BooleanStateClusterTest() {} + + CHIP_ERROR WriteAttributeStateValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + bool value); + CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); +}; + class DLL_EXPORT BridgedDeviceBasicClusterTest : public BridgedDeviceBasicCluster { public: @@ -181,29 +193,29 @@ class DLL_EXPORT BridgedDeviceBasicClusterTest : public BridgedDeviceBasicCluste ~BridgedDeviceBasicClusterTest() {} CHIP_ERROR WriteAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeProductName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value); + Callback::Cancelable * onFailureCallback, chip::CharSpan value); CHIP_ERROR WriteAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value); CHIP_ERROR WriteAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan value); + Callback::Cancelable * onFailureCallback, chip::CharSpan value); CHIP_ERROR WriteAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributePartNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeProductLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, bool value); CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, @@ -229,7 +241,7 @@ class DLL_EXPORT ColorControlClusterTest : public ColorControlCluster CHIP_ERROR WriteAttributeDriftCompensation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value); CHIP_ERROR WriteAttributeCompensationText(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); CHIP_ERROR WriteAttributeColorMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, @@ -489,6 +501,26 @@ class DLL_EXPORT IdentifyClusterTest : public IdentifyCluster uint16_t value); }; +class DLL_EXPORT IlluminanceMeasurementClusterTest : public IlluminanceMeasurementCluster +{ +public: + IlluminanceMeasurementClusterTest() : IlluminanceMeasurementCluster() {} + ~IlluminanceMeasurementClusterTest() {} + + CHIP_ERROR WriteAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); + CHIP_ERROR WriteAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); + CHIP_ERROR WriteAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); + CHIP_ERROR WriteAttributeTolerance(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); + CHIP_ERROR WriteAttributeLightSensorType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint8_t value); + CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t value); +}; + class DLL_EXPORT KeypadInputClusterTest : public KeypadInputCluster { public: @@ -673,7 +705,7 @@ class DLL_EXPORT PowerSourceClusterTest : public PowerSourceCluster CHIP_ERROR WriteAttributeOrder(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value); CHIP_ERROR WriteAttributeDescription(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeBatteryVoltage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint32_t value); CHIP_ERROR WriteAttributeBatteryPercentRemaining(Callback::Cancelable * onSuccessCallback, @@ -1045,7 +1077,7 @@ class DLL_EXPORT WakeOnLanClusterTest : public WakeOnLanCluster ~WakeOnLanClusterTest() {} CHIP_ERROR WriteAttributeWakeOnLanMacAddress(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan value); + chip::CharSpan value); CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); }; diff --git a/zzz_generated/lighting-app/zap-generated/CHIPClusters.cpp b/zzz_generated/lighting-app/zap-generated/CHIPClusters.cpp index 04c0d619a77263..622d7a52067884 100644 --- a/zzz_generated/lighting-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/lighting-app/zap-generated/CHIPClusters.cpp @@ -62,6 +62,23 @@ CHIP_ERROR OnOffCluster::ReadAttributeOnOff(Callback::Cancelable * onSuccessCall BasicAttributeFilter); } +CHIP_ERROR OnOffCluster::SubscribeAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t minInterval, uint16_t maxInterval) +{ + chip::app::AttributePathParams attributePath; + attributePath.mEndpointId = mEndpoint; + attributePath.mClusterId = mClusterId; + attributePath.mFieldId = OnOff::Attributes::OnOff::Id; + attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendSubscribeAttributeRequest(attributePath, minInterval, maxInterval, onSuccessCallback, onFailureCallback); +} + +CHIP_ERROR OnOffCluster::ReportAttributeOnOff(Callback::Cancelable * onReportCallback) +{ + return RequestAttributeReporting(OnOff::Attributes::OnOff::Id, onReportCallback, + BasicAttributeFilter); +} + CHIP_ERROR OnOffCluster::ReadAttributeGlobalSceneControl(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { @@ -85,20 +102,18 @@ CHIP_ERROR OnOffCluster::ReadAttributeOnTime(Callback::Cancelable * onSuccessCal BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::OnTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeOnTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004001; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::OnTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -114,20 +129,18 @@ CHIP_ERROR OnOffCluster::ReadAttributeOffWaitTime(Callback::Cancelable * onSucce BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::OffWaitTime::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeOffWaitTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004002; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::OffWaitTime::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -143,21 +156,30 @@ CHIP_ERROR OnOffCluster::ReadAttributeStartUpOnOff(Callback::Cancelable * onSucc BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::OnOff::Attributes::StartUpOnOff::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR OnOffCluster::WriteAttributeStartUpOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, OnOff::Attributes::StartUpOnOff::Id), value)); + return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); +} + +CHIP_ERROR OnOffCluster::ReadAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) +{ + app::AttributePathParams attributePath; attributePath.mEndpointId = mEndpoint; attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00004003; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - - return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); + attributePath.mFieldId = 0x0000FFFC; + attributePath.mFlags.Set(app::AttributePathParams::Flags::kFieldIdValid); + return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback, + BasicAttributeFilter); } CHIP_ERROR OnOffCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, @@ -192,5 +214,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/lighting-app/zap-generated/CHIPClusters.h b/zzz_generated/lighting-app/zap-generated/CHIPClusters.h index b2bd05d1461070..7bd77273a4db44 100644 --- a/zzz_generated/lighting-app/zap-generated/CHIPClusters.h +++ b/zzz_generated/lighting-app/zap-generated/CHIPClusters.h @@ -42,6 +42,7 @@ class DLL_EXPORT OnOffCluster : public ClusterBase CHIP_ERROR ReadAttributeOnTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeOffWaitTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeStartUpOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); + CHIP_ERROR ReadAttributeFeatureMap(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR WriteAttributeOnTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t value); @@ -49,6 +50,9 @@ class DLL_EXPORT OnOffCluster : public ClusterBase uint16_t value); CHIP_ERROR WriteAttributeStartUpOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value); + CHIP_ERROR SubscribeAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, + uint16_t minInterval, uint16_t maxInterval); + CHIP_ERROR ReportAttributeOnOff(Callback::Cancelable * onReportCallback); }; } // namespace Controller diff --git a/zzz_generated/lighting-app/zap-generated/endpoint_config.h b/zzz_generated/lighting-app/zap-generated/endpoint_config.h index 74f96c0ced2181..56f105f91f5727 100644 --- a/zzz_generated/lighting-app/zap-generated/endpoint_config.h +++ b/zzz_generated/lighting-app/zap-generated/endpoint_config.h @@ -27,109 +27,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,22 +82,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -178,7 +115,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -194,38 +131,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -241,7 +178,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -257,184 +194,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -453,7 +390,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -476,115 +413,57 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: On/Off (server), big-endian */ \ + \ + /* 2756 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #else // !BIGENDIAN_CPU #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -600,22 +479,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -633,7 +512,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -649,38 +528,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -696,7 +575,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -712,184 +591,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -908,7 +787,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -931,11 +810,16 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: On/Off (server), little-endian */ \ + \ + /* 2756 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (88) +#define GENERATED_DEFAULTS_COUNT (86) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -963,79 +847,77 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 183 +#define GENERATED_ATTRIBUTE_COUNT 184 #define GENERATED_ATTRIBUTES \ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1249) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1266) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1299) }, /* ProductURL */ \ - { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1556) }, /* ProductLabel */ \ - { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1621) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(236) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(253) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(286) }, /* ProductURL */ \ + { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(543) }, /* ProductLabel */ \ + { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(608) }, /* SerialNumber */ \ { 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1654) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1662) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(641) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(649) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1916) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2170) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2178) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(903) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1157) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1165) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2182) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2190) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2198) }, /* CurrentHeapHighWatermark */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1169) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1177) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1185) }, /* CurrentHeapHighWatermark */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(2206) }, /* NetworkName */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1193) }, /* NetworkName */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2223) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(2231) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2249) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2257) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2511) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2765) }, /* PartitionId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1210) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1218) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1236) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1244) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1498) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1752) }, /* PartitionId */ \ { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ @@ -1048,85 +930,85 @@ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2769) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2773) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2777) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2781) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2785) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2789) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2793) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2797) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2801) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2805) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2809) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2813) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2817) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2821) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2825) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2829) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2833) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2837) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2841) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2845) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2849) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2853) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2857) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2861) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2865) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2869) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2873) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2877) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2881) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2885) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2889) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2893) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2897) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2901) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2905) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2913) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2921) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2925) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2931) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2936) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2950) }, /* ActiveNetworkFaultsList */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1756) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1760) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1764) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1768) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1772) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1776) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1780) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1784) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1788) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1792) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1796) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1800) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1804) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1808) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1812) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1816) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1820) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1824) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1828) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1832) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1836) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1840) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1848) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1856) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1860) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1864) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1868) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1872) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1876) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1880) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1884) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1888) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1892) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1900) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1908) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1912) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1918) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1923) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1937) }, /* ActiveNetworkFaultsList */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2954) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1941) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2961) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2965) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2969) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2973) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2977) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2981) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2985) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2993) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1948) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1952) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1956) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1960) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1964) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1968) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1972) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1980) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3001) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3009) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3017) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3025) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3033) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1988) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1996) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2004) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2012) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2020) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3041) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2028) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(3049) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2036) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(3369) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2356) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (server) */ \ @@ -1135,7 +1017,8 @@ { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \ { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \ { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2756) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Level Control (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ @@ -1235,13 +1118,11 @@ #define GENERATED_CLUSTER_COUNT 18 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 19, \ - 652, \ + 653, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -1291,33 +1172,33 @@ }, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ { 0x0006, \ ZAP_ATTRIBUTE_INDEX(132), \ - 6, \ - 9, \ + 7, \ + 13, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \ { 0x0008, \ - ZAP_ATTRIBUTE_INDEX(138), \ + ZAP_ATTRIBUTE_INDEX(139), \ 15, \ 23, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \ { 0x0300, \ - ZAP_ATTRIBUTE_INDEX(153), \ + ZAP_ATTRIBUTE_INDEX(154), \ 22, \ 36, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \ { 0x0406, \ - ZAP_ATTRIBUTE_INDEX(175), \ + ZAP_ATTRIBUTE_INDEX(176), \ 4, \ 5, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOccupancySensingServer }, /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ { \ - 0x0006, ZAP_ATTRIBUTE_INDEX(179), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0006, ZAP_ATTRIBUTE_INDEX(180), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 2, Cluster: On/Off (client) */ \ { \ - 0x0007, ZAP_ATTRIBUTE_INDEX(180), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0007, ZAP_ATTRIBUTE_INDEX(181), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 2, Cluster: On/off Switch Configuration (server) */ \ } @@ -1326,17 +1207,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 12, 3840 }, { ZAP_CLUSTER_INDEX(12), 4, 73 }, { ZAP_CLUSTER_INDEX(16), 2, 6 }, \ + { ZAP_CLUSTER_INDEX(0), 12, 2825 }, { ZAP_CLUSTER_INDEX(12), 4, 77 }, { ZAP_CLUSTER_INDEX(16), 2, 6 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (652) +#define ATTRIBUTE_SINGLETONS_SIZE (653) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3919) +#define ATTRIBUTE_MAX_SIZE (2908) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/lock-app/zap-generated/endpoint_config.h b/zzz_generated/lock-app/zap-generated/endpoint_config.h index f32c33a562116f..a70949307172ee 100644 --- a/zzz_generated/lock-app/zap-generated/endpoint_config.h +++ b/zzz_generated/lock-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,38 +98,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -208,7 +145,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -224,184 +161,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -420,7 +357,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -443,102 +380,44 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: On/Off (server), big-endian */ \ + \ + /* 2351 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #else // !BIGENDIAN_CPU #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -546,10 +425,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -567,7 +446,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -583,38 +462,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -630,7 +509,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -646,184 +525,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -842,7 +721,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -865,11 +744,16 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: On/Off (server), little-endian */ \ + \ + /* 2351 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (83) +#define GENERATED_DEFAULTS_COUNT (81) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -897,164 +781,169 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 127 +#define GENERATED_ATTRIBUTE_COUNT 132 #define GENERATED_ATTRIBUTES \ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(780) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* NetworkName */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1818) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1826) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2106) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2360) }, /* PartitionId */ \ - { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ - { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ - { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ - { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ - { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ - { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ - { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ - { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2364) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2368) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2372) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2376) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2380) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2384) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2388) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2392) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2396) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2400) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2404) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2408) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2412) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2416) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2420) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2424) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2428) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2432) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2436) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2440) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2444) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2448) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2452) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2456) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2460) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2464) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2468) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2472) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2476) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2480) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2484) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2488) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2492) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2496) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2500) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2508) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2516) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2520) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2526) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2531) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2545) }, /* ActiveNetworkFaultsList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(788) }, /* NetworkName */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(805) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(813) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(831) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(839) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1093) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1347) }, /* PartitionId */ \ + { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ + { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ + { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ + { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ + { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ + { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ + { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ + { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ + { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ + { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ + { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1351) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1355) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1359) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1363) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1367) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1371) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1375) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1379) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1383) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1387) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1391) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1395) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1399) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1403) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1407) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1411) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1415) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1419) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1423) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1427) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1431) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1435) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1439) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1443) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1447) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1451) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1455) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1459) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1463) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1467) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1471) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1475) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1479) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1483) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1487) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1513) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1518) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1532) }, /* ActiveNetworkFaultsList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2549) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1536) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2556) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2560) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2564) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2568) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2572) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2576) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2580) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2588) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1543) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1547) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1551) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1555) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1559) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1563) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1567) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1575) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2596) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2604) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2612) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2620) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2628) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1583) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1591) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1599) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1607) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1615) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2636) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1623) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2644) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1631) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2964) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1951) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (server) */ \ - { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ + { 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* GlobalSceneControl */ \ + { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OnTime */ \ + { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OffWaitTime */ \ + { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2351) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ } // This is an array of EmberAfCluster structures. @@ -1088,13 +977,11 @@ #define GENERATED_CLUSTER_COUNT 13 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -1144,8 +1031,8 @@ }, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ { 0x0006, \ ZAP_ATTRIBUTE_INDEX(125), \ - 2, \ - 3, \ + 7, \ + 13, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \ } @@ -1155,17 +1042,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 12, 3433 }, { ZAP_CLUSTER_INDEX(12), 1, 3 }, \ + { ZAP_CLUSTER_INDEX(0), 12, 2418 }, { ZAP_CLUSTER_INDEX(12), 1, 13 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3436) +#define ATTRIBUTE_MAX_SIZE (2431) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp index 57df76f543afe9..51ec898c3590c3 100644 --- a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp @@ -143,7 +143,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::NotifyUpdateApplied(Callback::Cance CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t vendorId, uint16_t productId, uint16_t hardwareVersion, uint32_t softwareVersion, - uint8_t protocolsSupported, chip::ByteSpan location, + uint8_t protocolsSupported, chip::CharSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -179,8 +179,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * o // protocolsSupported: OTADownloadProtocol SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), protocolsSupported)); // location: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(location.data()), location.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location.data())); // requestorCanConsent: boolean SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), requestorCanConsent)); // metadataForProvider: octetString @@ -253,5 +252,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.h b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.h index dea694676d5b6d..9db60b690a6976 100644 --- a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.h +++ b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.h @@ -43,7 +43,7 @@ class DLL_EXPORT OtaSoftwareUpdateProviderCluster : public ClusterBase chip::ByteSpan updateToken, uint32_t softwareVersion); CHIP_ERROR QueryImage(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t vendorId, uint16_t productId, uint16_t hardwareVersion, uint32_t softwareVersion, uint8_t protocolsSupported, - chip::ByteSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider); + chip::CharSpan location, bool requestorCanConsent, chip::ByteSpan metadataForProvider); // Cluster Attributes CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); diff --git a/zzz_generated/pump-app/zap-generated/CHIPClusters.cpp b/zzz_generated/pump-app/zap-generated/CHIPClusters.cpp index 89efe9874e419d..f871d4d0f0c12f 100644 --- a/zzz_generated/pump-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/pump-app/zap-generated/CHIPClusters.cpp @@ -273,5 +273,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/pump-app/zap-generated/endpoint_config.h b/zzz_generated/pump-app/zap-generated/endpoint_config.h index 8f4d1b5cabbb98..0eca40cd12ad4f 100644 --- a/zzz_generated/pump-app/zap-generated/endpoint_config.h +++ b/zzz_generated/pump-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,38 +98,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -208,7 +145,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -224,184 +161,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -420,7 +357,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -443,102 +380,53 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: Pump Configuration and Control (server), big-endian */ \ + \ + /* 2351 - lifetime running hours, */ \ + 0x00, 0x00, 0x00, \ + \ + /* 2354 - power, */ \ + 0x00, 0x00, 0x00, \ + \ + /* 2357 - lifetime energy consumed, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 2361 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #else // !BIGENDIAN_CPU #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -546,10 +434,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -567,7 +455,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -583,38 +471,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -630,7 +518,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -646,184 +534,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -842,7 +730,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -865,11 +753,25 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, \ + \ + /* Endpoint: 1, Cluster: Pump Configuration and Control (server), little-endian */ \ + \ + /* 2351 - lifetime running hours, */ \ + 0x00, 0x00, 0x00, \ + \ + /* 2354 - power, */ \ + 0x00, 0x00, 0x00, \ + \ + /* 2357 - lifetime energy consumed, */ \ + 0x00, 0x00, 0x00, 0x00, \ + \ + /* 2361 - FeatureMap, */ \ + 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (83) +#define GENERATED_DEFAULTS_COUNT (84) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -897,177 +799,196 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 152 +#define GENERATED_ATTRIBUTE_COUNT 170 #define GENERATED_ATTRIBUTES \ { \ \ - /* Endpoint: 0, Cluster: Level Control (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ - \ - /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(780) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* NetworkName */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1818) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1826) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2106) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2360) }, /* PartitionId */ \ - { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ - { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ - { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ - { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ - { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ - { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ - { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ - { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2364) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2368) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2372) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2376) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2380) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2384) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2388) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2392) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2396) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2400) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2404) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2408) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2412) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2416) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2420) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2424) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2428) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2432) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2436) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2440) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2444) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2448) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2452) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2456) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2460) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2464) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2468) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2472) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2476) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2480) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2484) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2488) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2492) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2496) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2500) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2508) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2516) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2520) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2526) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2531) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2545) }, /* ActiveNetworkFaultsList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(788) }, /* NetworkName */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(805) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(813) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(831) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(839) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1093) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1347) }, /* PartitionId */ \ + { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ + { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ + { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ + { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ + { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ + { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ + { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ + { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ + { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ + { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ + { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1351) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1355) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1359) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1363) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1367) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1371) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1375) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1379) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1383) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1387) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1391) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1395) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1399) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1403) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1407) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1411) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1415) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1419) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1423) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1427) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1431) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1435) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1439) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1443) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1447) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1451) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1455) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1459) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1463) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1467) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1471) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1475) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1479) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1483) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1487) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1513) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1518) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1532) }, /* ActiveNetworkFaultsList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2549) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1536) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2556) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2560) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2564) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2568) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2572) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2576) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2580) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2588) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1543) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1547) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1551) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1555) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1559) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1563) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1567) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1575) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2596) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2604) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2612) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2620) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2628) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1583) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1591) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1599) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1607) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1615) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2636) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1623) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2644) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1631) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2964) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1951) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ + \ + /* Endpoint: 1, Cluster: Level Control (server) */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \ - { 0x0000, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max pressure */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max speed */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max flow */ \ - { 0x0011, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* effective operation mode */ \ - { 0x0012, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* effective control mode */ \ - { 0x0013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* capacity */ \ + { 0x0000, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max pressure */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max speed */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max flow */ \ + { 0x0003, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* min const pressure */ \ + { 0x0004, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max const pressure */ \ + { 0x0005, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* min comp pressure */ \ + { 0x0006, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max comp pressure */ \ + { 0x0007, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* min const speed */ \ + { 0x0008, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max const speed */ \ + { 0x0009, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* min const flow */ \ + { 0x000A, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max const flow */ \ + { 0x000B, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* min const temp */ \ + { 0x000C, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* max const temp */ \ + { 0x0010, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* pump status */ \ + { 0x0011, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* effective operation mode */ \ + { 0x0012, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* effective control mode */ \ + { 0x0013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* capacity */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* speed */ \ + { 0x0015, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(2351) }, /* lifetime running hours */ \ + { 0x0016, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2354) }, /* power */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2357) }, /* lifetime energy consumed */ \ { 0x0020, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* operation mode */ \ + { 0x0021, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* control mode */ \ + { 0x0022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* alarm mask */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2361) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \ @@ -1103,9 +1024,6 @@ // Cluster function static arrays #define GENERATED_FUNCTION_ARRAYS \ - const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ - (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ - }; \ const EmberAfGenericClusterFunction chipFuncArrayBasicServer[] = { \ (EmberAfGenericClusterFunction) emberAfBasicClusterServerInitCallback, \ }; \ @@ -1127,6 +1045,9 @@ const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = { \ (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback, \ }; \ + const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ + (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ + }; \ const EmberAfGenericClusterFunction chipFuncArrayPumpConfigurationAndControlServer[] = { \ (EmberAfGenericClusterFunction) emberAfPumpConfigurationAndControlClusterServerInitCallback, \ (EmberAfGenericClusterFunction) MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback, \ @@ -1136,97 +1057,95 @@ #define GENERATED_CLUSTER_COUNT 21 #define GENERATED_CLUSTERS \ { \ - { 0x0008, \ - ZAP_ATTRIBUTE_INDEX(0), \ - 2, \ - 3, \ - ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ - chipFuncArrayLevelControlServer }, /* Endpoint: 0, Cluster: Level Control (server) */ \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(2), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ - ZAP_ATTRIBUTE_INDEX(7), \ + ZAP_ATTRIBUTE_INDEX(5), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ - 0x0030, ZAP_ATTRIBUTE_INDEX(19), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0030, ZAP_ATTRIBUTE_INDEX(17), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: General Commissioning (server) */ \ { \ - 0x0031, ZAP_ATTRIBUTE_INDEX(22), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0031, ZAP_ATTRIBUTE_INDEX(20), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { \ - 0x0032, ZAP_ATTRIBUTE_INDEX(23), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0032, ZAP_ATTRIBUTE_INDEX(21), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \ { 0x0033, \ - ZAP_ATTRIBUTE_INDEX(23), \ + ZAP_ATTRIBUTE_INDEX(21), \ 6, \ 271, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayGeneralDiagnosticsServer }, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ { 0x0034, \ - ZAP_ATTRIBUTE_INDEX(29), \ + ZAP_ATTRIBUTE_INDEX(27), \ 4, \ 26, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArraySoftwareDiagnosticsServer }, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ { 0x0035, \ - ZAP_ATTRIBUTE_INDEX(33), \ + ZAP_ATTRIBUTE_INDEX(31), \ 64, \ 774, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayThreadNetworkDiagnosticsServer }, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0036, \ - ZAP_ATTRIBUTE_INDEX(97), \ + ZAP_ATTRIBUTE_INDEX(95), \ 14, \ 54, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayWiFiNetworkDiagnosticsServer }, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ { 0x0037, \ - ZAP_ATTRIBUTE_INDEX(111), \ + ZAP_ATTRIBUTE_INDEX(109), \ 10, \ 53, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayEthernetNetworkDiagnosticsServer }, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { \ - 0x003C, ZAP_ATTRIBUTE_INDEX(121), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x003C, ZAP_ATTRIBUTE_INDEX(119), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { \ - 0x003E, ZAP_ATTRIBUTE_INDEX(122), 5, 724, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x003E, ZAP_ATTRIBUTE_INDEX(120), 5, 724, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ { 0x0006, \ - ZAP_ATTRIBUTE_INDEX(127), \ + ZAP_ATTRIBUTE_INDEX(125), \ 2, \ 3, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \ + { 0x0008, \ + ZAP_ATTRIBUTE_INDEX(127), \ + 2, \ + 3, \ + ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \ { \ 0x0200, \ ZAP_ATTRIBUTE_INDEX(129), \ - 8, \ - 13, \ + 26, \ + 54, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ chipFuncArrayPumpConfigurationAndControlServer \ }, /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \ { \ - 0x0402, ZAP_ATTRIBUTE_INDEX(137), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0402, ZAP_ATTRIBUTE_INDEX(155), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \ { \ - 0x0402, ZAP_ATTRIBUTE_INDEX(138), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0402, ZAP_ATTRIBUTE_INDEX(156), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ { \ - 0x0403, ZAP_ATTRIBUTE_INDEX(142), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0403, ZAP_ATTRIBUTE_INDEX(160), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Pressure Measurement (client) */ \ { \ - 0x0403, ZAP_ATTRIBUTE_INDEX(143), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0403, ZAP_ATTRIBUTE_INDEX(161), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ { \ - 0x0404, ZAP_ATTRIBUTE_INDEX(147), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ + 0x0404, ZAP_ATTRIBUTE_INDEX(165), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 1, Cluster: Flow Measurement (client) */ \ { \ - 0x0404, ZAP_ATTRIBUTE_INDEX(148), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x0404, ZAP_ATTRIBUTE_INDEX(166), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ } @@ -1235,17 +1154,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 13, 3436 }, { ZAP_CLUSTER_INDEX(13), 8, 46 }, \ + { ZAP_CLUSTER_INDEX(0), 12, 2418 }, { ZAP_CLUSTER_INDEX(12), 9, 90 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3482) +#define ATTRIBUTE_MAX_SIZE (2508) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/pump-controller-app/zap-generated/CHIPClusters.cpp b/zzz_generated/pump-controller-app/zap-generated/CHIPClusters.cpp index 67f97b634af157..e4cb936c833b0c 100644 --- a/zzz_generated/pump-controller-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/pump-controller-app/zap-generated/CHIPClusters.cpp @@ -884,20 +884,19 @@ CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeOperationMode(Callba BasicAttributeFilter); } +template CHIP_ERROR +ClusterBase::WriteAttribute( + const chip::app::Clusters::PumpConfigurationAndControl::Attributes::OperationMode::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR PumpConfigurationAndControlCluster::WriteAttributeOperationMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000020; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, PumpConfigurationAndControl::Attributes::OperationMode::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -1001,5 +1000,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h b/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h index 820c3e4ffbd089..b7fcd958da1296 100644 --- a/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h +++ b/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,38 +98,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -208,7 +145,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -224,184 +161,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -420,7 +357,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -449,96 +386,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -546,10 +420,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -567,7 +441,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -583,38 +457,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -630,7 +504,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -646,184 +520,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -842,7 +716,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -869,7 +743,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (83) +#define GENERATED_DEFAULTS_COUNT (80) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -905,154 +779,154 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(780) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* NetworkName */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1818) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1826) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2106) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2360) }, /* PartitionId */ \ - { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ - { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ - { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ - { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ - { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ - { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ - { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ - { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2364) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2368) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2372) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2376) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2380) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2384) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2388) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2392) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2396) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2400) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2404) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2408) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2412) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2416) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2420) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2424) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2428) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2432) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2436) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2440) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2444) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2448) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2452) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2456) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2460) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2464) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2468) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2472) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2476) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2480) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2484) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2488) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2492) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2496) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2500) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2508) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2516) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2520) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2526) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2531) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2545) }, /* ActiveNetworkFaultsList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(788) }, /* NetworkName */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(805) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(813) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(831) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(839) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1093) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1347) }, /* PartitionId */ \ + { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ + { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ + { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ + { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ + { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ + { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ + { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ + { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ + { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ + { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ + { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1351) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1355) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1359) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1363) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1367) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1371) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1375) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1379) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1383) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1387) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1391) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1395) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1399) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1403) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1407) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1411) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1415) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1419) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1423) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1427) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1431) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1435) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1439) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1443) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1447) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1451) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1455) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1459) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1463) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1467) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1471) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1475) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1479) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1483) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1487) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1513) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1518) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1532) }, /* ActiveNetworkFaultsList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2549) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1536) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2556) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2560) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2564) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2568) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2572) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2576) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2580) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2588) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1543) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1547) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1551) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1555) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1559) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1563) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1567) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1575) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2596) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2604) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2612) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2620) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2628) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1583) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1591) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1599) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1607) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1615) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2636) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1623) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2644) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1631) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2964) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1951) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (client) */ \ @@ -1103,12 +977,12 @@ 0x0008, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \ }, /* Endpoint: 0, Cluster: Level Control (client) */ \ { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(1), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x001D, ZAP_ATTRIBUTE_INDEX(1), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(6), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -1178,17 +1052,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 13, 3435 }, { ZAP_CLUSTER_INDEX(13), 5, 10 }, \ + { ZAP_CLUSTER_INDEX(0), 13, 2420 }, { ZAP_CLUSTER_INDEX(13), 5, 10 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3445) +#define ATTRIBUTE_MAX_SIZE (2430) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h b/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h index 9fdf6dc39fb805..de0f5232b657d4 100644 --- a/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h +++ b/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,69 +98,69 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapHighWatermark, */ \ + /* 764 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 1785 - bssid, */ \ + /* 772 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1792 - BeaconLostCount, */ \ + /* 779 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1796 - BeaconRxCount, */ \ + /* 783 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1800 - PacketMulticastRxCount, */ \ + /* 787 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1804 - PacketMulticastTxCount, */ \ + /* 791 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1808 - PacketUnicastRxCount, */ \ + /* 795 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1812 - PacketUnicastTxCount, */ \ + /* 799 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1816 - CurrentMaxRate, */ \ + /* 803 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1824 - OverrunCount, */ \ + /* 811 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 1832 - PacketRxCount, */ \ + /* 819 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1840 - PacketTxCount, */ \ + /* 827 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1848 - TxErrCount, */ \ + /* 835 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1856 - CollisionCount, */ \ + /* 843 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1864 - OverrunCount, */ \ + /* 851 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1872 - TimeSinceReset, */ \ + /* 859 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 1880 - fabrics list, */ \ + /* 867 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -242,7 +179,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2200 - TrustedRootCertificates, */ \ + /* 1187 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -271,96 +208,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -368,10 +242,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -389,7 +263,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -405,69 +279,69 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapHighWatermark, */ \ + /* 764 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 1785 - bssid, */ \ + /* 772 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1792 - BeaconLostCount, */ \ + /* 779 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1796 - BeaconRxCount, */ \ + /* 783 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1800 - PacketMulticastRxCount, */ \ + /* 787 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1804 - PacketMulticastTxCount, */ \ + /* 791 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1808 - PacketUnicastRxCount, */ \ + /* 795 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1812 - PacketUnicastTxCount, */ \ + /* 799 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1816 - CurrentMaxRate, */ \ + /* 803 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1824 - OverrunCount, */ \ + /* 811 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 1832 - PacketRxCount, */ \ + /* 819 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1840 - PacketTxCount, */ \ + /* 827 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1848 - TxErrCount, */ \ + /* 835 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1856 - CollisionCount, */ \ + /* 843 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1864 - OverrunCount, */ \ + /* 851 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1872 - TimeSinceReset, */ \ + /* 859 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 1880 - fabrics list, */ \ + /* 867 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -486,7 +360,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2200 - TrustedRootCertificates, */ \ + /* 1187 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -513,7 +387,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (33) +#define GENERATED_DEFAULTS_COUNT (30) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -546,86 +420,86 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* bssid */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ - { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ - { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1792) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1796) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1800) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1804) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1808) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1812) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1816) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1824) }, /* OverrunCount */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* bssid */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ + { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ + { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(779) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(783) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(787) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(791) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(795) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(799) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(803) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(811) }, /* OverrunCount */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ - { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1832) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1840) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1848) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1856) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1864) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1872) }, /* TimeSinceReset */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ + { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(819) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(827) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(835) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(843) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(851) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(859) }, /* TimeSinceReset */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1880) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(867) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2200) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1187) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ @@ -660,13 +534,11 @@ #define GENERATED_CLUSTER_COUNT 12 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -718,17 +590,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 11, 2643 }, { ZAP_CLUSTER_INDEX(11), 1, 8 }, \ + { ZAP_CLUSTER_INDEX(0), 11, 1628 }, { ZAP_CLUSTER_INDEX(11), 1, 8 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (2651) +#define ATTRIBUTE_MAX_SIZE (1636) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (2) diff --git a/zzz_generated/thermostat/zap-generated/endpoint_config.h b/zzz_generated/thermostat/zap-generated/endpoint_config.h index b588de3a5dd744..18c3647f2a5d51 100644 --- a/zzz_generated/thermostat/zap-generated/endpoint_config.h +++ b/zzz_generated/thermostat/zap-generated/endpoint_config.h @@ -27,109 +27,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,22 +82,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -178,7 +115,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -194,38 +131,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -241,7 +178,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -257,184 +194,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -453,7 +390,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -479,7 +416,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), big-endian */ \ \ - /* 3769 - groups, */ \ + /* 2756 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -495,7 +432,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4023 - group keys, */ \ + /* 3010 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -513,108 +450,42 @@ \ /* Endpoint: 1, Cluster: On/Off (server), big-endian */ \ \ - /* 4277 - FeatureMap, */ \ + /* 3264 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), big-endian */ \ - \ - /* 4281 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4535 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4789 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 5043 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), big-endian */ \ \ - /* 5297 - VendorName, */ \ + /* 3268 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5330 - ProductName, */ \ + /* 3301 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5363 - UserLabel, */ \ + /* 3334 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5396 - HardwareVersionString, */ \ + /* 3367 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5461 - SoftwareVersion, */ \ + /* 3432 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5465 - SoftwareVersionString, */ \ + /* 3436 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5530 - ManufacturingDate, */ \ + /* 3501 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5547 - PartNumber, */ \ + /* 3518 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -630,7 +501,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5802 - ProductURL, */ \ + /* 3773 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -646,19 +517,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6057 - ProductLabel, */ \ + /* 4028 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6122 - SerialNumber, */ \ + /* 4093 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), big-endian */ \ \ - /* 6155 - label list, */ \ + /* 4126 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -676,12 +547,12 @@ \ /* Endpoint: 1, Cluster: Thermostat (server), big-endian */ \ \ - /* 6409 - FeatureMap, */ \ + /* 4380 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), big-endian */ \ \ - /* 6413 - compensation text, */ \ + /* 4384 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -699,18 +570,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), big-endian */ \ \ - /* 6668 - IAS CIE address, */ \ + /* 4639 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), big-endian */ \ \ - /* 6676 - wake on lan mac address, */ \ + /* 4647 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), big-endian */ \ \ - /* 6709 - tv channel list, */ \ + /* 4680 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -726,17 +597,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6963 - tv channel lineup, */ \ + /* 4934 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6996 - current tv channel, */ \ + /* 4967 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \ \ - /* 7029 - target navigator list, */ \ + /* 5000 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -754,7 +625,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \ \ - /* 7283 - media input list, */ \ + /* 5254 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -772,7 +643,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), big-endian */ \ \ - /* 7537 - accepts header list, */ \ + /* 5508 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -788,7 +659,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7791 - supported streaming types, */ \ + /* 5762 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -806,7 +677,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), big-endian */ \ \ - /* 8045 - audio output list, */ \ + /* 6016 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -824,7 +695,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \ \ - /* 8299 - application launcher list, */ \ + /* 6270 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -842,45 +713,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \ \ - /* 8553 - vendor name, */ \ + /* 6524 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8586 - application name, */ \ + /* 6557 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8619 - application id, */ \ + /* 6590 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \ \ - /* 8652 - bitmap32, */ \ + /* 6623 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8656 - bitmap64, */ \ + /* 6627 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8664 - int32u, */ \ + /* 6635 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8668 - int64u, */ \ + /* 6639 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8676 - int32s, */ \ + /* 6647 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8680 - int64s, */ \ + /* 6651 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8688 - octet_string, */ \ + /* 6659 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8699 - list_int8u, */ \ + /* 6670 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8709 - list_octet_string, */ \ + /* 6680 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -896,7 +767,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8963 - list_struct_octet_string, */ \ + /* 6934 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -912,7 +783,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9217 - long_octet_string, */ \ + /* 7188 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -972,109 +843,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1090,22 +898,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1123,7 +931,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1139,38 +947,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1186,7 +994,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1202,184 +1010,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1398,7 +1206,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1424,7 +1232,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), little-endian */ \ \ - /* 3769 - groups, */ \ + /* 2756 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1440,7 +1248,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4023 - group keys, */ \ + /* 3010 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1458,108 +1266,42 @@ \ /* Endpoint: 1, Cluster: On/Off (server), little-endian */ \ \ - /* 4277 - FeatureMap, */ \ + /* 3264 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), little-endian */ \ - \ - /* 4281 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4535 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4789 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 5043 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), little-endian */ \ \ - /* 5297 - VendorName, */ \ + /* 3268 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5330 - ProductName, */ \ + /* 3301 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5363 - UserLabel, */ \ + /* 3334 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5396 - HardwareVersionString, */ \ + /* 3367 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5461 - SoftwareVersion, */ \ + /* 3432 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5465 - SoftwareVersionString, */ \ + /* 3436 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5530 - ManufacturingDate, */ \ + /* 3501 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5547 - PartNumber, */ \ + /* 3518 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1575,7 +1317,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5802 - ProductURL, */ \ + /* 3773 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1591,19 +1333,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6057 - ProductLabel, */ \ + /* 4028 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6122 - SerialNumber, */ \ + /* 4093 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), little-endian */ \ \ - /* 6155 - label list, */ \ + /* 4126 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1621,12 +1363,12 @@ \ /* Endpoint: 1, Cluster: Thermostat (server), little-endian */ \ \ - /* 6409 - FeatureMap, */ \ + /* 4380 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), little-endian */ \ \ - /* 6413 - compensation text, */ \ + /* 4384 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1644,18 +1386,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), little-endian */ \ \ - /* 6668 - IAS CIE address, */ \ + /* 4639 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), little-endian */ \ \ - /* 6676 - wake on lan mac address, */ \ + /* 4647 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), little-endian */ \ \ - /* 6709 - tv channel list, */ \ + /* 4680 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1671,17 +1413,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6963 - tv channel lineup, */ \ + /* 4934 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6996 - current tv channel, */ \ + /* 4967 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \ \ - /* 7029 - target navigator list, */ \ + /* 5000 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1699,7 +1441,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \ \ - /* 7283 - media input list, */ \ + /* 5254 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1717,7 +1459,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), little-endian */ \ \ - /* 7537 - accepts header list, */ \ + /* 5508 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1733,7 +1475,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7791 - supported streaming types, */ \ + /* 5762 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1751,7 +1493,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), little-endian */ \ \ - /* 8045 - audio output list, */ \ + /* 6016 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1769,7 +1511,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \ \ - /* 8299 - application launcher list, */ \ + /* 6270 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1787,45 +1529,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \ \ - /* 8553 - vendor name, */ \ + /* 6524 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8586 - application name, */ \ + /* 6557 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8619 - application id, */ \ + /* 6590 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \ \ - /* 8652 - bitmap32, */ \ + /* 6623 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8656 - bitmap64, */ \ + /* 6627 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8664 - int32u, */ \ + /* 6635 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8668 - int64u, */ \ + /* 6639 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8676 - int32s, */ \ + /* 6647 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8680 - int64s, */ \ + /* 6651 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8688 - octet_string, */ \ + /* 6659 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8699 - list_int8u, */ \ + /* 6670 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8709 - list_octet_string, */ \ + /* 6680 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1841,7 +1583,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8963 - list_struct_octet_string, */ \ + /* 6934 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1857,7 +1599,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 9217 - long_octet_string, */ \ + /* 7188 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1915,7 +1657,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (134) +#define GENERATED_DEFAULTS_COUNT (127) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -1948,36 +1690,34 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1249) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1266) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1299) }, /* ProductURL */ \ - { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1556) }, /* ProductLabel */ \ - { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1621) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(236) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(253) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(286) }, /* ProductURL */ \ + { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(543) }, /* ProductLabel */ \ + { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(608) }, /* SerialNumber */ \ { 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ @@ -1987,38 +1727,38 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1654) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1662) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(641) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(649) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1916) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2170) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2178) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(903) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1157) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1165) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2182) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2190) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2198) }, /* CurrentHeapHighWatermark */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1169) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1177) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1185) }, /* CurrentHeapHighWatermark */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(2206) }, /* NetworkName */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1193) }, /* NetworkName */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2223) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(2231) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2249) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2257) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2511) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2765) }, /* PartitionId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1210) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1218) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1236) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1244) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1498) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1752) }, /* PartitionId */ \ { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ @@ -2031,85 +1771,85 @@ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2769) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2773) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2777) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2781) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2785) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2789) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2793) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2797) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2801) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2805) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2809) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2813) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2817) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2821) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2825) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2829) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2833) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2837) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2841) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2845) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2849) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2853) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2857) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2861) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2865) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2869) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2873) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2877) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2881) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2885) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2889) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2893) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2897) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2901) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2905) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2913) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2921) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2925) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2931) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2936) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2950) }, /* ActiveNetworkFaultsList */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1756) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1760) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1764) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1768) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1772) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1776) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1780) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1784) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1788) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1792) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1796) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1800) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1804) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1808) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1812) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1816) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1820) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1824) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1828) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1832) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1836) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1840) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1848) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1856) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1860) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1864) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1868) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1872) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1876) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1880) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1884) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1888) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1892) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1900) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1908) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1912) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1918) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1923) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1937) }, /* ActiveNetworkFaultsList */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2954) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1941) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2961) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2965) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2969) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2973) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2977) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2981) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2985) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2993) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1948) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1952) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1956) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1960) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1964) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1968) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1972) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1980) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3001) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3009) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3017) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3025) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3033) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1988) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1996) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2004) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2012) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2020) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3041) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2028) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(3049) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2036) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(3369) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2356) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ @@ -2122,8 +1862,8 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3769) }, /* groups */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4023) }, /* group keys */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2756) }, /* groups */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3010) }, /* group keys */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Identify (server) */ \ @@ -2148,8 +1888,8 @@ { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \ { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \ { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4277) }, /* FeatureMap */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3264) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Level Control (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ @@ -2176,32 +1916,32 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4281) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4535) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4789) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5043) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5297) }, /* VendorName */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3268) }, /* VendorName */ \ { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5330) }, /* ProductName */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3301) }, /* ProductName */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(5363) }, /* UserLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(3334) }, /* UserLabel */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5396) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5461) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(3367) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3432) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5465) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(3436) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5530) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5547) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5802) }, /* ProductURL */ \ + ZAP_LONG_DEFAULTS_INDEX(3501) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3518) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3773) }, /* ProductURL */ \ { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(6057) }, /* ProductLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(4028) }, /* ProductLabel */ \ { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(6122) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(4093) }, /* SerialNumber */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* Reachable */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ @@ -2211,7 +1951,7 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6155) }, /* label list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4126) }, /* label list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ @@ -2268,7 +2008,7 @@ { 0x0020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ { 0x0021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ { 0x0022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(6409) }, /* FeatureMap */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(4380) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Color Control (server) */ \ @@ -2278,7 +2018,7 @@ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x616B) }, /* current x */ \ { 0x0004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x607D) }, /* current y */ \ { 0x0005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* drift compensation */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(6413) }, /* compensation text */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(4384) }, /* compensation text */ \ { 0x0007, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x00FA) }, /* color temperature */ \ { 0x0008, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* color mode */ \ { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* color control options */ \ @@ -2353,29 +2093,29 @@ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* zone state */ \ { 0x0001, ZAP_TYPE(ENUM16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* zone type */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* zone status */ \ - { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6668) }, /* IAS CIE address */ \ + { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(4639) }, /* IAS CIE address */ \ { 0x0011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) }, /* Zone ID */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6676) }, /* wake on lan mac address */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4647) }, /* wake on lan mac address */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: TV Channel (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6709) }, /* tv channel list */ \ - { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6963) }, /* tv channel lineup */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6996) }, /* current tv channel */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4680) }, /* tv channel list */ \ + { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4934) }, /* tv channel lineup */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4967) }, /* current tv channel */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7029) }, /* target navigator list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5000) }, /* target navigator list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Input (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7283) }, /* media input list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5254) }, /* media input list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Low Power (server) */ \ @@ -2385,24 +2125,24 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7537) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7791) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5508) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5762) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8045) }, /* audio output list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6016) }, /* audio output list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8299) }, /* application launcher list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6270) }, /* application launcher list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8553) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6524) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8586) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6557) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8619) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6590) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -2414,25 +2154,25 @@ { 0x0000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) }, /* boolean */ \ { 0x0001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap8 */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap16 */ \ - { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8652) }, /* bitmap32 */ \ - { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8656) }, /* bitmap64 */ \ + { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6623) }, /* bitmap32 */ \ + { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6627) }, /* bitmap64 */ \ { 0x0005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8u */ \ { 0x0006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16u */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8664) }, /* int32u */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8668) }, /* int64u */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6635) }, /* int32u */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6639) }, /* int64u */ \ { 0x000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8s */ \ { 0x000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16s */ \ - { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8676) }, /* int32s */ \ - { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8680) }, /* int64s */ \ + { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6647) }, /* int32s */ \ + { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6651) }, /* int64s */ \ { 0x0015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum8 */ \ { 0x0016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum16 */ \ { 0x0019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(8688) }, /* octet_string */ \ - { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(8699) }, /* list_int8u */ \ - { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8709) }, /* list_octet_string */ \ - { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8963) }, /* list_struct_octet_string */ \ + ZAP_LONG_DEFAULTS_INDEX(6659) }, /* octet_string */ \ + { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(6670) }, /* list_int8u */ \ + { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6680) }, /* list_octet_string */ \ + { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6934) }, /* list_struct_octet_string */ \ { 0x001D, ZAP_TYPE(LONG_OCTET_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(9217) }, /* long_octet_string */ \ + ZAP_LONG_DEFAULTS_INDEX(7188) }, /* long_octet_string */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Binding (server) */ \ @@ -2440,7 +2180,7 @@ \ /* Endpoint: 2, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ { 0x0000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy */ \ @@ -2507,13 +2247,11 @@ #define GENERATED_CLUSTER_COUNT 52 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 19, \ - 652, \ + 653, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -2607,7 +2345,7 @@ 0x000F, ZAP_ATTRIBUTE_INDEX(173), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \ { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(177), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x001D, ZAP_ATTRIBUTE_INDEX(177), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Descriptor (server) */ \ { \ 0x0039, ZAP_ATTRIBUTE_INDEX(182), 15, 865, ZAP_CLUSTER_MASK(SERVER), NULL \ @@ -2719,17 +2457,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 16, 4362 }, { ZAP_CLUSTER_INDEX(16), 34, 6251 }, { ZAP_CLUSTER_INDEX(50), 2, 8 }, \ + { ZAP_CLUSTER_INDEX(0), 16, 3347 }, { ZAP_CLUSTER_INDEX(16), 34, 5235 }, { ZAP_CLUSTER_INDEX(50), 2, 8 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (1003) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (1517) +#define ATTRIBUTE_SINGLETONS_SIZE (1518) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (10621) +#define ATTRIBUTE_MAX_SIZE (8590) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/tv-app/zap-generated/CHIPClientCallbacks.cpp b/zzz_generated/tv-app/zap-generated/CHIPClientCallbacks.cpp index 98a6747514aecb..df004060de32d3 100644 --- a/zzz_generated/tv-app/zap-generated/CHIPClientCallbacks.cpp +++ b/zzz_generated/tv-app/zap-generated/CHIPClientCallbacks.cpp @@ -140,7 +140,9 @@ void GeneralCommissioningClusterBasicCommissioningInfoListListAttributeFilter(TL Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList< + chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfoType::DecodableType> + list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -164,7 +166,7 @@ void GeneralCommissioningClusterBasicCommissioningInfoListListAttributeFilter(TL void OperationalCredentialsClusterFabricsListListAttributeFilter(TLV::TLVReader * tlvData, Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { @@ -189,7 +191,7 @@ void OperationalCredentialsClusterTrustedRootCertificatesListAttributeFilter(TLV Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback) { - DecodableList list; + chip::app::DataModel::DecodableList list; CHIP_ERROR err = Decode(*tlvData, list); if (err != CHIP_NO_ERROR) { diff --git a/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp b/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp index 646cdf73baddd8..e653ac9c64179b 100644 --- a/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp @@ -138,7 +138,7 @@ CHIP_ERROR GeneralCommissioningCluster::CommissioningComplete(Callback::Cancelab CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t location, - chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs) + chip::CharSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -165,8 +165,7 @@ CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable // location: regulatoryLocationType SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), location)); // countryCode: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(countryCode.data()), countryCode.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode.data())); // breadcrumb: int64u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb)); // timeoutMs: int32u @@ -199,20 +198,18 @@ CHIP_ERROR GeneralCommissioningCluster::ReadAttributeBreadcrumb(Callback::Cancel BasicAttributeFilter); } +template CHIP_ERROR ClusterBase::WriteAttribute( + const chip::app::Clusters::GeneralCommissioning::Attributes::Breadcrumb::TypeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb); + CHIP_ERROR GeneralCommissioningCluster::WriteAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t value) { app::WriteClientHandle handle; - chip::app::AttributePathParams attributePath; - attributePath.mNodeId = mDevice->GetDeviceId(); - attributePath.mEndpointId = mEndpoint; - attributePath.mClusterId = mClusterId; - attributePath.mFieldId = 0x00000000; - attributePath.mFlags.Set(chip::app::AttributePathParams::Flags::kFieldIdValid); - - ReturnErrorOnFailure(app::InteractionModelEngine::GetInstance()->NewWriteClient(handle)); - ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(attributePath, value)); - + ReturnErrorOnFailure( + app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate())); + ReturnErrorOnFailure(handle.EncodeAttributeWritePayload( + chip::app::AttributePathParams(mEndpoint, mClusterId, GeneralCommissioning::Attributes::Breadcrumb::Id), value)); return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback); } @@ -802,7 +799,7 @@ CHIP_ERROR OperationalCredentialsCluster::RemoveFabric(Callback::Cancelable * on } CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable * onSuccessCallback, - Callback::Cancelable * onFailureCallback, chip::ByteSpan label) + Callback::Cancelable * onFailureCallback, chip::CharSpan label) { CHIP_ERROR err = CHIP_NO_ERROR; TLV::TLVWriter * writer = nullptr; @@ -827,8 +824,7 @@ CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // label: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), - Span(Uint8::to_const_char(label.data()), label.size()))); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label.data())); SuccessOrExit(err = sender->FinishCommand()); @@ -969,5 +965,31 @@ CHIP_ERROR ClusterBase::InvokeCommand(const RequestDataT & requestData, void * c requestData, onSuccessCb, onFailureCb); }; +template +CHIP_ERROR ClusterBase::WriteAttribute(const typename AttributeInfo::Type & requestData, void * context, + WriteResponseSuccessCallback successCb, WriteResponseFailureCallback failureCb) +{ + VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE); + ReturnErrorOnFailure(mDevice->LoadSecureSessionParametersIfNeeded()); + + auto onSuccessCb = [context, successCb](const app::ConcreteAttributePath & commandPath) { + if (successCb != nullptr) + { + successCb(context); + } + }; + + auto onFailureCb = [context, failureCb](const app::ConcreteAttributePath * commandPath, app::StatusIB status, + CHIP_ERROR aError) { + if (failureCb != nullptr) + { + failureCb(context, app::ToEmberAfStatus(status.mStatus)); + } + }; + + return chip::Controller::WriteAttribute(mDevice->GetExchangeManager(), mDevice->GetSecureSession().Value(), + mEndpoint, requestData, onSuccessCb, onFailureCb); +} + } // namespace Controller } // namespace chip diff --git a/zzz_generated/tv-app/zap-generated/CHIPClusters.h b/zzz_generated/tv-app/zap-generated/CHIPClusters.h index 6607d563c52104..ad2dfafeb68ddb 100644 --- a/zzz_generated/tv-app/zap-generated/CHIPClusters.h +++ b/zzz_generated/tv-app/zap-generated/CHIPClusters.h @@ -41,7 +41,7 @@ class DLL_EXPORT GeneralCommissioningCluster : public ClusterBase uint16_t expiryLengthSeconds, uint64_t breadcrumb, uint32_t timeoutMs); CHIP_ERROR CommissioningComplete(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); CHIP_ERROR SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - uint8_t location, chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs); + uint8_t location, chip::CharSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs); // Cluster Attributes CHIP_ERROR ReadAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); @@ -98,7 +98,7 @@ class DLL_EXPORT OperationalCredentialsCluster : public ClusterBase CHIP_ERROR RemoveFabric(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t fabricIndex); CHIP_ERROR UpdateFabricLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, - chip::ByteSpan label); + chip::CharSpan label); // Cluster Attributes CHIP_ERROR ReadAttributeFabricsList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback); diff --git a/zzz_generated/tv-app/zap-generated/endpoint_config.h b/zzz_generated/tv-app/zap-generated/endpoint_config.h index 7a54e970b24ac2..4b7b660175b6f3 100644 --- a/zzz_generated/tv-app/zap-generated/endpoint_config.h +++ b/zzz_generated/tv-app/zap-generated/endpoint_config.h @@ -27,109 +27,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,22 +82,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -178,7 +115,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -194,38 +131,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -241,7 +178,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -257,184 +194,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -453,7 +390,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -479,7 +416,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), big-endian */ \ \ - /* 3769 - groups, */ \ + /* 2756 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -495,7 +432,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4023 - group keys, */ \ + /* 3010 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -513,13 +450,13 @@ \ /* Endpoint: 1, Cluster: Wake on LAN (server), big-endian */ \ \ - /* 4277 - wake on lan mac address, */ \ + /* 3264 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), big-endian */ \ \ - /* 4310 - tv channel list, */ \ + /* 3297 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -535,17 +472,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4564 - tv channel lineup, */ \ + /* 3551 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4597 - current tv channel, */ \ + /* 3584 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \ \ - /* 4630 - target navigator list, */ \ + /* 3617 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -563,7 +500,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \ \ - /* 4884 - media input list, */ \ + /* 3871 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -581,7 +518,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), big-endian */ \ \ - /* 5138 - accepts header list, */ \ + /* 4125 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -597,7 +534,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5392 - supported streaming types, */ \ + /* 4379 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -615,7 +552,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \ \ - /* 5646 - application launcher list, */ \ + /* 4633 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -633,7 +570,7 @@ \ /* Endpoint: 2, Cluster: Audio Output (server), big-endian */ \ \ - /* 5900 - audio output list, */ \ + /* 4887 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -651,30 +588,30 @@ \ /* Endpoint: 3, Cluster: Media Playback (server), big-endian */ \ \ - /* 6154 - start time, */ \ + /* 5141 - start time, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \ \ - /* 6162 - duration, */ \ + /* 5149 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6170 - position updated at, */ \ + /* 5157 - position updated at, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6178 - position, */ \ + /* 5165 - position, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6186 - playback speed, */ \ + /* 5173 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6194 - seek range end, */ \ + /* 5181 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6202 - seek range start, */ \ + /* 5189 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 3, Cluster: Content Launcher (server), big-endian */ \ \ - /* 6210 - accepts header list, */ \ + /* 5197 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -690,7 +627,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6464 - supported streaming types, */ \ + /* 5451 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -708,21 +645,21 @@ \ /* Endpoint: 3, Cluster: Application Basic (server), big-endian */ \ \ - /* 6718 - vendor name, */ \ + /* 5705 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6751 - application name, */ \ + /* 5738 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6784 - application id, */ \ + /* 5771 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 4, Cluster: Content Launcher (server), big-endian */ \ \ - /* 6817 - accepts header list, */ \ + /* 5804 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -738,7 +675,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7071 - supported streaming types, */ \ + /* 6058 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -756,29 +693,29 @@ \ /* Endpoint: 4, Cluster: Application Basic (server), big-endian */ \ \ - /* 7325 - vendor name, */ \ + /* 6312 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7358 - application name, */ \ + /* 6345 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7391 - application id, */ \ + /* 6378 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 5, Cluster: Application Basic (server), big-endian */ \ \ - /* 7424 - vendor name, */ \ + /* 6411 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7457 - application name, */ \ + /* 6444 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7490 - application id, */ \ + /* 6477 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ } @@ -787,109 +724,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -905,22 +779,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -938,7 +812,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -954,38 +828,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1001,7 +875,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1017,184 +891,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1213,7 +1087,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3369 - TrustedRootCertificates, */ \ + /* 2356 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1239,7 +1113,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), little-endian */ \ \ - /* 3769 - groups, */ \ + /* 2756 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1255,7 +1129,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4023 - group keys, */ \ + /* 3010 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1273,13 +1147,13 @@ \ /* Endpoint: 1, Cluster: Wake on LAN (server), little-endian */ \ \ - /* 4277 - wake on lan mac address, */ \ + /* 3264 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), little-endian */ \ \ - /* 4310 - tv channel list, */ \ + /* 3297 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1295,17 +1169,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4564 - tv channel lineup, */ \ + /* 3551 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4597 - current tv channel, */ \ + /* 3584 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \ \ - /* 4630 - target navigator list, */ \ + /* 3617 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1323,7 +1197,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \ \ - /* 4884 - media input list, */ \ + /* 3871 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1341,7 +1215,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), little-endian */ \ \ - /* 5138 - accepts header list, */ \ + /* 4125 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1357,7 +1231,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5392 - supported streaming types, */ \ + /* 4379 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1375,7 +1249,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \ \ - /* 5646 - application launcher list, */ \ + /* 4633 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1393,7 +1267,7 @@ \ /* Endpoint: 2, Cluster: Audio Output (server), little-endian */ \ \ - /* 5900 - audio output list, */ \ + /* 4887 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1411,30 +1285,30 @@ \ /* Endpoint: 3, Cluster: Media Playback (server), little-endian */ \ \ - /* 6154 - start time, */ \ + /* 5141 - start time, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \ \ - /* 6162 - duration, */ \ + /* 5149 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6170 - position updated at, */ \ + /* 5157 - position updated at, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6178 - position, */ \ + /* 5165 - position, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6186 - playback speed, */ \ + /* 5173 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6194 - seek range end, */ \ + /* 5181 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6202 - seek range start, */ \ + /* 5189 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 3, Cluster: Content Launcher (server), little-endian */ \ \ - /* 6210 - accepts header list, */ \ + /* 5197 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1450,7 +1324,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6464 - supported streaming types, */ \ + /* 5451 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1468,21 +1342,21 @@ \ /* Endpoint: 3, Cluster: Application Basic (server), little-endian */ \ \ - /* 6718 - vendor name, */ \ + /* 5705 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6751 - application name, */ \ + /* 5738 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6784 - application id, */ \ + /* 5771 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 4, Cluster: Content Launcher (server), little-endian */ \ \ - /* 6817 - accepts header list, */ \ + /* 5804 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1498,7 +1372,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7071 - supported streaming types, */ \ + /* 6058 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1516,36 +1390,36 @@ \ /* Endpoint: 4, Cluster: Application Basic (server), little-endian */ \ \ - /* 7325 - vendor name, */ \ + /* 6312 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7358 - application name, */ \ + /* 6345 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7391 - application id, */ \ + /* 6378 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 5, Cluster: Application Basic (server), little-endian */ \ \ - /* 7424 - vendor name, */ \ + /* 6411 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7457 - application name, */ \ + /* 6444 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7490 - application id, */ \ + /* 6477 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (120) +#define GENERATED_DEFAULTS_COUNT (117) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -1578,36 +1452,34 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1249) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1266) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1299) }, /* ProductURL */ \ - { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1556) }, /* ProductLabel */ \ - { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1621) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(236) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(253) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(286) }, /* ProductURL */ \ + { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(543) }, /* ProductLabel */ \ + { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(608) }, /* SerialNumber */ \ { 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0x00) }, /* LocalConfigDisabled */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ @@ -1619,9 +1491,9 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1654) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1662) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(641) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(649) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (client) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -1630,30 +1502,30 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1916) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2170) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2178) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(903) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1157) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1165) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2182) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2190) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2198) }, /* CurrentHeapHighWatermark */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1169) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1177) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1185) }, /* CurrentHeapHighWatermark */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(2206) }, /* NetworkName */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1193) }, /* NetworkName */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2223) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(2231) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2249) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2257) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2511) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2765) }, /* PartitionId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1210) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1218) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1236) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1244) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1498) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1752) }, /* PartitionId */ \ { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ @@ -1666,75 +1538,75 @@ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2769) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2773) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2777) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2781) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2785) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2789) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2793) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2797) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2801) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2805) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2809) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2813) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2817) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2821) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2825) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2829) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2833) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2837) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2841) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2845) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2849) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2853) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2857) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2861) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2865) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2869) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2873) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2877) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2881) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2885) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2889) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2893) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2897) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2901) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2905) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2913) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2921) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2925) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2931) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2936) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2950) }, /* ActiveNetworkFaultsList */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1756) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1760) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1764) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1768) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1772) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1776) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1780) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1784) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1788) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1792) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1796) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1800) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1804) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1808) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1812) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1816) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1820) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1824) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1828) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1832) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1836) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1840) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1848) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1856) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1860) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1864) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1868) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1872) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1876) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1880) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1884) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1888) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1892) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1900) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1908) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1912) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1918) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1923) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1937) }, /* ActiveNetworkFaultsList */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2954) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1941) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2961) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2965) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2969) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2973) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2977) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2981) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2985) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2993) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1948) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1952) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1956) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1960) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1964) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1968) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1972) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1980) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3001) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3009) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3017) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3025) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3033) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1988) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1996) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2004) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2012) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2020) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3041) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2028) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ @@ -1744,10 +1616,10 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(3049) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2036) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(3369) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2356) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \ @@ -1760,30 +1632,30 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3769) }, /* groups */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4023) }, /* group keys */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2756) }, /* groups */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3010) }, /* group keys */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4277) }, /* wake on lan mac address */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(3264) }, /* wake on lan mac address */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: TV Channel (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4310) }, /* tv channel list */ \ - { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4564) }, /* tv channel lineup */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4597) }, /* current tv channel */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3297) }, /* tv channel list */ \ + { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(3551) }, /* tv channel lineup */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(3584) }, /* current tv channel */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4630) }, /* target navigator list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3617) }, /* target navigator list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Input (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4884) }, /* media input list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3871) }, /* media input list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current media input */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ @@ -1794,19 +1666,19 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5138) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5392) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4125) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4379) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5646) }, /* application launcher list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4633) }, /* application launcher list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* catalog vendor id */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* application id */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Level Control (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ @@ -1827,32 +1699,32 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Audio Output (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5900) }, /* audio output list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4887) }, /* audio output list */ \ { 0x0001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current audio output */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 3, Cluster: Media Playback (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* playback state */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6154) }, /* start time */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6162) }, /* duration */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6170) }, /* position updated at */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6178) }, /* position */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6186) }, /* playback speed */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6194) }, /* seek range end */ \ - { 0x0007, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(6202) }, /* seek range start */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5141) }, /* start time */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5149) }, /* duration */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5157) }, /* position updated at */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5165) }, /* position */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5173) }, /* playback speed */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5181) }, /* seek range end */ \ + { 0x0007, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(5189) }, /* seek range start */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 3, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6210) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6464) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5197) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5451) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 3, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6718) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(5705) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6751) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(5738) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6784) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(5771) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -1861,26 +1733,26 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 4, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6817) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7071) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5804) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6058) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 4, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7325) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6312) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7358) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6345) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7391) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6378) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 5, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7424) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6411) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7457) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6444) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(7490) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6477) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -1920,13 +1792,11 @@ #define GENERATED_CLUSTER_COUNT 38 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 18, \ - 651, \ + 652, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -2068,7 +1938,7 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 19, 4367 }, { ZAP_CLUSTER_INDEX(19), 9, 1645 }, { ZAP_CLUSTER_INDEX(28), 3, 283 }, \ + { ZAP_CLUSTER_INDEX(0), 19, 3352 }, { ZAP_CLUSTER_INDEX(19), 9, 1645 }, { ZAP_CLUSTER_INDEX(28), 3, 283 }, \ { ZAP_CLUSTER_INDEX(31), 4, 679 }, { ZAP_CLUSTER_INDEX(35), 2, 618 }, { ZAP_CLUSTER_INDEX(37), 1, 108 }, \ } @@ -2076,10 +1946,10 @@ #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (651) +#define ATTRIBUTE_SINGLETONS_SIZE (652) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (7700) +#define ATTRIBUTE_MAX_SIZE (6685) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (6) diff --git a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h index 01aadd928077e1..456e01097ca2c3 100644 --- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h +++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h @@ -27,109 +27,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,22 +82,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -178,7 +115,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -194,38 +131,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -241,7 +178,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -257,184 +194,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -455,7 +392,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), big-endian */ \ \ - /* 3369 - groups, */ \ + /* 2356 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -471,7 +408,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3623 - group keys, */ \ + /* 2610 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -489,108 +426,42 @@ \ /* Endpoint: 1, Cluster: On/Off (server), big-endian */ \ \ - /* 3877 - FeatureMap, */ \ + /* 2864 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), big-endian */ \ - \ - /* 3881 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4135 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4389 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4643 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), big-endian */ \ \ - /* 4897 - VendorName, */ \ + /* 2868 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4930 - ProductName, */ \ + /* 2901 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4963 - UserLabel, */ \ + /* 2934 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4996 - HardwareVersionString, */ \ + /* 2967 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5061 - SoftwareVersion, */ \ + /* 3032 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5065 - SoftwareVersionString, */ \ + /* 3036 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5130 - ManufacturingDate, */ \ + /* 3101 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5147 - PartNumber, */ \ + /* 3118 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -606,7 +477,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5402 - ProductURL, */ \ + /* 3373 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -622,19 +493,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5657 - ProductLabel, */ \ + /* 3628 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5722 - SerialNumber, */ \ + /* 3693 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), big-endian */ \ \ - /* 5755 - label list, */ \ + /* 3726 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -652,12 +523,12 @@ \ /* Endpoint: 1, Cluster: Thermostat (server), big-endian */ \ \ - /* 6009 - FeatureMap, */ \ + /* 3980 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), big-endian */ \ \ - /* 6013 - compensation text, */ \ + /* 3984 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -675,18 +546,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), big-endian */ \ \ - /* 6268 - IAS CIE address, */ \ + /* 4239 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), big-endian */ \ \ - /* 6276 - wake on lan mac address, */ \ + /* 4247 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), big-endian */ \ \ - /* 6309 - tv channel list, */ \ + /* 4280 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -702,17 +573,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6563 - tv channel lineup, */ \ + /* 4534 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6596 - current tv channel, */ \ + /* 4567 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \ \ - /* 6629 - target navigator list, */ \ + /* 4600 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -730,7 +601,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \ \ - /* 6883 - media input list, */ \ + /* 4854 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -748,7 +619,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), big-endian */ \ \ - /* 7137 - accepts header list, */ \ + /* 5108 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -764,7 +635,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7391 - supported streaming types, */ \ + /* 5362 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -782,7 +653,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), big-endian */ \ \ - /* 7645 - audio output list, */ \ + /* 5616 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -800,7 +671,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \ \ - /* 7899 - application launcher list, */ \ + /* 5870 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -818,45 +689,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \ \ - /* 8153 - vendor name, */ \ + /* 6124 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8186 - application name, */ \ + /* 6157 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8219 - application id, */ \ + /* 6190 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \ \ - /* 8252 - bitmap32, */ \ + /* 6223 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8256 - bitmap64, */ \ + /* 6227 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8264 - int32u, */ \ + /* 6235 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8268 - int64u, */ \ + /* 6239 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8276 - int32s, */ \ + /* 6247 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8280 - int64s, */ \ + /* 6251 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8288 - octet_string, */ \ + /* 6259 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8299 - list_int8u, */ \ + /* 6270 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8309 - list_octet_string, */ \ + /* 6280 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -872,7 +743,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8563 - list_struct_octet_string, */ \ + /* 6534 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -888,7 +759,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8817 - long_octet_string, */ \ + /* 6788 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -948,109 +819,46 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1249 - ManufacturingDate, */ \ + /* 236 - ManufacturingDate, */ \ 16, '2', '0', '2', '1', '0', '6', '1', '4', '1', '2', '3', '4', '5', '6', 'Z', 'Z', \ \ - /* 1266 - PartNumber, */ \ + /* 253 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1299 - ProductURL, */ \ + /* 286 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1066,22 +874,22 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1556 - ProductLabel, */ \ + /* 543 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1621 - SerialNumber, */ \ + /* 608 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1654 - Breadcrumb, */ \ + /* 641 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1662 - BasicCommissioningInfoList, */ \ + /* 649 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1099,7 +907,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1916 - NetworkInterfaces, */ \ + /* 903 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1115,38 +923,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2170 - UpTime, */ \ + /* 1157 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2178 - TotalOperationalHours, */ \ + /* 1165 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 2182 - CurrentHeapFree, */ \ + /* 1169 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2190 - CurrentHeapUsed, */ \ + /* 1177 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2198 - CurrentHeapHighWatermark, */ \ + /* 1185 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 2206 - NetworkName, */ \ + /* 1193 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2223 - ExtendedPanId, */ \ + /* 1210 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2231 - MeshLocalPrefix, */ \ + /* 1218 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2249 - OverrunCount, */ \ + /* 1236 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2257 - NeighborTableList, */ \ + /* 1244 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1162,7 +970,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2511 - RouteTableList, */ \ + /* 1498 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1178,184 +986,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2765 - PartitionId, */ \ + /* 1752 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2769 - TxTotalCount, */ \ + /* 1756 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2773 - TxUnicastCount, */ \ + /* 1760 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2777 - TxBroadcastCount, */ \ + /* 1764 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2781 - TxAckRequestedCount, */ \ + /* 1768 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2785 - TxAckedCount, */ \ + /* 1772 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2789 - TxNoAckRequestedCount, */ \ + /* 1776 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2793 - TxDataCount, */ \ + /* 1780 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2797 - TxDataPollCount, */ \ + /* 1784 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2801 - TxBeaconCount, */ \ + /* 1788 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2805 - TxBeaconRequestCount, */ \ + /* 1792 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2809 - TxOtherCount, */ \ + /* 1796 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2813 - TxRetryCount, */ \ + /* 1800 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2817 - TxDirectMaxRetryExpiryCount, */ \ + /* 1804 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2821 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1808 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2825 - TxErrCcaCount, */ \ + /* 1812 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2829 - TxErrAbortCount, */ \ + /* 1816 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2833 - TxErrBusyChannelCount, */ \ + /* 1820 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2837 - RxTotalCount, */ \ + /* 1824 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2841 - RxUnicastCount, */ \ + /* 1828 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2845 - RxBroadcastCount, */ \ + /* 1832 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2849 - RxDataCount, */ \ + /* 1836 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2853 - RxDataPollCount, */ \ + /* 1840 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2857 - RxBeaconCount, */ \ + /* 1844 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2861 - RxBeaconRequestCount, */ \ + /* 1848 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2865 - RxOtherCount, */ \ + /* 1852 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2869 - RxAddressFilteredCount, */ \ + /* 1856 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2873 - RxDestAddrFilteredCount, */ \ + /* 1860 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2877 - RxDuplicatedCount, */ \ + /* 1864 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2881 - RxErrNoFrameCount, */ \ + /* 1868 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2885 - RxErrUnknownNeighborCount, */ \ + /* 1872 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2889 - RxErrInvalidSrcAddrCount, */ \ + /* 1876 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2893 - RxErrSecCount, */ \ + /* 1880 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2897 - RxErrFcsCount, */ \ + /* 1884 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2901 - RxErrOtherCount, */ \ + /* 1888 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2905 - ActiveTimestamp, */ \ + /* 1892 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2913 - PendingTimestamp, */ \ + /* 1900 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2921 - delay, */ \ + /* 1908 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2925 - SecurityPolicy, */ \ + /* 1912 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2931 - ChannelMask, */ \ + /* 1918 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2936 - OperationalDatasetComponents, */ \ + /* 1923 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2950 - ActiveNetworkFaultsList, */ \ + /* 1937 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2954 - bssid, */ \ + /* 1941 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2961 - BeaconLostCount, */ \ + /* 1948 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2965 - BeaconRxCount, */ \ + /* 1952 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2969 - PacketMulticastRxCount, */ \ + /* 1956 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2973 - PacketMulticastTxCount, */ \ + /* 1960 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2977 - PacketUnicastRxCount, */ \ + /* 1964 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2981 - PacketUnicastTxCount, */ \ + /* 1968 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2985 - CurrentMaxRate, */ \ + /* 1972 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2993 - OverrunCount, */ \ + /* 1980 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 3001 - PacketRxCount, */ \ + /* 1988 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3009 - PacketTxCount, */ \ + /* 1996 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3017 - TxErrCount, */ \ + /* 2004 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3025 - CollisionCount, */ \ + /* 2012 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3033 - OverrunCount, */ \ + /* 2020 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3041 - TimeSinceReset, */ \ + /* 2028 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 3049 - fabrics list, */ \ + /* 2036 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1376,7 +1184,7 @@ \ /* Endpoint: 0, Cluster: Group Key Management (server), little-endian */ \ \ - /* 3369 - groups, */ \ + /* 2356 - groups, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1392,7 +1200,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3623 - group keys, */ \ + /* 2610 - group keys, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1410,108 +1218,42 @@ \ /* Endpoint: 1, Cluster: On/Off (server), little-endian */ \ \ - /* 3877 - FeatureMap, */ \ + /* 2864 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 1, Cluster: Descriptor (server), little-endian */ \ - \ - /* 3881 - device list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4135 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4389 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 4643 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ /* Endpoint: 1, Cluster: Bridged Device Basic (server), little-endian */ \ \ - /* 4897 - VendorName, */ \ + /* 2868 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4930 - ProductName, */ \ + /* 2901 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4963 - UserLabel, */ \ + /* 2934 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 4996 - HardwareVersionString, */ \ + /* 2967 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5061 - SoftwareVersion, */ \ + /* 3032 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 5065 - SoftwareVersionString, */ \ + /* 3036 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5130 - ManufacturingDate, */ \ + /* 3101 - ManufacturingDate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5147 - PartNumber, */ \ + /* 3118 - PartNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1527,7 +1269,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5402 - ProductURL, */ \ + /* 3373 - ProductURL, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1543,19 +1285,19 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5657 - ProductLabel, */ \ + /* 3628 - ProductLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 5722 - SerialNumber, */ \ + /* 3693 - SerialNumber, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), little-endian */ \ \ - /* 5755 - label list, */ \ + /* 3726 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1573,12 +1315,12 @@ \ /* Endpoint: 1, Cluster: Thermostat (server), little-endian */ \ \ - /* 6009 - FeatureMap, */ \ + /* 3980 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: Color Control (server), little-endian */ \ \ - /* 6013 - compensation text, */ \ + /* 3984 - compensation text, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1596,18 +1338,18 @@ \ /* Endpoint: 1, Cluster: IAS Zone (server), little-endian */ \ \ - /* 6268 - IAS CIE address, */ \ + /* 4239 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Wake on LAN (server), little-endian */ \ \ - /* 6276 - wake on lan mac address, */ \ + /* 4247 - wake on lan mac address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: TV Channel (server), little-endian */ \ \ - /* 6309 - tv channel list, */ \ + /* 4280 - tv channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1623,17 +1365,17 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6563 - tv channel lineup, */ \ + /* 4534 - tv channel lineup, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 6596 - current tv channel, */ \ + /* 4567 - current tv channel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \ \ - /* 6629 - target navigator list, */ \ + /* 4600 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1651,7 +1393,7 @@ \ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \ \ - /* 6883 - media input list, */ \ + /* 4854 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1669,7 +1411,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), little-endian */ \ \ - /* 7137 - accepts header list, */ \ + /* 5108 - accepts header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1685,7 +1427,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 7391 - supported streaming types, */ \ + /* 5362 - supported streaming types, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1703,7 +1445,7 @@ \ /* Endpoint: 1, Cluster: Audio Output (server), little-endian */ \ \ - /* 7645 - audio output list, */ \ + /* 5616 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1721,7 +1463,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \ \ - /* 7899 - application launcher list, */ \ + /* 5870 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1739,45 +1481,45 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \ \ - /* 8153 - vendor name, */ \ + /* 6124 - vendor name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8186 - application name, */ \ + /* 6157 - application name, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8219 - application id, */ \ + /* 6190 - application id, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \ \ - /* 8252 - bitmap32, */ \ + /* 6223 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8256 - bitmap64, */ \ + /* 6227 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8264 - int32u, */ \ + /* 6235 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8268 - int64u, */ \ + /* 6239 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8276 - int32s, */ \ + /* 6247 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 8280 - int64s, */ \ + /* 6251 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8288 - octet_string, */ \ + /* 6259 - octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8299 - list_int8u, */ \ + /* 6270 - list_int8u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8309 - list_octet_string, */ \ + /* 6280 - list_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1793,7 +1535,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8563 - list_struct_octet_string, */ \ + /* 6534 - list_struct_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1809,7 +1551,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 8817 - long_octet_string, */ \ + /* 6788 - long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1867,7 +1609,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (133) +#define GENERATED_DEFAULTS_COUNT (126) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -1900,36 +1642,34 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1249) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1266) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1299) }, /* ProductURL */ \ - { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1556) }, /* ProductLabel */ \ - { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1621) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(236) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(253) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 257, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(286) }, /* ProductURL */ \ + { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(543) }, /* ProductLabel */ \ + { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(608) }, /* SerialNumber */ \ { 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ @@ -1939,38 +1679,38 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1654) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1662) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(641) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(649) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1916) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2170) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2178) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(903) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1157) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1165) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2182) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2190) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2198) }, /* CurrentHeapHighWatermark */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1169) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1177) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1185) }, /* CurrentHeapHighWatermark */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(2206) }, /* NetworkName */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1193) }, /* NetworkName */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2223) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(2231) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2249) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2257) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2511) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2765) }, /* PartitionId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1210) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1218) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1236) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1244) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1498) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1752) }, /* PartitionId */ \ { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ @@ -1983,82 +1723,82 @@ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2769) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2773) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2777) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2781) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2785) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2789) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2793) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2797) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2801) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2805) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2809) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2813) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2817) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2821) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2825) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2829) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2833) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2837) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2841) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2845) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2849) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2853) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2857) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2861) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2865) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2869) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2873) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2877) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2881) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2885) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2889) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2893) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2897) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2901) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2905) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2913) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2921) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2925) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2931) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2936) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2950) }, /* ActiveNetworkFaultsList */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1756) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1760) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1764) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1768) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1772) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1776) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1780) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1784) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1788) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1792) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1796) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1800) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1804) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1808) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1812) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1816) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1820) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1824) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1828) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1832) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1836) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1840) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1848) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1856) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1860) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1864) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1868) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1872) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1876) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1880) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1884) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1888) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1892) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1900) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1908) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1912) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1918) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1923) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1937) }, /* ActiveNetworkFaultsList */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2954) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1941) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2961) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2965) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2969) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2973) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2977) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2981) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2985) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2993) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1948) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1952) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1956) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1960) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1964) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1968) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1972) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1980) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3001) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3009) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3017) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3025) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3033) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1988) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1996) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2004) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2012) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2020) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(3041) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2028) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(3049) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2036) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -2073,8 +1813,8 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Group Key Management (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3369) }, /* groups */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3623) }, /* group keys */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2356) }, /* groups */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2610) }, /* group keys */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Identify (server) */ \ @@ -2099,8 +1839,8 @@ { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \ { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \ { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3877) }, /* FeatureMap */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2864) }, /* FeatureMap */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Level Control (server) */ \ { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \ @@ -2127,32 +1867,32 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3881) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4135) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4389) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4643) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(4897) }, /* VendorName */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(2868) }, /* VendorName */ \ { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(4930) }, /* ProductName */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(2901) }, /* ProductName */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(4963) }, /* UserLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(2934) }, /* UserLabel */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(4996) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5061) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(2967) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3032) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5065) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(3036) }, /* SoftwareVersionString */ \ { 0x000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5130) }, /* ManufacturingDate */ \ - { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5147) }, /* PartNumber */ \ - { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(5402) }, /* ProductURL */ \ + ZAP_LONG_DEFAULTS_INDEX(3101) }, /* ManufacturingDate */ \ + { 0x000C, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3118) }, /* PartNumber */ \ + { 0x000D, ZAP_TYPE(CHAR_STRING), 255, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(3373) }, /* ProductURL */ \ { 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5657) }, /* ProductLabel */ \ + ZAP_LONG_DEFAULTS_INDEX(3628) }, /* ProductLabel */ \ { 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(5722) }, /* SerialNumber */ \ + ZAP_LONG_DEFAULTS_INDEX(3693) }, /* SerialNumber */ \ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* Reachable */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ @@ -2162,7 +1902,7 @@ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5755) }, /* label list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(3726) }, /* label list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ @@ -2211,7 +1951,7 @@ { 0x0020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ { 0x0021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ { 0x0022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(6009) }, /* FeatureMap */ \ + { 0xFFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3980) }, /* FeatureMap */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Color Control (server) */ \ @@ -2221,7 +1961,7 @@ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x616B) }, /* current x */ \ { 0x0004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x607D) }, /* current y */ \ { 0x0005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* drift compensation */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(6013) }, /* compensation text */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 255, 0, ZAP_LONG_DEFAULTS_INDEX(3984) }, /* compensation text */ \ { 0x0007, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x00FA) }, /* color temperature */ \ { 0x0008, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* color mode */ \ { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* color control options */ \ @@ -2296,53 +2036,53 @@ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* zone state */ \ { 0x0001, ZAP_TYPE(ENUM16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* zone type */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* zone status */ \ - { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6268) }, /* IAS CIE address */ \ + { 0x0010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(4239) }, /* IAS CIE address */ \ { 0x0011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) }, /* Zone ID */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6276) }, /* wake on lan mac address */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4247) }, /* wake on lan mac address */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: TV Channel (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6309) }, /* tv channel list */ \ - { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6563) }, /* tv channel lineup */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6596) }, /* current tv channel */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4280) }, /* tv channel list */ \ + { 0x0001, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4534) }, /* tv channel lineup */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(4567) }, /* current tv channel */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6629) }, /* target navigator list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4600) }, /* target navigator list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Input (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6883) }, /* media input list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4854) }, /* media input list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Keypad Input (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7137) }, /* accepts header list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7391) }, /* supported streaming types */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5108) }, /* accepts header list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5362) }, /* supported streaming types */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7645) }, /* audio output list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5616) }, /* audio output list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7899) }, /* application launcher list */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5870) }, /* application launcher list */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ - { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8153) }, /* vendor name */ \ + { 0x0000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6124) }, /* vendor name */ \ { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \ - { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8186) }, /* application name */ \ + { 0x0002, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6157) }, /* application name */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ - { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(8219) }, /* application id */ \ + { 0x0005, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(6190) }, /* application id */ \ { 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application status */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -2354,25 +2094,25 @@ { 0x0000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) }, /* boolean */ \ { 0x0001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap8 */ \ { 0x0002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap16 */ \ - { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8252) }, /* bitmap32 */ \ - { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8256) }, /* bitmap64 */ \ + { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6223) }, /* bitmap32 */ \ + { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6227) }, /* bitmap64 */ \ { 0x0005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8u */ \ { 0x0006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16u */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8264) }, /* int32u */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8268) }, /* int64u */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6235) }, /* int32u */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6239) }, /* int64u */ \ { 0x000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8s */ \ { 0x000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16s */ \ - { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8276) }, /* int32s */ \ - { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(8280) }, /* int64s */ \ + { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6247) }, /* int32s */ \ + { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6251) }, /* int64s */ \ { 0x0015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum8 */ \ { 0x0016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum16 */ \ { 0x0019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(8288) }, /* octet_string */ \ - { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(8299) }, /* list_int8u */ \ - { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8309) }, /* list_octet_string */ \ - { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(8563) }, /* list_struct_octet_string */ \ + ZAP_LONG_DEFAULTS_INDEX(6259) }, /* octet_string */ \ + { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(6270) }, /* list_int8u */ \ + { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6280) }, /* list_octet_string */ \ + { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6534) }, /* list_struct_octet_string */ \ { 0x001D, ZAP_TYPE(LONG_OCTET_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(8817) }, /* long_octet_string */ \ + ZAP_LONG_DEFAULTS_INDEX(6788) }, /* long_octet_string */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Binding (server) */ \ @@ -2380,7 +2120,7 @@ \ /* Endpoint: 2, Cluster: On/Off (server) */ \ { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ { 0x0000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* occupancy */ \ @@ -2447,13 +2187,11 @@ #define GENERATED_CLUSTER_COUNT 51 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 19, \ - 652, \ + 653, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -2547,7 +2285,7 @@ 0x000F, ZAP_ATTRIBUTE_INDEX(172), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \ { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(176), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ + 0x001D, ZAP_ATTRIBUTE_INDEX(176), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL \ }, /* Endpoint: 1, Cluster: Descriptor (server) */ \ { \ 0x0039, ZAP_ATTRIBUTE_INDEX(181), 15, 865, ZAP_CLUSTER_MASK(SERVER), NULL \ @@ -2656,17 +2394,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 16, 3962 }, { ZAP_CLUSTER_INDEX(16), 33, 6233 }, { ZAP_CLUSTER_INDEX(49), 2, 8 }, \ + { ZAP_CLUSTER_INDEX(0), 16, 2947 }, { ZAP_CLUSTER_INDEX(16), 33, 5217 }, { ZAP_CLUSTER_INDEX(49), 2, 8 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (1003) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (1517) +#define ATTRIBUTE_SINGLETONS_SIZE (1518) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (10203) +#define ATTRIBUTE_MAX_SIZE (8172) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/window-app/zap-generated/endpoint_config.h b/zzz_generated/window-app/zap-generated/endpoint_config.h index fb775ff7bf23be..e035025f214d4c 100644 --- a/zzz_generated/window-app/zap-generated/endpoint_config.h +++ b/zzz_generated/window-app/zap-generated/endpoint_config.h @@ -27,96 +27,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), big-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 0, Cluster: Basic (server), big-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -124,10 +61,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -145,7 +82,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), big-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -161,38 +98,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), big-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -208,7 +145,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -224,184 +161,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), big-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -420,7 +357,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -449,96 +386,33 @@ #define GENERATED_DEFAULTS \ { \ \ - /* Endpoint: 0, Cluster: Descriptor (server), little-endian */ \ + /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ \ - /* 0 - device list, */ \ + /* 0 - VendorName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 254 - server list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 508 - client list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - \ - /* 762 - parts list, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* Endpoint: 0, Cluster: Basic (server), little-endian */ \ - \ - /* 1016 - VendorName, */ \ + /* 33 - ProductName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1049 - ProductName, */ \ + /* 66 - UserLabel, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1082 - UserLabel, */ \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + /* 99 - Location, */ \ + 0x00, 0x00, 0x00, \ \ - /* 1115 - HardwareVersionString, */ \ + /* 102 - HardwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1180 - SoftwareVersion, */ \ + /* 167 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1184 - SoftwareVersionString, */ \ + /* 171 - SoftwareVersionString, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -546,10 +420,10 @@ \ /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \ \ - /* 1249 - Breadcrumb, */ \ + /* 236 - Breadcrumb, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1257 - BasicCommissioningInfoList, */ \ + /* 244 - BasicCommissioningInfoList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -567,7 +441,7 @@ \ /* Endpoint: 0, Cluster: General Diagnostics (server), little-endian */ \ \ - /* 1511 - NetworkInterfaces, */ \ + /* 498 - NetworkInterfaces, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -583,38 +457,38 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1765 - UpTime, */ \ + /* 752 - UpTime, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1773 - TotalOperationalHours, */ \ + /* 760 - TotalOperationalHours, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server), little-endian */ \ \ - /* 1777 - CurrentHeapFree, */ \ + /* 764 - CurrentHeapFree, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1785 - CurrentHeapUsed, */ \ + /* 772 - CurrentHeapUsed, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1793 - CurrentHeapHighWatermark, */ \ + /* 780 - CurrentHeapHighWatermark, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \ \ - /* 1801 - NetworkName, */ \ + /* 788 - NetworkName, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1818 - ExtendedPanId, */ \ + /* 805 - ExtendedPanId, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1826 - MeshLocalPrefix, */ \ + /* 813 - MeshLocalPrefix, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1844 - OverrunCount, */ \ + /* 831 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1852 - NeighborTableList, */ \ + /* 839 - NeighborTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -630,7 +504,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2106 - RouteTableList, */ \ + /* 1093 - RouteTableList, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -646,184 +520,184 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2360 - PartitionId, */ \ + /* 1347 - PartitionId, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2364 - TxTotalCount, */ \ + /* 1351 - TxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2368 - TxUnicastCount, */ \ + /* 1355 - TxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2372 - TxBroadcastCount, */ \ + /* 1359 - TxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2376 - TxAckRequestedCount, */ \ + /* 1363 - TxAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2380 - TxAckedCount, */ \ + /* 1367 - TxAckedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2384 - TxNoAckRequestedCount, */ \ + /* 1371 - TxNoAckRequestedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2388 - TxDataCount, */ \ + /* 1375 - TxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2392 - TxDataPollCount, */ \ + /* 1379 - TxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2396 - TxBeaconCount, */ \ + /* 1383 - TxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2400 - TxBeaconRequestCount, */ \ + /* 1387 - TxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2404 - TxOtherCount, */ \ + /* 1391 - TxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2408 - TxRetryCount, */ \ + /* 1395 - TxRetryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2412 - TxDirectMaxRetryExpiryCount, */ \ + /* 1399 - TxDirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2416 - TxIndirectMaxRetryExpiryCount, */ \ + /* 1403 - TxIndirectMaxRetryExpiryCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2420 - TxErrCcaCount, */ \ + /* 1407 - TxErrCcaCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2424 - TxErrAbortCount, */ \ + /* 1411 - TxErrAbortCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2428 - TxErrBusyChannelCount, */ \ + /* 1415 - TxErrBusyChannelCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2432 - RxTotalCount, */ \ + /* 1419 - RxTotalCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2436 - RxUnicastCount, */ \ + /* 1423 - RxUnicastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2440 - RxBroadcastCount, */ \ + /* 1427 - RxBroadcastCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2444 - RxDataCount, */ \ + /* 1431 - RxDataCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2448 - RxDataPollCount, */ \ + /* 1435 - RxDataPollCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2452 - RxBeaconCount, */ \ + /* 1439 - RxBeaconCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2456 - RxBeaconRequestCount, */ \ + /* 1443 - RxBeaconRequestCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2460 - RxOtherCount, */ \ + /* 1447 - RxOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2464 - RxAddressFilteredCount, */ \ + /* 1451 - RxAddressFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2468 - RxDestAddrFilteredCount, */ \ + /* 1455 - RxDestAddrFilteredCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2472 - RxDuplicatedCount, */ \ + /* 1459 - RxDuplicatedCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2476 - RxErrNoFrameCount, */ \ + /* 1463 - RxErrNoFrameCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2480 - RxErrUnknownNeighborCount, */ \ + /* 1467 - RxErrUnknownNeighborCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2484 - RxErrInvalidSrcAddrCount, */ \ + /* 1471 - RxErrInvalidSrcAddrCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2488 - RxErrSecCount, */ \ + /* 1475 - RxErrSecCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2492 - RxErrFcsCount, */ \ + /* 1479 - RxErrFcsCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2496 - RxErrOtherCount, */ \ + /* 1483 - RxErrOtherCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2500 - ActiveTimestamp, */ \ + /* 1487 - ActiveTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2508 - PendingTimestamp, */ \ + /* 1495 - PendingTimestamp, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2516 - delay, */ \ + /* 1503 - delay, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2520 - SecurityPolicy, */ \ + /* 1507 - SecurityPolicy, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2526 - ChannelMask, */ \ + /* 1513 - ChannelMask, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2531 - OperationalDatasetComponents, */ \ + /* 1518 - OperationalDatasetComponents, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2545 - ActiveNetworkFaultsList, */ \ + /* 1532 - ActiveNetworkFaultsList, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \ \ - /* 2549 - bssid, */ \ + /* 1536 - bssid, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2556 - BeaconLostCount, */ \ + /* 1543 - BeaconLostCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2560 - BeaconRxCount, */ \ + /* 1547 - BeaconRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2564 - PacketMulticastRxCount, */ \ + /* 1551 - PacketMulticastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2568 - PacketMulticastTxCount, */ \ + /* 1555 - PacketMulticastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2572 - PacketUnicastRxCount, */ \ + /* 1559 - PacketUnicastRxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2576 - PacketUnicastTxCount, */ \ + /* 1563 - PacketUnicastTxCount, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2580 - CurrentMaxRate, */ \ + /* 1567 - CurrentMaxRate, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2588 - OverrunCount, */ \ + /* 1575 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server), little-endian */ \ \ - /* 2596 - PacketRxCount, */ \ + /* 1583 - PacketRxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2604 - PacketTxCount, */ \ + /* 1591 - PacketTxCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2612 - TxErrCount, */ \ + /* 1599 - TxErrCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - CollisionCount, */ \ + /* 1607 - CollisionCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - OverrunCount, */ \ + /* 1615 - OverrunCount, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2636 - TimeSinceReset, */ \ + /* 1623 - TimeSinceReset, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \ \ - /* 2644 - fabrics list, */ \ + /* 1631 - fabrics list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -842,7 +716,7 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2964 - TrustedRootCertificates, */ \ + /* 1951 - TrustedRootCertificates, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -869,7 +743,7 @@ #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (83) +#define GENERATED_DEFAULTS_COUNT (80) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -902,154 +776,154 @@ { \ \ /* Endpoint: 0, Cluster: Descriptor (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(0) }, /* device list */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(254) }, /* server list */ \ - { 0x0002, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(508) }, /* client list */ \ - { 0x0003, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(762) }, /* parts list */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \ + { 0x0002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \ + { 0x0003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Basic (server) */ \ { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* InteractionModelVersion */ \ - { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1016) }, /* VendorName */ \ - { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1049) }, /* ProductName */ \ - { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ + { 0x0001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(0) }, /* VendorName */ \ + { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(33) }, /* ProductName */ \ + { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \ { 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(1082) }, /* UserLabel */ \ - { 0x0006, ZAP_TYPE(CHAR_STRING), 2, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* Location */ \ + ZAP_LONG_DEFAULTS_INDEX(66) }, /* UserLabel */ \ + { 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_LONG_DEFAULTS_INDEX(99) }, /* Location */ \ { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \ { 0x0008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1115) }, /* HardwareVersionString */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(1180) }, /* SoftwareVersion */ \ + ZAP_LONG_DEFAULTS_INDEX(102) }, /* HardwareVersionString */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_LONG_DEFAULTS_INDEX(167) }, /* SoftwareVersion */ \ { 0x000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(1184) }, /* SoftwareVersionString */ \ + ZAP_LONG_DEFAULTS_INDEX(171) }, /* SoftwareVersionString */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Commissioning (server) */ \ - { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(1249) }, /* Breadcrumb */ \ - { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1257) }, /* BasicCommissioningInfoList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(236) }, /* Breadcrumb */ \ + { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(244) }, /* BasicCommissioningInfoList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Network Commissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: General Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* NetworkInterfaces */ \ - { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1765) }, /* UpTime */ \ - { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1773) }, /* TotalOperationalHours */ \ - { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(498) }, /* NetworkInterfaces */ \ + { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RebootCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(752) }, /* UpTime */ \ + { 0x0003, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(760) }, /* TotalOperationalHours */ \ + { 0x0004, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \ - { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1777) }, /* CurrentHeapFree */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* CurrentHeapUsed */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1793) }, /* CurrentHeapHighWatermark */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0001, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(764) }, /* CurrentHeapFree */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(772) }, /* CurrentHeapUsed */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(780) }, /* CurrentHeapHighWatermark */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ - { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ - { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(1801) }, /* NetworkName */ \ - { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1818) }, /* ExtendedPanId */ \ - { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(1826) }, /* MeshLocalPrefix */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1844) }, /* OverrunCount */ \ - { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1852) }, /* NeighborTableList */ \ - { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2106) }, /* RouteTableList */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2360) }, /* PartitionId */ \ - { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ - { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ - { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ - { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ - { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ - { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ - { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ - { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ - { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ - { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ - { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ - { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ - { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2364) }, /* TxTotalCount */ \ - { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2368) }, /* TxUnicastCount */ \ - { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2372) }, /* TxBroadcastCount */ \ - { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2376) }, /* TxAckRequestedCount */ \ - { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2380) }, /* TxAckedCount */ \ - { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2384) }, /* TxNoAckRequestedCount */ \ - { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2388) }, /* TxDataCount */ \ - { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2392) }, /* TxDataPollCount */ \ - { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2396) }, /* TxBeaconCount */ \ - { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2400) }, /* TxBeaconRequestCount */ \ - { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2404) }, /* TxOtherCount */ \ - { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2408) }, /* TxRetryCount */ \ - { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2412) }, /* TxDirectMaxRetryExpiryCount */ \ - { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2416) }, /* TxIndirectMaxRetryExpiryCount */ \ - { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2420) }, /* TxErrCcaCount */ \ - { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2424) }, /* TxErrAbortCount */ \ - { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2428) }, /* TxErrBusyChannelCount */ \ - { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2432) }, /* RxTotalCount */ \ - { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2436) }, /* RxUnicastCount */ \ - { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2440) }, /* RxBroadcastCount */ \ - { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2444) }, /* RxDataCount */ \ - { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2448) }, /* RxDataPollCount */ \ - { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2452) }, /* RxBeaconCount */ \ - { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2456) }, /* RxBeaconRequestCount */ \ - { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2460) }, /* RxOtherCount */ \ - { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2464) }, /* RxAddressFilteredCount */ \ - { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2468) }, /* RxDestAddrFilteredCount */ \ - { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2472) }, /* RxDuplicatedCount */ \ - { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2476) }, /* RxErrNoFrameCount */ \ - { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2480) }, /* RxErrUnknownNeighborCount */ \ - { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2484) }, /* RxErrInvalidSrcAddrCount */ \ - { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2488) }, /* RxErrSecCount */ \ - { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2492) }, /* RxErrFcsCount */ \ - { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2496) }, /* RxErrOtherCount */ \ - { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2500) }, /* ActiveTimestamp */ \ - { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2508) }, /* PendingTimestamp */ \ - { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2516) }, /* delay */ \ - { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(2520) }, /* SecurityPolicy */ \ - { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(2526) }, /* ChannelMask */ \ - { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(2531) }, /* OperationalDatasetComponents */ \ - { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2545) }, /* ActiveNetworkFaultsList */ \ - { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ + { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* channel */ \ + { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \ + { 0x0002, ZAP_TYPE(OCTET_STRING), 17, 0, ZAP_LONG_DEFAULTS_INDEX(788) }, /* NetworkName */ \ + { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(805) }, /* ExtendedPanId */ \ + { 0x0005, ZAP_TYPE(OCTET_STRING), 18, 0, ZAP_LONG_DEFAULTS_INDEX(813) }, /* MeshLocalPrefix */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(831) }, /* OverrunCount */ \ + { 0x0007, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(839) }, /* NeighborTableList */ \ + { 0x0008, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1093) }, /* RouteTableList */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1347) }, /* PartitionId */ \ + { 0x000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \ + { 0x000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \ + { 0x000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \ + { 0x000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \ + { 0x000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \ + { 0x000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \ + { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \ + { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \ + { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \ + { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \ + { 0x0014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \ + { 0x0015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \ + { 0x0016, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1351) }, /* TxTotalCount */ \ + { 0x0017, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1355) }, /* TxUnicastCount */ \ + { 0x0018, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1359) }, /* TxBroadcastCount */ \ + { 0x0019, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1363) }, /* TxAckRequestedCount */ \ + { 0x001A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1367) }, /* TxAckedCount */ \ + { 0x001B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1371) }, /* TxNoAckRequestedCount */ \ + { 0x001C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1375) }, /* TxDataCount */ \ + { 0x001D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1379) }, /* TxDataPollCount */ \ + { 0x001E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1383) }, /* TxBeaconCount */ \ + { 0x001F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1387) }, /* TxBeaconRequestCount */ \ + { 0x0020, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1391) }, /* TxOtherCount */ \ + { 0x0021, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1395) }, /* TxRetryCount */ \ + { 0x0022, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1399) }, /* TxDirectMaxRetryExpiryCount */ \ + { 0x0023, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1403) }, /* TxIndirectMaxRetryExpiryCount */ \ + { 0x0024, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1407) }, /* TxErrCcaCount */ \ + { 0x0025, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1411) }, /* TxErrAbortCount */ \ + { 0x0026, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1415) }, /* TxErrBusyChannelCount */ \ + { 0x0027, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1419) }, /* RxTotalCount */ \ + { 0x0028, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1423) }, /* RxUnicastCount */ \ + { 0x0029, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1427) }, /* RxBroadcastCount */ \ + { 0x002A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1431) }, /* RxDataCount */ \ + { 0x002B, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1435) }, /* RxDataPollCount */ \ + { 0x002C, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1439) }, /* RxBeaconCount */ \ + { 0x002D, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1443) }, /* RxBeaconRequestCount */ \ + { 0x002E, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1447) }, /* RxOtherCount */ \ + { 0x002F, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1451) }, /* RxAddressFilteredCount */ \ + { 0x0030, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1455) }, /* RxDestAddrFilteredCount */ \ + { 0x0031, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1459) }, /* RxDuplicatedCount */ \ + { 0x0032, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1463) }, /* RxErrNoFrameCount */ \ + { 0x0033, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1467) }, /* RxErrUnknownNeighborCount */ \ + { 0x0034, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1471) }, /* RxErrInvalidSrcAddrCount */ \ + { 0x0035, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1475) }, /* RxErrSecCount */ \ + { 0x0036, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1479) }, /* RxErrFcsCount */ \ + { 0x0037, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1483) }, /* RxErrOtherCount */ \ + { 0x0038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1487) }, /* ActiveTimestamp */ \ + { 0x0039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* PendingTimestamp */ \ + { 0x003A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* delay */ \ + { 0x003B, ZAP_TYPE(ARRAY), 6, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* SecurityPolicy */ \ + { 0x003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(1513) }, /* ChannelMask */ \ + { 0x003D, ZAP_TYPE(ARRAY), 14, 0, ZAP_LONG_DEFAULTS_INDEX(1518) }, /* OperationalDatasetComponents */ \ + { 0x003E, ZAP_TYPE(ARRAY), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1532) }, /* ActiveNetworkFaultsList */ \ + { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \ - { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(2549) }, /* bssid */ \ + { 0x0000, ZAP_TYPE(OCTET_STRING), 7, 0, ZAP_LONG_DEFAULTS_INDEX(1536) }, /* bssid */ \ { 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \ { 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \ { 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \ - { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2556) }, /* BeaconLostCount */ \ - { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2560) }, /* BeaconRxCount */ \ - { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2564) }, /* PacketMulticastRxCount */ \ - { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2568) }, /* PacketMulticastTxCount */ \ - { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2572) }, /* PacketUnicastRxCount */ \ - { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(2576) }, /* PacketUnicastTxCount */ \ - { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2580) }, /* CurrentMaxRate */ \ - { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2588) }, /* OverrunCount */ \ + { 0x0005, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1543) }, /* BeaconLostCount */ \ + { 0x0006, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1547) }, /* BeaconRxCount */ \ + { 0x0007, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1551) }, /* PacketMulticastRxCount */ \ + { 0x0008, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1555) }, /* PacketMulticastTxCount */ \ + { 0x0009, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1559) }, /* PacketUnicastRxCount */ \ + { 0x000A, ZAP_TYPE(INT32U), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1563) }, /* PacketUnicastTxCount */ \ + { 0x000B, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1567) }, /* CurrentMaxRate */ \ + { 0x000C, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1575) }, /* OverrunCount */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \ { 0x0001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* FullDuplex */ \ - { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2596) }, /* PacketRxCount */ \ - { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2604) }, /* PacketTxCount */ \ - { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2612) }, /* TxErrCount */ \ - { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2620) }, /* CollisionCount */ \ - { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2628) }, /* OverrunCount */ \ + { 0x0002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1583) }, /* PacketRxCount */ \ + { 0x0003, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1591) }, /* PacketTxCount */ \ + { 0x0004, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1599) }, /* TxErrCount */ \ + { 0x0005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1607) }, /* CollisionCount */ \ + { 0x0006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1615) }, /* OverrunCount */ \ { 0x0007, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* CarrierDetect */ \ - { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(2636) }, /* TimeSinceReset */ \ + { 0x0008, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1623) }, /* TimeSinceReset */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 0, Cluster: Operational Credentials (server) */ \ - { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(2644) }, /* fabrics list */ \ + { 0x0001, ZAP_TYPE(ARRAY), 320, 0, ZAP_LONG_DEFAULTS_INDEX(1631) }, /* fabrics list */ \ { 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \ { 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \ - { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(2964) }, /* TrustedRootCertificates */ \ + { 0x0004, ZAP_TYPE(ARRAY), 400, 0, ZAP_LONG_DEFAULTS_INDEX(1951) }, /* TrustedRootCertificates */ \ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Window Covering (server) */ \ @@ -1123,13 +997,11 @@ #define GENERATED_CLUSTER_COUNT 13 #define GENERATED_CLUSTERS \ { \ - { \ - 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 1018, ZAP_CLUSTER_MASK(SERVER), NULL \ - }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ + { 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 2, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \ { 0x0028, \ ZAP_ATTRIBUTE_INDEX(5), \ 12, \ - 245, \ + 246, \ ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \ { \ @@ -1187,17 +1059,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 11, 3433 }, { ZAP_CLUSTER_INDEX(11), 1, 31 }, { ZAP_CLUSTER_INDEX(12), 1, 31 }, \ + { ZAP_CLUSTER_INDEX(0), 11, 2418 }, { ZAP_CLUSTER_INDEX(11), 1, 31 }, { ZAP_CLUSTER_INDEX(12), 1, 31 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (401) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (245) +#define ATTRIBUTE_SINGLETONS_SIZE (246) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3495) +#define ATTRIBUTE_MAX_SIZE (2480) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3)