From cd4ab7ca8a932421ec38ff332fe4254d09c7e6fc Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Fri, 15 Jul 2022 18:23:48 -0700 Subject: [PATCH 01/15] Revert "Set detect_leaks=1 in various places where we do ASAN builds in CI. (#20246)" (#20827) This reverts commit 293ce20f8cf7bd6973e66894bb5613a380ca04f9. --- .github/workflows/build.yaml | 3 --- .github/workflows/darwin-tests.yaml | 1 - .github/workflows/tests.yaml | 2 -- .../tests/chiptest/lsan-mac-suppressions.txt | 20 ------------------- 4 files changed, 26 deletions(-) delete mode 100644 scripts/tests/chiptest/lsan-mac-suppressions.txt diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a3b95cd3b7d6db..d53628fb6274e0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -377,9 +377,6 @@ jobs: scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE" - name: Setup Build, Run Build and Run Tests timeout-minutes: 120 - # We can't enable leak checking here in LSAN_OPTIONS, because on - # Darwin that's only supported with a new endough clang, and we're - # not building with the pigweed clang here. run: | for BUILD_TYPE in default python_lib; do case $BUILD_TYPE in diff --git a/.github/workflows/darwin-tests.yaml b/.github/workflows/darwin-tests.yaml index 06f19306057ed2..681ae5c6880ec0 100644 --- a/.github/workflows/darwin-tests.yaml +++ b/.github/workflows/darwin-tests.yaml @@ -35,7 +35,6 @@ jobs: build_variant: [no-ble-asan] env: BUILD_VARIANT: ${{matrix.build_variant}} - LSAN_OPTIONS: detect_leaks=1 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt if: github.actor != 'restyled-io[bot]' runs-on: macos-latest diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index eabad991d5d840..a89692f6c50655 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -38,7 +38,6 @@ jobs: BUILD_VARIANT: ${{matrix.build_variant}} CHIP_TOOL_VARIANT: ${{matrix.chip_tool}} TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt" - LSAN_OPTIONS: detect_leaks=1 if: github.actor != 'restyled-io[bot]' runs-on: ubuntu-latest @@ -133,7 +132,6 @@ jobs: BUILD_VARIANT: ${{matrix.build_variant}} CHIP_TOOL_VARIANT: ${{matrix.chip_tool}} TSAN_OPTIONS: "halt_on_error=1" - LSAN_OPTIONS: detect_leaks=1 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt if: github.actor != 'restyled-io[bot]' runs-on: macos-latest diff --git a/scripts/tests/chiptest/lsan-mac-suppressions.txt b/scripts/tests/chiptest/lsan-mac-suppressions.txt deleted file mode 100644 index 71e2e67bf06e89..00000000000000 --- a/scripts/tests/chiptest/lsan-mac-suppressions.txt +++ /dev/null @@ -1,20 +0,0 @@ -# Looks like some Objective C class bits are leaked, which is probably OK since -# those are singletons. -leak:realizeClassWithoutSwift -leak:objc_initializeClassPair_internal - -# TODO: Under [NSManagedObjectContext executeFetchRequest] there are managed object bits that seem to be leaky. -leak:class_addMethod -leak:class_addIvar - -# TODO: Leaks of blocks from dispatch source handlers that need to be investigated. -leak:_Block_copy - -# TODO: OpenSSL random byte generation creates some sort of pools that we seem to never clean up. This seems to be happening a _lot_. -leak:drbg_ctr_init -leak:rand_pool_new -leak:RAND_priv_bytes -leak:drbg_bytes - -# TODO: OpenSSL ERR_get_state seems to leak. -leak:ERR_get_state From 4b1f3656193d26e16730219a03e271c0ddddb05c Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Fri, 15 Jul 2022 23:38:53 -0400 Subject: [PATCH 02/15] Log error on bad packets instead of silent return (#20126) * Log error on bad packets instead of silent return * update message text * fix typo --- src/transport/SessionManager.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/transport/SessionManager.cpp b/src/transport/SessionManager.cpp index bdc8573059b81d..2b296eba58d029 100644 --- a/src/transport/SessionManager.cpp +++ b/src/transport/SessionManager.cpp @@ -439,7 +439,12 @@ void SessionManager::OnMessageReceived(const PeerAddress & peerAddress, System:: CHIP_TRACE_PREPARED_MESSAGE_RECEIVED(&peerAddress, &msg); PacketHeader packetHeader; - ReturnOnFailure(packetHeader.DecodeAndConsume(msg)); + CHIP_ERROR err = packetHeader.DecodeAndConsume(msg); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Inet, "Failed to decode packet header: %" CHIP_ERROR_FORMAT, err.Format()); + return; + } if (packetHeader.IsEncrypted()) { From ce92c973c4312b010619191e283d67005d102756 Mon Sep 17 00:00:00 2001 From: Tennessee Carmel-Veilleux Date: Fri, 15 Jul 2022 23:39:09 -0400 Subject: [PATCH 03/15] Implement updated spec rules related to CATs (#20776) * Implement updated spec rules related to CATs - CAT identifiers could previously collide, which made their use ambiguous for access conntrol - CAT tag class did not enforce strongly that all CATs are at the front and this is not required for correctness - CAT identifiers could be value 0 before Based on https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/5437 we need to fix this. Fixes #20746 This PR: - Checks CATs are valid when adding/updating NOCs - Adds an `AreValid()` method to CATValues to ensure correctness Testing done: - Added unit tests for all new methods - Cert tests still pass * Apply review comment from @mstandstedt * Fix Darwin tests. * Restyle * Update access control to use CASEAuthTag methods * Rename variables to clarify logic * Fix another use of direct masks Co-authored-by: Boris Zbarsky --- src/access/AccessControl.cpp | 22 +++- .../operational-credentials-server.cpp | 4 + src/credentials/CHIPCert.cpp | 5 + .../Framework/CHIPTests/MTRCertificateTests.m | 66 +++++++++-- src/lib/core/CASEAuthTag.h | 109 +++++++++++++----- src/lib/core/tests/TestCATValues.cpp | 47 ++++++++ 6 files changed, 206 insertions(+), 47 deletions(-) diff --git a/src/access/AccessControl.cpp b/src/access/AccessControl.cpp index 22b8dab4a836c5..4a4691b81bd593 100644 --- a/src/access/AccessControl.cpp +++ b/src/access/AccessControl.cpp @@ -23,13 +23,16 @@ #include "AccessControl.h" -namespace { +namespace chip { +namespace Access { using chip::CATValues; using chip::FabricIndex; using chip::NodeId; using namespace chip::Access; +namespace { + AccessControl defaultAccessControl; AccessControl * globalAccessControl = &defaultAccessControl; @@ -68,12 +71,22 @@ bool CheckRequestPrivilegeAgainstEntryPrivilege(Privilege requestPrivilege, Priv constexpr bool IsValidCaseNodeId(NodeId aNodeId) { - return chip::IsOperationalNodeId(aNodeId) || (chip::IsCASEAuthTag(aNodeId) && ((aNodeId & chip::kTagVersionMask) != 0)); + if (IsOperationalNodeId(aNodeId)) + { + return true; + } + + if (IsCASEAuthTag(aNodeId) && (GetCASEAuthTagVersion(CASEAuthTagFromNodeId(aNodeId)) != 0)) + { + return true; + } + + return false; } constexpr bool IsValidGroupNodeId(NodeId aNodeId) { - return chip::IsGroupId(aNodeId) && chip::IsValidGroupId(chip::GroupIdFromNodeId(aNodeId)); + return IsGroupId(aNodeId) && IsValidGroupId(GroupIdFromNodeId(aNodeId)); } #if CHIP_PROGRESS_LOGGING && CHIP_CONFIG_ACCESS_CONTROL_POLICY_LOGGING_VERBOSITY > 1 @@ -161,9 +174,6 @@ char GetPrivilegeStringForLogging(Privilege privilege) } // namespace -namespace chip { -namespace Access { - AccessControl::Entry::Delegate AccessControl::Entry::mDefaultDelegate; AccessControl::EntryIterator::Delegate AccessControl::EntryIterator::mDefaultDelegate; 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 12f1a38c2d51ab..0894122eab8fb7 100644 --- a/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp +++ b/src/app/clusters/operational-credentials-server/operational-credentials-server.cpp @@ -564,6 +564,10 @@ OperationalCertStatus ConvertToNOCResponseStatus(CHIP_ERROR err) { return OperationalCertStatus::kInvalidNOC; } + if (err == CHIP_ERROR_WRONG_CERT_DN) + { + return OperationalCertStatus::kInvalidNOC; + } if (err == CHIP_ERROR_INCORRECT_STATE) { return OperationalCertStatus::kMissingCsr; diff --git a/src/credentials/CHIPCert.cpp b/src/credentials/CHIPCert.cpp index 3820920607bd25..a246558af8bf3a 100644 --- a/src/credentials/CHIPCert.cpp +++ b/src/credentials/CHIPCert.cpp @@ -655,6 +655,8 @@ CHIP_ERROR ChipDN::AddAttribute(chip::ASN1::OID oid, uint64_t val) CHIP_ERROR ChipDN::AddCATs(const chip::CATValues & cats) { + VerifyOrReturnError(cats.AreValid(), CHIP_ERROR_INVALID_ARGUMENT); + for (auto & cat : cats.values) { if (cat != kUndefinedCAT) @@ -1375,6 +1377,9 @@ CHIP_ERROR ExtractCATsFromOpCert(const ChipCertificateData & opcert, CATValues & cats.values[i] = kUndefinedCAT; } + // Make sure the set contained valid data, otherwise it's an invalid cert + VerifyOrReturnError(cats.AreValid(), CHIP_ERROR_WRONG_CERT_DN); + return CHIP_NO_ERROR; } diff --git a/src/darwin/Framework/CHIPTests/MTRCertificateTests.m b/src/darwin/Framework/CHIPTests/MTRCertificateTests.m index 106eaa7bcc716e..a62d7e4f40fc94 100644 --- a/src/darwin/Framework/CHIPTests/MTRCertificateTests.m +++ b/src/darwin/Framework/CHIPTests/MTRCertificateTests.m @@ -68,9 +68,10 @@ - (void)testGenerateOperationalCertNoIntermediate XCTAssertNotNil(operationalKeys); __auto_type * cats = [[NSMutableArray alloc] initWithCapacity:3]; - [cats addObject:@1]; - [cats addObject:@2]; - [cats addObject:@3]; + // High bits are identifier, low bits are version. + [cats addObject:@0x00010001]; + [cats addObject:@0x00020001]; + [cats addObject:@0x0003FFFF]; __auto_type * operationalCert = [MTRCertificates generateOperationalCertificate:rootKeys signingCertificate:rootCert @@ -125,11 +126,28 @@ - (void)testGenerateOperationalCertErrorCases __auto_type * operationalKeys = [[MTRTestKeys alloc] init]; XCTAssertNotNil(operationalKeys); - __auto_type * cats = [[NSMutableArray alloc] initWithCapacity:4]; - [cats addObject:@1]; - [cats addObject:@2]; - [cats addObject:@3]; - [cats addObject:@4]; + __auto_type * longCats = [[NSMutableArray alloc] initWithCapacity:4]; + [longCats addObject:@0x00010001]; + [longCats addObject:@0x00020001]; + [longCats addObject:@0x00030001]; + [longCats addObject:@0x00040001]; + + __auto_type * catsWithSameIdentifier = [[NSMutableArray alloc] initWithCapacity:3]; + // High bits are identifier, low bits are version. + [catsWithSameIdentifier addObject:@0x00010001]; + [catsWithSameIdentifier addObject:@0x00020001]; + [catsWithSameIdentifier addObject:@0x00010002]; + + __auto_type * catsWithDuplicatedCAT = [[NSMutableArray alloc] initWithCapacity:3]; + // High bits are identifier, low bits are version. + [catsWithDuplicatedCAT addObject:@0x00010001]; + [catsWithDuplicatedCAT addObject:@0x00020001]; + [catsWithDuplicatedCAT addObject:@0x00010001]; + + __auto_type * catsWithInvalidVersion = [[NSMutableArray alloc] initWithCapacity:2]; + // High bits are identifier, low bits are version. + [catsWithInvalidVersion addObject:@0x00010001]; + [catsWithInvalidVersion addObject:@0x00020000]; // Check basic case works __auto_type * operationalCert = [MTRCertificates generateOperationalCertificate:rootKeys @@ -147,7 +165,37 @@ - (void)testGenerateOperationalCertErrorCases operationalPublicKey:operationalKeys.publicKey fabricId:@1 nodeId:@1 - caseAuthenticatedTags:cats + caseAuthenticatedTags:longCats + error:nil]; + XCTAssertNil(operationalCert); + + // Multiple CATs with the same identifier but different versions + operationalCert = [MTRCertificates generateOperationalCertificate:rootKeys + signingCertificate:rootCert + operationalPublicKey:operationalKeys.publicKey + fabricId:@1 + nodeId:@1 + caseAuthenticatedTags:catsWithSameIdentifier + error:nil]; + XCTAssertNil(operationalCert); + + // Multiple CATs with the same identifier and same version + operationalCert = [MTRCertificates generateOperationalCertificate:rootKeys + signingCertificate:rootCert + operationalPublicKey:operationalKeys.publicKey + fabricId:@1 + nodeId:@1 + caseAuthenticatedTags:catsWithDuplicatedCAT + error:nil]; + XCTAssertNil(operationalCert); + + // CAT with invalid version + operationalCert = [MTRCertificates generateOperationalCertificate:rootKeys + signingCertificate:rootCert + operationalPublicKey:operationalKeys.publicKey + fabricId:@1 + nodeId:@1 + caseAuthenticatedTags:catsWithInvalidVersion error:nil]; XCTAssertNil(operationalCert); diff --git a/src/lib/core/CASEAuthTag.h b/src/lib/core/CASEAuthTag.h index b67e86709cb0b4..d83eaf5217ca1b 100644 --- a/src/lib/core/CASEAuthTag.h +++ b/src/lib/core/CASEAuthTag.h @@ -36,6 +36,31 @@ static constexpr NodeId kTagVersionMask = 0x0000'0000'0000'FFFFULL; // Maximum number of CASE Authenticated Tags (CAT) in the CHIP certificate subject. static constexpr size_t kMaxSubjectCATAttributeCount = CHIP_CONFIG_CERT_MAX_RDN_ATTRIBUTES - 2; +constexpr NodeId NodeIdFromCASEAuthTag(CASEAuthTag aCAT) +{ + return kMinCASEAuthTag | aCAT; +} + +constexpr CASEAuthTag CASEAuthTagFromNodeId(NodeId aNodeId) +{ + return aNodeId & kMaskCASEAuthTag; +} + +constexpr bool IsValidCASEAuthTag(CASEAuthTag aCAT) +{ + return (aCAT & kTagVersionMask) > 0; +} + +constexpr uint16_t GetCASEAuthTagIdentifier(CASEAuthTag aCAT) +{ + return static_cast((aCAT & kTagIdentifierMask) >> kTagIdentifierShift); +} + +constexpr uint16_t GetCASEAuthTagVersion(CASEAuthTag aCAT) +{ + return static_cast(aCAT & kTagVersionMask); +} + struct CATValues { std::array values = { kUndefinedCAT }; @@ -73,6 +98,45 @@ struct CATValues return false; } + bool AreValid() const + { + for (size_t idx = 0; idx < size(); ++idx) + { + const auto & candidate = values[idx]; + if (candidate == kUndefinedCAT) + { + continue; + } + + // Every entry that is not empty must have version > 0 + if (!IsValidCASEAuthTag(candidate)) + { + return false; + } + // Identifiers cannot collide in set (there cannot be more than 1 version of an identifier) + for (size_t other_idx = 0; other_idx < size(); ++other_idx) + { + if (idx == other_idx) + { + continue; + } + if (values[other_idx] == kUndefinedCAT) + { + continue; + } + + uint16_t other_identifier = GetCASEAuthTagIdentifier(values[other_idx]); + uint16_t candidate_identifier = GetCASEAuthTagIdentifier(candidate); + if (other_identifier == candidate_identifier) + { + return false; + } + } + } + + return true; + } + /** * @brief Returns true if this set contains any version of the `identifier` * @@ -83,7 +147,7 @@ struct CATValues { for (auto candidate : values) { - uint16_t candidate_identifier = static_cast((candidate & kTagIdentifierMask) >> kTagIdentifierShift); + uint16_t candidate_identifier = GetCASEAuthTagIdentifier(candidate); if ((candidate != kUndefinedCAT) && (identifier == candidate_identifier)) { return true; @@ -98,13 +162,14 @@ struct CATValues bool CheckSubjectAgainstCATs(NodeId subject) const { VerifyOrReturnError(IsCASEAuthTag(subject), false); + CASEAuthTag catFromSubject = CASEAuthTagFromNodeId(subject); - for (auto cat : values) + for (auto catFromNoc : values) { - // All valid CAT values are always in the beginning of the array followed by kUndefinedCAT values. - ReturnErrorCodeIf(cat == kUndefinedCAT, false); - if (((cat & kTagIdentifierMask) == (subject & kTagIdentifierMask)) && - ((cat & kTagVersionMask) >= (subject & kTagVersionMask))) + if ((catFromNoc != kUndefinedCAT) && + (GetCASEAuthTagIdentifier(catFromNoc) == GetCASEAuthTagIdentifier(catFromSubject)) && + (GetCASEAuthTagVersion(catFromSubject) > 0) && + (GetCASEAuthTagVersion(catFromNoc) >= GetCASEAuthTagVersion(catFromSubject))) { return true; } @@ -114,12 +179,17 @@ struct CATValues bool operator==(const CATValues & other) const { - // Two sets of CATs confer equal permissions if the sets are exactly equal. + // Two sets of CATs confer equal permissions if the sets are exactly equal + // and the sets are valid. // Ignoring kUndefinedCAT values, evaluate this. if (this->GetNumTagsPresent() != other.GetNumTagsPresent()) { return false; } + if (!this->AreValid() || !other.AreValid()) + { + return false; + } for (auto cat : this->values) { if (cat == kUndefinedCAT) @@ -162,29 +232,4 @@ struct CATValues static constexpr CATValues kUndefinedCATs = { { kUndefinedCAT } }; -constexpr NodeId NodeIdFromCASEAuthTag(CASEAuthTag aCAT) -{ - return kMinCASEAuthTag | aCAT; -} - -constexpr CASEAuthTag CASEAuthTagFromNodeId(NodeId aNodeId) -{ - return aNodeId & kMaskCASEAuthTag; -} - -constexpr bool IsValidCASEAuthTag(CASEAuthTag aCAT) -{ - return (aCAT & kTagVersionMask) > 0; -} - -constexpr uint16_t GetCASEAuthTagIdentifier(CASEAuthTag aCAT) -{ - return static_cast((aCAT & kTagIdentifierMask) >> kTagIdentifierShift); -} - -constexpr uint16_t GetCASEAuthTagVersion(CASEAuthTag aCAT) -{ - return static_cast(aCAT & kTagVersionMask); -} - } // namespace chip diff --git a/src/lib/core/tests/TestCATValues.cpp b/src/lib/core/tests/TestCATValues.cpp index 95ab813f89e638..838d4cac10e97e 100644 --- a/src/lib/core/tests/TestCATValues.cpp +++ b/src/lib/core/tests/TestCATValues.cpp @@ -53,6 +53,22 @@ void TestEqualityOperator(nlTestSuite * inSuite, void * inContext) } } } + + { + auto a = CATValues{ { 0x1111'0001, kUndefinedCAT, 0x2222'0002 } }; + auto b = CATValues{ { 0x2222'0002, kUndefinedCAT, 0x1111'0001 } }; + auto c = CATValues{ { 0x1111'0001, 0x2222'0002 } }; + auto d = CATValues{ { 0x2222'0002, 0x1111'0001 } }; + CATValues candidates[] = { a, b, c, d }; + + for (auto & outer : candidates) + { + for (auto & inner : candidates) + { + NL_TEST_ASSERT(inSuite, inner == outer); + } + } + } } void TestInequalityOperator(nlTestSuite * inSuite, void * inContext) @@ -92,6 +108,33 @@ void TestInequalityOperator(nlTestSuite * inSuite, void * inContext) } } +void TestValidity(nlTestSuite * inSuite, void * inContext) +{ + { + auto a = CATValues{ { 0x1111'0001, 0x2222'0002, 0x3333'0003 } }; + auto b = CATValues{ { 0x1111'0001, 0x3333'0003, 0x2222'0002 } }; + auto c = CATValues{ { 0x2222'0002 } }; + auto d = CATValues{ { 0x2222'0002, 0x3333'0003 } }; + auto e = CATValues{ { 0x2222'0002, kUndefinedCAT, 0x3333'0003 } }; + CATValues validCandidates[] = { a, b, c, d, e }; + for (auto & candidate : validCandidates) + { + NL_TEST_ASSERT(inSuite, candidate.AreValid()); + } + } + + { + auto versionZero1 = CATValues{ { 0x1111'0000, 0x2222'0002, 0x3333'0003 } }; + auto versionZero2 = CATValues{ { 0x2222'0000 } }; + auto collidingId = CATValues{ { 0x1111'0001, 0x3333'0003, 0x1111'0002 } }; + CATValues invalidCandidates[] = { versionZero1, versionZero2, collidingId }; + for (auto & candidate : invalidCandidates) + { + NL_TEST_ASSERT(inSuite, !candidate.AreValid()); + } + } +} + void TestMembership(nlTestSuite * inSuite, void * inContext) { auto a = CATValues{ { 0x1111'0001 } }; @@ -104,12 +147,14 @@ void TestMembership(nlTestSuite * inSuite, void * inContext) NL_TEST_ASSERT(inSuite, !a.Contains(0x2222'0002)); NL_TEST_ASSERT(inSuite, a.ContainsIdentifier(0x1111)); NL_TEST_ASSERT(inSuite, !a.ContainsIdentifier(0x2222)); + NL_TEST_ASSERT(inSuite, a.AreValid()); NL_TEST_ASSERT(inSuite, b.Contains(0x1111'0001)); NL_TEST_ASSERT(inSuite, b.Contains(0x2222'0002)); NL_TEST_ASSERT(inSuite, b.GetNumTagsPresent() == 2); NL_TEST_ASSERT(inSuite, b.ContainsIdentifier(0x1111)); NL_TEST_ASSERT(inSuite, b.ContainsIdentifier(0x2222)); + NL_TEST_ASSERT(inSuite, b.AreValid()); NL_TEST_ASSERT(inSuite, c.Contains(0x1111'0001)); NL_TEST_ASSERT(inSuite, c.Contains(0x2222'0002)); @@ -118,6 +163,7 @@ void TestMembership(nlTestSuite * inSuite, void * inContext) NL_TEST_ASSERT(inSuite, c.ContainsIdentifier(0x1111)); NL_TEST_ASSERT(inSuite, c.ContainsIdentifier(0x2222)); NL_TEST_ASSERT(inSuite, c.ContainsIdentifier(0x3333)); + NL_TEST_ASSERT(inSuite, c.AreValid()); } void TestSubjectMatching(nlTestSuite * inSuite, void * inContext) @@ -160,6 +206,7 @@ static const nlTest sTests[] = { NL_TEST_DEF("Equality operator", TestEqualityOperator), NL_TEST_DEF("Inequality operator", TestInequalityOperator), + NL_TEST_DEF("Validity checks", TestValidity), NL_TEST_DEF("Set operations", TestMembership), NL_TEST_DEF("Subject matching for ACL", TestSubjectMatching), NL_TEST_SENTINEL() From aa7c0ba51df8b4a93e86cc5e14cc5ea57c7bfdd7 Mon Sep 17 00:00:00 2001 From: Evgeny Margolis Date: Fri, 15 Jul 2022 20:40:10 -0700 Subject: [PATCH 04/15] [chip-cert] Updated support for HEX encoding to certificate tool. (#20561) - Added HEX format support for the DER encoded data. - Added HEX foramt support for the Certification Declaration data. - Added support for only Public Key (without Private Key) including public key in HEX format. - Code refactored. --- src/tools/chip-cert/CertUtils.cpp | 191 +++++++--------- src/tools/chip-cert/Cmd_ConvertCert.cpp | 12 +- src/tools/chip-cert/Cmd_ConvertKey.cpp | 70 +++++- src/tools/chip-cert/Cmd_GenAttCert.cpp | 2 +- src/tools/chip-cert/Cmd_GenCD.cpp | 14 +- src/tools/chip-cert/Cmd_GenCert.cpp | 24 +- src/tools/chip-cert/GeneralUtils.cpp | 102 ++++++++- src/tools/chip-cert/KeyUtils.cpp | 280 +++++++++++++++--------- src/tools/chip-cert/chip-cert.h | 34 ++- 9 files changed, 468 insertions(+), 261 deletions(-) diff --git a/src/tools/chip-cert/CertUtils.cpp b/src/tools/chip-cert/CertUtils.cpp index 26ffb18053c613..3cd79f7b14250f 100644 --- a/src/tools/chip-cert/CertUtils.cpp +++ b/src/tools/chip-cert/CertUtils.cpp @@ -169,28 +169,40 @@ void ToolChipDN::PrintDN(FILE * file, const char * name) const namespace { -CertFormat DetectCertFormat(uint8_t * cert, uint32_t certLen) +CertFormat DetectCertFormat(const uint8_t * cert, uint32_t certLen) { static const uint8_t chipRawPrefix[] = { 0x15, 0x30, 0x01 }; - static const char * chipB64Prefix = "FTAB"; - static const size_t chipB64PrefixLen = strlen(chipB64Prefix); static const char * chipHexPrefix = "153001"; - static const size_t chipHexPrefixLen = strlen(chipHexPrefix); + static const char * chipB64Prefix = "FTAB"; + static const uint8_t derRawPrefix[] = { 0x30, 0x82 }; + static const char * derHexPrefix = "30820"; static const char * pemMarker = "-----BEGIN CERTIFICATE-----"; - if (certLen > sizeof(chipRawPrefix) && memcmp(cert, chipRawPrefix, sizeof(chipRawPrefix)) == 0) + VerifyOrReturnError(cert != nullptr, kCertFormat_Unknown); + + if ((certLen > sizeof(chipRawPrefix)) && (memcmp(cert, chipRawPrefix, sizeof(chipRawPrefix)) == 0)) { return kCertFormat_Chip_Raw; } - if (certLen > chipB64PrefixLen && memcmp(cert, chipB64Prefix, chipB64PrefixLen) == 0) + if ((certLen > strlen(chipHexPrefix)) && (memcmp(cert, chipHexPrefix, strlen(chipHexPrefix)) == 0)) + { + return kCertFormat_Chip_Hex; + } + + if ((certLen > strlen(chipB64Prefix)) && (memcmp(cert, chipB64Prefix, strlen(chipB64Prefix)) == 0)) { return kCertFormat_Chip_Base64; } - if (certLen > chipHexPrefixLen && memcmp(cert, chipHexPrefix, chipHexPrefixLen) == 0) + if ((certLen > sizeof(derRawPrefix)) && (memcmp(cert, derRawPrefix, sizeof(derRawPrefix)) == 0)) { - return kCertFormat_Chip_Hex; + return kCertFormat_X509_DER; + } + + if ((certLen > strlen(derHexPrefix)) && (memcmp(cert, derHexPrefix, strlen(derHexPrefix)) == 0)) + { + return kCertFormat_X509_Hex; } if (ContainsPEMMarker(pemMarker, cert, certLen)) @@ -198,7 +210,7 @@ CertFormat DetectCertFormat(uint8_t * cert, uint32_t certLen) return kCertFormat_X509_PEM; } - return kCertFormat_X509_DER; + return kCertFormat_Unknown; } bool SetCertSerialNumber(X509 * cert) @@ -538,18 +550,31 @@ bool ReadCert(const char * fileName, X509 * cert, CertFormat & certFmt) VerifyTrueOrExit(res); certFmt = DetectCertFormat(certBuf.get(), certLen); + if (certFmt == kCertFormat_Unknown) + { + fprintf(stderr, "Unrecognized Cert Format in File: %s\n", fileName); + return false; + } + + if ((certFmt == kCertFormat_X509_Hex) || (certFmt == kCertFormat_Chip_Hex)) + { + size_t len = chip::Encoding::HexToBytes(Uint8::to_char(certBuf.get()), certLen, certBuf.get(), certLen); + VerifyOrReturnError(CanCastTo(2 * len), false); + VerifyOrReturnError(2 * len == certLen, false); + certLen = static_cast(len); + } if (certFmt == kCertFormat_X509_PEM) { res = ReadCertPEM(fileName, cert); VerifyTrueOrExit(res); } - else if (certFmt == kCertFormat_X509_DER) + else if ((certFmt == kCertFormat_X509_DER) || (certFmt == kCertFormat_X509_Hex)) { - const uint8_t * outCert = certBuf.get(); - VerifyOrReturnError(chip::CanCastTo(certLen), false); + const uint8_t * outCert = certBuf.get(); + if (d2i_X509(&cert, &outCert, static_cast(certLen)) == nullptr) { ReportOpenSSLErrorAndExit("d2i_X509", res = false); @@ -563,14 +588,6 @@ bool ReadCert(const char * fileName, X509 * cert, CertFormat & certFmt) res = Base64Decode(certBuf.get(), certLen, certBuf.get(), certLen, certLen); VerifyTrueOrExit(res); } - else if (certFmt == kCertFormat_Chip_Hex) - { - const char * certChars = reinterpret_cast(certBuf.get()); - - certLen = static_cast(Encoding::HexToBytes(certChars, certLen, certBuf.get(), certLen)); - res = (certLen > 0); - VerifyTrueOrExit(res); - } std::unique_ptr x509CertBuf(new uint8_t[kMaxDERCertLength]); MutableByteSpan x509Cert(x509CertBuf.get(), kMaxDERCertLength); @@ -640,6 +657,7 @@ bool X509ToChipCert(X509 * cert, MutableByteSpan & chipCert) } exit: + OPENSSL_free(derCert); return res; } @@ -678,13 +696,37 @@ bool LoadChipCert(const char * fileName, bool isTrused, ChipCertificateSet & cer bool WriteCert(const char * fileName, X509 * cert, CertFormat certFmt) { - bool res = true; - FILE * file = nullptr; + bool res = true; + FILE * file = nullptr; + uint8_t * derCert = nullptr; - VerifyOrExit(cert != nullptr, res = false); + VerifyOrReturnError(cert != nullptr, false); + VerifyOrReturnError(certFmt != kCertFormat_Unknown, false); - res = OpenFile(fileName, file, true); - VerifyTrueOrExit(res); + if (IsChipCertFormat(certFmt)) + { + uint8_t chipCertBuf[kMaxCHIPCertLength]; + MutableByteSpan chipCert(chipCertBuf); + + VerifyOrReturnError(X509ToChipCert(cert, chipCert), false); + + return WriteChipCert(fileName, chipCert, certFmt); + } + + if (certFmt == kCertFormat_X509_Hex) + { + int derCertLen = i2d_X509(cert, &derCert); + if (derCertLen < 0) + { + ReportOpenSSLErrorAndExit("i2d_X509", res = false); + } + + VerifyOrExit(CanCastTo(derCertLen), res = false); + VerifyOrExit(WriteDataIntoFile(fileName, derCert, static_cast(derCertLen), kDataFormat_Hex), res = false); + ExitNow(res = true); + } + + VerifyOrExit(OpenFile(fileName, file, true), res = false); if (certFmt == kCertFormat_X509_PEM) { @@ -700,109 +742,34 @@ bool WriteCert(const char * fileName, X509 * cert, CertFormat certFmt) ReportOpenSSLErrorAndExit("i2d_X509_fp", res = false); } } - else if (certFmt == kCertFormat_Chip_Raw || certFmt == kCertFormat_Chip_Base64 || certFmt == kCertFormat_Chip_Hex) + else { - uint8_t * certToWrite = nullptr; - size_t certToWriteLen = 0; - uint32_t certLen; - uint32_t chipCertDecodedLen = HEX_ENCODED_LENGTH(kMaxCHIPCertLength); - std::unique_ptr chipCertDecoded(new uint8_t[chipCertDecodedLen]); - uint8_t chipCertBuf[kMaxCHIPCertLength]; - MutableByteSpan chipCert(chipCertBuf); - - res = X509ToChipCert(cert, chipCert); - VerifyTrueOrExit(res); - certLen = static_cast(chipCert.size()); - - if (certFmt == kCertFormat_Chip_Base64) - { - chipCertDecodedLen = BASE64_ENCODED_LEN(certLen); - res = Base64Encode(chipCert.data(), certLen, chipCertDecoded.get(), chipCertDecodedLen, chipCertDecodedLen); - VerifyTrueOrExit(res); - - certToWrite = chipCertDecoded.get(); - certToWriteLen = chipCertDecodedLen; - } - else if (certFmt == kCertFormat_Chip_Hex) - { - char * certHex = reinterpret_cast(chipCertDecoded.get()); - - chipCertDecodedLen = HEX_ENCODED_LENGTH(certLen); - SuccessOrExit(Encoding::BytesToLowercaseHexBuffer(chipCert.data(), certLen, certHex, chipCertDecodedLen)); - - certToWrite = chipCertDecoded.get(); - certToWriteLen = chipCertDecodedLen; - } - else - { - certToWrite = chipCert.data(); - certToWriteLen = chipCert.size(); - } - - if (fwrite(certToWrite, 1, certToWriteLen, file) != certToWriteLen) - { - fprintf(stderr, "Unable to write to %s: %s\n", fileName, strerror(ferror(file) ? errno : ENOSPC)); - ExitNow(res = false); - } + fprintf(stderr, "Unsupported certificate format\n"); + ExitNow(res = false); } printf("\r\n"); exit: + OPENSSL_free(derCert); CloseFile(file); return res; } bool WriteChipCert(const char * fileName, const ByteSpan & chipCert, CertFormat certFmt) { - bool res = true; - FILE * file = nullptr; - const uint8_t * certToWrite = nullptr; - uint32_t certLen = static_cast(chipCert.size()); - size_t certToWriteLen = 0; - uint32_t chipCertDecodedLen = HEX_ENCODED_LENGTH(kMaxCHIPCertLength); // Maximum possible encoding size - std::unique_ptr chipCertDecoded(new uint8_t[chipCertDecodedLen]); - - VerifyOrReturnError(certFmt == kCertFormat_Chip_Raw || certFmt == kCertFormat_Chip_Base64 || certFmt == kCertFormat_Chip_Hex, - false); + DataFormat dataFormat = kDataFormat_Unknown; - if (certFmt == kCertFormat_Chip_Base64) - { - chipCertDecodedLen = BASE64_ENCODED_LEN(certLen); - res = Base64Encode(chipCert.data(), certLen, chipCertDecoded.get(), chipCertDecodedLen, chipCertDecodedLen); - VerifyTrueOrExit(res); + VerifyOrReturnError(IsChipCertFormat(certFmt), false); - certToWrite = chipCertDecoded.get(); - certToWriteLen = chipCertDecodedLen; - } - else if (certFmt == kCertFormat_Chip_Hex) - { - char * certHex = reinterpret_cast(chipCertDecoded.get()); - chipCertDecodedLen = HEX_ENCODED_LENGTH(certLen); - - SuccessOrExit(Encoding::BytesToLowercaseHexBuffer(chipCert.data(), certLen, certHex, chipCertDecodedLen)); - - certToWrite = chipCertDecoded.get(); - certToWriteLen = chipCertDecodedLen; - } + if (certFmt == kCertFormat_Chip_Raw) + dataFormat = kDataFormat_Raw; + else if (certFmt == kCertFormat_Chip_Base64) + dataFormat = kDataFormat_Base64; else - { - certToWrite = chipCert.data(); - certToWriteLen = chipCert.size(); - } - - res = OpenFile(fileName, file, true); - VerifyTrueOrExit(res); - - if (fwrite(certToWrite, 1, certToWriteLen, file) != certToWriteLen) - { - fprintf(stderr, "Unable to write to %s: %s\n", fileName, strerror(ferror(file) ? errno : ENOSPC)); - ExitNow(res = false); - } + dataFormat = kDataFormat_Hex; -exit: - CloseFile(file); - return res; + return WriteDataIntoFile(fileName, chipCert.data(), static_cast(chipCert.size()), dataFormat); } bool MakeCert(uint8_t certType, const ToolChipDN * subjectDN, X509 * caCert, EVP_PKEY * caKey, const struct tm & validFrom, diff --git a/src/tools/chip-cert/Cmd_ConvertCert.cpp b/src/tools/chip-cert/Cmd_ConvertCert.cpp index 2f8ca4988e4af0..a1379388f02d0c 100644 --- a/src/tools/chip-cert/Cmd_ConvertCert.cpp +++ b/src/tools/chip-cert/Cmd_ConvertCert.cpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2021-2022 Project CHIP Authors * Copyright (c) 2013-2017 Nest Labs, Inc. * All rights reserved. * @@ -42,6 +42,7 @@ OptionDef gCmdOptionDefs[] = { { "x509-pem", kNoArgument, 'p' }, { "x509-der", kNoArgument, 'd' }, + { "x509-hex", kNoArgument, 'X' }, { "chip", kNoArgument, 'c' }, { "chip-hex", kNoArgument, 'x' }, { "chip-b64", kNoArgument, 'b' }, @@ -57,6 +58,10 @@ const char * const gCmdOptionHelp = "\n" " Output certificate in X.509 DER format.\n" "\n" + " -X, --x509-hex\n" + "\n" + " Output certificate in X.509 DER hex encoded format.\n" + "\n" " -c, --chip\n" "\n" " Output certificate in raw CHIP TLV format.\n" @@ -110,7 +115,7 @@ OptionSet * gCmdOptionSets[] = const char * gInFileName = nullptr; const char * gOutFileName = nullptr; -CertFormat gOutCertFormat = kCertFormat_Chip_Base64; +CertFormat gOutCertFormat = kCertFormat_Default; bool HandleOption(const char * progName, OptionSet * optSet, int id, const char * name, const char * arg) { @@ -122,6 +127,9 @@ bool HandleOption(const char * progName, OptionSet * optSet, int id, const char case 'd': gOutCertFormat = kCertFormat_X509_DER; break; + case 'X': + gOutCertFormat = kCertFormat_X509_Hex; + break; case 'x': gOutCertFormat = kCertFormat_Chip_Hex; break; diff --git a/src/tools/chip-cert/Cmd_ConvertKey.cpp b/src/tools/chip-cert/Cmd_ConvertKey.cpp index f84db75cc7f3ba..5880edd51f181c 100644 --- a/src/tools/chip-cert/Cmd_ConvertKey.cpp +++ b/src/tools/chip-cert/Cmd_ConvertKey.cpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2021-2022 Project CHIP Authors * Copyright (c) 2013-2017 Nest Labs, Inc. * All rights reserved. * @@ -40,11 +40,16 @@ bool HandleNonOptionArgs(const char * progName, int argc, char * const argv[]); // clang-format off OptionDef gCmdOptionDefs[] = { - { "x509-pem", kNoArgument, 'p' }, - { "x509-der", kNoArgument, 'd' }, - { "chip", kNoArgument, 'c' }, - { "chip-hex", kNoArgument, 'x' }, - { "chip-b64", kNoArgument, 'b' }, + { "x509-pem", kNoArgument, 'p' }, + { "x509-der", kNoArgument, 'd' }, + { "x509-hex", kNoArgument, 'x' }, + { "x509-pubkey-pem", kNoArgument, 'P' }, + { "chip", kNoArgument, 'c' }, + { "chip-b64", kNoArgument, 'b' }, + { "chip-hex", kNoArgument, 'e' }, + { "chip-pubkey", kNoArgument, 'C' }, + { "chip-pubkey-b64", kNoArgument, 'B' }, + { "chip-pubkey-hex", kNoArgument, 'E' }, { } }; @@ -57,6 +62,14 @@ const char * const gCmdOptionHelp = "\n" " Output the private key in SEC1/RFC-5915 DER format. \n" "\n" + " -x, --x509-hex\n" + "\n" + " Output the private key in SEC1/RFC-5915 DER hex encoded format.\n" + "\n" + " -P, --x509-pubkey-pem\n" + "\n" + " Output the public key in SEC1/RFC-5915 PEM format.\n" + "\n" " -c, --chip\n" "\n" " Output the private key in raw CHIP serialized format.\n" @@ -69,6 +82,22 @@ const char * const gCmdOptionHelp = " Output the private key in base-64 encoded CHIP serialized format.\n" " This is the default.\n" "\n" + " -e, --chip-hex\n" + "\n" + " Output the private key in hex encoded CHIP serialized format.\n" + "\n" + " -C, --chip-pubkey\n" + "\n" + " Output the raw public key.\n" + "\n" + " -B, --chip-pubkey-b64\n" + "\n" + " Output the public key in base-64 encoded format.\n" + "\n" + " -E, --chip-pubkey-hex\n" + "\n" + " Output the public key in hex encoded format.\n" + "\n" ; OptionSet gCmdOptions = @@ -122,14 +151,29 @@ bool HandleOption(const char * progName, OptionSet * optSet, int id, const char case 'd': gOutFormat = kKeyFormat_X509_DER; break; + case 'x': + gOutFormat = kKeyFormat_X509_Hex; + break; + case 'P': + gOutFormat = kKeyFormat_X509_Pubkey_PEM; + break; + case 'c': + gOutFormat = kKeyFormat_Chip_Raw; + break; case 'b': gOutFormat = kKeyFormat_Chip_Base64; break; - case 'x': + case 'e': gOutFormat = kKeyFormat_Chip_Hex; break; - case 'c': - gOutFormat = kKeyFormat_Chip_Raw; + case 'C': + gOutFormat = kKeyFormat_Chip_Pubkey_Raw; + break; + case 'B': + gOutFormat = kKeyFormat_Chip_Pubkey_Base64; + break; + case 'E': + gOutFormat = kKeyFormat_Chip_Pubkey_Hex; break; default: PrintArgError("%s: Unhandled option: %s\n", progName, name); @@ -187,7 +231,13 @@ bool Cmd_ConvertKey(int argc, char * argv[]) res = ReadKey(gInFileName, key.get()); VerifyTrueOrExit(res); - res = WritePrivateKey(gOutFileName, key.get(), gOutFormat); + if (IsPrivateKeyFormat(gOutFormat) && EC_KEY_get0_private_key(EVP_PKEY_get1_EC_KEY(key.get())) == nullptr) + { + fprintf(stderr, "Cannot convert to the private key format as the original key doesn't include private key.\n"); + return false; + } + + res = WriteKey(gOutFileName, key.get(), gOutFormat); VerifyTrueOrExit(res); exit: diff --git a/src/tools/chip-cert/Cmd_GenAttCert.cpp b/src/tools/chip-cert/Cmd_GenAttCert.cpp index a67fbe1219b16e..8025d81a702b8f 100644 --- a/src/tools/chip-cert/Cmd_GenAttCert.cpp +++ b/src/tools/chip-cert/Cmd_GenAttCert.cpp @@ -577,7 +577,7 @@ bool Cmd_GenAttCert(int argc, char * argv[]) if (gOutKeyFileName != nullptr) { - res = WritePrivateKey(gOutKeyFileName, newKey.get(), kKeyFormat_X509_PEM); + res = WriteKey(gOutKeyFileName, newKey.get(), kKeyFormat_X509_PEM); VerifyTrueOrExit(res); } diff --git a/src/tools/chip-cert/Cmd_GenCD.cpp b/src/tools/chip-cert/Cmd_GenCD.cpp index 6e85051d55086c..4d4b30212a35a1 100644 --- a/src/tools/chip-cert/Cmd_GenCD.cpp +++ b/src/tools/chip-cert/Cmd_GenCD.cpp @@ -1188,17 +1188,9 @@ bool Cmd_GenCD(int argc, char * argv[]) } // Write to file. - { - FILE * file = nullptr; - - VerifyOrReturnError(OpenFile(gSignedCDFileName, file, true), false); - - if (fwrite(signedMessage.data(), 1, signedMessage.size(), file) != signedMessage.size()) - { - fprintf(stderr, "Unable to write to %s: %s\n", gSignedCDFileName, strerror(ferror(file) ? errno : ENOSPC)); - return false; - } - } + VerifyOrReturnError(WriteDataIntoFile(gSignedCDFileName, signedMessage.data(), static_cast(signedMessage.size()), + kDataFormat_Raw), + false); } return true; } diff --git a/src/tools/chip-cert/Cmd_GenCert.cpp b/src/tools/chip-cert/Cmd_GenCert.cpp index c8d5f6a8af63d8..75153464084414 100644 --- a/src/tools/chip-cert/Cmd_GenCert.cpp +++ b/src/tools/chip-cert/Cmd_GenCert.cpp @@ -138,10 +138,12 @@ const char * const gCmdOptionHelp = " If not specified, the default base-64 encoded CHIP format is used.\n" " Supported format parametes are:\n" " x509-pem - X.509 PEM format\n" - " x509-der - X.509 DER format\n" + " x509-der - X.509 DER raw format\n" + " x509-hex - X.509 DER hex encoded format\n" " chip - raw CHIP TLV format\n" " chip-hex - hex encoded CHIP TLV format\n" " chip-b64 - base-64 encoded CHIP TLV format (default)\n" + " chip-hex - hex encoded CHIP TLV format\n" "\n" " -V, --valid-from --
[ :: ]\n" "\n" @@ -250,8 +252,8 @@ const char * gCAKeyFileName = nullptr; const char * gInKeyFileName = nullptr; const char * gOutCertFileName = nullptr; const char * gOutKeyFileName = nullptr; -CertFormat gOutCertFormat = kCertFormat_Chip_Base64; -KeyFormat gOutKeyFormat = kKeyFormat_Chip_Base64; +CertFormat gOutCertFormat = kCertFormat_Default; +KeyFormat gOutKeyFormat = kKeyFormat_Default; uint32_t gValidDays = kCertValidDays_Undefined; FutureExtension gFutureExtensions[3] = { { 0, nullptr } }; uint8_t gFutureExtensionsCount = 0; @@ -450,6 +452,11 @@ bool HandleOption(const char * progName, OptionSet * optSet, int id, const char gOutCertFormat = kCertFormat_X509_DER; gOutKeyFormat = kKeyFormat_X509_DER; } + else if (strcmp(arg, "x509-hex") == 0) + { + gOutCertFormat = kCertFormat_X509_Hex; + gOutKeyFormat = kKeyFormat_X509_Hex; + } else if (strcmp(arg, "chip") == 0) { gOutCertFormat = kCertFormat_Chip_Raw; @@ -844,12 +851,11 @@ bool Cmd_GenCert(int argc, char * argv[]) gFutureExtensionsCount, newCert.get(), newKey.get(), gCertConfig); VerifyTrueOrExit(res); - if (gCertConfig.IsErrorTestCaseEnabled() && - (gOutCertFormat == kCertFormat_Chip_Raw || gOutCertFormat == kCertFormat_Chip_Base64)) + if (gCertConfig.IsErrorTestCaseEnabled() && IsChipCertFormat(gOutCertFormat)) { - static constexpr uint32_t kExtraBufferLengthForOvesizedCert = 300; - uint8_t chipCertBuf[kMaxCHIPCertLength + kExtraBufferLengthForOvesizedCert]; - chip::MutableByteSpan chipCert(chipCertBuf); + uint32_t chipCertBufLen = kMaxCHIPCertLength + gCertConfig.GetExtraCertLength(); + std::unique_ptr chipCertBuf = std::unique_ptr(new uint8_t[chipCertBufLen]); + chip::MutableByteSpan chipCert(chipCertBuf.get(), chipCertBufLen); err = MakeCertChipTLV(gCertType, &gSubjectDN, caCertPtr, caKeyPtr, gValidFrom, gValidDays, gPathLengthConstraint, gFutureExtensions, gFutureExtensionsCount, newCert.get(), newKey.get(), gCertConfig, chipCert); VerifyTrueOrExit(err == CHIP_NO_ERROR); @@ -865,7 +871,7 @@ bool Cmd_GenCert(int argc, char * argv[]) if (gOutKeyFileName != nullptr) { - res = WritePrivateKey(gOutKeyFileName, newKey.get(), gOutKeyFormat); + res = WriteKey(gOutKeyFileName, newKey.get(), gOutKeyFormat); VerifyTrueOrExit(res); } diff --git a/src/tools/chip-cert/GeneralUtils.cpp b/src/tools/chip-cert/GeneralUtils.cpp index 81aeef8acd91a5..32479c45c7b8fc 100644 --- a/src/tools/chip-cert/GeneralUtils.cpp +++ b/src/tools/chip-cert/GeneralUtils.cpp @@ -27,10 +27,13 @@ #include "chip-cert.h" +#include +#include #include using namespace chip; using namespace chip::Credentials; +using namespace chip::Encoding; using namespace chip::ASN1; int gNIDChipNodeId; @@ -113,6 +116,38 @@ bool InitOpenSSL() return res; } +bool IsChipCertFormat(CertFormat certFormat) +{ + return ((certFormat == kCertFormat_Chip_Raw) || (certFormat == kCertFormat_Chip_Base64) || + (certFormat == kCertFormat_Chip_Hex)); +} + +bool IsX509PrivateKeyFormat(KeyFormat keyFormat) +{ + return ((keyFormat == kKeyFormat_X509_PEM) || (keyFormat == kKeyFormat_X509_DER) || (keyFormat == kKeyFormat_X509_Hex)); +} + +bool IsChipPrivateKeyFormat(KeyFormat keyFormat) +{ + return ((keyFormat == kKeyFormat_Chip_Raw) || (keyFormat == kKeyFormat_Chip_Base64) || (keyFormat == kKeyFormat_Chip_Hex)); +} + +bool IsPrivateKeyFormat(KeyFormat keyFormat) +{ + return (IsX509PrivateKeyFormat(keyFormat) || IsChipPrivateKeyFormat(keyFormat)); +} + +bool IsChipPublicKeyFormat(KeyFormat keyFormat) +{ + return ((keyFormat == kKeyFormat_Chip_Pubkey_Raw) || (keyFormat == kKeyFormat_Chip_Pubkey_Base64) || + (keyFormat == kKeyFormat_Chip_Pubkey_Hex)); +} + +bool IsPublicKeyFormat(KeyFormat keyFormat) +{ + return (IsChipPublicKeyFormat(keyFormat) || (keyFormat == kKeyFormat_X509_Pubkey_PEM)); +} + bool Base64Encode(const uint8_t * inData, uint32_t inDataLen, uint8_t * outBuf, uint32_t outBufSize, uint32_t & outDataLen) { bool res = true; @@ -192,15 +227,15 @@ bool ParseDateTime(const char * str, struct tm & date) bool OpenFile(const char * fileName, FILE *& file, bool toWrite) { - bool res = true; + VerifyOrReturnError(fileName != nullptr, false); - if (fileName != nullptr && strcmp(fileName, "-") != 0) + if (strcmp(fileName, "-") != 0) { file = fopen(fileName, toWrite ? "w+" : "r"); if (file == nullptr) { fprintf(stderr, "Unable to open %s: %s\n", fileName, strerror(errno)); - ExitNow(res = false); + return false; } } else @@ -208,8 +243,7 @@ bool OpenFile(const char * fileName, FILE *& file, bool toWrite) file = toWrite ? stdout : stdin; } -exit: - return res; + return true; } void CloseFile(FILE *& file) @@ -258,3 +292,61 @@ bool ReadFileIntoMem(const char * fileName, uint8_t * data, uint32_t & dataLen) CloseFile(file); return res; } + +bool WriteDataIntoFile(const char * fileName, const uint8_t * data, size_t dataLen, DataFormat dataFmt) +{ + bool res = true; + FILE * file = nullptr; + const uint8_t * dataToWrite = nullptr; + uint32_t dataToWriteLen = 0; + std::unique_ptr dataBuf; + + VerifyOrExit(OpenFile(fileName, file, true) == true, res = false); + VerifyOrExit(data != nullptr, res = false); + VerifyOrExit(dataFmt != kDataFormat_Unknown, res = false); + + if (dataFmt == kDataFormat_Base64) + { + VerifyOrExit(CanCastTo(BASE64_ENCODED_LEN(dataLen)), res = false); + dataToWriteLen = static_cast(BASE64_ENCODED_LEN(dataLen)); + dataBuf = std::unique_ptr(new uint8_t[dataToWriteLen]); + dataToWrite = dataBuf.get(); + + VerifyOrExit(Base64Encode(data, static_cast(dataLen), dataBuf.get(), dataToWriteLen, dataToWriteLen), + res = false); + } + else if (dataFmt == kDataFormat_Hex) + { + VerifyOrExit(CanCastTo(HEX_ENCODED_LENGTH(dataLen)), res = false); + dataToWriteLen = static_cast(HEX_ENCODED_LENGTH(dataLen)); + dataBuf = std::unique_ptr(new uint8_t[dataToWriteLen]); + dataToWrite = dataBuf.get(); + + VerifyOrExit(BytesToHex(data, dataLen, Uint8::to_char(dataBuf.get()), dataToWriteLen, HexFlags::kUppercase) == + CHIP_NO_ERROR, + res = false); + } + else + { + VerifyOrExit(CanCastTo(dataLen), res = false); + dataToWriteLen = static_cast(dataLen); + dataToWrite = data; + } + + if (fwrite(dataToWrite, 1, dataToWriteLen, file) != dataToWriteLen) + { + fprintf(stderr, "Unable to write to %s: %s\n", fileName, strerror(ferror(file) ? errno : ENOSPC)); + ExitNow(res = false); + } + + // Add new line if the output is stdout + if ((strcmp(fileName, "-") == 0) && (fwrite("\n", 1, 1, file) != 1)) + { + fprintf(stderr, "Unable to write to %s: %s\n", fileName, strerror(ferror(file) ? errno : ENOSPC)); + ExitNow(res = false); + } + +exit: + CloseFile(file); + return res; +} diff --git a/src/tools/chip-cert/KeyUtils.cpp b/src/tools/chip-cert/KeyUtils.cpp index 68b5ee7a5b4850..6ab9290663f899 100644 --- a/src/tools/chip-cert/KeyUtils.cpp +++ b/src/tools/chip-cert/KeyUtils.cpp @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2021-2022 Project CHIP Authors * Copyright (c) 2013-2017 Nest Labs, Inc. * All rights reserved. * @@ -25,11 +25,13 @@ */ #include "chip-cert.h" +#include #include #include #include using namespace chip; +using namespace chip::Encoding; using namespace chip::Protocols; using namespace chip::ASN1; using namespace chip::TLV; @@ -41,115 +43,144 @@ namespace { KeyFormat DetectKeyFormat(const uint8_t * key, uint32_t keyLen) { static uint32_t p256SerializedKeypairLen = kP256_PublicKey_Length + kP256_PrivateKey_Length; + static const uint8_t chipRawPrefix[] = { 0x04 }; + static const char * chipHexPrefix = "04"; + static const char * chipB64Prefix = "B"; + static const uint8_t derRawPrefix[] = { 0x30, 0x77, 0x02, 0x01, 0x01, 0x04 }; + static const char * derHexPrefix = "307702010104"; static const char * ecPEMMarker = "-----BEGIN EC PRIVATE KEY-----"; static const char * pkcs8PEMMarker = "-----BEGIN PRIVATE KEY-----"; static const char * ecPUBPEMMarker = "-----BEGIN PUBLIC KEY-----"; - static const char * chipHexPrefix = "04c2"; - static const size_t chipHexPrefixLen = strlen(chipHexPrefix); - static const size_t chipHexMinLen = HEX_ENCODED_LENGTH(p256SerializedKeypairLen); - if (keyLen == p256SerializedKeypairLen) + VerifyOrReturnError(key != nullptr, kKeyFormat_Unknown); + + if ((keyLen == p256SerializedKeypairLen) && (memcmp(key, chipRawPrefix, sizeof(chipRawPrefix)) == 0)) { return kKeyFormat_Chip_Raw; } - - if (keyLen == BASE64_ENCODED_LEN(p256SerializedKeypairLen)) + if ((keyLen == HEX_ENCODED_LENGTH(p256SerializedKeypairLen)) && (memcmp(key, chipHexPrefix, strlen(chipHexPrefix)) == 0)) + { + return kKeyFormat_Chip_Hex; + } + if ((keyLen == BASE64_ENCODED_LEN(p256SerializedKeypairLen)) && (memcmp(key, chipB64Prefix, strlen(chipB64Prefix)) == 0)) { return kKeyFormat_Chip_Base64; } - + if ((keyLen == kP256_PublicKey_Length) && (memcmp(key, chipRawPrefix, sizeof(chipRawPrefix)) == 0)) + { + return kKeyFormat_Chip_Pubkey_Raw; + } + if ((keyLen == (2 * kP256_PublicKey_Length)) && (memcmp(key, chipHexPrefix, strlen(chipHexPrefix)) == 0)) + { + return kKeyFormat_Chip_Pubkey_Hex; + } + if ((keyLen == BASE64_ENCODED_LEN(kP256_PublicKey_Length)) && (memcmp(key, chipB64Prefix, strlen(chipB64Prefix)) == 0)) + { + return kKeyFormat_Chip_Pubkey_Base64; + } + if ((keyLen > sizeof(derRawPrefix)) && (memcmp(key, derRawPrefix, sizeof(derRawPrefix)) == 0)) + { + return kKeyFormat_X509_DER; + } + if ((keyLen > strlen(derHexPrefix)) && (memcmp(key, derHexPrefix, strlen(derHexPrefix)) == 0)) + { + return kKeyFormat_X509_Hex; + } if (ContainsPEMMarker(ecPEMMarker, key, keyLen) || ContainsPEMMarker(pkcs8PEMMarker, key, keyLen)) { return kKeyFormat_X509_PEM; } - if (ContainsPEMMarker(ecPUBPEMMarker, key, keyLen)) { - return kKeyFormat_X509_PUBKEY_PEM; + return kKeyFormat_X509_Pubkey_PEM; } - if (keyLen >= chipHexMinLen && memcmp(key, chipHexPrefix, chipHexPrefixLen) == 0) - { - return kKeyFormat_Chip_Hex; - } - - return kKeyFormat_X509_DER; + return kKeyFormat_Unknown; } -bool DeserializeKeyPair(const uint8_t * keyPair, uint32_t keyPairLen, EVP_PKEY * key) +bool SetPublicKey(const uint8_t * pubkey, uint32_t pubkeyLen, EVP_PKEY * key) { - bool res = true; - int result = 0; - const uint8_t * pubKey = keyPair; - uint32_t pubKeyLen = kP256_PublicKey_Length; - const uint8_t * privKey = keyPair + pubKeyLen; - uint32_t privKeyLen = kP256_PrivateKey_Length; std::unique_ptr group(EC_GROUP_new_by_curve_name(gNIDChipCurveP256), &EC_GROUP_free); std::unique_ptr ecPoint(EC_POINT_new(group.get()), &EC_POINT_free); std::unique_ptr ecKey(EC_KEY_new_by_curve_name(gNIDChipCurveP256), &EC_KEY_free); - std::unique_ptr privKeyBN(BN_new(), &BN_clear_free); - ERR_clear_error(); + VerifyOrReturnError(EC_POINT_oct2point(group.get(), ecPoint.get(), pubkey, pubkeyLen, nullptr) == 1, false); - VerifyOrExit(key != nullptr, res = false); - VerifyOrExit(keyPair != nullptr, res = false); - VerifyOrExit(keyPairLen == privKeyLen + pubKeyLen, res = false); + VerifyOrReturnError(EC_KEY_set_public_key(ecKey.get(), ecPoint.get()) == 1, false); + + VerifyOrReturnError(EVP_PKEY_set1_EC_KEY(key, ecKey.get()) == 1, false); - result = EC_POINT_oct2point(group.get(), ecPoint.get(), pubKey, pubKeyLen, nullptr); - VerifyOrExit(result == 1, res = false); + return true; +} - result = EC_KEY_set_public_key(ecKey.get(), ecPoint.get()); - VerifyOrExit(result == 1, res = false); +bool ExtractPublicKey(EVP_PKEY * key, MutableByteSpan & pubKey) +{ + const EC_KEY * ecKey = nullptr; + const EC_GROUP * group = nullptr; + const EC_POINT * ecPoint = nullptr; - VerifyOrExit(BN_bin2bn(privKey, static_cast(privKeyLen), privKeyBN.get()) != nullptr, res = false); + VerifyOrReturnError(pubKey.size() >= kP256_PublicKey_Length, false); - result = EC_KEY_set_private_key(ecKey.get(), privKeyBN.get()); - VerifyOrExit(result == 1, res = false); + ecKey = EVP_PKEY_get1_EC_KEY(key); + VerifyOrReturnError(ecKey != nullptr, false); - result = EVP_PKEY_set1_EC_KEY(key, ecKey.get()); - VerifyOrExit(result == 1, res = false); + group = EC_KEY_get0_group(ecKey); + VerifyOrReturnError(group != nullptr, false); -exit: - return res; + ecPoint = EC_KEY_get0_public_key(ecKey); + VerifyOrReturnError(ecPoint != nullptr, false); + + VerifyOrReturnError(EC_POINT_point2oct(group, ecPoint, POINT_CONVERSION_UNCOMPRESSED, Uint8::to_uchar(pubKey.data()), + kP256_PublicKey_Length, nullptr) == kP256_PublicKey_Length, + false); + + pubKey.reduce_size(static_cast(kP256_PublicKey_Length)); + + return true; +} + +bool DeserializeKeyPair(const uint8_t * keyPair, uint32_t keyPairLen, EVP_PKEY * key) +{ + std::unique_ptr privKeyBN(BN_new(), &BN_clear_free); + + ERR_clear_error(); + + VerifyOrReturnError(key != nullptr, false); + VerifyOrReturnError(keyPair != nullptr, false); + VerifyOrReturnError(keyPairLen == kP256_PublicKey_Length + kP256_PrivateKey_Length, false); + + VerifyOrReturnError(SetPublicKey(keyPair, kP256_PublicKey_Length, key), false); + + VerifyOrReturnError(BN_bin2bn(keyPair + kP256_PublicKey_Length, kP256_PrivateKey_Length, privKeyBN.get()) != nullptr, false); + + VerifyOrReturnError(EC_KEY_set_private_key(EVP_PKEY_get1_EC_KEY(key), privKeyBN.get()) == 1, false); + + return true; } } // namespace bool SerializeKeyPair(EVP_PKEY * key, P256SerializedKeypair & serializedKeypair) { - bool res = true; - const BIGNUM * privKeyBN = nullptr; - const EC_GROUP * group = nullptr; const EC_KEY * ecKey = nullptr; - const EC_POINT * ecPoint = nullptr; - uint8_t * pubKey = serializedKeypair.Bytes(); - uint8_t * privKey = pubKey + kP256_PublicKey_Length; - size_t pubKeyLen = 0; - int privKeyLen = 0; + const BIGNUM * privKeyBN = nullptr; + MutableByteSpan pubKey(serializedKeypair.Bytes(), kP256_PublicKey_Length); + + VerifyOrReturnError(ExtractPublicKey(key, pubKey), false); ecKey = EVP_PKEY_get1_EC_KEY(key); - VerifyOrExit(ecKey != nullptr, res = false); + VerifyOrReturnError(ecKey != nullptr, false); privKeyBN = EC_KEY_get0_private_key(ecKey); - VerifyOrExit(privKeyBN != nullptr, res = false); - - group = EC_KEY_get0_group(ecKey); - VerifyOrExit(group != nullptr, res = false); - - ecPoint = EC_KEY_get0_public_key(ecKey); - VerifyOrExit(ecPoint != nullptr, res = false); - - pubKeyLen = - EC_POINT_point2oct(group, ecPoint, POINT_CONVERSION_UNCOMPRESSED, Uint8::to_uchar(pubKey), kP256_PublicKey_Length, nullptr); - VerifyOrExit(pubKeyLen == kP256_PublicKey_Length, res = false); + VerifyOrReturnError(privKeyBN != nullptr, false); - privKeyLen = BN_bn2binpad(privKeyBN, privKey, kP256_PrivateKey_Length); - VerifyOrExit(privKeyLen == kP256_PrivateKey_Length, res = false); + VerifyOrReturnError(BN_bn2binpad(privKeyBN, serializedKeypair.Bytes() + kP256_PublicKey_Length, kP256_PrivateKey_Length) == + kP256_PrivateKey_Length, + false); serializedKeypair.SetLength(kP256_PublicKey_Length + kP256_PrivateKey_Length); -exit: - return res; + return true; } bool ReadKey(const char * fileName, EVP_PKEY * key, bool ignorErrorIfUnsupportedCurve) @@ -168,13 +199,23 @@ bool ReadKey(const char * fileName, EVP_PKEY * key, bool ignorErrorIfUnsupported VerifyTrueOrExit(res); keyFormat = DetectKeyFormat(keyData.get(), keyDataLen); + if (keyFormat == kKeyFormat_Unknown) + { + fprintf(stderr, "Unrecognized Key Format in File: %s\n", fileName); + return false; + } - if (keyFormat == kKeyFormat_Chip_Base64) + if ((keyFormat == kKeyFormat_X509_Hex) || (keyFormat == kKeyFormat_Chip_Hex) || (keyFormat == kKeyFormat_Chip_Pubkey_Hex)) + { + size_t len = HexToBytes(Uint8::to_char(keyData.get()), keyDataLen, keyData.get(), keyDataLen); + VerifyOrReturnError(CanCastTo(2 * len), false); + VerifyOrReturnError(2 * len == keyDataLen, false); + keyDataLen = static_cast(len); + } + else if ((keyFormat == kKeyFormat_Chip_Base64) || (keyFormat == kKeyFormat_Chip_Pubkey_Base64)) { res = Base64Decode(keyData.get(), keyDataLen, keyData.get(), keyDataLen, keyDataLen); VerifyTrueOrExit(res); - - keyFormat = kKeyFormat_Chip_Raw; } else if (keyFormat == kKeyFormat_Chip_Hex) { @@ -187,17 +228,22 @@ bool ReadKey(const char * fileName, EVP_PKEY * key, bool ignorErrorIfUnsupported keyFormat = kKeyFormat_Chip_Raw; } - if (keyFormat == kKeyFormat_Chip_Raw) + if (IsChipPrivateKeyFormat(keyFormat)) { res = DeserializeKeyPair(keyData.get(), keyDataLen, key); VerifyTrueOrExit(res); } + else if (IsChipPublicKeyFormat(keyFormat)) + { + res = SetPublicKey(keyData.get(), keyDataLen, key); + VerifyTrueOrExit(res); + } else { std::unique_ptr keyBIO( BIO_new_mem_buf(static_cast(keyData.get()), static_cast(keyDataLen)), &BIO_free_all); - if (keyFormat == kKeyFormat_X509_PUBKEY_PEM) + if (keyFormat == kKeyFormat_X509_Pubkey_PEM) { EC_KEY * ecKey = EC_KEY_new(); @@ -220,6 +266,13 @@ bool ReadKey(const char * fileName, EVP_PKEY * key, bool ignorErrorIfUnsupported } else { + if (keyFormat == kKeyFormat_X509_Hex) + { + size_t len = HexToBytes(reinterpret_cast(keyBIO.get()), keyDataLen, + reinterpret_cast(keyBIO.get()), keyDataLen); + VerifyOrReturnError(2 * len == keyDataLen, false); + } + if (d2i_PrivateKey_bio(keyBIO.get(), &key) == nullptr) { ReportOpenSSLErrorAndExit("d2i_PrivateKey_bio", res = false); @@ -280,22 +333,19 @@ bool GenerateKeyPair_Secp256k1(EVP_PKEY * key) return res; } -bool WritePrivateKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt) +bool WriteKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt) { - bool res = true; - FILE * file = nullptr; - uint8_t * keyToWrite = nullptr; - uint32_t keyToWriteLen = 0; - P256SerializedKeypair serializedKeypair; - uint32_t chipKeySize = serializedKeypair.Capacity(); - uint32_t chipKeyDecodedSize = HEX_ENCODED_LENGTH(chipKeySize); - std::unique_ptr chipKey(new uint8_t[chipKeySize]); - std::unique_ptr chipKeyDecoded(new uint8_t[chipKeyDecodedSize]); + bool res = true; + FILE * file = nullptr; + uint8_t * derKey = nullptr; + DataFormat dataFormat = kDataFormat_Unknown; VerifyOrExit(key != nullptr, res = false); - res = OpenFile(fileName, file, true); - VerifyTrueOrExit(res); + if (keyFmt == kKeyFormat_X509_PEM || keyFmt == kKeyFormat_X509_Pubkey_PEM || keyFmt == kKeyFormat_X509_DER) + { + VerifyOrExit(OpenFile(fileName, file, true), res = false); + } if (EVP_PKEY_type(EVP_PKEY_id(key)) != EVP_PKEY_EC) { @@ -308,7 +358,13 @@ bool WritePrivateKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt) case kKeyFormat_X509_PEM: if (PEM_write_ECPrivateKey(file, EVP_PKEY_get1_EC_KEY(key), nullptr, nullptr, 0, nullptr, nullptr) == 0) { - ReportOpenSSLErrorAndExit("PEM_write_PrivateKey", res = false); + ReportOpenSSLErrorAndExit("PEM_write_ECPrivateKey", res = false); + } + break; + case kKeyFormat_X509_Pubkey_PEM: + if (PEM_write_EC_PUBKEY(file, EVP_PKEY_get1_EC_KEY(key)) == 0) + { + ReportOpenSSLErrorAndExit("PEM_write_EC_PUBKEY", res = false); } break; case kKeyFormat_X509_DER: @@ -317,45 +373,52 @@ bool WritePrivateKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt) ReportOpenSSLErrorAndExit("i2d_PrivateKey_fp", res = false); } break; + case kKeyFormat_X509_Hex: { + int derKeyLen = i2d_ECPrivateKey(EVP_PKEY_get1_EC_KEY(key), &derKey); + if (derKeyLen < 0) + { + ReportOpenSSLErrorAndExit("i2d_X509", res = false); + } + VerifyOrExit(CanCastTo(derKeyLen), res = false); + VerifyOrExit(WriteDataIntoFile(fileName, derKey, static_cast(derKeyLen), kDataFormat_Hex), res = false); + } + break; case kKeyFormat_Chip_Raw: case kKeyFormat_Chip_Hex: case kKeyFormat_Chip_Base64: - res = SerializeKeyPair(key, serializedKeypair); - VerifyTrueOrExit(res); + if (keyFmt == kKeyFormat_Chip_Raw) + dataFormat = kDataFormat_Raw; + else if (keyFmt == kKeyFormat_Chip_Base64) + dataFormat = kDataFormat_Base64; + else + dataFormat = kDataFormat_Hex; - if (keyFmt == kKeyFormat_Chip_Base64) { - res = Base64Encode(serializedKeypair.Bytes(), static_cast(serializedKeypair.Length()), chipKeyDecoded.get(), - chipKeyDecodedSize, chipKeyDecodedSize); - VerifyTrueOrExit(res); - - keyToWrite = chipKeyDecoded.get(); - keyToWriteLen = chipKeyDecodedSize; - } - else if (keyFmt == kKeyFormat_Chip_Hex) - { - char * keyHex = reinterpret_cast(chipKeyDecoded.get()); - - SuccessOrExit(Encoding::BytesToLowercaseHexBuffer( - serializedKeypair.Bytes(), static_cast(serializedKeypair.Length()), keyHex, chipKeyDecodedSize)); - - keyToWrite = chipKeyDecoded.get(); - keyToWriteLen = chipKeyDecodedSize; + P256SerializedKeypair serializedKeypair; + VerifyOrExit(SerializeKeyPair(key, serializedKeypair), res = false); + VerifyOrExit(WriteDataIntoFile(fileName, serializedKeypair.Bytes(), serializedKeypair.Length(), dataFormat), + res = false); } + break; + case kKeyFormat_Chip_Pubkey_Raw: + case kKeyFormat_Chip_Pubkey_Base64: + case kKeyFormat_Chip_Pubkey_Hex: + if (keyFmt == kKeyFormat_Chip_Pubkey_Raw) + dataFormat = kDataFormat_Raw; + else if (keyFmt == kKeyFormat_Chip_Pubkey_Base64) + dataFormat = kDataFormat_Base64; else - { - keyToWrite = serializedKeypair.Bytes(); - keyToWriteLen = static_cast(serializedKeypair.Length()); - } + dataFormat = kDataFormat_Hex; - if (fwrite(keyToWrite, 1, keyToWriteLen, file) != keyToWriteLen) { - fprintf(stderr, "Unable to write to %s\n%s\n", fileName, strerror(ferror(file) ? errno : ENOSPC)); - ExitNow(res = false); + uint8_t pubkey[kP256_PublicKey_Length] = { 0 }; + MutableByteSpan pubkeySpan(pubkey); + VerifyOrExit(ExtractPublicKey(key, pubkeySpan), res = false); + VerifyOrExit(WriteDataIntoFile(fileName, pubkeySpan.data(), pubkeySpan.size(), dataFormat), res = false); } break; default: - fprintf(stderr, "Unsupported private key format"); + fprintf(stderr, "Unsupported private key format\n"); ExitNow(res = false); } @@ -363,6 +426,7 @@ bool WritePrivateKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt) exit: CloseFile(file); + OPENSSL_free(derKey); return res; } diff --git a/src/tools/chip-cert/chip-cert.h b/src/tools/chip-cert/chip-cert.h index 7c9851764a0bdd..cf3afbf084b7b7 100644 --- a/src/tools/chip-cert/chip-cert.h +++ b/src/tools/chip-cert/chip-cert.h @@ -93,9 +93,12 @@ enum CertFormat kCertFormat_Unknown = 0, kCertFormat_X509_DER, kCertFormat_X509_PEM, + kCertFormat_X509_Hex, kCertFormat_Chip_Raw, kCertFormat_Chip_Base64, kCertFormat_Chip_Hex, + + kCertFormat_Default = kCertFormat_Chip_Base64, }; enum KeyFormat @@ -103,12 +106,33 @@ enum KeyFormat kKeyFormat_Unknown = 0, kKeyFormat_X509_DER, kKeyFormat_X509_PEM, - kKeyFormat_X509_PUBKEY_PEM, + kKeyFormat_X509_Hex, + kKeyFormat_X509_Pubkey_PEM, kKeyFormat_Chip_Raw, kKeyFormat_Chip_Base64, - kKeyFormat_Chip_Hex + kKeyFormat_Chip_Hex, + kKeyFormat_Chip_Pubkey_Raw, + kKeyFormat_Chip_Pubkey_Base64, + kKeyFormat_Chip_Pubkey_Hex, + + kKeyFormat_Default = kKeyFormat_Chip_Base64, }; +enum DataFormat +{ + kDataFormat_Unknown = 0, + kDataFormat_Raw, + kDataFormat_Hex, + kDataFormat_Base64, +}; + +extern bool IsChipCertFormat(CertFormat certFormat); +extern bool IsX509PrivateKeyFormat(KeyFormat keyFormat); +extern bool IsChipPrivateKeyFormat(KeyFormat keyFormat); +extern bool IsPrivateKeyFormat(KeyFormat keyFormat); +extern bool IsChipPublicKeyFormat(KeyFormat keyFormat); +extern bool IsPublicKeyFormat(KeyFormat keyFormat); + enum AttCertType { kAttCertType_NotSpecified = 0, /**< The attestation certificate type has not been specified. */ @@ -281,6 +305,7 @@ class CertStructConfig bool IsSignatureError() { return (mEnabled && mFlags.Has(CertErrorFlags::kSignature)); } bool IsCertOversized() { return (mEnabled && mFlags.Has(CertErrorFlags::kCertOversized)); } + uint32_t GetExtraCertLength() { return IsCertOversized() ? kExtraBufferLengthForOvesizedCert : 0; } bool IsSerialNumberPresent() { return (!mEnabled || !mFlags.Has(CertErrorFlags::kSerialNumberMissing)); } bool IsIssuerPresent() { return (!mEnabled || !mFlags.Has(CertErrorFlags::kIssuerMissing)); } bool IsValidityNotBeforePresent() { return (!mEnabled || !mFlags.Has(CertErrorFlags::kValidityNotBeforeMissing)); } @@ -349,6 +374,8 @@ class CertStructConfig kExtExtendedKeyUsageMissing = 0x0000800000000000, }; + static constexpr uint32_t kExtraBufferLengthForOvesizedCert = 300; + bool mEnabled = false; chip::BitFlags mFlags; }; @@ -397,7 +424,7 @@ extern bool MakeAttCert(AttCertType attCertType, const char * subjectCN, uint16_ extern bool GenerateKeyPair(EVP_PKEY * key); extern bool GenerateKeyPair_Secp256k1(EVP_PKEY * key); extern bool ReadKey(const char * fileName, EVP_PKEY * key, bool ignorErrorIfUnsupportedCurve = false); -extern bool WritePrivateKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt); +extern bool WriteKey(const char * fileName, EVP_PKEY * key, KeyFormat keyFmt); extern bool SerializeKeyPair(EVP_PKEY * key, chip::Crypto::P256SerializedKeypair & serializedKeypair); extern bool X509ToChipCert(X509 * cert, chip::MutableByteSpan & chipCert); @@ -409,6 +436,7 @@ extern bool IsBase64String(const char * str, uint32_t strLen); extern bool ContainsPEMMarker(const char * marker, const uint8_t * data, uint32_t dataLen); extern bool ParseDateTime(const char * str, struct tm & date); extern bool ReadFileIntoMem(const char * fileName, uint8_t * data, uint32_t & dataLen); +extern bool WriteDataIntoFile(const char * fileName, const uint8_t * data, size_t dataLen, DataFormat dataFmt); extern bool OpenFile(const char * fileName, FILE *& file, bool toWrite = false); extern void CloseFile(FILE *& file); From 73a94a2fcda326def7a40d2e6b42dd31cc640e6a Mon Sep 17 00:00:00 2001 From: Timotej Ecimovic Date: Fri, 15 Jul 2022 23:41:47 -0400 Subject: [PATCH 05/15] Update ZAP metadata in ZCL files. (#20640) * Update ZAP metadata in ZCL files. With matter nearing release, the category of the ZCL data needs to be differentiated, so zigbee pro stacks use "zigbee" category and Matter stack uses "matter" category. None of this affects generation, but it affects the user flow in the UI, where user might be upgrading old Matter or old ZigbeePro file, and this meta info helps determine which metafiles are the ones that should be used for the upgrades. It's important that this change makes it into the Matter SDK before it becomes any kind of GA release to the customers, otherwise when zap is upgrading from one to another version of Matter, it will have to do guessing or ask the user for what to do. * When doing ZCL file comparison, ignore differences in description. --- scripts/tools/check_zcl_file_sync.py | 5 +++++ src/app/zap-templates/zcl/zcl-with-test-extensions.json | 4 +++- src/app/zap-templates/zcl/zcl.json | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/tools/check_zcl_file_sync.py b/scripts/tools/check_zcl_file_sync.py index 50c520a84f0fce..19d4b75128308d 100755 --- a/scripts/tools/check_zcl_file_sync.py +++ b/scripts/tools/check_zcl_file_sync.py @@ -49,6 +49,11 @@ def main(): base_data["xmlFile"].sort() ext_data["xmlFile"].sort() + # remove the description. That is expected to be different, so we + # will completely exclude it from the comparison. + del base_data["description"] + del ext_data["description"] + if base_data == ext_data: return 0 diff --git a/src/app/zap-templates/zcl/zcl-with-test-extensions.json b/src/app/zap-templates/zcl/zcl-with-test-extensions.json index afa5947f3e742b..40c98531cb6c03 100644 --- a/src/app/zap-templates/zcl/zcl-with-test-extensions.json +++ b/src/app/zap-templates/zcl/zcl-with-test-extensions.json @@ -1,5 +1,7 @@ { - "version": "ZCL Test Data", + "description": "Matter SDK ZCL data with some extensions", + "category": "matter", + "version": 1, "xmlRoot": [ ".", "./data-model/chip/", diff --git a/src/app/zap-templates/zcl/zcl.json b/src/app/zap-templates/zcl/zcl.json index 44abfb526e17ad..c66942a00ce454 100644 --- a/src/app/zap-templates/zcl/zcl.json +++ b/src/app/zap-templates/zcl/zcl.json @@ -1,5 +1,7 @@ { - "version": "ZCL Test Data", + "description": "Matter SDK ZCL data", + "category": "matter", + "version": 1, "xmlRoot": [".", "./data-model/chip/", "./data-model/silabs/"], "_comment": "Ensure access-control-definitions.xml is first in xmlFile array", "xmlFile": [ From b5ec814e714a16202b6964e788ec3dae4a1f3029 Mon Sep 17 00:00:00 2001 From: Richard Wells Date: Sat, 16 Jul 2022 04:42:35 +0100 Subject: [PATCH 06/15] Enabled building apps for linux armhf with chef. (#20674) --- examples/chef/chef.py | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/examples/chef/chef.py b/examples/chef/chef.py index c687296305d397..ef024f8bad65da 100755 --- a/examples/chef/chef.py +++ b/examples/chef/chef.py @@ -329,7 +329,7 @@ def main(argv: Sequence[str]) -> None: "", "--ipv6only", help="Compile build which only supports ipv6. Linux only.", action="store_true") parser.add_option( - "", "--cpu_type", help="CPU type to compile for. Linux only.", choices=["arm64", "x64"]) + "", "--cpu_type", help="CPU type to compile for. Linux only.", choices=["arm64", "arm", "x64"]) options, _ = parser.parse_args(argv) @@ -621,24 +621,36 @@ def main(argv: Sequence[str]) -> None: 'chip_config_network_layer_ble = false', f'target_defines = ["CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID={options.vid}", "CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID={options.pid}", "CONFIG_ENABLE_PW_RPC={int(options.do_rpc)}"]', ]) - if options.cpu_type == "arm64": - uname_resp = shell.run_cmd("uname -m", return_cmd_output=True) - if "aarch" not in uname_resp and "arm" not in uname_resp: - if ( - "aarch" not in uname_resp and - "arm" not in uname_resp and - "SYSROOT_AARCH64" not in shell.env): + + uname_resp = shell.run_cmd("uname -m", return_cmd_output=True) + if "aarch" not in uname_resp and "arm" not in uname_resp: + if options.cpu_type == "arm64": + if "SYSROOT_AARCH64" not in shell.env: flush_print( "SYSROOT_AARCH64 env variable not set. " "AARCH64 toolchain needed for cross-compiling for arm64.") exit(1) shell.env["PKG_CONFIG_PATH"] = ( f'{shell.env["SYSROOT_AARCH64"]}/lib/aarch64-linux-gnu/pkgconfig') - linux_args.append('target_cpu="arm64"') - linux_args.append('is_clang=true') - linux_args.append('chip_crypto="mbedtls"') - linux_args.append(f'sysroot="{shell.env["SYSROOT_AARCH64"]}"') - elif options.cpu_type == "x64": + linux_args.append('target_cpu="arm64"') + linux_args.append('is_clang=true') + linux_args.append('chip_crypto="mbedtls"') + linux_args.append(f'sysroot="{shell.env["SYSROOT_AARCH64"]}"') + + elif options.cpu_type == "arm": + if "SYSROOT_ARMHF" not in shell.env: + flush_print( + "SYSROOT_ARMHF env variable not set. " + "ARMHF toolchain needed for cross-compiling for arm.") + exit(1) + shell.env["PKG_CONFIG_PATH"] = ( + f'{shell.env["SYSROOT_ARMHF"]}/lib/arm-linux-gnueabihf/pkgconfig') + linux_args.append('target_cpu="arm"') + linux_args.append('is_clang=true') + linux_args.append('chip_crypto="mbedtls"') + linux_args.append(f'sysroot="{shell.env["SYSROOT_ARMHF"]}"') + + if options.cpu_type == "x64": uname_resp = shell.run_cmd("uname -m", return_cmd_output=True) if "x64" not in uname_resp and "x86_64" not in uname_resp: flush_print(f"Unable to cross compile for x64 on {uname_resp}") From 0e9122e7e8d84c3c8a6005802a8685cbc11f96b6 Mon Sep 17 00:00:00 2001 From: Ricardo Casallas <77841255+rcasallas-silabs@users.noreply.github.com> Date: Fri, 15 Jul 2022 23:43:00 -0400 Subject: [PATCH 07/15] EFR32: Device Attestation Credentials Provider implementation. (#20686) * EFR32: Device Attestation Credentials Provider implementation. * EFR32 DAC Provider: Review comments applied. --- .../efr32/EFR32DeviceAttestationCreds.cpp | 28 +++---- examples/platform/efr32/efr32_creds.h | 81 +++++++------------ .../platform/efr32/ldscripts/efr32mg12.ld | 1 + .../platform/efr32/ldscripts/efr32mg24.ld | 1 + 4 files changed, 41 insertions(+), 70 deletions(-) diff --git a/examples/platform/efr32/EFR32DeviceAttestationCreds.cpp b/examples/platform/efr32/EFR32DeviceAttestationCreds.cpp index 4f7453b79451ef..942505bd82e81c 100644 --- a/examples/platform/efr32/EFR32DeviceAttestationCreds.cpp +++ b/examples/platform/efr32/EFR32DeviceAttestationCreds.cpp @@ -22,7 +22,8 @@ #include "efr32_creds.h" #include "psa/crypto.h" -#include "sl_token_api.h" + +extern uint32_t __attestation_credentials_base; namespace chip { namespace Credentials { @@ -32,10 +33,11 @@ namespace { class DeviceAttestationCredsEFR32 : public DeviceAttestationCredentialsProvider { + public: CHIP_ERROR GetCertificationDeclaration(MutableByteSpan & out_buffer) override { - ByteSpan cd_span(kCertificationDeclaration); + ByteSpan cd_span(((uint8_t *) &__attestation_credentials_base) + EFR32_CREDENTIALS_CD_OFFSET, EFR32_CREDENTIALS_CD_SIZE); return CopySpanToMutableSpan(cd_span, out_buffer); } @@ -48,33 +50,25 @@ class DeviceAttestationCredsEFR32 : public DeviceAttestationCredentialsProvider CHIP_ERROR GetDeviceAttestationCert(MutableByteSpan & out_buffer) override { - uint8_t cert_buf[MFG_MATTER_DAC_SIZE]; - ByteSpan cert_span(cert_buf); - - int err = sl_token_get_data(CREATOR_MFG_MATTER_DAC, 0, cert_buf, sizeof(cert_buf)); - VerifyOrReturnError(!err, CHIP_ERROR_INTERNAL); - ChipLogByteSpan(DeviceLayer, cert_span); + ByteSpan cert_span(((uint8_t *) &__attestation_credentials_base) + EFR32_CREDENTIALS_DAC_OFFSET, + EFR32_CREDENTIALS_DAC_SIZE); return CopySpanToMutableSpan(cert_span, out_buffer); } CHIP_ERROR GetProductAttestationIntermediateCert(MutableByteSpan & out_pai_buffer) override { - uint8_t cert_buf[MFG_MATTER_PAI_SIZE]; - ByteSpan cert_span(cert_buf); - - int err = sl_token_get_data(CREATOR_MFG_MATTER_PAI, 0, cert_buf, sizeof(cert_buf)); - VerifyOrReturnError(!err, CHIP_ERROR_INTERNAL); - ChipLogByteSpan(DeviceLayer, cert_span); + ByteSpan cert_span(((uint8_t *) &__attestation_credentials_base) + EFR32_CREDENTIALS_PAI_OFFSET, + EFR32_CREDENTIALS_PAI_SIZE); return CopySpanToMutableSpan(cert_span, out_pai_buffer); } - CHIP_ERROR SignWithDeviceAttestationKey(const ByteSpan & digest_to_sign, MutableByteSpan & out_buffer) override + CHIP_ERROR SignWithDeviceAttestationKey(const ByteSpan & message_to_sign, MutableByteSpan & out_buffer) override { - psa_key_id_t key_id = MFG_MATTER_DAC_KEY_ID; + psa_key_id_t key_id = EFR32_CREDENTIALS_DAC_KEY_ID; uint8_t signature[64] = { 0 }; size_t signature_size = sizeof(signature); - psa_status_t err = psa_sign_message(key_id, PSA_ALG_ECDSA(PSA_ALG_SHA_256), digest_to_sign.data(), digest_to_sign.size(), + psa_status_t err = psa_sign_message(key_id, PSA_ALG_ECDSA(PSA_ALG_SHA_256), message_to_sign.data(), message_to_sign.size(), signature, signature_size, &signature_size); VerifyOrReturnError(!err, CHIP_ERROR_INTERNAL); diff --git a/examples/platform/efr32/efr32_creds.h b/examples/platform/efr32/efr32_creds.h index 52514adec3969f..60a3b1724c6017 100644 --- a/examples/platform/efr32/efr32_creds.h +++ b/examples/platform/efr32/efr32_creds.h @@ -7,60 +7,35 @@ * * These credentials MUST be provided if the build variable "chip_build_device_attestation_credentials" is set to true. */ -#ifndef EFR32_EXAMPLE_DEVICE_CREDENTIALS -#define EFR32_EXAMPLE_DEVICE_CREDENTIALS +#ifndef EFR32_DEVICE_CREDENTIALS +#define EFR32_DEVICE_CREDENTIALS -//-> format_version = 1 -//-> vendor_id = 0xFFF1 -//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B, -// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A, -// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029, -// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038, -// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047, -// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056, -// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ] -//-> device_type_id = 0x0016 -//-> certificate_id = "ZIG20142ZB330003-24" -//-> security_level = 0 -//-> security_information = 0 -//-> version_number = 0x2694 -//-> certification_type = 0 -//-> dac_origin_vendor_id is not present -//-> dac_origin_product_id is not present -const uint8_t kCertificationDeclaration[541] = { - 0x30, 0x82, 0x02, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x0a, 0x30, 0x82, - 0x02, 0x06, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30, - 0x82, 0x01, 0x71, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x01, 0x62, 0x04, 0x82, 0x01, - 0x5e, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80, 0x05, 0x01, 0x80, 0x05, 0x02, 0x80, 0x05, - 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05, 0x07, 0x80, 0x05, 0x08, 0x80, 0x05, 0x09, 0x80, 0x05, - 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d, 0x80, 0x05, 0x0e, 0x80, 0x05, 0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, - 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80, 0x05, 0x14, 0x80, 0x05, 0x15, 0x80, 0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, - 0x18, 0x80, 0x05, 0x19, 0x80, 0x05, 0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c, 0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, - 0x1f, 0x80, 0x05, 0x20, 0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05, 0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, - 0x26, 0x80, 0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80, 0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05, - 0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30, 0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33, 0x80, 0x05, - 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05, 0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80, 0x05, 0x3a, 0x80, 0x05, - 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80, 0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05, 0x40, 0x80, 0x05, 0x41, 0x80, 0x05, - 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44, 0x80, 0x05, 0x45, 0x80, 0x05, 0x46, 0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, - 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05, 0x4b, 0x80, 0x05, 0x4c, 0x80, 0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, - 0x50, 0x80, 0x05, 0x51, 0x80, 0x05, 0x52, 0x80, 0x05, 0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, - 0x57, 0x80, 0x05, 0x58, 0x80, 0x05, 0x59, 0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, - 0x5e, 0x80, 0x05, 0x5f, 0x80, 0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, - 0x2c, 0x04, 0x13, 0x5a, 0x49, 0x47, 0x32, 0x30, 0x31, 0x34, 0x32, 0x5a, 0x42, 0x33, 0x33, 0x30, 0x30, 0x30, 0x33, 0x2d, 0x32, - 0x34, 0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x25, 0x07, 0x94, 0x26, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7d, 0x30, 0x7b, 0x02, 0x01, - 0x03, 0x80, 0x14, 0x62, 0xfa, 0x82, 0x33, 0x59, 0xac, 0xfa, 0xa9, 0x96, 0x3e, 0x1c, 0xfa, 0x14, 0x0a, 0xdd, 0xf5, 0x04, 0xf3, - 0x71, 0x60, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x47, 0x30, 0x45, 0x02, 0x20, 0x24, 0xe5, 0xd1, 0xf4, 0x7a, 0x7d, 0x7b, 0x0d, 0x20, - 0x6a, 0x26, 0xef, 0x69, 0x9b, 0x7c, 0x97, 0x57, 0xb7, 0x2d, 0x46, 0x90, 0x89, 0xde, 0x31, 0x92, 0xe6, 0x78, 0xc7, 0x45, 0xe7, - 0xf6, 0x0c, 0x02, 0x21, 0x00, 0xf8, 0xaa, 0x2f, 0xa7, 0x11, 0xfc, 0xb7, 0x9b, 0x97, 0xe3, 0x97, 0xce, 0xda, 0x66, 0x7b, 0xae, - 0x46, 0x4e, 0x2b, 0xd3, 0xff, 0xdf, 0xc3, 0xcc, 0xed, 0x7a, 0xa8, 0xca, 0x5f, 0x4c, 0x1a, 0x7c -}; +#ifndef EFR32_CREDENTIALS_CD_OFFSET +#define EFR32_CREDENTIALS_CD_OFFSET 0x0000 +#endif -#define CREATOR_MFG_MATTER_PAI (USERDATA_TOKENS | 0x400) // 4 bytes -#define CREATOR_MFG_MATTER_DAC (USERDATA_TOKENS | 0x600) // 4 bytes +#ifndef EFR32_CREDENTIALS_CD_SIZE +#define EFR32_CREDENTIALS_CD_SIZE 541 +#endif -#define MFG_MATTER_PAI_SIZE 463 -#define MFG_MATTER_DAC_SIZE 492 -#define MFG_MATTER_DAC_KEY_ID PSA_KEY_ID_USER_MIN + 1 +#ifndef EFR32_CREDENTIALS_PAI_OFFSET +#define EFR32_CREDENTIALS_PAI_OFFSET 0x400 +#endif -#endif // EFR32_EXAMPLE_DEVICE_CREDENTIALS +#ifndef EFR32_CREDENTIALS_PAI_SIZE +#define EFR32_CREDENTIALS_PAI_SIZE 463 +#endif + +#ifndef EFR32_CREDENTIALS_DAC_OFFSET +#define EFR32_CREDENTIALS_DAC_OFFSET 0x600 +#endif + +#ifndef EFR32_CREDENTIALS_DAC_SIZE +#define EFR32_CREDENTIALS_DAC_SIZE 492 +#endif + +#ifndef EFR32_CREDENTIALS_DAC_KEY_ID +#define EFR32_CREDENTIALS_DAC_KEY_ID PSA_KEY_ID_USER_MIN + 1 +#endif + +#endif // EFR32_DEVICE_CREDENTIALS diff --git a/examples/platform/efr32/ldscripts/efr32mg12.ld b/examples/platform/efr32/ldscripts/efr32mg12.ld index 042f5f50a2a430..f9f4f55f8b9a73 100644 --- a/examples/platform/efr32/ldscripts/efr32mg12.ld +++ b/examples/platform/efr32/ldscripts/efr32mg12.ld @@ -230,6 +230,7 @@ SECTIONS linker_nvm_begin = linker_nvm_end - SIZEOF(.nvm); linker_nvm_size = SIZEOF(.nvm); __nvm3Base = linker_nvm_begin; + __attestation_credentials_base = linker_nvm_end; /* Check if data + heap + stack exceeds RAM limit */ /*ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")*/ diff --git a/examples/platform/efr32/ldscripts/efr32mg24.ld b/examples/platform/efr32/ldscripts/efr32mg24.ld index cac2b08a2b1371..bf3f9fd6aa0cb3 100644 --- a/examples/platform/efr32/ldscripts/efr32mg24.ld +++ b/examples/platform/efr32/ldscripts/efr32mg24.ld @@ -232,6 +232,7 @@ SECTIONS linker_nvm_begin = linker_nvm_end - SIZEOF(.nvm); linker_nvm_size = SIZEOF(.nvm); __nvm3Base = linker_nvm_begin; + __attestation_credentials_base = linker_nvm_end; /* Check if data + heap + stack exceeds RAM limit */ /*ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")*/ From 8a32b6ce3cfcc0e72197a8da7acf8bf7d8a5a61c Mon Sep 17 00:00:00 2001 From: Arkadiusz Bokowy Date: Sat, 16 Jul 2022 05:43:17 +0200 Subject: [PATCH 08/15] [Tizen] Do not create flashbundle for non-TPK apps (#20730) * [Tizen] Do not create flashbundle for non-TPK apps * For example apps create Tizen security profile on the fly --- .github/workflows/examples-tizen.yaml | 9 +- examples/all-clusters-app/tizen/BUILD.gn | 5 +- .../all-clusters-minimal-app/tizen/BUILD.gn | 5 +- examples/lighting-app/tizen/BUILD.gn | 5 +- examples/platform/tizen/BUILD.gn | 11 ++ scripts/build/builders/tizen.py | 53 ++++--- third_party/tizen/tizen_dev_certificate.py | 141 ++++++++++++++++++ third_party/tizen/tizen_sdk.gni | 55 ++++++- 8 files changed, 254 insertions(+), 30 deletions(-) create mode 100755 third_party/tizen/tizen_dev_certificate.py diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml index 802ffb0ec45d53..b34e6426ecfa5c 100644 --- a/.github/workflows/examples-tizen.yaml +++ b/.github/workflows/examples-tizen.yaml @@ -50,4 +50,11 @@ jobs: - name: Checkout submodules run: scripts/checkout_submodules.py --shallow --platform tizen - name: Build Tizen examples - run: scripts/run_in_build_env.sh "./scripts/build/build_examples.py --target-glob 'tizen-*' build" + run: | + ./scripts/run_in_build_env.sh \ + "./scripts/build/build_examples.py \ + --enable-flashbundle \ + --target-glob 'tizen-*' \ + build \ + --copy-artifacts-to out/artifacts \ + " diff --git a/examples/all-clusters-app/tizen/BUILD.gn b/examples/all-clusters-app/tizen/BUILD.gn index 42756173d54506..9a9957fff11de4 100644 --- a/examples/all-clusters-app/tizen/BUILD.gn +++ b/examples/all-clusters-app/tizen/BUILD.gn @@ -59,7 +59,10 @@ executable("chip-all-clusters-app") { } tizen_sdk_package("chip-all-clusters-app:tpk") { - deps = [ ":chip-all-clusters-app" ] + deps = [ + ":chip-all-clusters-app", + "${chip_root}/examples/platform/tizen:author-certificate-CHIP", + ] manifest = "tizen-manifest.xml" sign_security_profile = "CHIP" } diff --git a/examples/all-clusters-minimal-app/tizen/BUILD.gn b/examples/all-clusters-minimal-app/tizen/BUILD.gn index 5ad384009938c3..9b081bc565b22d 100644 --- a/examples/all-clusters-minimal-app/tizen/BUILD.gn +++ b/examples/all-clusters-minimal-app/tizen/BUILD.gn @@ -59,7 +59,10 @@ executable("chip-all-clusters-minimal-app") { } tizen_sdk_package("chip-all-clusters-minimal-app:tpk") { - deps = [ ":chip-all-clusters-minimal-app" ] + deps = [ + ":chip-all-clusters-minimal-app", + "${chip_root}/examples/platform/tizen:author-certificate-CHIP", + ] manifest = "tizen-manifest.xml" sign_security_profile = "CHIP" } diff --git a/examples/lighting-app/tizen/BUILD.gn b/examples/lighting-app/tizen/BUILD.gn index b104d8bc474428..4344f742f964c5 100644 --- a/examples/lighting-app/tizen/BUILD.gn +++ b/examples/lighting-app/tizen/BUILD.gn @@ -40,7 +40,10 @@ executable("chip-lighting-app") { } tizen_sdk_package("chip-lighting-app:tpk") { - deps = [ ":chip-lighting-app" ] + deps = [ + ":chip-lighting-app", + "${chip_root}/examples/platform/tizen:author-certificate-CHIP", + ] manifest = "tizen-manifest.xml" sign_security_profile = "CHIP" } diff --git a/examples/platform/tizen/BUILD.gn b/examples/platform/tizen/BUILD.gn index 1ec80ed9eef372..9e29d0f786e11c 100644 --- a/examples/platform/tizen/BUILD.gn +++ b/examples/platform/tizen/BUILD.gn @@ -14,11 +14,14 @@ import("//build_overrides/build.gni") import("//build_overrides/chip.gni") +import("//build_overrides/tizen.gni") + import("${chip_root}/src/app/common_flags.gni") import("${chip_root}/src/lib/core/core.gni") import("${chip_root}/src/lib/lib.gni") import("${build_root}/config/linux/pkg_config.gni") +import("${tizen_sdk_build_root}/tizen_sdk.gni") config("config") { include_dirs = [ "." ] @@ -28,6 +31,14 @@ pkg_config("capi-appfw-service-application") { packages = [ "capi-appfw-service-application" ] } +tizen_sdk_certificate("author-certificate-CHIP") { + # Data for dummy author certificate. + author_certificate_name = "Matter Example" + author_certificate_email = "matter@tizen.org" + author_certificate_password = "0123456789" + sign_security_profile = "CHIP" +} + source_set("app-main") { sources = [ "OptionsProxy.cpp", diff --git a/scripts/build/builders/tizen.py b/scripts/build/builders/tizen.py index b256018d48accc..28d91ee7faf218 100644 --- a/scripts/build/builders/tizen.py +++ b/scripts/build/builders/tizen.py @@ -21,6 +21,7 @@ from .gn import GnBuilder App = namedtuple('App', ['name', 'source', 'outputs']) +Tool = namedtuple('Tool', ['name', 'source', 'outputs']) Board = namedtuple('Board', ['target_cpu']) @@ -36,21 +37,29 @@ class TizenApp(Enum): 'examples/all-clusters-minimal-app/tizen', ('chip-all-clusters-minimal-app', 'chip-all-clusters-minimal-app.map')) - CHIP_TOOL = App( - 'chip-tool', - 'examples/chip-tool', - ('chip-tool', - 'chip-tool.map')) LIGHT = App( 'chip-lighting-app', 'examples/lighting-app/tizen', ('chip-lighting-app', 'chip-lighting-app.map')) - def PackageName(self): + CHIP_TOOL = Tool( + 'chip-tool', + 'examples/chip-tool', + ('chip-tool', + 'chip-tool.map')) + + @property + def is_tpk(self): + """If True, this app is a TPK.""" + return isinstance(self.value, App) + + @property + def package_name(self): return self.manifest.get('package') - def PackageVersion(self): + @property + def package_version(self): return self.manifest.get('version') def parse_manifest(self, manifest: str): @@ -82,15 +91,16 @@ def __init__(self, self.board = board self.extra_gn_options = [] - try: - # Try to load Tizen application XML manifest. We have to use - # try/except here, because of TestBuilder test. This test runs - # in a fake build root /TEST/BUILD/ROOT which obviously does - # not have Tizen manifest file. - self.app.parse_manifest( - os.path.join(self.root, "tizen-manifest.xml")) - except FileNotFoundError: - pass + if self.app.is_tpk: + try: + # Try to load Tizen application XML manifest. We have to use + # try/except here, because of TestBuilder test. This test runs + # in a fake build root /TEST/BUILD/ROOT which obviously does + # not have Tizen manifest file. + self.app.parse_manifest( + os.path.join(self.root, "tizen-manifest.xml")) + except FileNotFoundError: + pass if not enable_ble: self.extra_gn_options.append('chip_config_network_layer_ble=false') @@ -116,9 +126,10 @@ def GnBuildArgs(self): ] def _generate_flashbundle(self): - logging.info('Packaging %s', self.output_dir) - cmd = ['ninja', '-C', self.output_dir, self.app.value.name + ':tpk'] - self._Execute(cmd, title='Packaging ' + self.identifier) + if self.app.is_tpk: + logging.info('Packaging %s', self.output_dir) + cmd = ['ninja', '-C', self.output_dir, self.app.value.name + ':tpk'] + self._Execute(cmd, title='Packaging ' + self.identifier) def build_outputs(self): return { @@ -127,7 +138,9 @@ def build_outputs(self): } def flashbundle(self): - tpk = f'{self.app.PackageName()}-{self.app.PackageVersion()}.tpk' + if not self.app.is_tpk: + return {} + tpk = f'{self.app.package_name}-{self.app.package_version}.tpk' return { tpk: os.path.join(self.output_dir, 'package', 'out', tpk), } diff --git a/third_party/tizen/tizen_dev_certificate.py b/third_party/tizen/tizen_dev_certificate.py new file mode 100755 index 00000000000000..073561bad69ddd --- /dev/null +++ b/third_party/tizen/tizen_dev_certificate.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python + +# Copyright (c) 2022 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 argparse +import logging +import os +import subprocess +import sys + +# Absolute path to Tizen Studio CLI tool. +tizen_sdk_root = os.environ["TIZEN_SDK_ROOT"] +tizen_cli = os.path.join(tizen_sdk_root, "tools", "ide", "bin", "tizen") + +# Setup basic logging capabilities. +logging.basicConfig(level=logging.DEBUG) + + +def create_author_certificate(alias: str, password: str, + name: str = "", email: str = ""): + cmd = [tizen_cli, "certificate", "--alias", alias, "--password", password] + if name: + cmd.extend(["--name", name]) + if email: + cmd.extend(["--email", email]) + logging.debug("Execute: %s", " ".join(cmd)) + with subprocess.Popen(cmd, stdout=subprocess.PIPE) as proc: + for line in proc.stdout.readlines(): + line = line.decode().rstrip() + if line.startswith("Working path:"): + wd = line[len("Working path:"):].strip() + print(line) + return os.path.join(wd, "author.p12") + + +def check_security_profile(profile): + + # XXX: If Tizen Studio SDK data directory was removed but the config file + # was not, Tizen Studio CLI does not create profiles XML file. This + # is a workaround to create a dummy XML profiles file so later Tizen + # will regenerate it with the correct content. + + tizen_sdk_data_dir = None + with open(os.environ["TIZEN_SDK_ROOT"] + "/sdk.info") as f: + for line in f.readlines(): + if line.startswith("TIZEN_SDK_DATA_PATH"): + tizen_sdk_data_dir = line.split("=")[1].strip() + break + if not tizen_sdk_data_dir: + logging.error("Cannot find Tizen SDK data directory") + return False + + profiles_xml = os.path.join(tizen_sdk_data_dir, "profile", "profiles.xml") + if not os.path.exists(profiles_xml): + os.makedirs(os.path.dirname(profiles_xml), exist_ok=True) + with open(profiles_xml, "w") as f: + f.write('') + + cmd = [tizen_cli, "security-profiles", "list", "--name", profile] + logging.debug("Execute: %s", " ".join(cmd)) + with subprocess.Popen(cmd, stdout=subprocess.PIPE) as proc: + for line in proc.stdout.readlines(): + line = line.decode().rstrip() + print(line) + return proc.wait() == 0 + + +def add_security_profile(profile: str, certificate: str, password: str): + cmd = [tizen_cli, "security-profiles", "add", "--active", + "--name", profile, "--author", certificate, "--password", password] + logging.debug("Execute: %s", " ".join(cmd)) + with subprocess.Popen(cmd, stdout=subprocess.PIPE) as proc: + for line in proc.stdout.readlines(): + line = line.decode().rstrip() + print(line) + return proc.wait() == 0 + + +def update_stamp_file(path: str, message: str): + if path: + with open(path, "w") as f: + f.write(message + "\n") + + +parser = argparse.ArgumentParser( + description="Setup Tizen Studio development security profile.") +parser.add_argument( + '--author-certificate-name', metavar='NAME', + help="Set author certificate 'name' field.") +parser.add_argument( + '--author-certificate-email', metavar='EMAIL', + help="Set author certificate 'email' field.") +parser.add_argument( + '--author-certificate-password', metavar='PASSWORD', required=True, + help="Password for author certificate.") +parser.add_argument( + '--sign-security-profile', metavar='NAME', required=True, + help="Name of the security profile to add.") +parser.add_argument( + '--stamp-file', metavar='FILE', + help="Update the stamp file upon success.") + +args = parser.parse_args() + +rv = check_security_profile(args.sign_security_profile) +if rv: + update_stamp_file(args.stamp_file, "Using existing security profile.") + logging.info("Security profile already exists") + sys.exit() + +# Create author certificate if it does not exist. If the certificate already +# exists, it will be used. However, if the password is different, it will not +# be possible to use the certificate when updating the security profile. +cert = create_author_certificate("CHIP", + args.author_certificate_password, + args.author_certificate_name, + args.author_certificate_email) +if not cert: + logging.error("Failed to create author certificate") + sys.exit(1) + +rv = add_security_profile(args.sign_security_profile, cert, + args.author_certificate_password) +if not rv: + logging.error("Failed to add security profile") + sys.exit(1) + +update_stamp_file(args.stamp_file, "New security profile created.") +sys.exit() diff --git a/third_party/tizen/tizen_sdk.gni b/third_party/tizen/tizen_sdk.gni index 0f89226e7bbc40..b3d3d8bc40ecda 100644 --- a/third_party/tizen/tizen_sdk.gni +++ b/third_party/tizen/tizen_sdk.gni @@ -18,8 +18,17 @@ import("//build_overrides/tizen.gni") import("${build_root}/config/tizen/config.gni") +tizen_dev_certificate = get_path_info("tizen_dev_certificate.py", "abspath") tizen_manifest_parser = get_path_info("tizen_manifest_parser.py", "abspath") +# Run Tizen Studio CLI as a project builder. +# +# Parameters: +# project_build_dir: Directory to build the project in. +# project_app_name: Name of the application within the project. +# args: List of arguments to pass to the CLI. +# outputs: List of created output files. +# deps: List of dependencies. template("tizen_sdk") { forward_variables_from(invoker, [ @@ -59,7 +68,47 @@ template("tizen_sdk") { } } +# Generate author certificate and security profile. +# +# Parameters: +# author_certificate_name: Author certificate name field. +# author_certificate_email: Author certificate email field. +# author_certificate_password: Password for the author certificate. +# sign_security_profile: Name of the security profile to add. +template("tizen_sdk_certificate") { + assert(defined(invoker.author_certificate_password), + "It is required to specify `author_certificate_password`.") + assert(defined(invoker.sign_security_profile), + "It is required to specify a `sign_security_profile` which " + + "should be added to Tizen security profiles.") + stamp_file = "${root_build_dir}/.tizen_sdk_dev_certificate_stamp" + action(target_name) { + forward_variables_from(invoker, [ "deps" ]) + script = tizen_dev_certificate + args = [ + "--author-certificate-name=" + invoker.author_certificate_name, + "--author-certificate-email=" + invoker.author_certificate_email, + "--author-certificate-password=" + invoker.author_certificate_password, + "--sign-security-profile=" + invoker.sign_security_profile, + "--stamp-file=" + stamp_file, + ] + outputs = [ stamp_file ] + } +} + +# Package Tizen application as a TPK bundle. +# +# Parameters: +# manifest: The path to Tizen XML manifest file to use. +# sign_security_profile: Name of the security profile to use for signing. +# deps: List of dependencies. template("tizen_sdk_package") { + assert(defined(invoker.manifest), + "It is required to specify Tizen `manifest` XML file.") + assert(defined(invoker.sign_security_profile), + "It is required to specify a `sign_security_profile` which " + + "should be used for signing TPK package.") + # Output directory where packaging will occur. We need a separate directory # for this, because Tizen Studio CLI scans "res" (resources), "shared" and # "lib" directories for items to pack. In our case it could include in the @@ -67,12 +116,6 @@ template("tizen_sdk_package") { tizen_package_dir = "${root_build_dir}/package" tizen_package_out_dir = "${tizen_package_dir}/out" - assert(defined(invoker.manifest), - "It is required to specify Tizen `manifest` XML file.") - assert(defined(invoker.sign_security_profile), - "It is required to specify a `sign_security_profile` which " + - "should be used for signing TPK package.") - # Extract data from Tizen XML manifest. manifest = exec_script(tizen_manifest_parser, [ rebase_path(invoker.manifest, root_build_dir) ], From 207d89b5e8f466b7aab65fc28d2d1881d1144219 Mon Sep 17 00:00:00 2001 From: pankore <86098180+pankore@users.noreply.github.com> Date: Fri, 15 Jul 2022 20:44:21 -0700 Subject: [PATCH 09/15] [Ameba] Implement erase partition in Abort function (#20741) * [OTA] Implement erase partition in Abort function * [OTA] Increase delay before reboot to 10 seconds - This allows time to send out events, for eg state transition from downloading to applying * Restyled by clang-format Co-authored-by: Restyled.io --- src/platform/Ameba/AmebaOTAImageProcessor.cpp | 61 ++++++++++++------- 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/src/platform/Ameba/AmebaOTAImageProcessor.cpp b/src/platform/Ameba/AmebaOTAImageProcessor.cpp index e14439eb1d4269..5db732fcff71d0 100644 --- a/src/platform/Ameba/AmebaOTAImageProcessor.cpp +++ b/src/platform/Ameba/AmebaOTAImageProcessor.cpp @@ -161,25 +161,6 @@ void AmebaOTAImageProcessor::HandleFinalize(intptr_t context) } #endif - // Update signature -#if defined(CONFIG_PLATFORM_8721D) - if (change_ota_signature(imageProcessor->pOtaTgtHdr, imageProcessor->ota_target_index) != 1) - { - ota_update_free(imageProcessor->pOtaTgtHdr); - ChipLogError(SoftwareUpdate, "OTA update signature failed"); - return; - } -#elif defined(CONFIG_PLATFORM_8710C) - if (update_ota_signature(imageProcessor->signature, imageProcessor->flash_addr) < 0) - { - ChipLogError(SoftwareUpdate, "OTA update signature failed"); - return; - } -#endif - -#if defined(CONFIG_PLATFORM_8721D) - ota_update_free(imageProcessor->pOtaTgtHdr); -#endif imageProcessor->ReleaseBlock(); ChipLogProgress(SoftwareUpdate, "OTA image downloaded and written to flash"); @@ -195,6 +176,23 @@ void AmebaOTAImageProcessor::HandleAbort(intptr_t context) } // Abort OTA procedure +#if defined(CONFIG_PLATFORM_8721D) + ChipLogProgress(SoftwareUpdate, "Erasing target partition..."); + erase_ota_target_flash(imageProcessor->pOtaTgtHdr->FileImgHdr[0].FlashAddr, imageProcessor->pOtaTgtHdr->FileImgHdr[0].ImgLen); + ChipLogProgress(SoftwareUpdate, "Erased partition OTA%d", imageProcessor->ota_target_index + 1); +#elif defined(CONFIG_PLATFORM_8710C) + ChipLogProgress(SoftwareUpdate, "Erasing partition"); + imageProcessor->NewFWBlkSize = ((0x1AC000 - 1) / 4096) + 1; // Use a fixed image length of 0x1AC000, change in the future + ChipLogProgress(SoftwareUpdate, "Erasing %d sectors", imageProcessor->NewFWBlkSize); + device_mutex_lock(RT_DEV_LOCK_FLASH); + for (int i = 0; i < imageProcessor->NewFWBlkSize; i++) + flash_erase_sector(&flash_ota, imageProcessor->flash_addr + i * 4096); + device_mutex_unlock(RT_DEV_LOCK_FLASH); +#endif + +#if defined(CONFIG_PLATFORM_8721D) + ota_update_free(imageProcessor->pOtaTgtHdr); +#endif imageProcessor->ReleaseBlock(); } @@ -401,13 +399,34 @@ void AmebaOTAImageProcessor::HandleApply(intptr_t context) auto * imageProcessor = reinterpret_cast(context); if (imageProcessor == nullptr) { + ChipLogError(SoftwareUpdate, "ImageProcessor context is null"); + return; + } + + // Update signature +#if defined(CONFIG_PLATFORM_8721D) + if (change_ota_signature(imageProcessor->pOtaTgtHdr, imageProcessor->ota_target_index) != 1) + { + ota_update_free(imageProcessor->pOtaTgtHdr); + ChipLogError(SoftwareUpdate, "OTA update signature failed"); return; } +#elif defined(CONFIG_PLATFORM_8710C) + if (update_ota_signature(imageProcessor->signature, imageProcessor->flash_addr) < 0) + { + ChipLogError(SoftwareUpdate, "OTA update signature failed"); + return; + } +#endif + +#if defined(CONFIG_PLATFORM_8721D) + ota_update_free(imageProcessor->pOtaTgtHdr); +#endif - ChipLogProgress(SoftwareUpdate, "Rebooting in 2 seconds..."); + ChipLogProgress(SoftwareUpdate, "Rebooting in 10 seconds..."); // Delay action time before calling HandleRestart - chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(2 * 1000), HandleRestart, nullptr); + chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Milliseconds32(10 * 1000), HandleRestart, nullptr); } void AmebaOTAImageProcessor::HandleRestart(chip::System::Layer * systemLayer, void * appState) From cd4235356b9829f1bc28def7b67fb1218869980b Mon Sep 17 00:00:00 2001 From: pankore <86098180+pankore@users.noreply.github.com> Date: Fri, 15 Jul 2022 20:45:41 -0700 Subject: [PATCH 10/15] [Ameba] Fixes to pass the PersistentStorage storage_audit (#20792) * [PersistentStorage] Fixes to pass the PersistentStorage storage_audit - Map DCT errors to CHIPError in KeyValueStoreManagerImpl - Add matter_enable_persistentstorage_audit option in CMake files * Restyled by clang-format Co-authored-by: Restyled.io --- config/ameba/chip.cmake | 6 +++ .../all-clusters-app/ameba/chip_main.cmake | 9 ++++ .../ameba/chip_main.cmake | 8 ++++ examples/lighting-app/ameba/chip_main.cmake | 8 ++++ .../ota-requestor-app/ameba/chip_main.cmake | 8 ++++ examples/pigweed-app/ameba/chip_main.cmake | 8 ++++ src/platform/Ameba/AmebaConfig.cpp | 20 ++++----- .../Ameba/KeyValueStoreManagerImpl.cpp | 42 ++++++++++++------- 8 files changed, 84 insertions(+), 25 deletions(-) mode change 100755 => 100644 src/platform/Ameba/KeyValueStoreManagerImpl.cpp diff --git a/config/ameba/chip.cmake b/config/ameba/chip.cmake index 0f5cd186367b0f..93997dd318a69d 100644 --- a/config/ameba/chip.cmake +++ b/config/ameba/chip.cmake @@ -105,6 +105,12 @@ string(APPEND CHIP_GN_ARGS "ameba_cxx = \"arm-none-eabi-c++\"\n") string(APPEND CHIP_GN_ARGS "ameba_cpu = \"ameba\"\n") string(APPEND CHIP_GN_ARGS "chip_inet_config_enable_ipv4 = false\n") +# Enable persistent storage audit +if (matter_enable_persistentstorage_audit) +string(APPEND CHIP_GN_ARGS "chip_support_enable_storage_api_audit = true\n") +endif (matter_enable_persistentstorage_audit) +#endif + # Build RPC if (matter_enable_rpc) #string(APPEND CHIP_GN_ARGS "remove_default_configs = [\"//third_party/connectedhomeip/third_party/pigweed/repo/pw_build:cpp17\"]\n") diff --git a/examples/all-clusters-app/ameba/chip_main.cmake b/examples/all-clusters-app/ameba/chip_main.cmake index d32dbbe32ed30c..f724d8840d697d 100755 --- a/examples/all-clusters-app/ameba/chip_main.cmake +++ b/examples/all-clusters-app/ameba/chip_main.cmake @@ -242,10 +242,19 @@ list( -DCHIP_DEVICE_LAYER_TARGET=Ameba -DUSE_ZAP_CONFIG -DCHIP_HAVE_CONFIG_H + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT -DMBEDTLS_CONFIG_FILE= -DMATTER_ALL_CLUSTERS_APP=1 ) +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + if (matter_enable_rpc) list( APPEND chip_main_flags diff --git a/examples/all-clusters-minimal-app/ameba/chip_main.cmake b/examples/all-clusters-minimal-app/ameba/chip_main.cmake index 97884c6d92335f..aa1542a1163241 100755 --- a/examples/all-clusters-minimal-app/ameba/chip_main.cmake +++ b/examples/all-clusters-minimal-app/ameba/chip_main.cmake @@ -228,6 +228,14 @@ list( -DMATTER_ALL_CLUSTERS_APP=1 ) +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + if (matter_enable_rpc) list( APPEND chip_main_flags diff --git a/examples/lighting-app/ameba/chip_main.cmake b/examples/lighting-app/ameba/chip_main.cmake index 0895eb194dc6eb..447f65d5767f62 100755 --- a/examples/lighting-app/ameba/chip_main.cmake +++ b/examples/lighting-app/ameba/chip_main.cmake @@ -245,6 +245,14 @@ list( -DMATTER_LIGHTING_APP=1 ) +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + if (matter_enable_rpc) list( APPEND chip_main_flags diff --git a/examples/ota-requestor-app/ameba/chip_main.cmake b/examples/ota-requestor-app/ameba/chip_main.cmake index 885eaa13f8ddca..fc1091a86238ca 100644 --- a/examples/ota-requestor-app/ameba/chip_main.cmake +++ b/examples/ota-requestor-app/ameba/chip_main.cmake @@ -80,6 +80,14 @@ list( -DMATTER_OTA_REQUESTOR_APP=1 ) +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + list( APPEND chip_main_cpp_flags diff --git a/examples/pigweed-app/ameba/chip_main.cmake b/examples/pigweed-app/ameba/chip_main.cmake index e585c1fdcc0067..3f3b13ca620dbd 100644 --- a/examples/pigweed-app/ameba/chip_main.cmake +++ b/examples/pigweed-app/ameba/chip_main.cmake @@ -84,6 +84,14 @@ list( -DMATTER_PIGWEED_APP=1 ) +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + list( APPEND chip_main_cpp_flags diff --git a/src/platform/Ameba/AmebaConfig.cpp b/src/platform/Ameba/AmebaConfig.cpp index 9dfed9d20ec783..68810da2695aa1 100644 --- a/src/platform/Ameba/AmebaConfig.cpp +++ b/src/platform/Ameba/AmebaConfig.cpp @@ -103,12 +103,12 @@ CHIP_ERROR AmebaConfig::ReadConfigValue(Key key, bool & val) int32_t success = 0; success = getPref_bool_new(key.Namespace, key.Name, &intVal); - if (!success) + if (success != 0) ChipLogProgress(DeviceLayer, "getPref_bool_new: %s/%s failed\n", key.Namespace, key.Name); val = (intVal != 0); - if (success == 1) + if (success == 0) return CHIP_NO_ERROR; else return CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; @@ -119,10 +119,10 @@ CHIP_ERROR AmebaConfig::ReadConfigValue(Key key, uint32_t & val) int32_t success = 0; success = getPref_u32_new(key.Namespace, key.Name, &val); - if (!success) + if (success != 0) ChipLogProgress(DeviceLayer, "getPref_u32_new: %s/%s failed\n", key.Namespace, key.Name); - if (success == 1) + if (success == 0) return CHIP_NO_ERROR; else return CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; @@ -133,10 +133,10 @@ CHIP_ERROR AmebaConfig::ReadConfigValue(Key key, uint64_t & val) int32_t success = 0; success = getPref_u64_new(key.Namespace, key.Name, &val); - if (!success) + if (success != 0) ChipLogProgress(DeviceLayer, "getPref_u32_new: %s/%s failed\n", key.Namespace, key.Name); - if (success == 1) + if (success == 0) return CHIP_NO_ERROR; else return CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND; @@ -147,10 +147,10 @@ CHIP_ERROR AmebaConfig::ReadConfigValueStr(Key key, char * buf, size_t bufSize, int32_t success = 0; success = getPref_str_new(key.Namespace, key.Name, buf, bufSize, &outLen); - if (!success) + if (success != 0) ChipLogProgress(DeviceLayer, "getPref_str_new: %s/%s failed\n", key.Namespace, key.Name); - if (success == 1) + if (success == 0) { return CHIP_NO_ERROR; } @@ -166,10 +166,10 @@ CHIP_ERROR AmebaConfig::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSiz int32_t success = 0; success = getPref_bin_new(key.Namespace, key.Name, buf, bufSize, &outLen); - if (!success) + if (success != 0) ChipLogProgress(DeviceLayer, "getPref_bin_new: %s/%s failed\n", key.Namespace, key.Name); - if (success == 1) + if (success == 0) { return CHIP_NO_ERROR; } diff --git a/src/platform/Ameba/KeyValueStoreManagerImpl.cpp b/src/platform/Ameba/KeyValueStoreManagerImpl.cpp old mode 100755 new mode 100644 index fbab63692619bc..74e8a2882f6cb7 --- a/src/platform/Ameba/KeyValueStoreManagerImpl.cpp +++ b/src/platform/Ameba/KeyValueStoreManagerImpl.cpp @@ -50,17 +50,21 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Get(const char * key, void * value, size_t } ret = getPref_bin_new(key, key, (uint8_t *) value, value_size, read_bytes_size); - - if (TRUE == ret) - { - err = CHIP_NO_ERROR; - } - else + switch (ret) { - err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + case 0: + return CHIP_NO_ERROR; + case -6: + return CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + case -7: + return CHIP_ERROR_INVALID_ARGUMENT; + case -8: + return CHIP_ERROR_BUFFER_TOO_SMALL; + default: + break; } - return err; + return CHIP_ERROR_INTERNAL; } CHIP_ERROR KeyValueStoreManagerImpl::_Put(const char * key, const void * value, size_t value_size) @@ -85,14 +89,22 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Put(const char * key, const void * value, CHIP_ERROR KeyValueStoreManagerImpl::_Delete(const char * key) { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (TRUE == deleteKey(key, key)) - err = CHIP_NO_ERROR; - else - err = CHIP_ERROR_INTERNAL; + int32_t ret = deleteKey(key, key); + switch (ret) + { + case 0: + return CHIP_NO_ERROR; + case -6: + return CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; + case -7: + return CHIP_ERROR_INVALID_ARGUMENT; + case -8: + return CHIP_ERROR_BUFFER_TOO_SMALL; + default: + break; + } - return err; + return CHIP_ERROR_INTERNAL; } } // namespace PersistedStorage From fd91beacbc706a5698136e3ab63109ac54d04ea5 Mon Sep 17 00:00:00 2001 From: kowsisoundhar12 <57476670+kowsisoundhar12@users.noreply.github.com> Date: Sat, 16 Jul 2022 09:41:00 +0530 Subject: [PATCH 11/15] Updated Manual scripts verification steps and PICS (#20759) * Added Manual scripts * Added Auto generated files * Restyled by whitespace * Restyled by clang-format * Added update PICS file * 1.Removing deprecated PICS definition * Increasing move command delay. Co-authored-by: Restyled.io Co-authored-by: kvikrambhat --- src/app/tests/suites/certification/PICS.yaml | 24 +- .../certification/Test_TC_BINFO_2_2.yaml | 157 +- .../certification/Test_TC_DGETH_1_1.yaml | 109 +- .../certification/Test_TC_DGETH_2_2.yaml | 2 +- .../certification/Test_TC_DGETH_3_1.yaml | 29 +- .../certification/Test_TC_DGETH_3_2.yaml | 9 +- .../certification/Test_TC_DGGEN_2_2.yaml | 17 + .../certification/Test_TC_DGGEN_2_3.yaml | 12 +- .../certification/Test_TC_DGGEN_3_1.yaml | 208 +- .../certification/Test_TC_DGGEN_3_2.yaml | 15 +- .../certification/Test_TC_DGSW_2_3.yaml | 2 +- .../certification/Test_TC_DGSW_3_2.yaml | 2 +- .../certification/Test_TC_DGTHREAD_1_1.yaml | 20 +- .../certification/Test_TC_DGTHREAD_3_1.yaml | 473 ++-- .../certification/Test_TC_DGTHREAD_3_2.yaml | 232 +- .../certification/Test_TC_DGTHREAD_3_3.yaml | 263 +- .../certification/Test_TC_DGTHREAD_3_4.yaml | 15 +- .../certification/Test_TC_DGTHREAD_3_5.yaml | 16 +- .../certification/Test_TC_DGWIFI_1_1.yaml | 7 + .../certification/Test_TC_DGWIFI_2_2.yaml | 51 +- .../certification/Test_TC_DGWIFI_2_3.yaml | 14 +- .../certification/Test_TC_DGWIFI_3_1.yaml | 54 +- .../certification/Test_TC_DGWIFI_3_2.yaml | 11 +- .../certification/Test_TC_DLOG_1_1.yaml | 7 +- .../certification/Test_TC_DRLK_1_1.yaml | 146 +- .../certification/Test_TC_DRLK_2_1.yaml | 1786 ++++++++----- .../certification/Test_TC_DRLK_2_6.yaml | 9 + .../suites/certification/Test_TC_FLW_3_1.yaml | 164 +- .../suites/certification/Test_TC_G_1_1.yaml | 48 +- .../suites/certification/Test_TC_G_2_1.yaml | 21 +- .../suites/certification/Test_TC_G_2_2.yaml | 104 +- .../suites/certification/Test_TC_G_2_3.yaml | 51 +- .../suites/certification/Test_TC_G_3_1.yaml | 37 +- .../suites/certification/Test_TC_G_3_2.yaml | 310 +-- .../suites/certification/Test_TC_IDM_1_1.yaml | 7 +- .../suites/certification/Test_TC_IDM_1_2.yaml | 131 +- .../suites/certification/Test_TC_IDM_2_1.yaml | 676 ++--- .../suites/certification/Test_TC_IDM_2_2.yaml | 163 +- .../suites/certification/Test_TC_IDM_3_1.yaml | 29 +- .../suites/certification/Test_TC_IDM_3_2.yaml | 45 +- .../suites/certification/Test_TC_IDM_4_1.yaml | 457 ++-- .../suites/certification/Test_TC_IDM_4_2.yaml | 695 +++--- .../suites/certification/Test_TC_IDM_4_3.yaml | 1350 ++++++---- .../suites/certification/Test_TC_IDM_5_1.yaml | 168 +- .../suites/certification/Test_TC_IDM_5_2.yaml | 123 +- .../suites/certification/Test_TC_IDM_6_1.yaml | 43 +- .../suites/certification/Test_TC_IDM_6_2.yaml | 1325 +++++----- .../suites/certification/Test_TC_IDM_6_3.yaml | 9 +- .../suites/certification/Test_TC_IDM_6_4.yaml | 146 +- .../suites/certification/Test_TC_IDM_7_1.yaml | 2218 +++++++++++++++-- .../suites/certification/Test_TC_IDM_8_1.yaml | 293 ++- .../suites/certification/Test_TC_ILL_2_2.yaml | 18 +- .../suites/certification/Test_TC_ILL_3_1.yaml | 187 +- .../suites/certification/Test_TC_I_3_1.yaml | 21 +- .../suites/certification/Test_TC_I_3_2.yaml | 14 +- .../certification/Test_TC_LCFG_1_1.yaml | 10 + .../certification/Test_TC_LCFG_2_1.yaml | 22 +- .../certification/Test_TC_LCFG_3_1.yaml | 58 +- .../certification/Test_TC_LTIME_1_1.yaml | 10 + .../certification/Test_TC_LTIME_1_2.yaml | 37 +- .../certification/Test_TC_LTIME_2_1.yaml | 1053 ++++---- .../certification/Test_TC_LTIME_3_1.yaml | 64 +- .../certification/Test_TC_LUNIT_1_1.yaml | 10 + .../certification/Test_TC_LUNIT_1_2.yaml | 10 + .../certification/Test_TC_LUNIT_2_1.yaml | 236 +- .../certification/Test_TC_LUNIT_3_1.yaml | 16 + .../suites/certification/Test_TC_LVL_4_1.yaml | 2 +- .../suites/certification/Test_TC_LVL_7_1.yaml | 27 +- .../suites/certification/Test_TC_LVL_8_1.yaml | 2 + .../suites/certification/Test_TC_OCC_2_2.yaml | 155 +- .../suites/certification/Test_TC_OCC_2_3.yaml | 5 +- .../suites/certification/Test_TC_OCC_2_4.yaml | 6 + .../suites/certification/Test_TC_OCC_3_2.yaml | 48 +- .../suites/certification/Test_TC_OO_3_1.yaml | 425 +++- .../suites/certification/Test_TC_OO_3_2.yaml | 21 +- .../suites/certification/Test_TC_PCC_3_1.yaml | 139 +- .../suites/certification/Test_TC_PRS_2_2.yaml | 2 + .../suites/certification/Test_TC_PRS_3_1.yaml | 35 +- .../certification/Test_TC_PSCFG_2_1.yaml | 2 + .../certification/Test_TC_PSCFG_2_2.yaml | 11 +- .../certification/Test_TC_PSCFG_3_1.yaml | 73 +- .../suites/certification/Test_TC_PS_2_2.yaml | 33 +- .../suites/certification/Test_TC_PS_3_1.yaml | 24 +- .../suites/certification/Test_TC_RH_3_1.yaml | 22 +- .../suites/certification/Test_TC_SC_4_1.yaml | 50 +- .../suites/certification/Test_TC_SC_4_10.yaml | 19 +- .../suites/certification/Test_TC_SC_4_5.yaml | 40 +- .../suites/certification/Test_TC_SC_4_7.yaml | 5 +- .../suites/certification/Test_TC_SC_4_8.yaml | 47 +- .../suites/certification/Test_TC_SC_4_9.yaml | 12 + .../suites/certification/Test_TC_SU_1_1.yaml | 2 +- .../suites/certification/Test_TC_SU_2_1.yaml | 2 +- .../suites/certification/Test_TC_SU_2_2.yaml | 37 +- .../suites/certification/Test_TC_SU_2_3.yaml | 3 + .../suites/certification/Test_TC_SU_2_5.yaml | 7 + .../suites/certification/Test_TC_SU_3_1.yaml | 26 +- .../suites/certification/Test_TC_SU_3_2.yaml | 2 +- .../suites/certification/Test_TC_SU_4_1.yaml | 26 + .../suites/certification/Test_TC_TMP_2_1.yaml | 8 +- .../suites/certification/Test_TC_TMP_2_2.yaml | 10 +- .../suites/certification/Test_TC_TMP_3_1.yaml | 14 +- .../certification/Test_TC_TSTAT_3_1.yaml | 53 +- .../certification/Test_TC_TSTAT_3_2.yaml | 12 +- .../certification/Test_TC_TSUIC_3_1.yaml | 31 +- .../tests/suites/certification/ci-pics-values | 22 +- .../chip-tool/zap-generated/test/Commands.h | 238 +- .../zap-generated/test/Commands.h | 28 +- 107 files changed, 9444 insertions(+), 6351 deletions(-) diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 3c082aec1b0e2b..029c281fddbd20 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -554,21 +554,21 @@ PICS: # Temperature Measurement cluster - label: "Does the device implement the MeasuredValue attribute?" - id: TM.S.A0000 + id: TMP.S.A0000 - label: "Does the device implement the MinMeasuredValue attribute?" - id: TM.S.A0001 + id: TMP.S.A0001 - label: "Does the device implement the MaxMeasuredValue attribute?" - id: TM.S.A0002 + id: TMP.S.A0002 - label: "Does the device implement the Tolerance attribute?" - id: TM.S.A0003 + id: TMP.S.A0003 - label: "Can the MeasuredValue attribute changed by physical control at the device?" - id: TM.M.ManuallyControlled + id: TMP.M.ManuallyControlled - label: "Does the device implement the Tolerance attribute?" id: A_TEMPERATURE_TOLERANCE @@ -605,7 +605,7 @@ PICS: id: DGSW.S.A0003 - label: "Does the device implement the ResetWaterMarks command?" - id: DGSW.S.C00 + id: DGSW.S.C00.Rsp # Thermostat cluster - label: "Does the device implement the Heating feature" @@ -635,6 +635,12 @@ PICS: - label: "Does the device implement the Tolerance attribute?" id: A_TEMPERATURE_TOLERANCE + - label: "Does the device implement the OccupiedCoolingSetpoint attribute?" + id: A_OCCUPIEDCOOLINGSETPOINT + + - label: "Does the device implement the OccupiedHeatingSetpoint attribute?" + id: A_OCCUPIEDHEATINGSETPOINT + - label: "Does the device implement the LocalTemperature attribute?" id: TSTAT.S.A0000 @@ -2390,7 +2396,7 @@ PICS: id: DGGEN.S.A0008 - label: "Indicates that node is configured for test event triggers." - id: DGGEN.S.C00 + id: DGGEN.S.C00.Rsp - label: "Indicates a change in the set of hardware faults currently detected @@ -2765,7 +2771,7 @@ PICS: #Ethernet Network Diagnostics Cluster - label: "Does the device implement the ResetCounts command?" - id: DGETH.S.C00 + id: DGETH.S.C00.Rsp - label: "Does the device implement the PHYRate attribute?" id: DGETH.S.A0000 @@ -2891,7 +2897,7 @@ PICS: "Reset the following attributes to 0; BeaconLostCount, BeaconRxCount, PacketMulticastRxCount, PacketMulticastTxCount, PacketUnicastRxCount, PacketUnicastTxCount" - id: DGWIFI.S.C00 + id: DGWIFI.S.C00.Rsp #Actions Cluster - label: "Does the device implement the ActionList attribute?" id: ACT.S.A0000 diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_2.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_2.yaml index 6f3e46ef4336ae..b473029dcf1a51 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_2.yaml @@ -11,6 +11,7 @@ # 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. +# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: 11.2.2. [TC-BINFO-2.2] Events [DUT-Server] @@ -20,130 +21,46 @@ config: endpoint: 0 tests: - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Query SoftwareVersion" - command: "readAttribute" - attribute: "SoftwareVersion" - response: - saveAs: SoftwareVersionValue - constraints: - type: uint8 - - - label: "Query Reachable Fabrics" - command: "readAttribute" - attribute: "Reachable" - response: - constraints: - type: bool - - - label: "Reboot target device" - PICS: PICS_SDK_CI_ONLY - cluster: "SystemCommands" - command: "Reboot" - - - label: "Reboot target device(DUT)" + - label: "Reboot the DUT TH reads the StartUp event from DUT" + PICS: BINFO.S.E00 verification: | - Not implemented in YAML - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Please reboot the DUT and enter 'y' after DUT starts" - - name: "expectedValue" - value: "y" - - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId - - - label: "Query SoftwareVersion" - command: "readAttribute" - attribute: "SoftwareVersion" - response: - value: SoftwareVersionValue - - ##Event 11343 implementation not done - - label: "Reboot target device" - PICS: PICS_SDK_CI_ONLY - cluster: "SystemCommands" - command: "Reboot" - - - label: "Reboot target device(DUT)" + ./chip-tool basic read-event start-up 1 0 + + Verify on the TH Log: + + [1657193007.841105][5422:5427] CHIP:DMG: ], + [1657193007.841137][5422:5427] CHIP:DMG: + [1657193007.841162][5422:5427] CHIP:DMG: SuppressResponse = true, + [1657193007.841186][5422:5427] CHIP:DMG: InteractionModelRevision = 1 + [1657193007.841209][5422:5427] CHIP:DMG: } + [1657193007.841358][5422:5427] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657193007.841387][5422:5427] CHIP:TOO: Event number: 0 + [1657193007.841409][5422:5427] CHIP:TOO: Priority: Critical + [1657193007.841431][5422:5427] CHIP:TOO: Timestamp: 132146 + [1657193007.841531][5422:5427] CHIP:TOO: StartUp: { + [1657193007.841570][5422:5427] CHIP:TOO: SoftwareVersion: 1 + [1657193007.841594][5422:5427] CHIP:TOO: } + [1657193007.841691][5422:5427] CHIP:EM: Sending Standalone Ack for MessageCounter:91740387 on exchange 60385i + disabled: true + + - label: "TH subscribes to the ShutDown event on the DUT. Shutdown DUT." + PICS: BINFO.S.E01 verification: | - Not implemented in YAML - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Please reboot the DUT and enter 'y' after DUT starts" - - name: "expectedValue" - value: "y" - - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId + 1. Launch chip-tool into interactive mode with the command - - label: "Factory Reset the accessory" - cluster: "SystemCommands" - command: "FactoryReset" + ./chip-tool interactive start + basic subscribe-event shut-down 20 100 1 0 - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId + 2. Turn down the DUT and run below command in interactive mode shell - - label: "Reboot target device" - PICS: PICS_SDK_CI_ONLY - cluster: "SystemCommands" - command: "Reboot" - - - label: "Reboot target device(DUT)" - verification: | - Not implemented in YAML - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Please reboot the DUT and enter 'y' after DUT starts" - - name: "expectedValue" - value: "y" - - label: "Wait for the commissioned device to be retrieved" - cluster: "DelayCommands" - command: "WaitForCommissionee" - arguments: - values: - - name: "nodeId" - value: nodeId + Verify on the TH Log: - ###Event 11343 implementation not done - - label: "Query Reachable Fabrics" - command: "readAttribute" - attribute: "Reachable" - response: - constraints: - type: bool + CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0001 + [1653050528.900202][119367:119372] CHIP:TOO: Event number: 5 + [1653050528.900295][119367:119372] CHIP:TOO: Priority: Critical + [1653050528.900386][119367:119372] CHIP:TOO: Timestamp: 289436805 + [1653050528.900630][119367:119372] CHIP:TOO: ShutDown: { + [1653050528.900732][119367:119372] CHIP:TOO: } + [1653050528.900892][119367:119372] CHIP:DMG: Refresh LivenessCheckTime for 28000 milliseconds with SubscriptionId = 0x27408c83 Peer = 01:0000000000000001 + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml index b9a1d573d4d064..ac3cd30a318d4e 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.1.1. [TC-DGETH-1.1] Global attributes with server as DUT +name: 47.1.1. [TC-DGETH-1.1] Global Attributes [DUT as Server] config: nodeId: 0x12344321 @@ -26,72 +26,30 @@ tests: ./chip-tool pairing ble-wifi NODEID SSID PASSWD 20202021 3840 (commissioner side) disabled: true - - label: "TH reads the ClusterRevision from DUT" + - label: "TH reads the ClusterRevision from DUT." verification: | + Verify in TH log: ./chip-tool ethernetnetworkdiagnostics read cluster-revision 1 0 - [1651786680.895436][240893:240898] CHIP:DMG: ReportDataMessage = - [1651786680.895449][240893:240898] CHIP:DMG: { - [1651786680.895459][240893:240898] CHIP:DMG: AttributeReportIBs = - [1651786680.895476][240893:240898] CHIP:DMG: [ - [1651786680.895487][240893:240898] CHIP:DMG: AttributeReportIB = - [1651786680.895505][240893:240898] CHIP:DMG: { - [1651786680.895515][240893:240898] CHIP:DMG: AttributeDataIB = - [1651786680.895527][240893:240898] CHIP:DMG: { - [1651786680.895538][240893:240898] CHIP:DMG: DataVersion = 0xb89e4c30, - [1651786680.895548][240893:240898] CHIP:DMG: AttributePathIB = - [1651786680.895559][240893:240898] CHIP:DMG: { - [1651786680.895572][240893:240898] CHIP:DMG: Endpoint = 0x0, - [1651786680.895585][240893:240898] CHIP:DMG: Cluster = 0x36, - [1651786680.895603][240893:240898] CHIP:DMG: Attribute = 0x0000_FFFD, - [1651786680.895615][240893:240898] CHIP:DMG: } - [1651786680.895630][240893:240898] CHIP:DMG: - [1651786680.895644][240893:240898] CHIP:DMG: Data = 1, - [1651786680.895657][240893:240898] CHIP:DMG: }, - [1651786680.895672][240893:240898] CHIP:DMG: - [1651786680.895684][240893:240898] CHIP:DMG: }, - [1651786680.895701][240893:240898] CHIP:DMG: - [1651786680.895711][240893:240898] CHIP:DMG: ], - [1651786680.895727][240893:240898] CHIP:DMG: - [1651786680.895739][240893:240898] CHIP:DMG: SuppressResponse = true, - [1651786680.895751][240893:240898] CHIP:DMG: InteractionModelRevision = 1 - [1651786680.895762][240893:240898] CHIP:DMG: } + + [1653911336.371533][3567:3572] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2944003194 + [1653911336.371751][3567:3572] CHIP:TOO: ClusterRevision: 1 + [1653911336.371940][3567:3572] CHIP:EM: Sending Standalone Ack for MessageCounter:13743333 on exchange 10337i disabled: true - - label: "TH reads the FeatureMap from DUT" + - label: "TH reads the FeatureMap from DUT." verification: | + Verify in TH log: + ./chip-tool ethernetnetworkdiagnostics read feature-map 1 0 - [1651786827.581901][240914:240920] CHIP:DMG: ReportDataMessage = - [1651786827.581920][240914:240920] CHIP:DMG: { - [1651786827.581933][240914:240920] CHIP:DMG: AttributeReportIBs = - [1651786827.581959][240914:240920] CHIP:DMG: [ - [1651786827.581977][240914:240920] CHIP:DMG: AttributeReportIB = - [1651786827.582002][240914:240920] CHIP:DMG: { - [1651786827.582020][240914:240920] CHIP:DMG: AttributeDataIB = - [1651786827.582040][240914:240920] CHIP:DMG: { - [1651786827.582060][240914:240920] CHIP:DMG: DataVersion = 0xa7929b20, - [1651786827.582078][240914:240920] CHIP:DMG: AttributePathIB = - [1651786827.582099][240914:240920] CHIP:DMG: { - [1651786827.582121][240914:240920] CHIP:DMG: Endpoint = 0x0, - [1651786827.582144][240914:240920] CHIP:DMG: Cluster = 0x37, - [1651786827.582168][240914:240920] CHIP:DMG: Attribute = 0x0000_FFFC, - [1651786827.582189][240914:240920] CHIP:DMG: } - [1651786827.582213][240914:240920] CHIP:DMG: - [1651786827.582234][240914:240920] CHIP:DMG: Data = 3, - [1651786827.582255][240914:240920] CHIP:DMG: }, - [1651786827.582278][240914:240920] CHIP:DMG: - [1651786827.582294][240914:240920] CHIP:DMG: }, - [1651786827.582319][240914:240920] CHIP:DMG: - [1651786827.582334][240914:240920] CHIP:DMG: ], - [1651786827.582358][240914:240920] CHIP:DMG: - [1651786827.582376][240914:240920] CHIP:DMG: SuppressResponse = true, - [1651786827.582393][240914:240920] CHIP:DMG: InteractionModelRevision = 1 - [1651786827.582407][240914:240920] CHIP:DMG: } + [1651786827.582555][240914:240920] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFC DataVersion: 2811403040 [1651786827.582608][240914:240920] CHIP:TOO: FeatureMap: 3 disabled: true - - label: "TH reads AttribubteList from DUT" + - label: "TH reads AttribubteList from DUT." verification: | + Verify in TH log: + ./chip-tool ethernetnetworkdiagnostics read attribute-list 1 0 [1651786900.043572][240929:240934] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFB DataVersion: 2811403040 [1651786900.043655][240929:240934] CHIP:TOO: AttributeList: 14 entries @@ -111,8 +69,10 @@ tests: [1651786900.043952][240929:240934] CHIP:TOO: [14]: 65533 disabled: true - - label: "TH reads AcceptedCommandList from DUT" + - label: "TH reads AcceptedCommandList from DUT." verification: | + Verify in TH log: + ./chip-tool ethernetnetworkdiagnostics read accepted-command-list 1 0 [1651786971.201258][240944:240949] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFF9 DataVersion: 2811403040 @@ -120,42 +80,17 @@ tests: [1651786971.201347][240944:240949] CHIP:TOO: [1]: 0 disabled: true - - label: "TH reads GeneratedCommandList from DUT" + - label: "TH reads GeneratedCommandList from DUT." verification: | + Verify in TH log: + ./chip-tool ethernetnetworkdiagnostics read generated-command-list 1 0 - [1651787190.402854][240971:240976] CHIP:DMG: ReportDataMessage = - [1651787190.402875][240971:240976] CHIP:DMG: { - [1651787190.402891][240971:240976] CHIP:DMG: AttributeReportIBs = - [1651787190.402917][240971:240976] CHIP:DMG: [ - [1651787190.402933][240971:240976] CHIP:DMG: AttributeReportIB = - [1651787190.402956][240971:240976] CHIP:DMG: { - [1651787190.402970][240971:240976] CHIP:DMG: AttributeDataIB = - [1651787190.402987][240971:240976] CHIP:DMG: { - [1651787190.403007][240971:240976] CHIP:DMG: DataVersion = 0xa7929b20, - [1651787190.403025][240971:240976] CHIP:DMG: AttributePathIB = - [1651787190.403045][240971:240976] CHIP:DMG: { - [1651787190.403065][240971:240976] CHIP:DMG: Endpoint = 0x0, - [1651787190.403089][240971:240976] CHIP:DMG: Cluster = 0x37, - [1651787190.403111][240971:240976] CHIP:DMG: Attribute = 0x0000_FFF8, - [1651787190.403136][240971:240976] CHIP:DMG: } - [1651787190.403158][240971:240976] CHIP:DMG: - [1651787190.403177][240971:240976] CHIP:DMG: Data = [ - [1651787190.403197][240971:240976] CHIP:DMG: - [1651787190.403220][240971:240976] CHIP:DMG: ], - [1651787190.403240][240971:240976] CHIP:DMG: }, - [1651787190.403264][240971:240976] CHIP:DMG: - [1651787190.403282][240971:240976] CHIP:DMG: }, - [1651787190.403326][240971:240976] CHIP:DMG: - [1651787190.403342][240971:240976] CHIP:DMG: ], - [1651787190.403366][240971:240976] CHIP:DMG: - [1651787190.403382][240971:240976] CHIP:DMG: SuppressResponse = true, - [1651787190.403399][240971:240976] CHIP:DMG: InteractionModelRevision = 1 - [1651787190.403420][240971:240976] CHIP:DMG: } + [1651787190.403639][240971:240976] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFF8 DataVersion: 2811403040 [1651787190.403729][240971:240976] CHIP:TOO: GeneratedCommandList: 0 entries disabled: true - - label: "TH reads EventList from DUT" + - label: "TH reads EventList from DUT." verification: | Out of scope v1.0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_2_2.yaml index 5f58fb3fa1e4ab..87662dcb4c5717 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_2_2.yaml @@ -30,7 +30,7 @@ tests: #issue #13648 - label: "Sends ResetCounts command" - PICS: PICS_SKIP_SAMPLE_APP && DGETH.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGETH.S.C00.Rsp command: "ResetCounts" - label: "Read the PacketRxCount attribute" diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_3_1.yaml index bc2008bbe4bd39..c97770e8fa54e8 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.3.1. [TC-DGETH-3.1] Attributes with client as DUT +name: 3.3.1. [TC-DGETH-3.1] Attributes [{DUT_Client}] config: nodeId: 0x12344321 @@ -29,6 +29,9 @@ tests: - label: "DUT reads PHYRate attribute from TH." PICS: DGETH.S.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read phyrate 1 0 Verify the value of PHYRate is in range of PHYRate enum @@ -39,6 +42,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read full-duplex 1 0 Verify the value of FullDuplex is boolean @@ -49,6 +55,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0002 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read packet-rx-count 1 0 Verify the value of PacketRxCount is in range uint64 @@ -59,6 +68,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0003 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read packet-tx-count 1 0 Verify the value of PacketTxCount is in range uint64 @@ -69,6 +81,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0004 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read tx-err-count 1 1 Verify the value of TxErrCount is in range uint64 @@ -79,6 +94,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0005 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read collision-count 1 1 Verify the value of CollisionCount is in range uint64 @@ -89,8 +107,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0006 verification: | - Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. + verify on Reference app receives the right response for the data sent in the below commands + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read overrun-count 1 1 CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_0006 DataVersion: 3872576452 @@ -100,6 +119,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0007 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read carrier-detect 1 1 Verify the value of CarrierDetect is either bool or null @@ -110,6 +132,9 @@ tests: - label: "DUT reads a attribute value from TH." PICS: DGETH.S.A0008 verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool ethernetnetworkdiagnostics read time-since-reset 1 1 Verify the value of TimeSinceReset is in range uint64 diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_3_2.yaml index a8c077f847165e..790e8ac69127f3 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.3.2. [TC-DGETH-3.2] Command generated functionality with client as DUT +name: 3.3.2. [TC-DGETH-3.2] Command Generated {DUT_Client}] config: nodeId: 0x12344321 @@ -26,9 +26,12 @@ tests: disabled: true - - label: "DUT sends ResetCounts to TH" - PICS: DGETH.S.C00 + - label: "DUT sends ResetCounts to TH." + PICS: DGETH.S.C00.Rsp verification: | + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log Verify Command data recieved from running the below command is a success ./chip-tool ethernetnetworkdiagnostics reset-counts 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml index 9c563741ea65c2..703cc348c29fad 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_2.yaml @@ -29,6 +29,9 @@ tests: more time.)" PICS: DGGEN.S.E00 verification: | + Optional attribute so its not compulsory to get the expected outcome + + Verify in TH log ./chip-tool generaldiagnostics read-event hardware-fault-change 1 0 CHIP:DMG: ReportDataMessage = @@ -42,6 +45,8 @@ tests: - label: "TH initiates the subscription of HardwareFault event from DUT." PICS: DGGEN.S.E00 verification: | + Verify in TH log + sudo ./chip-tool generaldiagnostics subscribe-event hardware-fault-change 100 1000 1 0 [1653659428.373913][242542:242547] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:15916168 on exchange 65448i @@ -66,6 +71,9 @@ tests: previous TH fabric." PICS: DGGEN.S.E01 verification: | + Optional attribute so its not compulsory to get the expected outcome + + Verify in TH log ./chip-tool generaldiagnostics read-event radio-fault-change 1 0 CHIP:DMG: ReportDataMessage = @@ -81,6 +89,7 @@ tests: verification: | sudo ./chip-tool generaldiagnostics subscribe-event radio-fault-change 100 1000 1 0 + Verify in TH log [1653659768.885436][242582:242587] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:13730082 on exchange 33170i [1653659768.885490][242582:242587] CHIP:EM: Found matching exchange: 33170i, Delegate: 0x7f1d40006300 [1653659768.885520][242582:242587] CHIP:EM: Rxd Ack; Removing MessageCounter:6045655 from Retrans Table on exchange 33170i @@ -103,6 +112,9 @@ tests: rejoining DUT back to previous TH fabric.)" PICS: DGGEN.S.E02 verification: | + Optional attribute so its not compulsory to get the expected outcome + + Verify in TH log ./chip-tool generaldiagnostics read-event network-fault-change 1 0 CHIP:DMG: ReportDataMessage = @@ -116,7 +128,10 @@ tests: - label: "TH initiates the subscription of NetworkFault event from DUT." PICS: DGGEN.S.E02 verification: | + Verify in TH log + sudo ./chip-tool generaldiagnostics subscribe-event network-fault-change 100 1000 1 0 + [1653659901.757441][242605:242610] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:11933575 on exchange 20223i [1653659901.757513][242605:242610] CHIP:EM: Found matching exchange: 20223i, Delegate: 0x7fd058003950 [1653659901.757544][242605:242610] CHIP:EM: Rxd Ack; Removing MessageCounter:3369789 from Retrans Table on exchange 20223i @@ -136,6 +151,8 @@ tests: TH fabric." PICS: DGGEN.S.E03 verification: | + Verify in TH log + ./chip-tool generaldiagnostics read-event boot-reason 1 0 CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Event 0x0000_0003 diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml index d4a942defb92be..3d74599ce2a812 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_3.yaml @@ -27,9 +27,19 @@ tests: manufacturer-specific means. EventTrigger value is configured and SHALL indicate the test or test mode which TH wants to trigger the testing use by manufacturers." - PICS: DGGEN.S.C00 + PICS: DGGEN.S.C00.Rsp verification: | 1. Read if TestEventTriggersEnabled attribute is set to true using ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + + + ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + + Verify in TH log + + [1655188892.957794][2868:2873] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0008 DataVersion: 3562689442 + [1655188892.957869][2868:2873] CHIP:TOO: TestEventTriggersEnabled: FALSE + [1655188892.957999][2868:2873] CHIP:EM: Sending Standalone Ack for MessageCounter:133140817 on exchange 23176i + 2. when this attribute is false, do not need to verify rest of the below commands. 3. When this attribute is true, the Node has been configured with one or more test event triggers by virtue of the internally programmed EnableKey value by the product vendor 4. Use the manufacturer-provided EnableKey value and the EventTrigger value and send command using './chip-tool generaldiagnostics test-event-trigger ' 1 0 and verify if the DUT generated the desired event. diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml index 50cc83bff87ee3..d4bf467c7cfa70 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_3_1.yaml @@ -21,10 +21,18 @@ config: endpoint: 0 tests: + - label: "Commission DUT to TH" + verification: | + + disabled: true + - label: "TH reads NetworkInterfaces structure attribute from DUT." PICS: DGGEN.S.A0000 verification: | ./chip-tool generaldiagnostics read network-interfaces 1 0 + + Verify in TH all-clusters-app Log: + [1654682355.830733][32933:32938] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0000 DataVersion: 2161135285 [1654682355.830907][32933:32938] CHIP:TOO: NetworkInterfaces: 11 entries [1654682355.831236][32933:32938] CHIP:TOO: [1]: { @@ -163,33 +171,8 @@ tests: PICS: DGGEN.S.A0001 verification: | ./chip-tool generaldiagnostics read reboot-count 1 0 + Verify in TH all-clusters-app Log: - 1650873646.873308][19568:19573] CHIP:DMG: ReportDataMessage = - [1650873646.873352][19568:19573] CHIP:DMG: { - [1650873646.873388][19568:19573] CHIP:DMG: AttributeReportIBs = - [1650873646.873438][19568:19573] CHIP:DMG: [ - [1650873646.873478][19568:19573] CHIP:DMG: AttributeReportIB = - [1650873646.873536][19568:19573] CHIP:DMG: { - [1650873646.873579][19568:19573] CHIP:DMG: AttributeDataIB = - [1650873646.873635][19568:19573] CHIP:DMG: { - [1650873646.873690][19568:19573] CHIP:DMG: DataVersion = 0xa58fdd7d, - [1650873646.873743][19568:19573] CHIP:DMG: AttributePathIB = - [1650873646.873801][19568:19573] CHIP:DMG: { - [1650873646.873856][19568:19573] CHIP:DMG: Endpoint = 0x0, - [1650873646.873915][19568:19573] CHIP:DMG: Cluster = 0x33, - [1650873646.873974][19568:19573] CHIP:DMG: Attribute = 0x0000_0001, - [1650873646.874028][19568:19573] CHIP:DMG: } - [1650873646.874085][19568:19573] CHIP:DMG: - [1650873646.874137][19568:19573] CHIP:DMG: Data = 2, - [1650873646.874190][19568:19573] CHIP:DMG: }, - [1650873646.874247][19568:19573] CHIP:DMG: - [1650873646.874291][19568:19573] CHIP:DMG: }, - [1650873646.874344][19568:19573] CHIP:DMG: - [1650873646.874383][19568:19573] CHIP:DMG: ], - [1650873646.874432][19568:19573] CHIP:DMG: - [1650873646.874472][19568:19573] CHIP:DMG: SuppressResponse = true, - [1650873646.874514][19568:19573] CHIP:DMG: InteractionModelRevision = 1 - [1650873646.874552][19568:19573] CHIP:DMG: } [1650873646.874760][19568:19573] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0001 DataVersion: 2777668989 [1650873646.874854][19568:19573] CHIP:TOO: RebootCount: 2 [1650873646.874974][19568:19573] CHIP:EM: Sending Standalone Ack for MessageCounter:3185095 on exchange 6631i @@ -201,32 +184,8 @@ tests: PICS: DGGEN.S.A0002 verification: | ./chip-tool generaldiagnostics read up-time 1 0 - [1650877936.461150][2360:2365] CHIP:DMG: ReportDataMessage = - [1650877936.461189][2360:2365] CHIP:DMG: { - [1650877936.461222][2360:2365] CHIP:DMG: AttributeReportIBs = - [1650877936.461263][2360:2365] CHIP:DMG: [ - [1650877936.461299][2360:2365] CHIP:DMG: AttributeReportIB = - [1650877936.461346][2360:2365] CHIP:DMG: { - [1650877936.461384][2360:2365] CHIP:DMG: AttributeDataIB = - [1650877936.461427][2360:2365] CHIP:DMG: { - [1650877936.461478][2360:2365] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650877936.461536][2360:2365] CHIP:DMG: AttributePathIB = - [1650877936.461591][2360:2365] CHIP:DMG: { - [1650877936.461642][2360:2365] CHIP:DMG: Endpoint = 0x0, - [1650877936.461700][2360:2365] CHIP:DMG: Cluster = 0x33, - [1650877936.461749][2360:2365] CHIP:DMG: Attribute = 0x0000_0002, - [1650877936.461790][2360:2365] CHIP:DMG: } - [1650877936.461837][2360:2365] CHIP:DMG: - [1650877936.461893][2360:2365] CHIP:DMG: Data = 368, - [1650877936.461937][2360:2365] CHIP:DMG: }, - [1650877936.461991][2360:2365] CHIP:DMG: - [1650877936.462030][2360:2365] CHIP:DMG: }, - [1650877936.462075][2360:2365] CHIP:DMG: - [1650877936.462110][2360:2365] CHIP:DMG: ], - [1650877936.462155][2360:2365] CHIP:DMG: - [1650877936.462192][2360:2365] CHIP:DMG: SuppressResponse = true, - [1650877936.462229][2360:2365] CHIP:DMG: InteractionModelRevision = 1 - [1650877936.462263][2360:2365] CHIP:DMG: } + + Verify in TH all-clusters-app Log: [1650877936.462457][2360:2365] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0002 DataVersion: 3419113433 [1650877936.462538][2360:2365] CHIP:TOO: UpTime: 368 disabled: true @@ -235,33 +194,8 @@ tests: PICS: DGGEN.S.A0003 verification: | ./chip-tool generaldiagnostics read total-operational-hours 1 0 + Verify in TH all-clusters-app Log: - [1650877969.902946][2369:2374] CHIP:DMG: ReportDataMessage = - [1650877969.902986][2369:2374] CHIP:DMG: { - [1650877969.903019][2369:2374] CHIP:DMG: AttributeReportIBs = - [1650877969.903064][2369:2374] CHIP:DMG: [ - [1650877969.903099][2369:2374] CHIP:DMG: AttributeReportIB = - [1650877969.903157][2369:2374] CHIP:DMG: { - [1650877969.903195][2369:2374] CHIP:DMG: AttributeDataIB = - [1650877969.903241][2369:2374] CHIP:DMG: { - [1650877969.903290][2369:2374] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650877969.903337][2369:2374] CHIP:DMG: AttributePathIB = - [1650877969.903386][2369:2374] CHIP:DMG: { - [1650877969.903435][2369:2374] CHIP:DMG: Endpoint = 0x0, - [1650877969.903488][2369:2374] CHIP:DMG: Cluster = 0x33, - [1650877969.903545][2369:2374] CHIP:DMG: Attribute = 0x0000_0003, - [1650877969.903596][2369:2374] CHIP:DMG: } - [1650877969.903647][2369:2374] CHIP:DMG: - [1650877969.903697][2369:2374] CHIP:DMG: Data = 0, - [1650877969.903746][2369:2374] CHIP:DMG: }, - [1650877969.903797][2369:2374] CHIP:DMG: - [1650877969.903837][2369:2374] CHIP:DMG: }, - [1650877969.903886][2369:2374] CHIP:DMG: - [1650877969.903921][2369:2374] CHIP:DMG: ], - [1650877969.903966][2369:2374] CHIP:DMG: - [1650877969.904002][2369:2374] CHIP:DMG: SuppressResponse = true, - [1650877969.904038][2369:2374] CHIP:DMG: InteractionModelRevision = 1 - [1650877969.904072][2369:2374] CHIP:DMG: } [1650877969.904265][2369:2374] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0003 DataVersion: 3419113433 [1650877969.904339][2369:2374] CHIP:TOO: TotalOperationalHours: 0 disabled: true @@ -272,32 +206,7 @@ tests: verification: | ./chip-tool generaldiagnostics read boot-reasons 1 0 - [1650877998.691446][2377:2382] CHIP:DMG: ReportDataMessage = - [1650877998.691494][2377:2382] CHIP:DMG: { - [1650877998.691534][2377:2382] CHIP:DMG: AttributeReportIBs = - [1650877998.691592][2377:2382] CHIP:DMG: [ - [1650877998.691637][2377:2382] CHIP:DMG: AttributeReportIB = - [1650877998.691702][2377:2382] CHIP:DMG: { - [1650877998.691748][2377:2382] CHIP:DMG: AttributeDataIB = - [1650877998.691804][2377:2382] CHIP:DMG: { - [1650877998.691864][2377:2382] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650877998.691922][2377:2382] CHIP:DMG: AttributePathIB = - [1650877998.691981][2377:2382] CHIP:DMG: { - [1650877998.692044][2377:2382] CHIP:DMG: Endpoint = 0x0, - [1650877998.692108][2377:2382] CHIP:DMG: Cluster = 0x33, - [1650877998.692167][2377:2382] CHIP:DMG: Attribute = 0x0000_0004, - [1650877998.692224][2377:2382] CHIP:DMG: } - [1650877998.692280][2377:2382] CHIP:DMG: - [1650877998.692341][2377:2382] CHIP:DMG: Data = 0, - [1650877998.692401][2377:2382] CHIP:DMG: }, - [1650877998.692453][2377:2382] CHIP:DMG: - [1650877998.692498][2377:2382] CHIP:DMG: }, - [1650877998.692553][2377:2382] CHIP:DMG: - [1650877998.692597][2377:2382] CHIP:DMG: ], - [1650877998.692652][2377:2382] CHIP:DMG: - [1650877998.692698][2377:2382] CHIP:DMG: SuppressResponse = true, - [1650877998.692744][2377:2382] CHIP:DMG: InteractionModelRevision = 1 - [1650877998.692787][2377:2382] CHIP:DMG: } + Verify in TH all-clusters-app Log: [1650877998.693012][2377:2382] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0004 DataVersion: 3419113433 [1650877998.693118][2377:2382] CHIP:TOO: BootReasons: 0 disabled: true @@ -308,34 +217,8 @@ tests: PICS: DGGEN.S.A0005 verification: | ./chip-tool generaldiagnostics read active-hardware-faults 1 0 - [1650878034.131791][2385:2390] CHIP:DMG: ReportDataMessage = - [1650878034.131846][2385:2390] CHIP:DMG: { - [1650878034.131890][2385:2390] CHIP:DMG: AttributeReportIBs = - [1650878034.131937][2385:2390] CHIP:DMG: [ - [1650878034.131974][2385:2390] CHIP:DMG: AttributeReportIB = - [1650878034.132027][2385:2390] CHIP:DMG: { - [1650878034.132081][2385:2390] CHIP:DMG: AttributeDataIB = - [1650878034.132134][2385:2390] CHIP:DMG: { - [1650878034.132195][2385:2390] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650878034.132261][2385:2390] CHIP:DMG: AttributePathIB = - [1650878034.132314][2385:2390] CHIP:DMG: { - [1650878034.132376][2385:2390] CHIP:DMG: Endpoint = 0x0, - [1650878034.132444][2385:2390] CHIP:DMG: Cluster = 0x33, - [1650878034.132546][2385:2390] CHIP:DMG: Attribute = 0x0000_0005, - [1650878034.132612][2385:2390] CHIP:DMG: } - [1650878034.132666][2385:2390] CHIP:DMG: - [1650878034.132730][2385:2390] CHIP:DMG: Data = [ - [1650878034.132798][2385:2390] CHIP:DMG: - [1650878034.132849][2385:2390] CHIP:DMG: ], - [1650878034.132963][2385:2390] CHIP:DMG: }, - [1650878034.133022][2385:2390] CHIP:DMG: - [1650878034.133074][2385:2390] CHIP:DMG: }, - [1650878034.133159][2385:2390] CHIP:DMG: - [1650878034.133197][2385:2390] CHIP:DMG: ], - [1650878034.133254][2385:2390] CHIP:DMG: - [1650878034.133291][2385:2390] CHIP:DMG: SuppressResponse = true, - [1650878034.133342][2385:2390] CHIP:DMG: InteractionModelRevision = 1 - [1650878034.133471][2385:2390] CHIP:DMG: } + + Verify in TH all-clusters-app Log: [1650878034.133792][2385:2390] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 3419113433 [1650878034.133891][2385:2390] CHIP:TOO: ActiveHardwareFaults: 0 entries disabled: true @@ -346,35 +229,7 @@ tests: PICS: DGGEN.S.A0006 verification: | ./chip-tool generaldiagnostics read active-radio-faults 1 0 - - [1650878056.264551][2391:2396] CHIP:DMG: ReportDataMessage = - [1650878056.264600][2391:2396] CHIP:DMG: { - [1650878056.264639][2391:2396] CHIP:DMG: AttributeReportIBs = - [1650878056.264695][2391:2396] CHIP:DMG: [ - [1650878056.264739][2391:2396] CHIP:DMG: AttributeReportIB = - [1650878056.264806][2391:2396] CHIP:DMG: { - [1650878056.264857][2391:2396] CHIP:DMG: AttributeDataIB = - [1650878056.264915][2391:2396] CHIP:DMG: { - [1650878056.264975][2391:2396] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650878056.265037][2391:2396] CHIP:DMG: AttributePathIB = - [1650878056.265097][2391:2396] CHIP:DMG: { - [1650878056.265153][2391:2396] CHIP:DMG: Endpoint = 0x0, - [1650878056.265211][2391:2396] CHIP:DMG: Cluster = 0x33, - [1650878056.265268][2391:2396] CHIP:DMG: Attribute = 0x0000_0006, - [1650878056.265331][2391:2396] CHIP:DMG: } - [1650878056.265395][2391:2396] CHIP:DMG: - [1650878056.265455][2391:2396] CHIP:DMG: Data = [ - [1650878056.265523][2391:2396] CHIP:DMG: - [1650878056.265581][2391:2396] CHIP:DMG: ], - [1650878056.265642][2391:2396] CHIP:DMG: }, - [1650878056.265704][2391:2396] CHIP:DMG: - [1650878056.265754][2391:2396] CHIP:DMG: }, - [1650878056.265814][2391:2396] CHIP:DMG: - [1650878056.265858][2391:2396] CHIP:DMG: ], - [1650878056.265912][2391:2396] CHIP:DMG: - [1650878056.265957][2391:2396] CHIP:DMG: SuppressResponse = true, - [1650878056.266003][2391:2396] CHIP:DMG: InteractionModelRevision = 1 - [1650878056.266049][2391:2396] CHIP:DMG: } + Verify in TH all-clusters-app Log: [1650878056.266314][2391:2396] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0006 DataVersion: 3419113433 [1650878056.266428][2391:2396] CHIP:TOO: ActiveRadioFaults: 0 entries disabled: true @@ -385,34 +240,7 @@ tests: PICS: DGGEN.S.A0007 verification: | ./chip-tool generaldiagnostics read active-network-faults 1 0 - [1650878077.693017][2399:2404] CHIP:DMG: ReportDataMessage = - [1650878077.693056][2399:2404] CHIP:DMG: { - [1650878077.693088][2399:2404] CHIP:DMG: AttributeReportIBs = - [1650878077.693133][2399:2404] CHIP:DMG: [ - [1650878077.693169][2399:2404] CHIP:DMG: AttributeReportIB = - [1650878077.693221][2399:2404] CHIP:DMG: { - [1650878077.693264][2399:2404] CHIP:DMG: AttributeDataIB = - [1650878077.693319][2399:2404] CHIP:DMG: { - [1650878077.693366][2399:2404] CHIP:DMG: DataVersion = 0xcbcb87d9, - [1650878077.693418][2399:2404] CHIP:DMG: AttributePathIB = - [1650878077.693467][2399:2404] CHIP:DMG: { - [1650878077.693518][2399:2404] CHIP:DMG: Endpoint = 0x0, - [1650878077.693569][2399:2404] CHIP:DMG: Cluster = 0x33, - [1650878077.693619][2399:2404] CHIP:DMG: Attribute = 0x0000_0007, - [1650878077.693662][2399:2404] CHIP:DMG: } - [1650878077.693712][2399:2404] CHIP:DMG: - [1650878077.693759][2399:2404] CHIP:DMG: Data = [ - [1650878077.693808][2399:2404] CHIP:DMG: - [1650878077.693858][2399:2404] CHIP:DMG: ], - [1650878077.693906][2399:2404] CHIP:DMG: }, - [1650878077.693956][2399:2404] CHIP:DMG: - [1650878077.693993][2399:2404] CHIP:DMG: }, - [1650878077.694040][2399:2404] CHIP:DMG: - [1650878077.694075][2399:2404] CHIP:DMG: ], - [1650878077.694119][2399:2404] CHIP:DMG: - [1650878077.694155][2399:2404] CHIP:DMG: SuppressResponse = true, - [1650878077.694192][2399:2404] CHIP:DMG: InteractionModelRevision = 1 - [1650878077.694229][2399:2404] CHIP:DMG: } + Verify in TH all-clusters-app Log: [1650878077.694616][2399:2404] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0007 DataVersion: 3419113433 [1650878077.694781][2399:2404] CHIP:TOO: ActiveNetworkFaults: 0 entries disabled: true @@ -424,7 +252,7 @@ tests: PICS: DGGEN.S.A0008 verification: | ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 - + Verify in TH all-clusters-app Log: [1655188892.957794][2868:2873] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0008 DataVersion: 3562689442 [1655188892.957869][2868:2873] CHIP:TOO: TestEventTriggersEnabled: FALSE [1655188892.957999][2868:2873] CHIP:EM: Sending Standalone Ack for MessageCounter:133140817 on exchange 23176i diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml index 093b45bbb5f476..c333f5ce1814b6 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_3_2.yaml @@ -30,7 +30,18 @@ tests: execution. c. DUT checks TH sent EventTrigger mode if it is a DUT supported test mode. If not, INVALID_COMMAND is sent and stops the command execution." - PICS: DGGEN.S.C00 + PICS: DGGEN.S.C00.Rsp verification: | - Need SDK implementation + 1. Read if TestEventTriggersEnabled attribute is set to true using ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + + + ./chip-tool generaldiagnostics read test-event-triggers-enabled 1 0 + Verify in TH all-clusters-app Log: + [1655188892.957794][2868:2873] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0008 DataVersion: 3562689442 + [1655188892.957869][2868:2873] CHIP:TOO: TestEventTriggersEnabled: FALSE + [1655188892.957999][2868:2873] CHIP:EM: Sending Standalone Ack for MessageCounter:133140817 on exchange 23176i + + 2. when this attribute is false, do not need to verify rest of the below commands. + 3. When this attribute is true, the Node has been configured with one or more test event triggers by virtue of the internally programmed EnableKey value by the product vendor + 4. Use the manufacturer-provided EnableKey value and the EventTrigger value and send command using './chip-tool generaldiagnostics test-event-trigger ' 1 0 and verify if the DUT generated the desired event. disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_2_3.yaml index fb99c7fbcc378b..b0d2902ff36b70 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_2_3.yaml @@ -30,7 +30,7 @@ tests: - label: "Sends ResetWatermarks to DUT" command: "ResetWatermarks" - PICS: DGSW.S.C00 + PICS: DGSW.S.C00.Rsp - label: "Reads a list of ThreadMetrics struct attribute from DUT." command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_3_2.yaml index 5a1fde89aba383..044791d9978cf5 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_3_2.yaml @@ -27,7 +27,7 @@ tests: disabled: true - label: "TH sends ResetWatermarks to DUT" - PICS: DGSW.S.C00 + PICS: DGSW.S.C00.Rsp verification: | ./chip-tool softwarediagnostics reset-watermarks 1 0 diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml index e93a9ab713a23f..aefc6526395346 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml @@ -28,7 +28,9 @@ tests: - label: "TH reads the ClusterRevision from DUT" verification: | - ./chip-tool threadnetworkdiagnostics read cluster-revision 24 0 + ./chip-tool threadnetworkdiagnostics read cluster-revision 65 0 + + Verify on the TH Log: [1649747941.607337][9541:9546] CHIP:DMG: SuppressResponse = true, [1649747941.607399][9541:9546] CHIP:DMG: InteractionModelRevision = 1 @@ -39,7 +41,9 @@ tests: - label: "TH reads the FeatureMap from DUT" verification: | - ./chip-tool threadnetworkdiagnostics read feature-map 24 0 + ./chip-tool threadnetworkdiagnostics read feature-map 65 0 + + Verify on the TH Log: [1649747973.385016][9548:9553] CHIP:DMG: SuppressResponse = true, [1649747973.385080][9548:9553] CHIP:DMG: InteractionModelRevision = 1 @@ -50,7 +54,9 @@ tests: - label: "TH reads AttributeList from DUT" verification: | - ./chip-tool threadnetworkdiagnostics read attribute-list 24 0 + ./chip-tool threadnetworkdiagnostics read attribute-list 65 0 + + Verify on the TH Log: [1649748119.656589][9559:9564] CHIP:DMG: SuppressResponse = true, [1649748119.656616][9559:9564] CHIP:DMG: InteractionModelRevision = 1 @@ -134,7 +140,9 @@ tests: - label: "TH reads AcceptedCommandList from DUT" verification: | - ./chip-tool threadnetworkdiagnostics read accepted-command-list 24 0 + /chip-tool threadnetworkdiagnostics read accepted-command-list 65 0 + + Verify on the TH Log: [1649748231.835572][9579:9584] CHIP:DMG: SuppressResponse = true, [1649748231.835633][9579:9584] CHIP:DMG: InteractionModelRevision = 1 @@ -146,7 +154,9 @@ tests: - label: "TH reads GeneratedCommandList from DUT" verification: | - ./chip-tool threadnetworkdiagnostics read generated-command-list 24 0 + ./chip-tool threadnetworkdiagnostics read generated-command-list 65 0 + + Verify on the TH Log: [1649748201.118100][9570:9575] CHIP:DMG: SuppressResponse = true, [1649748201.118163][9570:9575] CHIP:DMG: InteractionModelRevision = 1 diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_1.yaml index e5e13f5075086d..e0421a051d5499 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_1.yaml @@ -29,404 +29,449 @@ tests: - label: "DUT reads Channel attribute value from TH" PICS: DGTHREAD.C.A0001 verification: | - ./chip-tool threadnetworkdiagnostics read channel 180 0 + ./chip-tool threadnetworkdiagnostics read channel 65 0 + Verify on the TH Log: - [1646734773.604521][5337:5342] CHIP:DMG: SuppressResponse = true, - [1646734773.604583][5337:5342] CHIP:DMG: InteractionModelRevision = 1 - [1646734773.604639][5337:5342] CHIP:DMG: } - [1646734773.604930][5337:5342] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0000DataVersion: 3054043217 - [1646734773.605046][5337:5342] CHIP:TOO: channel: 15 + + [1649824566.453007][3222:3227] CHIP:DMG: SuppressResponse = true, + [1649824566.453070][3222:3227] CHIP:DMG: InteractionModelRevision = 1 + [1649824566.453127][3222:3227] CHIP:DMG: } + [1649824566.453482][3222:3227] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0000 DataVersion: 2758196590 + [1649824566.453644][3222:3227] CHIP:TOO: channel: 15 disabled: true - label: "DUT reads RoutingRole attribute value from TH" PICS: DGTHREAD.C.A0002 verification: | - ./chip-tool threadnetworkdiagnostics read routing-role 180 0 + ./chip-tool threadnetworkdiagnostics read routing-role 65 0 + + Verify on the TH Log: - [1646734356.192919][5299:5304] CHIP:DMG: SuppressResponse = true, - [1646734356.192980][5299:5304] CHIP:DMG: InteractionModelRevision = 1 - [1646734356.193037][5299:5304] CHIP:DMG: } - [1646734356.193326][5299:5304] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0001DataVersion: 3054043217 - [1646734356.193442][5299:5304] CHIP:TOO: RoutingRole: 3 + [1649824620.074789][3232:3237] CHIP:DMG: SuppressResponse = true, + [1649824620.074852][3232:3237] CHIP:DMG: InteractionModelRevision = 1 + [1649824620.074911][3232:3237] CHIP:DMG: } + [1649824620.075220][3232:3237] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0001 DataVersion: 2758196590 + [1649824620.075380][3232:3237] CHIP:TOO: RoutingRole: 3 disabled: true - label: "DUT reads NetworkName attribute value from TH." PICS: DGTHREAD.C.A0003 verification: | - ./chip-tool threadnetworkdiagnostics read network-name 180 0 + ./chip-tool threadnetworkdiagnostics read network-name 65 0 - [1646734566.245182][5315:5320] CHIP:DMG: SuppressResponse = true, - [1646734566.245245][5315:5320] CHIP:DMG: InteractionModelRevision = 1 - [1646734566.245324][5315:5320] CHIP:DMG: } - [1646734566.245670][5315:5320] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0002DataVersion: 3054043217 - [1646734566.245832][5315:5320] CHIP:TOO: NetworkName: ThreadDemo + Verify on the TH Log: + + [1649823714.280544][3183:3188] CHIP:DMG: + [1649823714.280605][3183:3188] CHIP:DMG: SuppressResponse = true, + [1649823714.280668][3183:3188] CHIP:DMG: InteractionModelRevision = 1 + [1649823714.280725][3183:3188] CHIP:DMG: } + [1649823714.281032][3183:3188] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0002 DataVersion: 2758196590 + [1649823714.281135][3183:3188] CHIP:TOO: NetworkName: OpenThreaddDemo disabled: true - label: "DUT reads PanId attribute value from TH." PICS: DGTHREAD.C.A0004 verification: | - ./chip-tool threadnetworkdiagnostics read pan-id 180 0 + ./chip-tool threadnetworkdiagnostics read pan-id 65 0 + + Verify on the TH Log: - [1646734701.792639][5330:5335] CHIP:DMG: SuppressResponse = true, - [1646734701.792704][5330:5335] CHIP:DMG: InteractionModelRevision = 1 - [1646734701.792761][5330:5335] CHIP:DMG: } - [1646734701.793112][5330:5335] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0003DataVersion: 3054043217 - [1646734701.793232][5330:5335] CHIP:TOO: PanId: 4660 + [1649824713.095280][3292:3297] CHIP:DMG: SuppressResponse = true, + [1649824713.095343][3292:3297] CHIP:DMG: InteractionModelRevision = 1 + [1649824713.095402][3292:3297] CHIP:DMG: } + [1649824713.095703][3292:3297] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0003 DataVersion: 2758196590 + [1649824713.095867][3292:3297] CHIP:TOO: PanId: 4660 disabled: true - label: "DUT reads ExtendedPanId attribute value from TH." PICS: DGTHREAD.C.A0005 verification: | - ./chip-tool threadnetworkdiagnostics read extended-pan-id 180 0 + ./chip-tool threadnetworkdiagnostics read extended-pan-id 65 0 - [1646734875.065096][5349:5354] CHIP:DMG: SuppressResponse = true, - [1646734875.065150][5349:5354] CHIP:DMG: InteractionModelRevision = 1 - [1646734875.065200][5349:5354] CHIP:DMG: } - [1646734875.065459][5349:5354] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0004DataVersion: 3054043217 - [1646734875.065544][5349:5354] CHIP:TOO: ExtendedPanId: 1229782938533634577 + Verify on the TH Log: + + [1649824746.370824][3300:3305] CHIP:DMG: SuppressResponse = true, + [1649824746.370887][3300:3305] CHIP:DMG: InteractionModelRevision = 1 + [1649824746.370946][3300:3305] CHIP:DMG: } + [1649824746.371245][3300:3305] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0004 DataVersion: 2758196590 + [1649824746.371387][3300:3305] CHIP:TOO: ExtendedPanId: 1229782942828601890 disabled: true - label: "DUT reads MeshLocalPrefix attribute value from TH." PICS: DGTHREAD.C.A0006 verification: | - ./chip-tool threadnetworkdiagnostics read mesh-local-prefix 180 0 + ./chip-tool threadnetworkdiagnostics read mesh-local-prefix 65 0 + Verify on the TH Log: - [1646734964.082543][5362:5367] CHIP:DMG: SuppressResponse = true, - [1646734964.082606][5362:5367] CHIP:DMG: InteractionModelRevision = 1 - [1646734964.082663][5362:5367] CHIP:DMG: } - [1646734964.082965][5362:5367] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0005DataVersion: 3054043217 - [1646734964.083068][5362:5367] CHIP:TOO: MeshLocalPrefix: 40FDC1F52A4617B876 + [1649824777.961973][3306:3311] CHIP:DMG: SuppressResponse = true, + [1649824777.962035][3306:3311] CHIP:DMG: InteractionModelRevision = 1 + [1649824777.962093][3306:3311] CHIP:DMG: } + [1649824777.962401][3306:3311] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0005 DataVersion: 2758196590 + [1649824777.962509][3306:3311] CHIP:TOO: MeshLocalPrefix: 40FD7B3042ED5F42CF disabled: true - label: "DUT reads OverrunCount attribute value from TH." PICS: DGTHREAD.C.A0007 verification: | - ./chip-tool threadnetworkdiagnostics read overrun-count 180 0 + ./chip-tool threadnetworkdiagnostics read overrun-count 65 0 + Verify on the TH Log: - [1646735070.360374][5373:5378] CHIP:DMG: SuppressResponse = true, - [1646735070.360437][5373:5378] CHIP:DMG: InteractionModelRevision = 1 - [1646735070.360495][5373:5378] CHIP:DMG: } - [1646735070.360800][5373:5378] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0006DataVersion: 3054043217 - [1646735070.360905][5373:5378] CHIP:TOO: OverrunCount: 0 + [1649824808.714398][3314:3319] CHIP:DMG: SuppressResponse = true, + [1649824808.714482][3314:3319] CHIP:DMG: InteractionModelRevision = 1 + [1649824808.714539][3314:3319] CHIP:DMG: } + [1649824808.714898][3314:3319] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0006 DataVersion: 2758196590 + [1649824808.715038][3314:3319] CHIP:TOO: OverrunCount: 0 disabled: true - label: "DUT reads NeighborTable attribute value from TH." PICS: DGTHREAD.C.A0008 verification: | - ./chip-tool threadnetworkdiagnostics read neighbor-table-list 180 0 + ./chip-tool threadnetworkdiagnostics read neighbor-table-list 65 0 + Verify on the TH Log: - [1646735189.534433][5384:5389] CHIP:DMG: SuppressResponse = true, - [1646735189.534486][5384:5389] CHIP:DMG: InteractionModelRevision = 1 - [1646735189.534534][5384:5389] CHIP:DMG: } - [1646735189.534828][5384:5389] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0007DataVersion: 3054043217 - [1646735189.534938][5384:5389] CHIP:TOO: NeighborTableList: 0 entries + [1649824841.785721][3322:3327] CHIP:DMG: SuppressResponse = true, + [1649824841.785783][3322:3327] CHIP:DMG: InteractionModelRevision = 1 + [1649824841.785841][3322:3327] CHIP:DMG: } + [1649824841.786186][3322:3327] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0007 DataVersion: 2758196590 + [1649824841.786317][3322:3327] CHIP:TOO: NeighborTableList: 0 entries disabled: true - label: "DUT reads RouteTable attribute value from TH." PICS: DGTHREAD.C.A0009 verification: | - ./chip-tool threadnetworkdiagnostics read route-table-list 180 0 - - [1646735312.116343][5396:5401] CHIP:DMG: SuppressResponse = true, - [1646735312.116377][5396:5401] CHIP:DMG: InteractionModelRevision = 1 - [1646735312.116408][5396:5401] CHIP:DMG: } - [1646735312.116757][5396:5401] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0008DataVersion: 3054043217 - [1646735312.116850][5396:5401] CHIP:TOO: RouteTableList: 1 entries - [1646735312.116995][5396:5401] CHIP:TOO: [1]: { - [1646735312.117028][5396:5401] CHIP:TOO: ExtAddress: 0 - [1646735312.117059][5396:5401] CHIP:TOO: Rloc16: 59392 - [1646735312.117089][5396:5401] CHIP:TOO: RouterId: 58 - [1646735312.117117][5396:5401] CHIP:TOO: NextHop: 58 - [1646735312.117146][5396:5401] CHIP:TOO: PathCost: 1 - [1646735312.117175][5396:5401] CHIP:TOO: LQIIn: 0 - [1646735312.117203][5396:5401] CHIP:TOO: LQIOut: 0 - [1646735312.117232][5396:5401] CHIP:TOO: Age: 246 - [1646735312.117260][5396:5401] CHIP:TOO: Allocated: TRUE - [1646735312.117289][5396:5401] CHIP:TOO: LinkEstablished: FALSE - [1646735312.117319][5396:5401] CHIP:TOO: } + ./chip-tool threadnetworkdiagnostics read route-table-list 65 0 + + Verify on the TH Log: + + [1649824896.844773][3329:3334] CHIP:DMG: SuppressResponse = true, + [1649824896.844809][3329:3334] CHIP:DMG: InteractionModelRevision = 1 + [1649824896.844834][3329:3334] CHIP:DMG: } + [1649824896.845182][3329:3334] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0008 DataVersion: 2758196590 + [1649824896.845283][3329:3334] CHIP:TOO: RouteTableList: 1 entries + [1649824896.845422][3329:3334] CHIP:TOO: [1]: { + [1649824896.845467][3329:3334] CHIP:TOO: ExtAddress: 0 + [1649824896.845498][3329:3334] CHIP:TOO: Rloc16: 39936 + [1649824896.845527][3329:3334] CHIP:TOO: RouterId: 39 + [1649824896.845554][3329:3334] CHIP:TOO: NextHop: 39 + [1649824896.845581][3329:3334] CHIP:TOO: PathCost: 1 + [1649824896.845607][3329:3334] CHIP:TOO: LQIIn: 0 + [1649824896.845634][3329:3334] CHIP:TOO: LQIOut: 0 + [1649824896.845656][3329:3334] CHIP:TOO: Age: 60 + [1649824896.845681][3329:3334] CHIP:TOO: Allocated: TRUE + [1649824896.845707][3329:3334] CHIP:TOO: LinkEstablished: FALSE + [1649824896.845736][3329:3334] CHIP:TOO: } + [1649824896.845829][3329:3334] CHIP:EM: Sending Standalone Ack for MessageCounter:14412289 on exchange 3041i disabled: true - label: "DUT reads PartitionId attribute value from TH" PICS: DGTHREAD.C.A000a verification: | - ./chip-tool threadnetworkdiagnostics read partition-id 180 0 + ./chip-tool threadnetworkdiagnostics read partition-id 65 0 + Verify on the TH Log: - [1646735408.327039][5407:5412] CHIP:DMG: SuppressResponse = true, - [1646735408.327100][5407:5412] CHIP:DMG: InteractionModelRevision = 1 - [1646735408.327156][5407:5412] CHIP:DMG: } - [1646735408.327452][5407:5412] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0009DataVersion: 3054043217 - [1646735408.327569][5407:5412] CHIP:TOO: PartitionId: 1577609216 + [1649824939.713304][3339:3344] CHIP:DMG: SuppressResponse = true, + [1649824939.713366][3339:3344] CHIP:DMG: InteractionModelRevision = 1 + [1649824939.713424][3339:3344] CHIP:DMG: } + [1649824939.713721][3339:3344] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0009 DataVersion: 2758196590 + [1649824939.713862][3339:3344] CHIP:TOO: PartitionId: 1864110017 disabled: true - label: "DUT reads Weighting attribute value from TH" PICS: DGTHREAD.C.A000b verification: | - ./chip-tool threadnetworkdiagnostics read weighting 180 0 + ./chip-tool threadnetworkdiagnostics read weighting 65 0 + Verify on the TH Log: - [1646735501.850761][5417:5422] CHIP:DMG: SuppressResponse = true, - [1646735501.850798][5417:5422] CHIP:DMG: InteractionModelRevision = 1 - [1646735501.850832][5417:5422] CHIP:DMG: } - [1646735501.851022][5417:5422] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000ADataVersion: 3054043217 - [1646735501.851097][5417:5422] CHIP:TOO: weighting: 64 + [1649824976.023194][3349:3354] CHIP:DMG: SuppressResponse = true, + [1649824976.023258][3349:3354] CHIP:DMG: InteractionModelRevision = 1 + [1649824976.023318][3349:3354] CHIP:DMG: } + [1649824976.023619][3349:3354] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000A DataVersion: 2758196590 + [1649824976.023783][3349:3354] CHIP:TOO: weighting: 64 disabled: true - label: "DUT reads DataVersion attribute value from TH" PICS: DGTHREAD.C.A000c verification: | - ./chip-tool threadnetworkdiagnostics read data-version 180 0 + ./chip-tool threadnetworkdiagnostics read data-version 65 0 + Verify on the TH Log: - [1646735644.510405][5427:5432] CHIP:DMG: SuppressResponse = true, - [1646735644.510432][5427:5432] CHIP:DMG: InteractionModelRevision = 1 - [1646735644.510457][5427:5432] CHIP:DMG: } - [1646735644.510603][5427:5432] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000BDataVersion: 3054043217 - [1646735644.510687][5427:5432] CHIP:TOO: DataVersion: 95 + [1649825003.853216][3355:3360] CHIP:DMG: SuppressResponse = true, + [1649825003.853300][3355:3360] CHIP:DMG: InteractionModelRevision = 1 + [1649825003.853358][3355:3360] CHIP:DMG: } + [1649825003.853718][3355:3360] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000B DataVersion: 2758196590 + [1649825003.853881][3355:3360] CHIP:TOO: DataVersion: 194 disabled: true - label: "DUT reads StableDataVersion attribute value from TH" PICS: DGTHREAD.C.A000d verification: | - ./chip-tool threadnetworkdiagnostics read stable-data-version 180 0 + ./chip-tool threadnetworkdiagnostics read stable-data-version 65 0 + + Verify on the TH Log: - [1646735721.276893][5438:5443] CHIP:DMG: SuppressResponse = true, - [1646735721.276955][5438:5443] CHIP:DMG: InteractionModelRevision = 1 - [1646735721.277012][5438:5443] CHIP:DMG: } - [1646735721.277300][5438:5443] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000CDataVersion: 3054043217 - [1646735721.277419][5438:5443] CHIP:TOO: StableDataVersion: 3 + [1649825030.808949][3363:3368] CHIP:DMG: SuppressResponse = true, + [1649825030.809013][3363:3368] CHIP:DMG: InteractionModelRevision = 1 + [1649825030.809071][3363:3368] CHIP:DMG: } + [1649825030.809368][3363:3368] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000C DataVersion: 2758196590 + [1649825030.809530][3363:3368] CHIP:TOO: StableDataVersion: 151 disabled: true - label: "DUT reads LeaderRouterId attribute value from TH" PICS: DGTHREAD.C.A000e verification: | - ./chip-tool threadnetworkdiagnostics read leader-router-id 180 0 + ./chip-tool threadnetworkdiagnostics read leader-router-id 65 0 + + Verify on the TH Log: - [1646735851.789468][5451:5457] CHIP:DMG: SuppressResponse = true, - [1646735851.789530][5451:5457] CHIP:DMG: InteractionModelRevision = 1 - [1646735851.789586][5451:5457] CHIP:DMG: } - [1646735851.789949][5451:5457] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000DDataVersion: 3054043217 - [1646735851.790070][5451:5457] CHIP:TOO: LeaderRouterId: 58 + [1649825375.599441][3380:3385] CHIP:DMG: SuppressResponse = true, + [1649825375.599484][3380:3385] CHIP:DMG: InteractionModelRevision = 1 + [1649825375.599522][3380:3385] CHIP:DMG: } + [1649825375.599735][3380:3385] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000D DataVersion: 2758196590 + [1649825375.599850][3380:3385] CHIP:TOO: LeaderRouterId: 39 disabled: true - label: "DUT reads DetachedRoleCount attribute value from TH" PICS: DGTHREAD.C.A000f verification: | - ./chip-tool threadnetworkdiagnostics read detached-role-count 180 0 + ./chip-tool threadnetworkdiagnostics read detached-role-count 65 0 + Verify on the TH Log: - [1646735928.957148][5460:5465] CHIP:DMG: SuppressResponse = true, - [1646735928.957208][5460:5465] CHIP:DMG: InteractionModelRevision = 1 - [1646735928.957264][5460:5465] CHIP:DMG: } - [1646735928.957552][5460:5465] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000EDataVersion: 3054043217 - [1646735928.957673][5460:5465] CHIP:TOO: DetachedRoleCount: 1 + [1649825500.911386][3393:3398] CHIP:DMG: SuppressResponse = true, + [1649825500.911449][3393:3398] CHIP:DMG: InteractionModelRevision = 1 + [1649825500.911506][3393:3398] CHIP:DMG: } + [1649825500.911805][3393:3398] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000E DataVersion: 2758196590 + [1649825500.911969][3393:3398] CHIP:TOO: DetachedRoleCount: 1 disabled: true - label: "DUT reads ChildRoleCount attribute value from TH" PICS: DGTHREAD.C.A0010 verification: | - ./chip-tool threadnetworkdiagnostics read child-role-count 180 0 + ./chip-tool threadnetworkdiagnostics read child-role-count 65 0 + Verify on the TH Log: - [1646736058.303149][5474:5479] CHIP:DMG: SuppressResponse = true, - [1646736058.303210][5474:5479] CHIP:DMG: InteractionModelRevision = 1 - [1646736058.303267][5474:5479] CHIP:DMG: } - [1646736058.303561][5474:5479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000FDataVersion: 3054043217 - [1646736058.303680][5474:5479] CHIP:TOO: ChildRoleCount: 1 + + [1649825527.705564][3399:3404] CHIP:DMG: SuppressResponse = true, + [1649825527.705628][3399:3404] CHIP:DMG: InteractionModelRevision = 1 + [1649825527.705687][3399:3404] CHIP:DMG: } + [1649825527.705991][3399:3404] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_000F DataVersion: 2758196590 + [1649825527.706153][3399:3404] CHIP:TOO: ChildRoleCount: 1 disabled: true - label: "DUT reads RouterRoleCount attribute value from TH" PICS: DGTHREAD.C.A0011 verification: | - ./chip-tool threadnetworkdiagnostics read router-role-count 180 0 + ./chip-tool threadnetworkdiagnostics read router-role-count 65 0 + + Verify on the TH Log: - [1646736131.831750][5483:5488] CHIP:DMG: SuppressResponse = true, - [1646736131.831811][5483:5488] CHIP:DMG: InteractionModelRevision = 1 - [1646736131.831868][5483:5488] CHIP:DMG: } - [1646736131.832164][5483:5488] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0010DataVersion: 3054043217 - [1646736131.832281][5483:5488] CHIP:TOO: RouterRoleCount: 0 + [1649825557.312082][3406:3411] CHIP:DMG: SuppressResponse = true, + [1649825557.312107][3406:3411] CHIP:DMG: InteractionModelRevision = 1 + [1649825557.312130][3406:3411] CHIP:DMG: } + [1649825557.312271][3406:3411] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0010 DataVersion: 2758196590 + [1649825557.312352][3406:3411] CHIP:TOO: RouterRoleCount: 0 disabled: true - label: "DUT reads LeaderRoleCount attribute value from TH" PICS: DGTHREAD.C.A0012 verification: | - ./chip-tool threadnetworkdiagnostics read leader-role-count 180 0 + ./chip-tool threadnetworkdiagnostics read leader-role-count 65 0 + Verify on the TH Log: - [1646736202.604398][5493:5498] CHIP:DMG: SuppressResponse = true, - [1646736202.604460][5493:5498] CHIP:DMG: InteractionModelRevision = 1 - [1646736202.604517][5493:5498] CHIP:DMG: } - [1646736202.604811][5493:5498] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0011DataVersion: 3054043217 - [1646736202.604928][5493:5498] CHIP:TOO: LeaderRoleCount: 0 + [1649825586.086657][3414:3419] CHIP:DMG: SuppressResponse = true, + [1649825586.086722][3414:3419] CHIP:DMG: InteractionModelRevision = 1 + [1649825586.086781][3414:3419] CHIP:DMG: } + [1649825586.087080][3414:3419] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0011 DataVersion: 2758196590 + [1649825586.087243][3414:3419] CHIP:TOO: LeaderRoleCount: 0 disabled: true - label: "DUT reads AttachAttemptCount attribute value from TH" PICS: DGTHREAD.C.A0013 verification: | - ./chip-tool threadnetworkdiagnostics read attach-attempt-count 180 0 + ./chip-tool threadnetworkdiagnostics read attach-attempt-count 65 0 + Verify on the TH Log: - [1646736417.180091][5512:5518] CHIP:DMG: SuppressResponse = true, - [1646736417.180132][5512:5518] CHIP:DMG: InteractionModelRevision = 1 - [1646736417.180170][5512:5518] CHIP:DMG: } - [1646736417.180369][5512:5518] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0012DataVersion: 3054043217 - [1646736417.180452][5512:5518] CHIP:TOO: AttachAttemptCount: 0 + [1649825623.630934][3422:3427] CHIP:DMG: SuppressResponse = true, + [1649825623.630959][3422:3427] CHIP:DMG: InteractionModelRevision = 1 + [1649825623.630982][3422:3427] CHIP:DMG: } + [1649825623.631123][3422:3427] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0012 DataVersion: 2758196590 + [1649825623.631203][3422:3427] CHIP:TOO: AttachAttemptCount: 0 disabled: true - label: "DUT reads PartitionIdChangeCount attribute value from TH" PICS: DGTHREAD.C.A0014 verification: | - ./chip-tool threadnetworkdiagnostics read partition-id-change-count 180 0 + ./chip-tool threadnetworkdiagnostics read partition-id-change-count 65 0 + Verify on the TH Log: - [1646736512.118439][5524:5529] CHIP:DMG: SuppressResponse = true, - [1646736512.118501][5524:5529] CHIP:DMG: InteractionModelRevision = 1 - [1646736512.118557][5524:5529] CHIP:DMG: } - [1646736512.118850][5524:5529] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0013DataVersion: 3054043217 - [1646736512.118969][5524:5529] CHIP:TOO: PartitionIdChangeCount: 1 + [1649825649.945786][3428:3433] CHIP:DMG: SuppressResponse = true, + [1649825649.945847][3428:3433] CHIP:DMG: InteractionModelRevision = 1 + [1649825649.945903][3428:3433] CHIP:DMG: } + [1649825649.946204][3428:3433] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0013 DataVersion: 2758196590 + [1649825649.946364][3428:3433] CHIP:TOO: PartitionIdChangeCount: 1 disabled: true - label: "DUT reads BetterPartitionAttachAttemptCount attribute value from TH" PICS: DGTHREAD.C.A0015 verification: | - ./chip-tool threadnetworkdiagnostics read better-partition-attach-attempt-count 180 0 + ./chip-tool threadnetworkdiagnostics read better-partition-attach-attempt-count 65 0 + Verify on the TH Log: - [1646736588.583567][5533:5538] CHIP:DMG: SuppressResponse = true, - [1646736588.583629][5533:5538] CHIP:DMG: InteractionModelRevision = 1 - [1646736588.583686][5533:5538] CHIP:DMG: } - [1646736588.583980][5533:5538] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0014DataVersion: 3054043217 - [1646736588.584104][5533:5538] CHIP:TOO: BetterPartitionAttachAttemptCount: 0 + [1649825690.990362][3434:3440] CHIP:DMG: SuppressResponse = true, + [1649825690.990447][3434:3440] CHIP:DMG: InteractionModelRevision = 1 + [1649825690.990507][3434:3440] CHIP:DMG: } + [1649825690.991119][3434:3440] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0014 DataVersion: 2758196590 + [1649825690.991286][3434:3440] CHIP:TOO: BetterPartitionAttachAttemptCount: 0 disabled: true - label: "DUT reads ParentChangeCount attribute value from TH" PICS: DGTHREAD.C.A0016 verification: | - ./chip-tool threadnetworkdiagnostics read parent-change-count 180 0 + ./chip-tool threadnetworkdiagnostics read parent-change-count 65 0 + Verify on the TH Log: - [1646736654.004037][5543:5548] CHIP:DMG: SuppressResponse = true, - [1646736654.004100][5543:5548] CHIP:DMG: InteractionModelRevision = 1 - [1646736654.004181][5543:5548] CHIP:DMG: } - [1646736654.004518][5543:5548] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0015DataVersion: 3054043217 - [1646736654.004637][5543:5548] CHIP:TOO: ParentChangeCount: 0 + [1649825732.057481][3442:3447] CHIP:DMG: SuppressResponse = true, + [1649825732.057523][3442:3447] CHIP:DMG: InteractionModelRevision = 1 + [1649825732.057562][3442:3447] CHIP:DMG: } + [1649825732.057776][3442:3447] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0015 DataVersion: 2758196590 + [1649825732.057890][3442:3447] CHIP:TOO: ParentChangeCount: 0 disabled: true - label: "DUT reads ActiveTimestamp attribute value from TH" PICS: DGTHREAD.C.A0039 verification: | - ./chip-tool threadnetworkdiagnostics read active-timestamp 180 0 + ./chip-tool threadnetworkdiagnostics read active-timestamp 65 0 + Verify on the TH Log: - [1646739563.493469][5897:5902] CHIP:DMG: SuppressResponse = true, - [1646739563.493522][5897:5902] CHIP:DMG: InteractionModelRevision = 1 - [1646739563.493570][5897:5902] CHIP:DMG: } - [1646739563.493879][5897:5902] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0038DataVersion: 3054043217 - [1646739563.493970][5897:5902] CHIP:TOO: ActiveTimestamp: 0 + [1649825762.185133][3451:3456] CHIP:DMG: SuppressResponse = true, + [1649825762.185195][3451:3456] CHIP:DMG: InteractionModelRevision = 1 + [1649825762.185253][3451:3456] CHIP:DMG: } + [1649825762.185553][3451:3456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0038 DataVersion: 2758196590 + [1649825762.185691][3451:3456] CHIP:TOO: ActiveTimestamp: 0 disabled: true - label: "DUT reads PendingTimestamp attribute value from TH" PICS: DGTHREAD.C.A003a verification: | - ./chip-tool threadnetworkdiagnostics read pending-timestamp 180 0 + ./chip-tool threadnetworkdiagnostics read pending-timestamp 65 0 + Verify on the TH Log: - [1646739635.894986][5905:5910] CHIP:DMG: SuppressResponse = true, - [1646739635.895047][5905:5910] CHIP:DMG: InteractionModelRevision = 1 - [1646739635.895104][5905:5910] CHIP:DMG: } - [1646739635.895401][5905:5910] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0039DataVersion: 3054043217 - [1646739635.895495][5905:5910] CHIP:TOO: PendingTimestamp: 0 + [1649825790.438764][3458:3463] CHIP:DMG: SuppressResponse = true, + [1649825790.438826][3458:3463] CHIP:DMG: InteractionModelRevision = 1 + [1649825790.438884][3458:3463] CHIP:DMG: } + [1649825790.439186][3458:3463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0039 DataVersion: 2758196590 + [1649825790.439328][3458:3463] CHIP:TOO: PendingTimestamp: 0 disabled: true - label: "DUT reads Delay attribute value from TH" PICS: DGTHREAD.C.A003b verification: | - ./chip-tool threadnetworkdiagnostics read delay 180 0 + ./chip-tool threadnetworkdiagnostics read delay 65 0 + + Verify on the TH Log: - [1646739689.639925][5913:5918] CHIP:DMG: SuppressResponse = true, - [1646739689.639986][5913:5918] CHIP:DMG: InteractionModelRevision = 1 - [1646739689.640043][5913:5918] CHIP:DMG: } - [1646739689.640335][5913:5918] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003ADataVersion: 3054043217 - [1646739689.640452][5913:5918] CHIP:TOO: delay: 0 + [1649825817.908699][3465:3470] CHIP:DMG: SuppressResponse = true, + [1649825817.908762][3465:3470] CHIP:DMG: InteractionModelRevision = 1 + [1649825817.908819][3465:3470] CHIP:DMG: } + [1649825817.909116][3465:3470] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003A DataVersion: 2758196590 + [1649825817.909360][3465:3470] CHIP:TOO: delay: 0 disabled: true - label: "DUT reads SecurityPolicy attribute value from TH" PICS: DGTHREAD.C.A003c verification: | - ./chip-tool threadnetworkdiagnostics read security-policy 180 0 - - - [1646739751.705469][5922:5927] CHIP:DMG: SuppressResponse = true, - [1646739751.705531][5922:5927] CHIP:DMG: InteractionModelRevision = 1 - [1646739751.705587][5922:5927] CHIP:DMG: } - [1646739751.706149][5922:5927] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003BDataVersion: 3054043217 - [1646739751.706288][5922:5927] CHIP:TOO: SecurityPolicy: 1 entries - [1646739751.706432][5922:5927] CHIP:TOO: [1]: { - [1646739751.706491][5922:5927] CHIP:TOO: RotationTime: 672 - [1646739751.706546][5922:5927] CHIP:TOO: Flags: 8479 - [1646739751.706602][5922:5927] CHIP:TOO: } + ./chip-tool threadnetworkdiagnostics read security-policy 65 0 + + Verify on the TH Log: + + [1649825860.866762][3472:3477] CHIP:DMG: SuppressResponse = true, + [1649825860.866826][3472:3477] CHIP:DMG: InteractionModelRevision = 1 + [1649825860.866883][3472:3477] CHIP:DMG: } + [1649825860.867425][3472:3477] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003B DataVersion: 2758196590 + [1649825860.867583][3472:3477] CHIP:TOO: SecurityPolicy: 1 entries + [1649825860.867743][3472:3477] CHIP:TOO: [1]: { + [1649825860.867804][3472:3477] CHIP:TOO: RotationTime: 672 + [1649825860.867862][3472:3477] CHIP:TOO: Flags: 8479 + [1649825860.867921][3472:3477] CHIP:TOO: } disabled: true - label: "DUT reads ChannelPage0Mask attribute value from TH" PICS: DGTHREAD.C.A003d verification: | - ./chip-tool threadnetworkdiagnostics read channel-mask 180 0 + ./chip-tool threadnetworkdiagnostics read channel-mask 65 0 + Verify on the TH Log: - [1646739824.217962][5931:5936] CHIP:DMG: SuppressResponse = true, - [1646739824.218016][5931:5936] CHIP:DMG: InteractionModelRevision = 1 - [1646739824.218065][5931:5936] CHIP:DMG: } - [1646739824.218333][5931:5936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003CDataVersion: 3054043217 - [1646739824.218421][5931:5936] CHIP:TOO: ChannelMask: 001FFFE0 + [1649825907.715226][3481:3486] CHIP:DMG: SuppressResponse = true, + [1649825907.715288][3481:3486] CHIP:DMG: InteractionModelRevision = 1 + [1649825907.715346][3481:3486] CHIP:DMG: } + [1649825907.715653][3481:3486] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003C DataVersion: 2758196590 + [1649825907.715783][3481:3486] CHIP:TOO: ChannelMask: 001FFFE0 disabled: true - label: "DUT reads OperationalDatasetComponents attribute from TH" PICS: DGTHREAD.C.A003e verification: | - ./chip-tool threadnetworkdiagnostics read operational-dataset-components 180 0 - - - [1646739918.900857][5942:5947] CHIP:DMG: SuppressResponse = true, - [1646739918.900898][5942:5947] CHIP:DMG: InteractionModelRevision = 1 - [1646739918.900937][5942:5947] CHIP:DMG: } - [1646739918.901360][5942:5947] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003DDataVersion: 3054043217 - [1646739918.901466][5942:5947] CHIP:TOO: OperationalDatasetComponents: 1 entries - [1646739918.901576][5942:5947] CHIP:TOO: [1]: { - [1646739918.901616][5942:5947] CHIP:TOO: ActiveTimestampPresent: TRUE - [1646739918.901654][5942:5947] CHIP:TOO: PendingTimestampPresent: FALSE - [1646739918.901719][5942:5947] CHIP:TOO: MasterKeyPresent: TRUE - [1646739918.901757][5942:5947] CHIP:TOO: NetworkNamePresent: TRUE - [1646739918.901793][5942:5947] CHIP:TOO: ExtendedPanIdPresent: TRUE - [1646739918.901830][5942:5947] CHIP:TOO: MeshLocalPrefixPresent: TRUE - [1646739918.901866][5942:5947] CHIP:TOO: DelayPresent: FALSE - [1646739918.901901][5942:5947] CHIP:TOO: PanIdPresent: TRUE - [1646739918.901936][5942:5947] CHIP:TOO: ChannelPresent: TRUE - [1646739918.901971][5942:5947] CHIP:TOO: PskcPresent: TRUE - [1646739918.902007][5942:5947] CHIP:TOO: SecurityPolicyPresent: TRUE - [1646739918.902043][5942:5947] CHIP:TOO: ChannelMaskPresent: TRUE - [1646739918.902081][5942:5947] CHIP:TOO: } + ./chip-tool threadnetworkdiagnostics read operational-dataset-components 65 0 + + Verify on the TH Log: + + + [1649825944.956668][3489:3494] CHIP:DMG: SuppressResponse = true, + [1649825944.956730][3489:3494] CHIP:DMG: InteractionModelRevision = 1 + [1649825944.956877][3489:3494] CHIP:DMG: } + [1649825944.957504][3489:3494] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003D DataVersion: 2758196590 + [1649825944.957787][3489:3494] CHIP:TOO: OperationalDatasetComponents: 1 entries + [1649825944.957942][3489:3494] CHIP:TOO: [1]: { + [1649825944.958002][3489:3494] CHIP:TOO: ActiveTimestampPresent: TRUE + [1649825944.958058][3489:3494] CHIP:TOO: PendingTimestampPresent: FALSE + [1649825944.958113][3489:3494] CHIP:TOO: MasterKeyPresent: TRUE + [1649825944.958169][3489:3494] CHIP:TOO: NetworkNamePresent: TRUE + [1649825944.958222][3489:3494] CHIP:TOO: ExtendedPanIdPresent: TRUE + [1649825944.958277][3489:3494] CHIP:TOO: MeshLocalPrefixPresent: TRUE + [1649825944.958330][3489:3494] CHIP:TOO: DelayPresent: FALSE + [1649825944.958480][3489:3494] CHIP:TOO: PanIdPresent: TRUE + [1649825944.958537][3489:3494] CHIP:TOO: ChannelPresent: TRUE + [1649825944.958590][3489:3494] CHIP:TOO: PskcPresent: TRUE + [1649825944.958643][3489:3494] CHIP:TOO: SecurityPolicyPresent: TRUE + [1649825944.958696][3489:3494] CHIP:TOO: ChannelMaskPresent: TRUE + [1649825944.958753][3489:3494] CHIP:TOO: } disabled: true - label: "DUT reads ActiveNetworkFaults attribute value from TH" PICS: DGTHREAD.C.A003f verification: | - ./chip-tool threadnetworkdiagnostics read active-network-faults-list 180 0 - - [1646739992.931312][5951:5956] CHIP:DMG: SuppressResponse = true, - [1646739992.931345][5951:5956] CHIP:DMG: InteractionModelRevision = 1 - [1646739992.931376][5951:5956] CHIP:DMG: } - [1646739992.931911][5951:5956] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003EDataVersion: 3054043217 - [1646739992.931993][5951:5956] CHIP:TOO: ActiveNetworkFaultsList: 4 entries - [1646739992.932029][5951:5956] CHIP:TOO: [1]: 0 - [1646739992.932058][5951:5956] CHIP:TOO: [2]: 0 - [1646739992.932085][5951:5956] CHIP:TOO: [3]: 0 - [1646739992.932111][5951:5956] CHIP:TOO: [4]: 0 + ./chip-tool threadnetworkdiagnostics read active-network-faults-list 65 0 + + Verify on the TH Log: + + + [1649825973.752458][3495:3500] CHIP:DMG: SuppressResponse = true, + [1649825973.752521][3495:3500] CHIP:DMG: InteractionModelRevision = 1 + [1649825973.752579][3495:3500] CHIP:DMG: } + [1649825973.753523][3495:3500] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_003E DataVersion: 2758196590 + [1649825973.753679][3495:3500] CHIP:TOO: ActiveNetworkFaultsList: 4 entries + [1649825973.753755][3495:3500] CHIP:TOO: [1]: 0 + [1649825973.753819][3495:3500] CHIP:TOO: [2]: 0 + [1649825973.753881][3495:3500] CHIP:TOO: [3]: 0 + [1649825973.753943][3495:3500] CHIP:TOO: [4]: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_2.yaml index de2b1754450a27..e7bedabfc2bc7a 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_2.yaml @@ -19,6 +19,7 @@ config: nodeId: 0x12344321 cluster: "Basic" endpoint: 0 + tests: - label: "Commission DUT to TH" verification: | @@ -28,216 +29,225 @@ tests: - label: "DUT reads TxTotalCount attribute value from TH" PICS: DGTHREAD.C.A0017 verification: | - ./chip-tool threadnetworkdiagnostics read tx-total-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-total-count 65 0 + Verify on the TH Log: - [1646736754.013797][5554:5559] CHIP:DMG: SuppressResponse = true, - [1646736754.013861][5554:5559] CHIP:DMG: InteractionModelRevision = 1 - [1646736754.013919][5554:5559] CHIP:DMG: } - [1646736754.014214][5554:5559] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0016DataVersion: 3054043217 - [1646736754.014333][5554:5559] CHIP:TOO: TxTotalCount: 296 + [1649826011.966538][3502:3507] CHIP:DMG: SuppressResponse = true, + [1649826011.966580][3502:3507] CHIP:DMG: InteractionModelRevision = 1 + [1649826011.966618][3502:3507] CHIP:DMG: } + [1649826011.966832][3502:3507] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0016 DataVersion: 2758196590 + [1649826011.966933][3502:3507] CHIP:TOO: TxTotalCount: 432 disabled: true - label: "DUT reads TxUnicastCount attribute value from TH" PICS: DGTHREAD.C.A0018 verification: | - ./chip-tool threadnetworkdiagnostics read tx-unicast-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-unicast-count 65 0 + Verify on the TH Log: - [1646736830.623849][5564:5569] CHIP:DMG: SuppressResponse = true, - [1646736830.623913][5564:5569] CHIP:DMG: InteractionModelRevision = 1 - [1646736830.623969][5564:5569] CHIP:DMG: } - [1646736830.624263][5564:5569] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0017DataVersion: 3054043217 - [1646736830.624384][5564:5569] CHIP:TOO: TxUnicastCount: 302 + [1649826032.959906][3511:3516] CHIP:DMG: SuppressResponse = true, + [1649826032.959968][3511:3516] CHIP:DMG: InteractionModelRevision = 1 + [1649826032.960025][3511:3516] CHIP:DMG: } + [1649826032.960325][3511:3516] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0017 DataVersion: 2758196590 + [1649826032.960575][3511:3516] CHIP:TOO: TxUnicastCount: 439 disabled: true - label: "DUT reads TxBroadcastCount attribute value from TH" PICS: DGTHREAD.C.A0019 verification: | - ./chip-tool threadnetworkdiagnostics read tx-broadcast-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-broadcast-count 65 0 + + Verify on the TH Log: - [1646736938.056552][5574:5579] CHIP:DMG: SuppressResponse = true, - [1646736938.056614][5574:5579] CHIP:DMG: InteractionModelRevision = 1 - [1646736938.056671][5574:5579] CHIP:DMG: } - [1646736938.056964][5574:5579] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0018DataVersion: 3054043217 - [1646736938.057084][5574:5579] CHIP:TOO: TxBroadcastCount: 5 + [1649826061.534516][3519:3524] CHIP:DMG: SuppressResponse = true, + [1649826061.534579][3519:3524] CHIP:DMG: InteractionModelRevision = 1 + [1649826061.534636][3519:3524] CHIP:DMG: } + [1649826061.534936][3519:3524] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0018 DataVersion: 2758196590 + [1649826061.535078][3519:3524] CHIP:TOO: TxBroadcastCount: 4 disabled: true - label: "DUT reads TxAckRequestedCount attribute value from TH" PICS: DGTHREAD.C.A001a verification: | - ./chip-tool threadnetworkdiagnostics read tx-ack-requested-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-ack-requested-count 65 0 + Verify on the TH Log: - [1646736999.771267][5582:5587] CHIP:DMG: SuppressResponse = true, - [1646736999.771330][5582:5587] CHIP:DMG: InteractionModelRevision = 1 - [1646736999.771412][5582:5587] CHIP:DMG: } - [1646736999.771749][5582:5587] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0019DataVersion: 3054043217 - [1646736999.771871][5582:5587] CHIP:TOO: TxAckRequestedCount: 323 + [1649826091.335485][3525:3530] CHIP:DMG: SuppressResponse = true, + [1649826091.335549][3525:3530] CHIP:DMG: InteractionModelRevision = 1 + [1649826091.335607][3525:3530] CHIP:DMG: } + [1649826091.335905][3525:3530] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0019 DataVersion: 2758196590 + [1649826091.336042][3525:3530] CHIP:TOO: TxAckRequestedCount: 461 disabled: true - label: "DUT reads TxAckedCount attribute value from TH" PICS: DGTHREAD.C.A001b verification: | - ./chip-tool threadnetworkdiagnostics read tx-acked-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-acked-count 65 0 + Verify on the TH Log: - [1646737063.433032][5591:5596] CHIP:DMG: SuppressResponse = true, - [1646737063.433095][5591:5596] CHIP:DMG: InteractionModelRevision = 1 - [1646737063.433170][5591:5596] CHIP:DMG: } - [1646737063.433507][5591:5596] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001ADataVersion: 3054043217 - [1646737063.433629][5591:5596] CHIP:TOO: TxAckedCount: 333 + [1649826121.430757][3534:3539] CHIP:DMG: SuppressResponse = true, + [1649826121.430799][3534:3539] CHIP:DMG: InteractionModelRevision = 1 + [1649826121.430837][3534:3539] CHIP:DMG: } + [1649826121.431047][3534:3539] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001A DataVersion: 2758196590 + [1649826121.431144][3534:3539] CHIP:TOO: TxAckedCount: 462 disabled: true - label: "DUT reads TxNoAckRequestedCount attribute value from TH" PICS: DGTHREAD.C.A001c verification: | - ./chip-tool threadnetworkdiagnostics read tx-no-ack-requested-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-no-ack-requested-count 65 0 + Verify on the TH Log: - [1646737133.243140][5603:5608] CHIP:DMG: SuppressResponse = true, - [1646737133.243201][5603:5608] CHIP:DMG: InteractionModelRevision = 1 - [1646737133.243259][5603:5608] CHIP:DMG: } - [1646737133.243552][5603:5608] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001BDataVersion: 3054043217 - [1646737133.243673][5603:5608] CHIP:TOO: TxNoAckRequestedCount: 5 + [1649826152.539898][3540:3545] CHIP:DMG: SuppressResponse = true, + [1649826152.539960][3540:3545] CHIP:DMG: InteractionModelRevision = 1 + [1649826152.540017][3540:3545] CHIP:DMG: } + [1649826152.540314][3540:3545] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001B DataVersion: 2758196590 + [1649826152.540550][3540:3545] CHIP:TOO: TxNoAckRequestedCount: 4 disabled: true - label: "DUT reads TxDataCount attribute value from TH" PICS: DGTHREAD.C.A001d verification: | - ./chip-tool threadnetworkdiagnostics read tx-data-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-data-count 65 0 + Verify on the TH Log: - - [1646737230.279803][5611:5616] CHIP:DMG: SuppressResponse = true, - [1646737230.279865][5611:5616] CHIP:DMG: InteractionModelRevision = 1 - [1646737230.279922][5611:5616] CHIP:DMG: } - [1646737230.280221][5611:5616] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001CDataVersion: 3054043217 - [1646737230.280338][5611:5616] CHIP:TOO: TxDataCount: 359 + [1649826184.869528][3547:3552] CHIP:DMG: SuppressResponse = true, + [1649826184.869589][3547:3552] CHIP:DMG: InteractionModelRevision = 1 + [1649826184.869646][3547:3552] CHIP:DMG: } + [1649826184.869951][3547:3552] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001C DataVersion: 2758196590 + [1649826184.870089][3547:3552] CHIP:TOO: TxDataCount: 503 disabled: true - label: "DUT reads TxDataPollCount attribute value from TH" PICS: DGTHREAD.C.A001e verification: | - ./chip-tool threadnetworkdiagnostics read tx-data-poll-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-data-poll-count 65 0 + Verify on the TH Log: - [1646737326.816048][5623:5628] CHIP:DMG: SuppressResponse = true, - [1646737326.816109][5623:5628] CHIP:DMG: InteractionModelRevision = 1 - [1646737326.816165][5623:5628] CHIP:DMG: } - [1646737326.816458][5623:5628] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001DDataVersion: 3054043217 - [1646737326.816574][5623:5628] CHIP:TOO: TxDataPollCount: 0 + [1649826215.573121][3553:3558] CHIP:DMG: SuppressResponse = true, + [1649826215.573185][3553:3558] CHIP:DMG: InteractionModelRevision = 1 + [1649826215.573242][3553:3558] CHIP:DMG: } + [1649826215.573541][3553:3558] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001D DataVersion: 2758196590 + [1649826215.573679][3553:3558] CHIP:TOO: TxDataPollCount: 0 disabled: true - label: "DUT reads TxBeaconCount attribute value from TH" PICS: DGTHREAD.C.A001f verification: | - ./chip-tool threadnetworkdiagnostics read tx-beacon-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-beacon-count 65 0 + Verify on the TH Log: - [1646737399.379912][5633:5638] CHIP:DMG: SuppressResponse = true, - [1646737399.379973][5633:5638] CHIP:DMG: InteractionModelRevision = 1 - [1646737399.380030][5633:5638] CHIP:DMG: } - [1646737399.380317][5633:5638] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001EDataVersion: 3054043217 - [1646737399.380439][5633:5638] CHIP:TOO: TxBeaconCount: 0 + [1649826252.581671][3561:3566] CHIP:DMG: SuppressResponse = true, + [1649826252.581733][3561:3566] CHIP:DMG: InteractionModelRevision = 1 + [1649826252.581789][3561:3566] CHIP:DMG: } + [1649826252.582088][3561:3566] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001E DataVersion: 2758196590 + [1649826252.582224][3561:3566] CHIP:TOO: TxBeaconCount: 0 disabled: true - label: "DUT reads TxBeaconRequestCount attribute value from TH" PICS: DGTHREAD.C.A0020 verification: | - ./chip-tool threadnetworkdiagnostics read tx-beacon-request-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-beacon-request-count 65 0 + Verify on the TH Log: - - [1646737480.599368][5642:5647] CHIP:DMG: SuppressResponse = true, - [1646737480.599429][5642:5647] CHIP:DMG: InteractionModelRevision = 1 - [1646737480.599486][5642:5647] CHIP:DMG: } - [1646737480.599780][5642:5647] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001FDataVersion: 3054043217 - [1646737480.599903][5642:5647] CHIP:TOO: TxBeaconRequestCount: 0 + [1649826283.345936][3568:3573] CHIP:DMG: SuppressResponse = true, + [1649826283.345998][3568:3573] CHIP:DMG: InteractionModelRevision = 1 + [1649826283.346055][3568:3573] CHIP:DMG: } + [1649826283.346357][3568:3573] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_001F DataVersion: 2758196590 + [1649826283.346499][3568:3573] CHIP:TOO: TxBeaconRequestCount: 0 disabled: true - label: "DUT reads TxOtherCount attribute value from TH" PICS: DGTHREAD.C.A0021 verification: | - ./chip-tool threadnetworkdiagnostics read tx-other-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-other-count 65 0 + Verify on the TH Log: - [1646737573.463351][5653:5658] CHIP:DMG: SuppressResponse = true, - [1646737573.463413][5653:5658] CHIP:DMG: InteractionModelRevision = 1 - [1646737573.463470][5653:5658] CHIP:DMG: } - [1646737573.463756][5653:5658] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0020DataVersion: 3054043217 - [1646737573.463872][5653:5658] CHIP:TOO: TxOtherCount: 0 + [1649826328.386892][3574:3579] CHIP:DMG: SuppressResponse = true, + [1649826328.386953][3574:3579] CHIP:DMG: InteractionModelRevision = 1 + [1649826328.387010][3574:3579] CHIP:DMG: } + [1649826328.387310][3574:3579] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0020 DataVersion: 2758196590 + [1649826328.387453][3574:3579] CHIP:TOO: TxOtherCount: 0 disabled: true - label: "DUT reads TxRetryCount attribute value from TH" PICS: DGTHREAD.C.A0022 verification: | - ./chip-tool threadnetworkdiagnostics read tx-retry-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-retry-count 65 0 + Verify on the TH Log: - [1646737638.131098][5662:5667] CHIP:DMG: SuppressResponse = true, - [1646737638.131161][5662:5667] CHIP:DMG: InteractionModelRevision = 1 - [1646737638.131219][5662:5667] CHIP:DMG: } - [1646737638.131517][5662:5667] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0021DataVersion: 3054043217 - [1646737638.131637][5662:5667] CHIP:TOO: TxRetryCount: 124 + [1649826365.526774][3584:3589] CHIP:DMG: SuppressResponse = true, + [1649826365.526838][3584:3589] CHIP:DMG: InteractionModelRevision = 1 + [1649826365.526915][3584:3589] CHIP:DMG: } + [1649826365.527258][3584:3589] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0021 DataVersion: 2758196590 + [1649826365.527400][3584:3589] CHIP:TOO: TxRetryCount: 986 disabled: true - label: "DUT reads TxDirectMaxRetryExpiryCount attribute value from TH" PICS: DGTHREAD.C.A0023 verification: | - ./chip-tool threadnetworkdiagnostics read tx-direct-max-retry-expiry-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-direct-max-retry-expiry-count 65 0 + Verify on the TH Log: - [1646737712.644496][5673:5678] CHIP:DMG: SuppressResponse = true, - [1646737712.644569][5673:5678] CHIP:DMG: InteractionModelRevision = 1 - [1646737712.644617][5673:5678] CHIP:DMG: } - [1646737712.644934][5673:5678] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0022DataVersion: 3054043217 - [1646737712.645037][5673:5678] CHIP:TOO: TxDirectMaxRetryExpiryCount: 0 + [1649826396.738205][3590:3595] CHIP:DMG: SuppressResponse = true, + [1649826396.738269][3590:3595] CHIP:DMG: InteractionModelRevision = 1 + [1649826396.738353][3590:3595] CHIP:DMG: } + [1649826396.738698][3590:3595] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0022 DataVersion: 2758196590 + [1649826396.738841][3590:3595] CHIP:TOO: TxDirectMaxRetryExpiryCount: 15 disabled: true - label: "DUT reads TxIndirectMaxRetryExpiryCount attribute value from TH" PICS: DGTHREAD.C.A0024 verification: | - ./chip-tool threadnetworkdiagnostics read tx-indirect-max-retry-expiry-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-indirect-max-retry-expiry-count 65 0 + Verify on the TH Log: - [1646737804.538427][5684:5689] CHIP:DMG: SuppressResponse = true, - [1646737804.538481][5684:5689] CHIP:DMG: InteractionModelRevision = 1 - [1646737804.538530][5684:5689] CHIP:DMG: } - [1646737804.538783][5684:5689] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0023DataVersion: 3054043217 - [1646737804.538891][5684:5689] CHIP:TOO: TxIndirectMaxRetryExpiryCount: 0 + [1649826428.732746][3598:3603] CHIP:DMG: SuppressResponse = true, + [1649826428.732810][3598:3603] CHIP:DMG: InteractionModelRevision = 1 + [1649826428.732868][3598:3603] CHIP:DMG: } + [1649826428.733168][3598:3603] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0023 DataVersion: 2758196590 + [1649826428.733307][3598:3603] CHIP:TOO: TxIndirectMaxRetryExpiryCount: 0 disabled: true - label: "DUT reads TxErrCcaCount attribute value from TH" PICS: DGTHREAD.C.A0025 verification: | - ./chip-tool threadnetworkdiagnostics read tx-err-cca-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-err-cca-count 65 0 + Verify on the TH Log: - [1646737871.927932][5692:5697] CHIP:DMG: SuppressResponse = true, - [1646737871.928016][5692:5697] CHIP:DMG: InteractionModelRevision = 1 - [1646737871.928073][5692:5697] CHIP:DMG: } - [1646737871.928432][5692:5697] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0024DataVersion: 3054043217 - [1646737871.928552][5692:5697] CHIP:TOO: TxErrCcaCount: 0 + [1649826459.644117][3606:3611] CHIP:DMG: SuppressResponse = true, + [1649826459.644179][3606:3611] CHIP:DMG: InteractionModelRevision = 1 + [1649826459.644236][3606:3611] CHIP:DMG: } + [1649826459.644572][3606:3611] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0024 DataVersion: 2758196590 + [1649826459.644713][3606:3611] CHIP:TOO: TxErrCcaCount: 8 disabled: true - label: "DUT reads TxErrAbortCount attribute value from TH" PICS: DGTHREAD.C.A0026 verification: | - ./chip-tool threadnetworkdiagnostics read tx-err-abort-count 180 0 + ./chip-tool threadnetworkdiagnostics read tx-err-abort-count 65 0 + Verify on the TH Log: - - [1646737944.909411][5703:5708] CHIP:DMG: SuppressResponse = true, - [1646737944.909473][5703:5708] CHIP:DMG: InteractionModelRevision = 1 - [1646737944.909529][5703:5708] CHIP:DMG: } - [1646737944.909897][5703:5708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0025DataVersion: 3054043217 - [1646737944.910018][5703:5708] CHIP:TOO: TxErrAbortCount: 0 + [1649826488.510290][3614:3619] CHIP:DMG: SuppressResponse = true, + [1649826488.510353][3614:3619] CHIP:DMG: InteractionModelRevision = 1 + [1649826488.510411][3614:3619] CHIP:DMG: } + [1649826488.510711][3614:3619] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0025 DataVersion: 2758196590 + [1649826488.510848][3614:3619] CHIP:TOO: TxErrAbortCount: 0 disabled: true - label: "DUT reads TxErrBusyChannelCount attribute value from TH" PICS: DGTHREAD.C.A0027 verification: | - ./chip-tool threadnetworkdiagnostics read tx-err-busy-channel-count 180 0 - + ./chip-tool threadnetworkdiagnostics read tx-err-busy-channel-count 65 0 + Verify on the TH Log: - [1646738012.111932][5712:5717] CHIP:DMG: SuppressResponse = true, - [1646738012.111995][5712:5717] CHIP:DMG: InteractionModelRevision = 1 - [1646738012.112052][5712:5717] CHIP:DMG: } - [1646738012.112343][5712:5717] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0026DataVersion: 3054043217 - [1646738012.112462][5712:5717] CHIP:TOO: TxErrBusyChannelCount: 0 + [1649826519.384125][3621:3626] CHIP:DMG: SuppressResponse = true, + [1649826519.384189][3621:3626] CHIP:DMG: InteractionModelRevision = 1 + [1649826519.384269][3621:3626] CHIP:DMG: } + [1649826519.384665][3621:3626] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0026 DataVersion: 2758196590 + [1649826519.384810][3621:3626] CHIP:TOO: TxErrBusyChannelCount: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_3.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_3.yaml index 2e888e1eafe0b7..fdf3d1e2363295 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_3.yaml @@ -29,242 +29,221 @@ tests: - label: "DUT reads RxTotalCount attribute value from TH" PICS: DGTHREAD.C.A0028 verification: | - ./chip-tool threadnetworkdiagnostics read rx-total-count 180 0 - - [1646738165.136341][5725:5730] CHIP:DMG: ReportDataMessage = - [1646738165.136405][5725:5730] CHIP:DMG: { - [1646738165.136490][5725:5730] CHIP:DMG: AttributeReportIBs = - [1646738165.136568][5725:5730] CHIP:DMG: [ - [1646738165.136649][5725:5730] CHIP:DMG: AttributeReportIB = - [1646738165.136755][5725:5730] CHIP:DMG: { - [1646738165.136821][5725:5730] CHIP:DMG: AttributeDataIB = - [1646738165.136917][5725:5730] CHIP:DMG: { - [1646738165.137000][5725:5730] CHIP:DMG: DataVersion = 0xb6090051, - [1646738165.137106][5725:5730] CHIP:DMG: AttributePathIB = - [1646738165.137217][5725:5730] CHIP:DMG: { - [1646738165.137301][5725:5730] CHIP:DMG: Endpoint = 0x0, - [1646738165.137415][5725:5730] CHIP:DMG: Cluster = 0x35, - [1646738165.137528][5725:5730] CHIP:DMG: Attribute = 0x0000_0027, - [1646738165.137618][5725:5730] CHIP:DMG: } - [1646738165.137812][5725:5730] CHIP:DMG: - [1646738165.137922][5725:5730] CHIP:DMG: Data = 856, - [1646738165.138023][5725:5730] CHIP:DMG: }, - [1646738165.138108][5725:5730] CHIP:DMG: - [1646738165.138195][5725:5730] CHIP:DMG: }, - [1646738165.138272][5725:5730] CHIP:DMG: - [1646738165.138350][5725:5730] CHIP:DMG: ], - [1646738165.138426][5725:5730] CHIP:DMG: - [1646738165.138508][5725:5730] CHIP:DMG: SuppressResponse = true, - [1646738165.138571][5725:5730] CHIP:DMG: InteractionModelRevision = 1 - [1646738165.138651][5725:5730] CHIP:DMG: } - [1646738165.138990][5725:5730] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0027DataVersion: 3054043217 - [1646738165.139109][5725:5730] CHIP:TOO: RxTotalCount: 856 + ./chip-tool threadnetworkdiagnostics read rx-total-count 65 0 + Verify on the TH Log: + + + [1649826557.581996][3628:3633] CHIP:DMG: SuppressResponse = true, + [1649826557.582060][3628:3633] CHIP:DMG: InteractionModelRevision = 1 + [1649826557.582140][3628:3633] CHIP:DMG: } + [1649826557.582440][3628:3633] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0027 DataVersion: 2758196590 + [1649826557.582577][3628:3633] CHIP:TOO: RxTotalCount: 1800 disabled: true - label: "DUT reads RxUnicastCount attribute value from TH" PICS: DGTHREAD.C.A0029 verification: | - ./chip-tool threadnetworkdiagnostics read rx-unicast-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-unicast-count 65 0 + Verify on the TH Log: - [1646738241.447091][5738:5743] CHIP:DMG: SuppressResponse = true, - [1646738241.447178][5738:5743] CHIP:DMG: InteractionModelRevision = 1 - [1646738241.447237][5738:5743] CHIP:DMG: } - [1646738241.447593][5738:5743] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0028DataVersion: 3054043217 - [1646738241.447713][5738:5743] CHIP:TOO: RxUnicastCount: 631 + [1649826579.815407][3637:3642] CHIP:DMG: SuppressResponse = true, + [1649826579.815471][3637:3642] CHIP:DMG: InteractionModelRevision = 1 + [1649826579.815528][3637:3642] CHIP:DMG: } + [1649826579.815826][3637:3642] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0028 DataVersion: 2758196590 + [1649826579.815967][3637:3642] CHIP:TOO: RxUnicastCount: 1170 disabled: true - label: "DUT reads RxBroadcastCount attribute value from TH" PICS: DGTHREAD.C.A002a verification: | - ./chip-tool threadnetworkdiagnostics read rx-broadcast-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-broadcast-count 65 0 + Verify on the TH Log: - - [1646738300.760922][5746:5751] CHIP:DMG: SuppressResponse = true, - [1646738300.760968][5746:5751] CHIP:DMG: InteractionModelRevision = 1 - [1646738300.761012][5746:5751] CHIP:DMG: } - [1646738300.761243][5746:5751] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0029DataVersion: 3054043217 - [1646738300.761336][5746:5751] CHIP:TOO: RxBroadcastCount: 139 + [1649826618.938816][3643:3648] CHIP:DMG: SuppressResponse = true, + [1649826618.938878][3643:3648] CHIP:DMG: InteractionModelRevision = 1 + [1649826618.938937][3643:3648] CHIP:DMG: } + [1649826618.939235][3643:3648] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0029 DataVersion: 2758196590 + [1649826618.939376][3643:3648] CHIP:TOO: RxBroadcastCount: 91 disabled: true - label: "DUT reads RxDataCount attribute value from TH" PICS: DGTHREAD.C.A002b verification: | - ./chip-tool threadnetworkdiagnostics read rx-data-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-data-count 65 0 + Verify on the TH Log: - [1646738383.217036][5756:5761] CHIP:DMG: SuppressResponse = true, - [1646738383.217098][5756:5761] CHIP:DMG: InteractionModelRevision = 1 - [1646738383.217154][5756:5761] CHIP:DMG: } - [1646738383.217447][5756:5761] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002ADataVersion: 3054043217 - [1646738383.217567][5756:5761] CHIP:TOO: RxDataCount: 753 + [1649826651.375014][3653:3658] CHIP:DMG: SuppressResponse = true, + [1649826651.375076][3653:3658] CHIP:DMG: InteractionModelRevision = 1 + [1649826651.375134][3653:3658] CHIP:DMG: } + [1649826651.375439][3653:3658] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002A DataVersion: 2758196590 + [1649826651.375576][3653:3658] CHIP:TOO: RxDataCount: 1137 disabled: true - label: "DUT reads RxDataPollCount attribute value from TH" PICS: DGTHREAD.C.A002c verification: | - ./chip-tool threadnetworkdiagnostics read rx-data-poll-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-data-poll-count 65 0 + Verify on the TH Log: - - [1646738446.750936][5765:5770] CHIP:DMG: SuppressResponse = true, - [1646738446.751000][5765:5770] CHIP:DMG: InteractionModelRevision = 1 - [1646738446.751056][5765:5770] CHIP:DMG: } - [1646738446.751417][5765:5770] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002BDataVersion: 3054043217 - [1646738446.751535][5765:5770] CHIP:TOO: RxDataPollCount: 0 + [1649826681.548001][3659:3664] CHIP:DMG: SuppressResponse = true, + [1649826681.548086][3659:3664] CHIP:DMG: InteractionModelRevision = 1 + [1649826681.548146][3659:3664] CHIP:DMG: } + [1649826681.548573][3659:3664] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002B DataVersion: 2758196590 + [1649826681.548717][3659:3664] CHIP:TOO: RxDataPollCount: 0 disabled: true - label: "DUT reads RxBeaconCount attribute value from TH" PICS: DGTHREAD.C.A002d verification: | - ./chip-tool threadnetworkdiagnostics read rx-beacon-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-beacon-count 65 0 + Verify on the TH Log: - [1646738572.647248][5777:5782] CHIP:DMG: SuppressResponse = true, - [1646738572.647310][5777:5782] CHIP:DMG: InteractionModelRevision = 1 - [1646738572.647367][5777:5782] CHIP:DMG: } - [1646738572.647662][5777:5782] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002CDataVersion: 3054043217 - [1646738572.647783][5777:5782] CHIP:TOO: RxBeaconCount: 0 + [1649826720.298790][3667:3672] CHIP:DMG: SuppressResponse = true, + [1649826720.298852][3667:3672] CHIP:DMG: InteractionModelRevision = 1 + [1649826720.298909][3667:3672] CHIP:DMG: } + [1649826720.299210][3667:3672] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002C DataVersion: 2758196590 + [1649826720.299349][3667:3672] CHIP:TOO: RxBeaconCount: 0 disabled: true - label: "DUT reads RxBeaconRequestCount attribute value from TH" PICS: DGTHREAD.C.A002e verification: | - ./chip-tool threadnetworkdiagnostics read rx-beacon-request-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-beacon-request-count 65 0 + Verify on the TH Log: - - [1646738691.837242][5788:5793] CHIP:DMG: SuppressResponse = true, - [1646738691.837304][5788:5793] CHIP:DMG: InteractionModelRevision = 1 - [1646738691.837360][5788:5793] CHIP:DMG: } - [1646738691.837658][5788:5793] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002DDataVersion: 3054043217 - [1646738691.837840][5788:5793] CHIP:TOO: RxBeaconRequestCount: 0 + [1649826748.246273][3675:3680] CHIP:DMG: SuppressResponse = true, + [1649826748.246337][3675:3680] CHIP:DMG: InteractionModelRevision = 1 + [1649826748.246394][3675:3680] CHIP:DMG: } + [1649826748.246689][3675:3680] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002D DataVersion: 2758196590 + [1649826748.246829][3675:3680] CHIP:TOO: RxBeaconRequestCount: 0 disabled: true - label: "DUT reads RxOtherCount attribute value from TH" PICS: DGTHREAD.C.A002f verification: | - ./chip-tool threadnetworkdiagnostics read rx-other-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-other-count 65 0 + Verify on the TH Log: - [1646738774.485629][5800:5805] CHIP:DMG: SuppressResponse = true, - [1646738774.485664][5800:5805] CHIP:DMG: InteractionModelRevision = 1 - [1646738774.485736][5800:5805] CHIP:DMG: } - [1646738774.485917][5800:5805] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002EDataVersion: 3054043217 - [1646738774.485989][5800:5805] CHIP:TOO: RxOtherCount: 0 + [1649826777.590499][3682:3687] CHIP:DMG: SuppressResponse = true, + [1649826777.590561][3682:3687] CHIP:DMG: InteractionModelRevision = 1 + [1649826777.590618][3682:3687] CHIP:DMG: } + [1649826777.590919][3682:3687] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002E DataVersion: 2758196590 + [1649826777.591058][3682:3687] CHIP:TOO: RxOtherCount: 0 disabled: true - label: "DUT reads RxAddressFilteredCount attribute value from TH" PICS: DGTHREAD.C.A0030 verification: | - ./chip-tool threadnetworkdiagnostics read rx-address-filtered-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-address-filtered-count 65 0 + Verify on the TH Log: - - [1646738844.081914][5809:5814] CHIP:DMG: SuppressResponse = true, - [1646738844.081975][5809:5814] CHIP:DMG: InteractionModelRevision = 1 - [1646738844.082032][5809:5814] CHIP:DMG: } - [1646738844.082324][5809:5814] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002FDataVersion: 3054043217 - [1646738844.082447][5809:5814] CHIP:TOO: RxAddressFilteredCount: 0 + [1649826804.387075][3688:3693] CHIP:DMG: SuppressResponse = true, + [1649826804.387139][3688:3693] CHIP:DMG: InteractionModelRevision = 1 + [1649826804.387197][3688:3693] CHIP:DMG: } + [1649826804.387498][3688:3693] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_002F DataVersion: 2758196590 + [1649826804.387640][3688:3693] CHIP:TOO: RxAddressFilteredCount: 0 disabled: true - label: "DUT reads RxDestAddrFilteredCount attribute value from TH" PICS: DGTHREAD.C.A0031 verification: | - ./chip-tool threadnetworkdiagnostics read rx-dest-addr-filtered-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-dest-addr-filtered-count 65 0 + Verify on the TH Log: - [1646738920.739962][5818:5823] CHIP:DMG: SuppressResponse = true, - [1646738920.740023][5818:5823] CHIP:DMG: InteractionModelRevision = 1 - [1646738920.740080][5818:5823] CHIP:DMG: } - [1646738920.740378][5818:5823] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0030DataVersion: 3054043217 - [1646738920.740498][5818:5823] CHIP:TOO: RxDestAddrFilteredCount: 236 + [1649826829.993945][3697:3702] CHIP:DMG: SuppressResponse = true, + [1649826829.994007][3697:3702] CHIP:DMG: InteractionModelRevision = 1 + [1649826829.994066][3697:3702] CHIP:DMG: } + [1649826829.994369][3697:3702] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0030 DataVersion: 2758196590 + [1649826829.994509][3697:3702] CHIP:TOO: RxDestAddrFilteredCount: 65 disabled: true - label: "DUT reads RxDuplicatedCount attribute value from TH" PICS: DGTHREAD.C.A0032 verification: | - ./chip-tool threadnetworkdiagnostics read rx-duplicated-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-duplicated-count 65 0 + Verify on the TH Log: - [1646739012.123029][5829:5834] CHIP:DMG: SuppressResponse = true, - [1646739012.123091][5829:5834] CHIP:DMG: InteractionModelRevision = 1 - [1646739012.123147][5829:5834] CHIP:DMG: } - [1646739012.123440][5829:5834] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0031DataVersion: 3054043217 - [1646739012.123561][5829:5834] CHIP:TOO: RxDuplicatedCount: 52 + [1649826865.904951][3703:3708] CHIP:DMG: SuppressResponse = true, + [1649826865.905034][3703:3708] CHIP:DMG: InteractionModelRevision = 1 + [1649826865.905094][3703:3708] CHIP:DMG: } + [1649826865.905397][3703:3708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0031 DataVersion: 2758196590 + [1649826865.905541][3703:3708] CHIP:TOO: RxDuplicatedCount: 194 disabled: true - label: "DUT reads RxErrNoFrameCount attribute value from TH" PICS: DGTHREAD.C.A0033 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-no-frame-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-err-no-frame-count 65 0 + Verify on the TH Log: - - [1646739077.952221][5837:5842] CHIP:DMG: SuppressResponse = true, - [1646739077.952274][5837:5842] CHIP:DMG: InteractionModelRevision = 1 - [1646739077.952323][5837:5842] CHIP:DMG: } - [1646739077.952583][5837:5842] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0032DataVersion: 3054043217 - [1646739077.952686][5837:5842] CHIP:TOO: RxErrNoFrameCount: 4 + [1649826895.919770][3711:3716] CHIP:DMG: SuppressResponse = true, + [1649826895.919832][3711:3716] CHIP:DMG: InteractionModelRevision = 1 + [1649826895.919890][3711:3716] CHIP:DMG: } + [1649826895.920190][3711:3716] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0032 DataVersion: 2758196590 + [1649826895.920328][3711:3716] CHIP:TOO: RxErrNoFrameCount: 7 disabled: true - label: "DUT reads RxErrUnknownNeighborCount attribute value from TH" PICS: DGTHREAD.C.A0034 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-unknown-neighbor-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-err-unknown-neighbor-count 65 0 + Verify on the TH Log: - [1646739155.003643][5848:5853] CHIP:DMG: SuppressResponse = true, - [1646739155.003704][5848:5853] CHIP:DMG: InteractionModelRevision = 1 - [1646739155.003762][5848:5853] CHIP:DMG: } - [1646739155.004056][5848:5853] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0033DataVersion: 3054043217 - [1646739155.004175][5848:5853] CHIP:TOO: RxErrUnknownNeighborCount: 0 + [1649826928.095373][3718:3723] CHIP:DMG: SuppressResponse = true, + [1649826928.095435][3718:3723] CHIP:DMG: InteractionModelRevision = 1 + [1649826928.095492][3718:3723] CHIP:DMG: } + [1649826928.095796][3718:3723] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0033 DataVersion: 2758196590 + [1649826928.095936][3718:3723] CHIP:TOO: RxErrUnknownNeighborCount: 0 disabled: true - label: "DUT reads RxErrInvalidScrAddrCount attribute value from TH" PICS: DGTHREAD.C.A0035 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-invalid-src-addr-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-err-invalid-src-addr-count 65 0 + Verify on the TH Log: - - [1646739225.753184][5856:5861] CHIP:DMG: SuppressResponse = true, - [1646739225.753246][5856:5861] CHIP:DMG: InteractionModelRevision = 1 - [1646739225.753303][5856:5861] CHIP:DMG: } - [1646739225.753597][5856:5861] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0034DataVersion: 3054043217 - [1646739225.753786][5856:5861] CHIP:TOO: RxErrInvalidSrcAddrCount: 0 + [1649826953.827775][3727:3732] CHIP:DMG: SuppressResponse = true, + [1649826953.827837][3727:3732] CHIP:DMG: InteractionModelRevision = 1 + [1649826953.827894][3727:3732] CHIP:DMG: } + [1649826953.828197][3727:3732] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0034 DataVersion: 2758196590 + [1649826953.828346][3727:3732] CHIP:TOO: RxErrInvalidSrcAddrCount: 0 disabled: true - label: "DUT reads RxErrSecCount attribute value from TH" PICS: DGTHREAD.C.A0036 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-sec-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-err-sec-count 65 0 + Verify on the TH Log: - [1646739315.327880][5866:5871] CHIP:DMG: SuppressResponse = true, - [1646739315.327941][5866:5871] CHIP:DMG: InteractionModelRevision = 1 - [1646739315.328019][5866:5871] CHIP:DMG: } - [1646739315.328356][5866:5871] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0035DataVersion: 3054043217 - [1646739315.328499][5866:5871] CHIP:TOO: RxErrSecCount: 0 + [1649826991.014971][3733:3738] CHIP:DMG: SuppressResponse = true, + [1649826991.015035][3733:3738] CHIP:DMG: InteractionModelRevision = 1 + [1649826991.015093][3733:3738] CHIP:DMG: } + [1649826991.015394][3733:3738] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0035 DataVersion: 2758196590 + [1649826991.015534][3733:3738] CHIP:TOO: RxErrSecCount: 0 disabled: true - label: "DUT reads RxErrFcsCount attribute value from TH" PICS: DGTHREAD.C.A0037 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-fcs-count 180 0 + ./chip-tool threadnetworkdiagnostics read rx-err-fcs-count 65 0 + Verify on the TH Log: - - [1646739379.593616][5874:5879] CHIP:DMG: SuppressResponse = true, - [1646739379.593677][5874:5879] CHIP:DMG: InteractionModelRevision = 1 - [1646739379.593789][5874:5879] CHIP:DMG: } - [1646739379.594088][5874:5879] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0036DataVersion: 3054043217 - [1646739379.594206][5874:5879] CHIP:TOO: RxErrFcsCount: 6 + [1649827019.107248][3740:3745] CHIP:DMG: SuppressResponse = true, + [1649827019.107310][3740:3745] CHIP:DMG: InteractionModelRevision = 1 + [1649827019.107367][3740:3745] CHIP:DMG: } + [1649827019.107664][3740:3745] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0036 DataVersion: 2758196590 + [1649827019.107803][3740:3745] CHIP:TOO: RxErrFcsCount: 674 disabled: true - label: "DUT reads RxErrOtherCount attribute value from TH" PICS: DGTHREAD.C.A0038 verification: | - ./chip-tool threadnetworkdiagnostics read rx-err-other-count 180 0 - + ./chip-tool threadnetworkdiagnostics read rx-err-other-count 65 0 + Verify on the TH Log: - [1646739504.881524][5888:5893] CHIP:DMG: SuppressResponse = true, - [1646739504.881585][5888:5893] CHIP:DMG: InteractionModelRevision = 1 - [1646739504.881642][5888:5893] CHIP:DMG: } - [1646739504.882002][5888:5893] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0037DataVersion: 3054043217 - [1646739504.882124][5888:5893] CHIP:TOO: RxErrOtherCount: 1 + [1649827053.305098][3750:3755] CHIP:DMG: SuppressResponse = true, + [1649827053.305160][3750:3755] CHIP:DMG: InteractionModelRevision = 1 + [1649827053.305217][3750:3755] CHIP:DMG: } + [1649827053.305513][3750:3755] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0037 DataVersion: 2758196590 + [1649827053.305651][3750:3755] CHIP:TOO: RxErrOtherCount: 5 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_4.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_4.yaml index 612819a0a7e548..b0a3622fcb1576 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_4.yaml @@ -29,7 +29,8 @@ tests: - label: "DUT sends ResetCounts Command to TH" PICS: DGTHREAD.C.C00.Tx verification: | - ./chip-tool threadnetworkdiagnostics reset-counts 180 0 + ./chip-tool threadnetworkdiagnostics reset-counts 65 0 + Verify on the TH Log: [1649229224.437208][22196:22201] CHIP:DMG: StatusIB = [1649229224.437366][22196:22201] CHIP:DMG: { @@ -53,11 +54,11 @@ tests: PICS: DGTHREAD.C.A0007 verification: | ./chip-tool threadnetworkdiagnostics read overrun-count 180 0 + Verify on the TH Log: - - [1646735070.360374][5373:5378] CHIP:DMG: SuppressResponse = true, - [1646735070.360437][5373:5378] CHIP:DMG: InteractionModelRevision = 1 - [1646735070.360495][5373:5378] CHIP:DMG: } - [1646735070.360800][5373:5378] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0006DataVersion: 3054043217 - [1646735070.360905][5373:5378] CHIP:TOO: OverrunCount: 0 + [1649827143.462761][3767:3772] CHIP:DMG: SuppressResponse = true, + [1649827143.462823][3767:3772] CHIP:DMG: InteractionModelRevision = 1 + [1649827143.462880][3767:3772] CHIP:DMG: } + [1649827143.463177][3767:3772] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_0006 DataVersion: 2758196590 + [1649827143.463312][3767:3772] CHIP:TOO: OverrunCount: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_5.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_5.yaml index 95af89fc51e59f..417c6b538c7026 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_3_5.yaml @@ -76,14 +76,12 @@ tests: verification: | ./chip-tool threadnetworkdiagnostics read-event connection-status 137 0 + Verify on the TH Log: - D: 6728348 [EM]Handling via exchange: 2503r, Delegate: 0x2000753c - D: 6728354 [IM]Received Read request - D: 6728358 [DMG]IM RH moving to [GeneratingReports] - D: 6728363 [DMG]Building Reports for ReadHandler with LastReportGeneration = 0 0 - D: 6728372 [DMG]Fetched 0 events - D: 6728375 [DMG] Sending report (payload has 7 bytes)... - I: 6728381 [IN]Prepared secure message 0x20004a74 to 0x000000000001B669 (1) of. - I: 6728395 [IN]Sending encrypted msg 0x20004a74 with MessageCounter:6424591 to c - D: 6728409 [DMG] OnReportConfirm: NumReports = 0 + [1651233430.972821][7560:7565] CHIP:DMG: ReportDataMessage = + [1651233430.972891][7560:7565] CHIP:DMG: { + [1651233430.972950][7560:7565] CHIP:DMG: SuppressResponse = true, + [1651233430.973013][7560:7565] CHIP:DMG: InteractionModelRevision = 1 + [1651233430.973070][7560:7565] CHIP:DMG: } + [1651233430.973222][7560:7565] CHIP:EM: Sending Standalone Ack for MessageCounter:6424591 on exchange 2503i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml index bcdb38a1aa3f2e..2754757e2ed4b7 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml @@ -30,6 +30,7 @@ tests: verification: | ./chip-tool wifinetworkdiagnostics read cluster-revision 1 0 + Verify on the TH Log: [1651834623.658618][3910:3916] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 2858283115 [1651834623.658776][3910:3916] CHIP:TOO: ClusterRevision: 1 @@ -39,6 +40,7 @@ tests: verification: | ./chip-tool wifinetworkdiagnostics read feature-map 1 0 + Verify on the TH Log: [1651834671.432383][3919:3924] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFC DataVersion: 2858283115 [1651834671.432466][3919:3924] CHIP:TOO: FeatureMap: 3 @@ -48,6 +50,8 @@ tests: verification: | ./chip-tool wifinetworkdiagnostics read attribute-list 1 0 + Verify on the TH Log: + [1651834734.844051][3928:3933] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFB DataVersion: 2858283115 [1651834734.844159][3928:3933] CHIP:TOO: AttributeList: 18 entries [1651834734.844193][3928:3933] CHIP:TOO: [1]: 0 @@ -74,6 +78,8 @@ tests: verification: | ./chip-tool wifinetworkdiagnostics read accepted-command-list 1 0 + Verify on the TH Log: + [1651788161.332422][241228:241233] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFF9 DataVersion: 3097381936 [1651788161.332475][241228:241233] CHIP:TOO: AcceptedCommandList: 1 entries [1651788161.332500][241228:241233] CHIP:TOO: [1]: 0 @@ -82,6 +88,7 @@ tests: - label: "TH reads GeneratedCommandList from DUT" verification: | ./chip-tool wifinetworkdiagnostics read generated-command-list 1 0 + Verify on the TH Log: [1651788208.608429][241239:241244] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFF8 DataVersion: 3097381936 [1651788208.608490][241239:241244] CHIP:TOO: GeneratedCommandList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_2.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_2.yaml index f22f60eb657aca..cccfe64e4c799f 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 51.2.2. [TC-DGWIFI-2.2] Event functionality with server as DUT +name: 3.2.2. [TC-DGWIFI-2.2] Event Functionality [DUT as Server] config: nodeId: 0x12344321 @@ -21,25 +21,54 @@ config: endpoint: 0 tests: - - label: "Commission DUT to TH" + - label: + "Disconnect node WiFi as a result of de-authentication or + dis-association." + PICS: DGWIFI.S.E00 verification: | + This is an Optional event so its not compulsory to get the expected outcome - disabled: true + ./chip-tool wifinetworkdiagnostics read-event disconnection 1 0 + Verify on the TH Log: - - label: "TH sends chip-tool command to DUT" - PICS: DGWIFI.S.E00 - verification: | - chip-tool wifinetworkdiagnostics read-event disconnection 1 0 + [1655734228.476828][18708:18713] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Event 0x0000_0000 + [1655734228.476890][18708:18713] CHIP:TOO: Event number: 2 + [1655734228.476945][18708:18713] CHIP:TOO: Priority: Info + [1655734228.476998][18708:18713] CHIP:TOO: Timestamp: 30160685 + [1655734228.477141][18708:18713] CHIP:TOO: Disconnection: { + [1655734228.477215][18708:18713] CHIP:TOO: ReasonCode: 65533 + [1655734228.477271][18708:18713] CHIP:TOO: } disabled: true - - label: "TH sends chip-tool command to DUT" + - label: + "Disconnect node WiFi as a result of de-authentication or + dis-association. DUT exhausts all internal retries." PICS: DGWIFI.S.E01 verification: | - chip-tool wifinetworkdiagnostics read-event association-failure 1 0 + This is an Optional event so its not compulsory to get the expected outcome + + ./chip-tool wifinetworkdiagnostics read-event association-failure 1 0 + + CHIP:DMG: ReportDataMessage = + [1651574380.297222][8941:8946] CHIP:DMG: { + [1651574380.297245][8941:8946] CHIP:DMG: SuppressResponse = true, + [1651574380.297270][8941:8946] CHIP:DMG: InteractionModelRevision = 1 + [1651574380.297293][8941:8946] CHIP:DMG: } + [1651574380.297374][8941:8946] CHIP:EM: Sending Standalone Ack for MessageCounter:12534430 on exchange 15170i disabled: true - - label: "TH sends chip-tool command to DUT" + - label: "Disconnect and reconnect node WiFi." PICS: DGWIFI.S.E02 verification: | - chip-tool wifinetworkdiagnostics read-event connection-status 1 0 + This is an Optional event so its not compulsory to get the expected outcome + + ./chip-tool wifinetworkdiagnostics read-event connection-status 1 0 + + [1655734276.513474][18731:18736] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Event 0x0000_0002 + [1655734276.513504][18731:18736] CHIP:TOO: Event number: 3 + [1655734276.513526][18731:18736] CHIP:TOO: Priority: Info + [1655734276.513548][18731:18736] CHIP:TOO: Timestamp: 30160685 + [1655734276.513621][18731:18736] CHIP:TOO: ConnectionStatus: { + [1655734276.513659][18731:18736] CHIP:TOO: ConnectionStatus: 0 + [1655734276.513733][18731:18736] CHIP:TOO: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_3.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_3.yaml index bed1769ad4774d..aef885fe6add0a 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_2_3.yaml @@ -32,46 +32,46 @@ tests: # Also, ResetCounts may not work on some platforms yet? # And on Linux since we don't have actual Wi-Fi these error out. - label: "TH sends ResetCounts command to DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "ResetCounts" - label: "Reads BeaconLostCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "BeaconLostCount" response: value: 0 - label: "Reads BeaconRxCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "BeaconRxCount" response: value: 0 - label: "Reads PacketMulticastRxCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "PacketMulticastRxCount" response: value: 0 - label: "Reads PacketMulticastTxCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "PacketMulticastTxCount" response: value: 0 - label: "Reads PacketUnicastRxCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "PacketUnicastRxCount" response: value: 0 - label: "Reads PacketUnicastTxCount attribute from DUT" - PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00 + PICS: PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp command: "readAttribute" attribute: "PacketUnicastTxCount" response: diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml index ad16b7e4222243..dcfa35600960df 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.3.1. [TC-DGWIFI-3.1] Attributes with client as DUT +name: 3.3.1. [TC-DGWIFI-3.1]Attributes [DUT as Client] config: nodeId: 0x12344321 @@ -29,7 +29,9 @@ tests: - label: "DUT reads NetworkInterface structure attribute from TH." PICS: DGWIFI.S.A0000 verification: | - Verify that the attribute value is non-zero and the value data type matches + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool wifinetworkdiagnostics read bssid 1 0 [1650451782.025188][9063:9068] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0000 DataVersion: 1028539580 @@ -39,7 +41,9 @@ tests: - label: "DUT reads a SecurityType attribute value from TH." PICS: DGWIFI.S.A0001 verification: | - Verify that the attribute value is non-zero and the value data type matches + verify on Reference app receives the right response for the data sent in the below commands + + Verify in TH all-clusters-app log ./chip-tool wifinetworkdiagnostics read security-type 1 0 [1650451927.587236][9086:9091] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0001 DataVersion: 1028539580 @@ -49,8 +53,11 @@ tests: - label: "DUT reads a WiFiVersion attribute value from TH." PICS: DGWIFI.S.A0002 verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool wifinetworkdiagnostics read wi-fi-version 1 0 + Verify in TH all-clusters-app log + [1650451948.677197][9092:9097] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0002 DataVersion: 1028539580 [1650451948.677299][9092:9097] CHIP:TOO: WiFiVersion: 3 disabled: true @@ -58,8 +65,12 @@ tests: - label: "DUT reads a ChannelNumber attribute value from TH." PICS: DGWIFI.S.A0003 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool wifinetworkdiagnostics read channel-number 1 0 + Verify in TH all-clusters-app log + [1650451989.021486][9112:9117] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0003 DataVersion: 1028539580 [1650451989.021547][9112:9117] CHIP:TOO: ChannelNumber: 1 disabled: true @@ -67,8 +78,12 @@ tests: - label: "DUT reads a RSSI attribute value from TH." PICS: DGWIFI.S.A0004 verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. + Verify in TH all-clusters-app log + ./chip-tool wifinetworkdiagnostics read rssi 1 0 [1650452156.130334][9132:9137] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0004 DataVersion: 1028539580 [1650452156.130405][9132:9137] CHIP:TOO: Rssi: -11 @@ -77,10 +92,14 @@ tests: - label: "DUT reads a BeaconLostCount attribute value from TH." PICS: DGWIFI.S.A0005 verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read beacon-lost-count 1 0 + Verify in TH all-clusters-app log + [1650450239.341208][5252:5257] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0005 DataVersion: 1626643502 [1650450239.341280][5252:5257] CHIP:TOO: BeaconLostCount: 0 disabled: true @@ -88,9 +107,14 @@ tests: - label: "DUT reads a BeaconRxCount attribute value from TH." PICS: DGWIFI.S.A0006 verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read beacon-rx-count 1 0 + + Verify in TH all-clusters-app log + [1650454625.960728][9290:9295] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0006 DataVersion: 1028539580 [1650454625.960813][9290:9295] CHIP:TOO: BeaconRxCount: 0 disabled: true @@ -98,9 +122,14 @@ tests: - label: "DUT reads a PacketMultiRxCount attribute value from TH." PICS: DGWIFI.S.A0007 verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read packet-multicast-rx-count 1 0 + + Verify in TH all-clusters-app log + [1650454695.550436][9303:9308] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0007 DataVersion: 1028539580 [1650454695.550515][9303:9308] CHIP:TOO: PacketMulticastRxCount: 401028 disabled: true @@ -108,10 +137,14 @@ tests: - label: "DUT reads a PacketMultiTxCount attribute value from TH." PICS: DGWIFI.S.A0008 verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read packet-multicast-tx-count 1 0 + Verify in TH all-clusters-app log + [1650454724.371654][9311:9316] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0008 DataVersion: 1028539580 [1650454724.371740][9311:9316] CHIP:TOO: PacketMulticastTxCount: 0 disabled: true @@ -119,10 +152,13 @@ tests: - label: "DUT reads a PacketUniRxCount attribute value from TH." PICS: DGWIFI.S.A0009 verification: | + verify on Reference app receives the right response for the data sent in the below commands Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read packet-unicast-rx-count 1 0 + Verify in TH all-clusters-app log + [1650454751.954086][9317:9322] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_0009 DataVersion: 1028539580 [1650454751.954174][9317:9322] CHIP:TOO: PacketUnicastRxCount: 4855 disabled: true @@ -130,8 +166,12 @@ tests: - label: "DUT reads a PacketUniTxCount attribute value from TH." PICS: DGWIFI.S.A000a verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. + Verify in TH all-clusters-app log + ./chip-tool wifinetworkdiagnostics read packet-unicast-tx-count 1 0 [1650454782.789340][9323:9328] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_000A DataVersion: 1028539580 [1650454782.789426][9323:9328] CHIP:TOO: PacketUnicastTxCount: 0 @@ -140,10 +180,14 @@ tests: - label: "DUT reads CurrentMaxRate attribute value from TH." PICS: DGWIFI.S.A000b verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read current-max-rate 1 0 + Verify in TH all-clusters-app log + [1650451685.092993][5470:5475] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_000B DataVersion: 1626643502 [1650451685.093078][5470:5475] CHIP:TOO: CurrentMaxRate: 24000000 disabled: true @@ -151,10 +195,14 @@ tests: - label: "DUT reads a OverrunCount attribute value from TH." PICS: DGWIFI.S.A000c verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify that the attribute data value is present. If the value is 0, no packet loss was recorded or it was just reset from a node reboot. ./chip-tool wifinetworkdiagnostics read overrun-count 1 0 + Verify in TH all-clusters-app log + [1650451635.634814][9056:9061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_000C DataVersion: 1028539580 [1650451635.634882][9056:9061] CHIP:TOO: OverrunCount: 0 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_2.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_2.yaml index 0cb869a747146b..0fddba3d7cd2cb 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.2.2. [TC-DGWIFI-3.2] Commands with client as DUT +name: 3.2.2. [TC-DGWIFI-3.2]Command Generated [DUT as Client] config: nodeId: 0x12344321 @@ -21,17 +21,22 @@ config: endpoint: 0 tests: - - label: "Commission DUT to TH" + - label: "Commission TH to DUT" verification: | disabled: true - label: "DUT sends ResetCounts command to TH" - PICS: DGWIFI.S.C00 + PICS: DGWIFI.S.C00.Rsp verification: | + verify on Reference app receives the right response for the data sent in the below commands + Verify Command data recieved from running the below command is a success ./chip-tool wifinetworkdiagnostics reset-counts 1 0 + + Verify in TH all-clusters-app log + CHIP:DMG: InvokeResponseMessage = [1649664146.639743][8173:8178] CHIP:DMG: { [1649664146.639789][8173:8178] CHIP:DMG: suppressResponse = false, diff --git a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml index 1d6640b461f04d..0a8540ac296e40 100644 --- a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 55.1.1. [TC-DLOG-1.1] Global Attributes [DUT-Server] +name: 56.1.1. [TC-DLOG-1.1] Global Attributes [DUT-Server] config: nodeId: 0x12344321 @@ -30,6 +30,7 @@ tests: verification: | sudo ./chip-tool diagnosticlogs read cluster-revision 1 0 + Verify on the TH Log: [1653983972.206171][5186:5191] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2389393200 [1653983972.206236][5186:5191] CHIP:TOO: ClusterRevision: 1 @@ -39,6 +40,7 @@ tests: verification: | sudo ./chip-tool diagnosticlogs read feature-map 1 0 + Verify on the TH Log: [1653983676.882544][5166:5171] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFC DataVersion: 2389393200 [1653983676.882637][5166:5171] CHIP:TOO: FeatureMap: 0 @@ -48,6 +50,7 @@ tests: verification: | sudo ./chip-tool diagnosticlogs read attribute-list 1 0 + Verify on the TH Log: [1649670392.536999][3576:3581] CHIP:DMG: [1649670392.537040][3576:3581] CHIP:DMG: SuppressResponse = true, @@ -64,6 +67,7 @@ tests: verification: | sudo ./chip-tool diagnosticlogs read accepted-command-list 1 0 + Verify on the TH Log: [1649670700.139000][3624:3629] CHIP:DMG: [1649670700.139033][3624:3629] CHIP:DMG: SuppressResponse = true, @@ -78,6 +82,7 @@ tests: verification: | sudo ./chip-tool diagnosticlogs read generated-command-list 1 0 + Verify on the TH Log: [1649670576.965898][3602:3607] CHIP:DMG: [1649670576.965927][3602:3607] CHIP:DMG: SuppressResponse = true, diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml index b76564984b3317..f5b60f2163c07e 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 111.1.1. [TC-DRLK-1.1] Global Attributes [DUT-Server] +name: 113.1.1. [TC-DRLK-1.1] Global Attributes [DUT-Server] config: nodeId: 0x12344321 @@ -29,87 +29,123 @@ tests: - label: "TH reads the ClusterRevision from DUT" verification: | ./chip-tool doorlock read cluster-revision 1 1 + Verify on the TH Log: - [1653373723.118856][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFD DataVersion: 4018252607 - [1653373723.121404][2592:2597] CHIP:TOO: ClusterRevision: 6 + [1654670381.498137][2934:2939] CHIP:DMG: + [1654670381.498163][2934:2939] CHIP:DMG: SuppressResponse = true, + [1654670381.498189][2934:2939] CHIP:DMG: InteractionModelRevision = 1 + [1654670381.498214][2934:2939] CHIP:DMG: } + [1654670381.498373][2934:2939] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFD DataVersion: 1454093977 + [1654670381.498486][2934:2939] CHIP:TOO: ClusterRevision: 6 disabled: true - label: "TH reads the FeatureMap from DUT" verification: | ./chip-tool doorlock read feature-map 1 1 + Verify on the TH Log: - [1653373812.820370][2602:2607] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFC DataVersion: 4018252607 - [1653373812.820429][2602:2607] CHIP:TOO: FeatureMap: 275 + [1656418178.505801][10046:10051] CHIP:DMG: ], + [1656418178.505844][10046:10051] CHIP:DMG: + [1656418178.505880][10046:10051] CHIP:DMG: SuppressResponse = true, + [1656418178.505917][10046:10051] CHIP:DMG: InteractionModelRevision = 1 + [1656418178.505951][10046:10051] CHIP:DMG: } + [1656418178.506139][10046:10051] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFC DataVersion: 1077483880 + [1656418178.506228][10046:10051] CHIP:TOO: FeatureMap: 435 disabled: true - label: "TH reads AttributeList from DUT" verification: | ./chip-tool doorlock read attribute-list 1 1 + Verify on the TH Log: - [1653373860.712540][2696:2701] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFB DataVersion: 4018252607 - [1653373860.712642][2696:2701] CHIP:TOO: AttributeList: 29 entries - [1653373860.712676][2696:2701] CHIP:TOO: [1]: 0 - [1653373860.712702][2696:2701] CHIP:TOO: [2]: 1 - [1653373860.712727][2696:2701] CHIP:TOO: [3]: 2 - [1653373860.712751][2696:2701] CHIP:TOO: [4]: 3 - [1653373860.712775][2696:2701] CHIP:TOO: [5]: 17 - [1653373860.712800][2696:2701] CHIP:TOO: [6]: 18 - [1653373860.712824][2696:2701] CHIP:TOO: [7]: 19 - [1653373860.712848][2696:2701] CHIP:TOO: [8]: 20 - [1653373860.712872][2696:2701] CHIP:TOO: [9]: 21 - [1653373860.712895][2696:2701] CHIP:TOO: [10]: 23 - [1653373860.712919][2696:2701] CHIP:TOO: [11]: 24 - [1653373860.712943][2696:2701] CHIP:TOO: [12]: 25 - [1653373860.712967][2696:2701] CHIP:TOO: [13]: 26 - [1653373860.712991][2696:2701] CHIP:TOO: [14]: 27 - [1653373860.713014][2696:2701] CHIP:TOO: [15]: 33 - [1653373860.713038][2696:2701] CHIP:TOO: [16]: 35 - [1653373860.713060][2696:2701] CHIP:TOO: [17]: 36 - [1653373860.713083][2696:2701] CHIP:TOO: [18]: 37 - [1653373860.713107][2696:2701] CHIP:TOO: [19]: 38 - [1653373860.713131][2696:2701] CHIP:TOO: [20]: 41 - [1653373860.713155][2696:2701] CHIP:TOO: [21]: 43 - [1653373860.713178][2696:2701] CHIP:TOO: [22]: 48 - [1653373860.713202][2696:2701] CHIP:TOO: [23]: 49 - [1653373860.713226][2696:2701] CHIP:TOO: [24]: 51 - [1653373860.713248][2696:2701] CHIP:TOO: [25]: 65528 - [1653373860.713272][2696:2701] CHIP:TOO: [26]: 65529 - [1653373860.713296][2696:2701] CHIP:TOO: [27]: 65531 - [1653373860.713320][2696:2701] CHIP:TOO: [28]: 65532 - [1653373860.713344][2696:2701] CHIP:TOO: [29]: 65533 + [1656418220.810680][10056:10061] CHIP:DMG: ], + [1656418220.810827][10056:10061] CHIP:DMG: + [1656418220.810851][10056:10061] CHIP:DMG: SuppressResponse = true, + [1656418220.810876][10056:10061] CHIP:DMG: InteractionModelRevision = 1 + [1656418220.810898][10056:10061] CHIP:DMG: } + [1656418220.812834][10056:10061] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFFB DataVersion: 1077483880 + [1656418220.812948][10056:10061] CHIP:TOO: AttributeList: 31 entries + [1656418220.812982][10056:10061] CHIP:TOO: [1]: 0 + [1656418220.813007][10056:10061] CHIP:TOO: [2]: 1 + [1656418220.813031][10056:10061] CHIP:TOO: [3]: 2 + [1656418220.813055][10056:10061] CHIP:TOO: [4]: 3 + [1656418220.813079][10056:10061] CHIP:TOO: [5]: 17 + [1656418220.813103][10056:10061] CHIP:TOO: [6]: 18 + [1656418220.813126][10056:10061] CHIP:TOO: [7]: 19 + [1656418220.813150][10056:10061] CHIP:TOO: [8]: 20 + [1656418220.813174][10056:10061] CHIP:TOO: [9]: 21 + [1656418220.813198][10056:10061] CHIP:TOO: [10]: 22 + [1656418220.813222][10056:10061] CHIP:TOO: [11]: 23 + [1656418220.813246][10056:10061] CHIP:TOO: [12]: 24 + [1656418220.813270][10056:10061] CHIP:TOO: [13]: 25 + [1656418220.813294][10056:10061] CHIP:TOO: [14]: 26 + [1656418220.813317][10056:10061] CHIP:TOO: [15]: 27 + [1656418220.813341][10056:10061] CHIP:TOO: [16]: 28 + [1656418220.813365][10056:10061] CHIP:TOO: [17]: 33 + [1656418220.813389][10056:10061] CHIP:TOO: [18]: 35 + [1656418220.813413][10056:10061] CHIP:TOO: [19]: 36 + [1656418220.813437][10056:10061] CHIP:TOO: [20]: 37 + [1656418220.813460][10056:10061] CHIP:TOO: [21]: 38 + [1656418220.813484][10056:10061] CHIP:TOO: [22]: 41 + [1656418220.813508][10056:10061] CHIP:TOO: [23]: 43 + [1656418220.813531][10056:10061] CHIP:TOO: [24]: 48 + [1656418220.813555][10056:10061] CHIP:TOO: [25]: 49 + [1656418220.813579][10056:10061] CHIP:TOO: [26]: 51 + [1656418220.813603][10056:10061] CHIP:TOO: [27]: 65528 + [1656418220.813627][10056:10061] CHIP:TOO: [28]: 65529 + [1656418220.813652][10056:10061] CHIP:TOO: [29]: 65531 + [1656418220.813676][10056:10061] CHIP:TOO: [30]: 65532 + [1656418220.813699][10056:10061] CHIP:TOO: [31]: 65533 disabled: true - label: "TH reads EventList from DUT" verification: | - out of scope for V1.0 + disabled: true - label: "TH reads AcceptedCommandList from DUT" verification: | ./chip-tool doorlock read accepted-command-list 1 1 + Verify on the TH Log: - [1653373949.890221][2715:2720] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFF9 DataVersion: 4018252607 - [1653373949.890312][2715:2720] CHIP:TOO: AcceptedCommandList: 14 entries - [1653373949.890347][2715:2720] CHIP:TOO: [1]: 0 - [1653373949.890373][2715:2720] CHIP:TOO: [2]: 1 - [1653373949.890398][2715:2720] CHIP:TOO: [3]: 11 - [1653373949.890423][2715:2720] CHIP:TOO: [4]: 12 - [1653373949.890448][2715:2720] CHIP:TOO: [5]: 13 - [1653373949.890472][2715:2720] CHIP:TOO: [6]: 14 - [1653373949.890496][2715:2720] CHIP:TOO: [7]: 15 - [1653373949.890521][2715:2720] CHIP:TOO: [8]: 16 - [1653373949.890545][2715:2720] CHIP:TOO: [9]: 26 - [1653373949.890569][2715:2720] CHIP:TOO: [10]: 27 - [1653373949.890593][2715:2720] CHIP:TOO: [11]: 29 - [1653373949.890617][2715:2720] CHIP:TOO: [12]: 34 - [1653373949.890642][2715:2720] CHIP:TOO: [13]: 36 - [1653373949.890666][2715:2720] CHIP:TOO: [14]: 38 + [1656418338.200497][10068:10073] CHIP:DMG: ], + [1656418338.200598][10068:10073] CHIP:DMG: + [1656418338.200622][10068:10073] CHIP:DMG: SuppressResponse = true, + [1656418338.200646][10068:10073] CHIP:DMG: InteractionModelRevision = 1 + [1656418338.200669][10068:10073] CHIP:DMG: } + [1656418338.201816][10068:10073] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFF9 DataVersion: 1077483880 + [1656418338.201910][10068:10073] CHIP:TOO: AcceptedCommandList: 18 entries + [1656418338.201943][10068:10073] CHIP:TOO: [1]: 0 + [1656418338.201968][10068:10073] CHIP:TOO: [2]: 1 + [1656418338.201992][10068:10073] CHIP:TOO: [3]: 3 + [1656418338.202016][10068:10073] CHIP:TOO: [4]: 11 + [1656418338.202040][10068:10073] CHIP:TOO: [5]: 12 + [1656418338.202064][10068:10073] CHIP:TOO: [6]: 13 + [1656418338.202088][10068:10073] CHIP:TOO: [7]: 14 + [1656418338.202112][10068:10073] CHIP:TOO: [8]: 15 + [1656418338.202135][10068:10073] CHIP:TOO: [9]: 16 + [1656418338.202159][10068:10073] CHIP:TOO: [10]: 17 + [1656418338.202183][10068:10073] CHIP:TOO: [11]: 18 + [1656418338.202207][10068:10073] CHIP:TOO: [12]: 19 + [1656418338.202231][10068:10073] CHIP:TOO: [13]: 26 + [1656418338.202255][10068:10073] CHIP:TOO: [14]: 27 + [1656418338.202278][10068:10073] CHIP:TOO: [15]: 29 + [1656418338.202302][10068:10073] CHIP:TOO: [16]: 34 + [1656418338.202326][10068:10073] CHIP:TOO: [17]: 36 + [1656418338.202350][10068:10073] CHIP:TOO: [18]: 38 disabled: true - label: "TH reads GeneratedCommandList from DUT" verification: | ./chip-tool doorlock read generated-command-list 1 1 + Verify on the TH Log: - [1653374054.494879][2725:2730] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFF8 DataVersion: 4018252607 - [1653374054.494967][2725:2730] CHIP:TOO: GeneratedCommandList: 0 entries + [1654673615.346710][3233:3239] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_FFF8 DataVersion: 3738767914 + [1654673615.346798][3233:3239] CHIP:TOO: GeneratedCommandList: 6 entries + [1654673615.346834][3233:3239] CHIP:TOO: [1]: 12 + [1654673615.346864][3233:3239] CHIP:TOO: [2]: 15 + [1654673615.346891][3233:3239] CHIP:TOO: [3]: 18 + [1654673615.346927][3233:3239] CHIP:TOO: [4]: 28 + [1654673615.346965][3233:3239] CHIP:TOO: [5]: 35 + [1654673615.347012][3233:3239] CHIP:TOO: [6]: 37 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml index 3ea307fd43c9bd..b6aaf29bfa8d71 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 111.2.1. [TC-DRLK-2.1] Attributes check [DUT - Server] +name: 113.2.1. [TC-DRLK-2.1] Attributes check [DUT - Server] config: nodeId: 0x12344321 @@ -25,125 +25,204 @@ tests: PICS: DRLK.S.A0000 verification: | ./chip-tool doorlock read lock-state 1 1 - [1653374351.373518][2749:2755] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 4018252607 - [1653374351.373589][2749:2755] CHIP:TOO: LockState: 1 + Verify on the TH Log: + + [1654673735.820302][3247:3252] CHIP:DMG: SuppressResponse = true, + [1654673735.820328][3247:3252] CHIP:DMG: InteractionModelRevision = 1 + [1654673735.820351][3247:3252] CHIP:DMG: } + [1654673735.820481][3247:3252] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 3738767914 + [1654673735.820565][3247:3252] CHIP:TOO: LockState: 1 disabled: true - label: "TH writes LockState attribute as 1" - PICS: DRLK.S.A0000 verification: | - ./chip-tool doorlock write lock-state 1 1 - [1653385331.682442][3714:3714] CHIP:TOO: Unknown attribute: lock-state + ./chip-tool doorlock write-by-id 0 2 1 1 + Verify on the TH Log: + + [1653634536.813984][2885:2890] CHIP:DMG: StatusIB = + [1653634536.814041][2885:2890] CHIP:DMG: { + [1653634536.814087][2885:2890] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653634536.814143][2885:2890] CHIP:DMG: }, + [1653634536.814190][2885:2890] CHIP:DMG: + [1653634536.814241][2885:2890] CHIP:DMG: }, + [1653634536.814286][2885:2890] CHIP:DMG: + [1653634536.814333][2885:2890] CHIP:DMG: ], + [1653634536.814378][2885:2890] CHIP:DMG: + [1653634536.814426][2885:2890] CHIP:DMG: InteractionModelRevision = 1 + [1653634536.814461][2885:2890] CHIP:DMG: } + [1653634536.814564][2885:2890] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) disabled: true - label: "TH reads LockState attribute from DUT" PICS: DRLK.S.A0000 verification: | ./chip-tool doorlock read lock-state 1 1 - [1653374351.373518][2749:2755] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 4018252607 - [1653374351.373589][2749:2755] CHIP:TOO: LockState: 1 + Verify on the TH Log: + + [1654673735.820302][3247:3252] CHIP:DMG: SuppressResponse = true, + [1654673735.820328][3247:3252] CHIP:DMG: InteractionModelRevision = 1 + [1654673735.820351][3247:3252] CHIP:DMG: } + [1654673735.820481][3247:3252] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0000 DataVersion: 3738767914 + [1654673735.820565][3247:3252] CHIP:TOO: LockState: 1 disabled: true - label: "TH reads LockType attribute from DUT" + PICS: DRLK.S.A0001 verification: | ./chip-tool doorlock read lock-type 1 1 + Verify on the TH Log: - [1653374556.200310][2776:2781] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0001 DataVersion: 4018252607 - [1653374556.200362][2776:2781] CHIP:TOO: LockType: 0 + [1654674031.529115][3262:3268] CHIP:DMG: SuppressResponse = true, + [1654674031.529142][3262:3268] CHIP:DMG: InteractionModelRevision = 1 + [1654674031.529166][3262:3268] CHIP:DMG: } + [1654674031.529297][3262:3268] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0001 DataVersion: 3738767914 + [1654674031.529368][3262:3268] CHIP:TOO: LockType: 0 disabled: true - label: "TH writes LockType attribute as 10" - PICS: DRLK.S.A0001 verification: | - ./chip-tool doorlock write lock-type 1 1 - [1653385390.925430][3717:3717] CHIP:TOO: Unknown attribute: lock-type + ./chip-tool doorlock write-by-id 1 10 1 1 + Verify on the TH Log: + [1653634731.595327][2943:2948] CHIP:DMG: StatusIB = + [1653634731.595374][2943:2948] CHIP:DMG: { + [1653634731.595419][2943:2948] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653634731.595469][2943:2948] CHIP:DMG: }, + [1653634731.595515][2943:2948] CHIP:DMG: + [1653634731.595555][2943:2948] CHIP:DMG: }, + [1653634731.595603][2943:2948] CHIP:DMG: + [1653634731.595638][2943:2948] CHIP:DMG: ], + [1653634731.595682][2943:2948] CHIP:DMG: + [1653634731.595717][2943:2948] CHIP:DMG: InteractionModelRevision = 1 + [1653634731.595752][2943:2948] CHIP:DMG: } + [1653634731.595841][2943:2948] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) disabled: true - label: "TH reads LockType attribute from DUT" - PICS: DRLK.S.A0001 verification: | ./chip-tool doorlock read lock-type 1 1 + Verify on the TH Log: - [1653374556.200310][2776:2781] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0001 DataVersion: 4018252607 - [1653374556.200362][2776:2781] CHIP:TOO: LockType: 0 + [1654674031.529115][3262:3268] CHIP:DMG: SuppressResponse = true, + [1654674031.529142][3262:3268] CHIP:DMG: InteractionModelRevision = 1 + [1654674031.529166][3262:3268] CHIP:DMG: } + [1654674031.529297][3262:3268] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0001 DataVersion: 3738767914 + [1654674031.529368][3262:3268] CHIP:TOO: LockType: 0 disabled: true - label: "TH reads ActuatorEnabled attribute from DUT" PICS: DRLK.S.A0002 verification: | ./chip-tool doorlock read actuator-enabled 1 1 + Verify on the TH Log: - [1653374617.287332][2785:2790] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0002 DataVersion: 4018252607 - [1653374617.287368][2785:2790] CHIP:TOO: ActuatorEnabled: TRUE + [1654674122.634081][3275:3280] CHIP:DMG: SuppressResponse = true, + [1654674122.634110][3275:3280] CHIP:DMG: InteractionModelRevision = 1 + [1654674122.634136][3275:3280] CHIP:DMG: } + [1654674122.634281][3275:3280] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0002 DataVersion: 3738767914 + [1654674122.634332][3275:3280] CHIP:TOO: ActuatorEnabled: TRUE disabled: true - label: "TH writes ActuatorEnabled attribute as 0" - PICS: DRLK.S.A0002 verification: | - ./chip-tool doorlock write actuator-enabled 1 1 - [1653385453.845278][3722:3722] CHIP:TOO: Unknown attribute: actuator-enabled + ./chip-tool doorlock write-by-id 2 0 1 1 + Verify on the TH Log: + + [1654674810.194674][3309:3314] CHIP:DMG: StatusIB = + [1654674810.194720][3309:3314] CHIP:DMG: { + [1654674810.194767][3309:3314] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1654674810.194818][3309:3314] CHIP:DMG: }, + [1654674810.194864][3309:3314] CHIP:DMG: + [1654674810.194901][3309:3314] CHIP:DMG: }, + [1654674810.194945][3309:3314] CHIP:DMG: + [1654674810.194979][3309:3314] CHIP:DMG: ], disabled: true - label: "TH reads ActuatorEnabled attribute from DUT" - PICS: DRLK.S.A0002 verification: | ./chip-tool doorlock read actuator-enabled 1 1 + Verify on the TH Log: - [1653374617.287332][2785:2790] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0002 DataVersion: 4018252607 - [1653374617.287368][2785:2790] CHIP:TOO: ActuatorEnabled: TRUE + [1654674122.634081][3275:3280] CHIP:DMG: SuppressResponse = true, + [1654674122.634110][3275:3280] CHIP:DMG: InteractionModelRevision = 1 + [1654674122.634136][3275:3280] CHIP:DMG: } + [1654674122.634281][3275:3280] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0002 DataVersion: 3738767914 + [1654674122.634332][3275:3280] CHIP:TOO: ActuatorEnabled: TRUE disabled: true - label: "TH reads DoorState attribute from DUT" - PICS: DRLK.S.A0003 && DRLK.S.F05 + PICS: DRLK.S.F05 && DRLK.S.A0003 verification: | ./chip-tool doorlock read door-state 1 1 + Verify on the TH Log: - [1653374729.692396][2798:2803] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0003 DataVersion: 4018252607 - [1653374729.692467][2798:2803] CHIP:TOO: DoorState: 0 + [1654674869.818923][3316:3321] CHIP:DMG: SuppressResponse = true, + [1654674869.818964][3316:3321] CHIP:DMG: InteractionModelRevision = 1 + [1654674869.819002][3316:3321] CHIP:DMG: } + [1654674869.819192][3316:3321] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0003 DataVersion: 3738767914 + [1654674869.819322][3316:3321] CHIP:TOO: DoorState: 0 disabled: true - label: "TH writes DoorState attribute as 1" - PICS: DRLK.S.A0003 verification: | - ./chip-tool doorlock write door-state 1 1 - [1653385494.200848][3724:3724] CHIP:TOO: Unknown attribute: door-state + ./chip-tool doorlock write-by-id 3 1 1 1 + Verify on the TH Log: + + [1654674934.736017][3324:3330] CHIP:DMG: StatusIB = + [1654674934.736062][3324:3330] CHIP:DMG: { + [1654674934.736106][3324:3330] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1654674934.736152][3324:3330] CHIP:DMG: }, + [1654674934.736197][3324:3330] CHIP:DMG: + [1654674934.736237][3324:3330] CHIP:DMG: }, + [1654674934.736280][3324:3330] CHIP:DMG: + [1654674934.736314][3324:3330] CHIP:DMG: ], + [1654674934.736357][3324:3330] CHIP:DMG: + [1654674934.736392][3324:3330] CHIP:DMG: InteractionModelRevision = 1 + [1654674934.736427][3324:3330] CHIP:DMG: } + [1654674934.736522][3324:3330] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "TH reads DoorState attribute from DUT" - PICS: DRLK.S.A0003 verification: | ./chip-tool doorlock read door-state 1 1 + Verify on the TH Log: - [1653374729.692396][2798:2803] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0003 DataVersion: 4018252607 - [1653374729.692467][2798:2803] CHIP:TOO: DoorState: 0 + [1654674869.818923][3316:3321] CHIP:DMG: SuppressResponse = true, + [1654674869.818964][3316:3321] CHIP:DMG: InteractionModelRevision = 1 + [1654674869.819002][3316:3321] CHIP:DMG: } + [1654674869.819192][3316:3321] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0003 DataVersion: 3738767914 + [1654674869.819322][3316:3321] CHIP:TOO: DoorState: 0 disabled: true - label: "TH reads DoorOpenEvents attribute from DUT" - PICS: DRLK.S.A0004 && DRLK.S.F05 + PICS: DRLK.S.F05 && DRLK.S.A0004 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read door-open-events 1 1 - [1653376656.280445][2920:2925] CHIP:DMG: StatusIB = - [1653376656.280493][2920:2925] CHIP:DMG: { - [1653376656.280533][2920:2925] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653376656.280577][2920:2925] CHIP:DMG: }, - [1653376656.280618][2920:2925] CHIP:DMG: - [1653376656.280656][2920:2925] CHIP:DMG: }, - [1653376656.280702][2920:2925] CHIP:DMG: - [1653376656.280739][2920:2925] CHIP:DMG: }, - [1653376656.280781][2920:2925] CHIP:DMG: - [1653376656.280813][2920:2925] CHIP:DMG: ], - [1653376656.280852][2920:2925] CHIP:DMG: - [1653376656.280886][2920:2925] CHIP:DMG: SuppressResponse = true, - [1653376656.280920][2920:2925] CHIP:DMG: InteractionModelRevision = 1 - [1653376656.280951][2920:2925] CHIP:DMG: } - [1653376656.281089][2920:2925] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH writes DoorOpenEvents attribute as 10" + Verify on the TH Log: + + [1654675019.286903][3337:3342] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654675019.286939][3337:3342] CHIP:DMG: }, + [1654675019.286974][3337:3342] CHIP:DMG: + [1654675019.287003][3337:3342] CHIP:DMG: }, + [1654675019.287039][3337:3342] CHIP:DMG: + [1654675019.287067][3337:3342] CHIP:DMG: }, + [1654675019.287100][3337:3342] CHIP:DMG: + [1654675019.287125][3337:3342] CHIP:DMG: ], + [1654675019.287156][3337:3342] CHIP:DMG: + [1654675019.287182][3337:3342] CHIP:DMG: SuppressResponse = true, + [1654675019.287209][3337:3342] CHIP:DMG: InteractionModelRevision = 1 + disabled: true + + - label: "TH writes DoorOpenEvents attribute as 0" PICS: DRLK.S.A0004 verification: | - ./chip-tool doorlock write door-open-events 4 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 4 10 1 1 + + Verify on the TH Log: [1653376891.000044][2941:2946] CHIP:DMG: } [1653376891.000211][2941:2946] CHIP:DMG: @@ -162,95 +241,104 @@ tests: disabled: true - label: "TH reads DoorOpenEvents attribute from DUT" - PICS: DRLK.S.A0004 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read door-open-events 1 1 - [1653376656.280445][2920:2925] CHIP:DMG: StatusIB = - [1653376656.280493][2920:2925] CHIP:DMG: { - [1653376656.280533][2920:2925] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653376656.280577][2920:2925] CHIP:DMG: }, - [1653376656.280618][2920:2925] CHIP:DMG: - [1653376656.280656][2920:2925] CHIP:DMG: }, - [1653376656.280702][2920:2925] CHIP:DMG: - [1653376656.280739][2920:2925] CHIP:DMG: }, - [1653376656.280781][2920:2925] CHIP:DMG: - [1653376656.280813][2920:2925] CHIP:DMG: ], - [1653376656.280852][2920:2925] CHIP:DMG: - [1653376656.280886][2920:2925] CHIP:DMG: SuppressResponse = true, - [1653376656.280920][2920:2925] CHIP:DMG: InteractionModelRevision = 1 - [1653376656.280951][2920:2925] CHIP:DMG: } - [1653376656.281089][2920:2925] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654675019.286903][3337:3342] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654675019.286939][3337:3342] CHIP:DMG: }, + [1654675019.286974][3337:3342] CHIP:DMG: + [1654675019.287003][3337:3342] CHIP:DMG: }, + [1654675019.287039][3337:3342] CHIP:DMG: + [1654675019.287067][3337:3342] CHIP:DMG: }, + [1654675019.287100][3337:3342] CHIP:DMG: + [1654675019.287125][3337:3342] CHIP:DMG: ], + [1654675019.287156][3337:3342] CHIP:DMG: + [1654675019.287182][3337:3342] CHIP:DMG: SuppressResponse = true, + [1654675019.287209][3337:3342] CHIP:DMG: InteractionModelRevision = 1 disabled: true - label: "TH reads DoorClosedEvents attribute from DUT" - PICS: DRLK.S.A0005 && DRLK.S.F05 + PICS: DRLK.S.F05 && DRLK.S.A0005 verification: | - ./chip-tool doorlock read door-closed-events 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock read door-closed-events 1 1 + + Verify on the TH Log: + + [1654675103.637778][3346:3351] CHIP:DMG: StatusIB = + [1654675103.637816][3346:3351] CHIP:DMG: { + [1654675103.637853][3346:3351] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654675103.637886][3346:3351] CHIP:DMG: }, + [1654675103.637923][3346:3351] CHIP:DMG: + [1654675103.637956][3346:3351] CHIP:DMG: }, + [1654675103.637994][3346:3351] CHIP:DMG: + [1654675103.638021][3346:3351] CHIP:DMG: }, + [1654675103.638054][3346:3351] CHIP:DMG: + [1654675103.638078][3346:3351] CHIP:DMG: ], + [1654675103.638109][3346:3351] CHIP:DMG: + [1654675103.638133][3346:3351] CHIP:DMG: SuppressResponse = true, + [1654675103.638159][3346:3351] CHIP:DMG: InteractionModelRevision = 1 + disabled: true - [1653376963.392967][2960:2965] CHIP:DMG: StatusIB = - [1653376963.393009][2960:2965] CHIP:DMG: { - [1653376963.393051][2960:2965] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653376963.393093][2960:2965] CHIP:DMG: }, - [1653376963.393132][2960:2965] CHIP:DMG: - [1653376963.393168][2960:2965] CHIP:DMG: }, - [1653376963.393207][2960:2965] CHIP:DMG: - [1653376963.393239][2960:2965] CHIP:DMG: }, - [1653376963.393276][2960:2965] CHIP:DMG: - [1653376963.393303][2960:2965] CHIP:DMG: ], - [1653376963.393338][2960:2965] CHIP:DMG: - [1653376963.393368][2960:2965] CHIP:DMG: SuppressResponse = true, - [1653376963.393397][2960:2965] CHIP:DMG: InteractionModelRevision = 1 - [1653376963.393424][2960:2965] CHIP:DMG: } - [1653376963.393547][2960:2965] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH writes DoorClosedEvents attribute as 11" + - label: "TH writes DoorClosedEvents attribute as 0" PICS: DRLK.S.A0005 verification: | - ./chip-tool doorlock write door-closed-events 5 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome - [1653377032.809221][2969:2974] CHIP:DMG: StatusIB = - [1653377032.809271][2969:2974] CHIP:DMG: { - [1653377032.809318][2969:2974] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653377032.809364][2969:2974] CHIP:DMG: }, - [1653377032.809412][2969:2974] CHIP:DMG: - [1653377032.809452][2969:2974] CHIP:DMG: }, - [1653377032.809500][2969:2974] CHIP:DMG: - [1653377032.809535][2969:2974] CHIP:DMG: ], - [1653377032.809579][2969:2974] CHIP:DMG: - [1653377032.809613][2969:2974] CHIP:DMG: InteractionModelRevision = 1 - [1653377032.809648][2969:2974] CHIP:DMG: } - [1653377032.809736][2969:2974] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + ./chip-tool doorlock write-by-id 5 11 1 1 + + Verify on the TH Log: + + [1654675152.592730][3355:3360] CHIP:DMG: StatusIB = + [1654675152.592863][3355:3360] CHIP:DMG: { + [1654675152.592913][3355:3360] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654675152.592952][3355:3360] CHIP:DMG: }, + [1654675152.592991][3355:3360] CHIP:DMG: + [1654675152.593024][3355:3360] CHIP:DMG: }, + [1654675152.593061][3355:3360] CHIP:DMG: + [1654675152.593090][3355:3360] CHIP:DMG: ], + [1654675152.593126][3355:3360] CHIP:DMG: + [1654675152.593155][3355:3360] CHIP:DMG: InteractionModelRevision = 1 + [1654675152.593184][3355:3360] CHIP:DMG: } disabled: true - label: "TH reads DoorClosedEvents attribute from DUT" - PICS: DRLK.S.A0005 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read door-closed-events 1 1 - [1653376963.392967][2960:2965] CHIP:DMG: StatusIB = - [1653376963.393009][2960:2965] CHIP:DMG: { - [1653376963.393051][2960:2965] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653376963.393093][2960:2965] CHIP:DMG: }, - [1653376963.393132][2960:2965] CHIP:DMG: - [1653376963.393168][2960:2965] CHIP:DMG: }, - [1653376963.393207][2960:2965] CHIP:DMG: - [1653376963.393239][2960:2965] CHIP:DMG: }, - [1653376963.393276][2960:2965] CHIP:DMG: - [1653376963.393303][2960:2965] CHIP:DMG: ], - [1653376963.393338][2960:2965] CHIP:DMG: - [1653376963.393368][2960:2965] CHIP:DMG: SuppressResponse = true, - [1653376963.393397][2960:2965] CHIP:DMG: InteractionModelRevision = 1 - [1653376963.393424][2960:2965] CHIP:DMG: } - [1653376963.393547][2960:2965] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654675103.637778][3346:3351] CHIP:DMG: StatusIB = + [1654675103.637816][3346:3351] CHIP:DMG: { + [1654675103.637853][3346:3351] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654675103.637886][3346:3351] CHIP:DMG: }, + [1654675103.637923][3346:3351] CHIP:DMG: + [1654675103.637956][3346:3351] CHIP:DMG: }, + [1654675103.637994][3346:3351] CHIP:DMG: + [1654675103.638021][3346:3351] CHIP:DMG: }, + [1654675103.638054][3346:3351] CHIP:DMG: + [1654675103.638078][3346:3351] CHIP:DMG: ], + [1654675103.638109][3346:3351] CHIP:DMG: + [1654675103.638133][3346:3351] CHIP:DMG: SuppressResponse = true, + [1654675103.638159][3346:3351] CHIP:DMG: InteractionModelRevision = 1 disabled: true - label: "TH reads OpenPeriod attribute from DUT" - PICS: DRLK.S.A0006 && DRLK.S.F05 + PICS: DRLK.S.F05 && DRLK.S.A0006 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read open-period 1 1 + Verify on the TH Log: + [1653377163.004837][3008:3013] CHIP:DMG: StatusIB = [1653377163.004887][3008:3013] CHIP:DMG: { [1653377163.004932][3008:3013] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), @@ -271,28 +359,33 @@ tests: - label: "TH writes OpenPeriod attribute as 2 minutes" PICS: DRLK.S.A0006 verification: | - ./chip-tool doorlock write open-period 6 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 6 2 1 1 - [1653377214.714315][3016:3021] CHIP:DMG: - [1653377214.714349][3016:3021] CHIP:DMG: StatusIB = - [1653377214.714385][3016:3021] CHIP:DMG: { - [1653377214.714420][3016:3021] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653377214.714455][3016:3021] CHIP:DMG: }, - [1653377214.714495][3016:3021] CHIP:DMG: - [1653377214.714525][3016:3021] CHIP:DMG: }, - [1653377214.714561][3016:3021] CHIP:DMG: - [1653377214.714588][3016:3021] CHIP:DMG: ], - [1653377214.714621][3016:3021] CHIP:DMG: - [1653377214.714648][3016:3021] CHIP:DMG: InteractionModelRevision = 1 - [1653377214.714674][3016:3021] CHIP:DMG: } - [1653377214.714746][3016:3021] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + [1653635643.566677][3165:3170] CHIP:DMG: StatusIB = + [1653635643.566722][3165:3170] CHIP:DMG: { + [1653635643.566767][3165:3170] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1653635643.566818][3165:3170] CHIP:DMG: }, + [1653635643.566864][3165:3170] CHIP:DMG: + [1653635643.566902][3165:3170] CHIP:DMG: }, + [1653635643.566945][3165:3170] CHIP:DMG: + [1653635643.566980][3165:3170] CHIP:DMG: ], + [1653635643.567024][3165:3170] CHIP:DMG: + [1653635643.567059][3165:3170] CHIP:DMG: InteractionModelRevision = 1 + [1653635643.567093][3165:3170] CHIP:DMG: } + [1653635643.567184][3165:3170] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "TH reads OpenPeriod attribute from DUT" - PICS: DRLK.S.A0006 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read open-period 1 1 + Verify on the TH Log: + [1653377163.004837][3008:3013] CHIP:DMG: StatusIB = [1653377163.004887][3008:3013] CHIP:DMG: { [1653377163.004932][3008:3013] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), @@ -310,676 +403,945 @@ tests: [1653377163.005558][3008:3013] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - - label: "TH reads NumberOfTotalUsersSupported attribute from DUT" - PICS: DRLK.S.A0011 && DRLK.S.F08 + - label: "TH reads NumberOfTotal UsersSupported attribute from DUT" + PICS: DRLK.S.F08 && DRLK.S.A0011 verification: | ./chip-tool doorlock read number-of-total-users-supported 1 1 + Verify on the TH Log: - [1653377365.748742][3031:3036] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 4018252607 - [1653377365.748814][3031:3036] CHIP:TOO: NumberOfTotalUsersSupported: 10 + [1654679552.707358][3548:3553] CHIP:DMG: SuppressResponse = true, + [1654679552.707396][3548:3553] CHIP:DMG: InteractionModelRevision = 1 + [1654679552.707430][3548:3553] CHIP:DMG: } + [1654679552.707608][3548:3553] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 3738767914 + [1654679552.707699][3548:3553] CHIP:TOO: NumberOfTotalUsersSupported: 10 disabled: true - - label: "TH writes NumberOfTotalUsersSupported attribute as 20" - PICS: DRLK.S.A0011 + - label: "TH writes NumberOfTotal UsersSupported attribute as 20" verification: | - ./chip-tool doorlock write number-of-total-users-supported 1 1 - [1653385575.613595][3729:3729] CHIP:TOO: Unknown attribute: number-of-total-users-supported + ./chip-tool doorlock write-by-id 17 20 1 1 + Verify on the TH Log: + + [1653635760.210005][3203:3208] CHIP:DMG: StatusIB = + [1653635760.210051][3203:3208] CHIP:DMG: { + [1653635760.210096][3203:3208] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653635760.210142][3203:3208] CHIP:DMG: }, + [1653635760.210186][3203:3208] CHIP:DMG: + [1653635760.210226][3203:3208] CHIP:DMG: }, + [1653635760.210269][3203:3208] CHIP:DMG: disabled: true - - label: "TH reads NumberOfTotalUsersSupported attribute from DUT" - PICS: DRLK.S.A0011 + - label: "TH reads NumberOfTotal UsersSupported attribute from DUT" verification: | ./chip-tool doorlock read number-of-total-users-supported 1 1 + Verify on the TH Log: - [1653377365.748742][3031:3036] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 4018252607 - [1653377365.748814][3031:3036] CHIP:TOO: NumberOfTotalUsersSupported: 10 + [1654679552.707358][3548:3553] CHIP:DMG: SuppressResponse = true, + [1654679552.707396][3548:3553] CHIP:DMG: InteractionModelRevision = 1 + [1654679552.707430][3548:3553] CHIP:DMG: } + [1654679552.707608][3548:3553] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion: 3738767914 + [1654679552.707699][3548:3553] CHIP:TOO: NumberOfTotalUsersSupported: 10 disabled: true - label: "TH reads NumberOfPINUsersSupported attribute from DUT" - PICS: DRLK.S.A0012 && DRLK.S.F00 + PICS: DRLK.S.F00 && DRLK.S.A0012 verification: | ./chip-tool doorlock read number-of-pinusers-supported 1 1 + Verify on the TH Log: - [1653377447.965392][3040:3045] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0012 DataVersion: 4018252607 - [1653377447.965462][3040:3045] CHIP:TOO: NumberOfPINUsersSupported: 10 + [1654679648.080728][3557:3562] CHIP:DMG: SuppressResponse = true, + [1654679648.080765][3557:3562] CHIP:DMG: InteractionModelRevision = 1 + [1654679648.080799][3557:3562] CHIP:DMG: } + [1654679648.080978][3557:3562] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0012 DataVersion: 3738767914 + [1654679648.081068][3557:3562] CHIP:TOO: NumberOfPINUsersSupported: 10 disabled: true - label: "TH writes NumberOfPINUsersSupported attribute as 25" - PICS: DRLK.S.A0012 verification: | - ./chip-tool doorlock write number-of-pinusers-supported 1 1 - [1653385619.471653][3733:3733] CHIP:TOO: Unknown attribute: number-of-pinusers-supported + ./chip-tool doorlock write-by-id 18 25 1 1 + Verify on the TH Log: + + [1653635935.885575][3265:3270] CHIP:DMG: StatusIB = + [1653635935.885605][3265:3270] CHIP:DMG: { + [1653635935.885635][3265:3270] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653635935.885666][3265:3270] CHIP:DMG: }, + [1653635935.885696][3265:3270] CHIP:DMG: + [1653635935.885721][3265:3270] CHIP:DMG: }, disabled: true - label: "TH reads NumberOfPINUsersSupported attribute from DUT" - PICS: DRLK.S.A0012 verification: | ./chip-tool doorlock read number-of-pinusers-supported 1 1 + Verify on the TH Log: - [1653377447.965392][3040:3045] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0012 DataVersion: 4018252607 - [1653377447.965462][3040:3045] CHIP:TOO: NumberOfPINUsersSupported: 10 + [1654679648.080728][3557:3562] CHIP:DMG: SuppressResponse = true, + [1654679648.080765][3557:3562] CHIP:DMG: InteractionModelRevision = 1 + [1654679648.080799][3557:3562] CHIP:DMG: } + [1654679648.080978][3557:3562] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0012 DataVersion: 3738767914 + [1654679648.081068][3557:3562] CHIP:TOO: NumberOfPINUsersSupported: 10 disabled: true - - label: "TH reads NumberOfRFIDUsersSupported attribute from DUT" - PICS: DRLK.S.A0013 && DRLK.S.F01 + - label: "TH reads NumberOfRFID UsersSupported attribute from DUT" + PICS: DRLK.S.F01 && DRLK.S.A0013 verification: | ./chip-tool doorlock read number-of-rfidusers-supported 1 1 + Verify on the TH Log: - [1653377521.865643][3049:3054] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0013 DataVersion: 4018252607 - [1653377521.865722][3049:3054] CHIP:TOO: NumberOfRFIDUsersSupported: 10 + [1654679746.726086][3567:3572] CHIP:DMG: SuppressResponse = true, + [1654679746.726122][3567:3572] CHIP:DMG: InteractionModelRevision = 1 + [1654679746.726153][3567:3572] CHIP:DMG: } + [1654679746.726320][3567:3572] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0013 DataVersion: 3738767914 + [1654679746.726405][3567:3572] CHIP:TOO: NumberOfRFIDUsersSupported: 10 disabled: true - - label: "TH writes NumberOfRFIDUsersSupported attribute as 30" - PICS: DRLK.S.A0013 + - label: "TH writes NumberOfRFID UsersSupported attribute as 30" verification: | - ./chip-tool doorlock write number-of-rfidusers-supported 1 1 - [1653385665.709545][3737:3737] CHIP:TOO: Unknown attribute: number-of-rfidusers-supported + ./chip-tool doorlock write-by-id 19 30 1 1 + Verify on the TH Log: + + [1653636030.425594][3289:3294] CHIP:DMG: StatusIB = + [1653636030.425635][3289:3294] CHIP:DMG: { + [1653636030.425675][3289:3294] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636030.425720][3289:3294] CHIP:DMG: }, + [1653636030.425760][3289:3294] CHIP:DMG: + [1653636030.425796][3289:3294] CHIP:DMG: }, disabled: true - - label: "TH reads NumberOfRFIDUsersSupported attribute from DUT" - PICS: DRLK.S.A0013 + - label: "TH reads NumberOfRFID UsersSupported attribute from DUT" verification: | ./chip-tool doorlock read number-of-rfidusers-supported 1 1 + Verify on the TH Log: - [1653377521.865643][3049:3054] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0013 DataVersion: 4018252607 - [1653377521.865722][3049:3054] CHIP:TOO: NumberOfRFIDUsersSupported: 10 + [1654679746.726086][3567:3572] CHIP:DMG: SuppressResponse = true, + [1654679746.726122][3567:3572] CHIP:DMG: InteractionModelRevision = 1 + [1654679746.726153][3567:3572] CHIP:DMG: } + [1654679746.726320][3567:3572] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0013 DataVersion: 3738767914 + [1654679746.726405][3567:3572] CHIP:TOO: NumberOfRFIDUsersSupported: 10 disabled: true - label: - "TH reads NumberOfWeekDaysSchedulesSupporterUser attribute from DUT" - PICS: DRLK.S.A0014 && DRLK.S.F04 + "TH reads NumberOfWeekDays SchedulesSupporterUser attribute from DUT" + PICS: DRLK.S.F04 && DRLK.S.A0014 verification: | ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1 + Verify on the TH Log: - [1653377589.378532][3060:3065] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0014 DataVersion: 4018252607 - [1653377589.378611][3060:3065] CHIP:TOO: NumberOfWeekDaySchedulesSupportedPerUser: 10 + [1654679824.730432][3578:3583] CHIP:DMG: SuppressResponse = true, + [1654679824.730470][3578:3583] CHIP:DMG: InteractionModelRevision = 1 + [1654679824.730503][3578:3583] CHIP:DMG: } + [1654679824.730680][3578:3583] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0014 DataVersion: 3738767914 + [1654679824.730771][3578:3583] CHIP:TOO: NumberOfWeekDaySchedulesSupportedPerUser: 10 disabled: true - label: - "TH writes NumberOfWeekDaySchedulesSupportedPerUser attribute as 31" - PICS: DRLK.S.A0014 + "TH writes NumberOfWeekDaySchedules SupportedPerUser attribute as 31" verification: | - ./chip-tool doorlock write number-of-week-day-schedules-supported-per-user 1 1 - [1653385709.789383][3739:3739] CHIP:TOO: Unknown attribute: number-of-week-day-schedules-supported-per-user + ./chip-tool doorlock write-by-id 20 31 1 1 + Verify on the TH Log: + [1653636148.975037][3319:3324] CHIP:DMG: StatusIB = + [1653636148.975072][3319:3324] CHIP:DMG: { + [1653636148.975106][3319:3324] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636148.975140][3319:3324] CHIP:DMG: }, + [1653636148.975175][3319:3324] CHIP:DMG: + [1653636148.975204][3319:3324] CHIP:DMG: }, + [1653636148.975237][3319:3324] CHIP:DMG: disabled: true - label: - "TH reads NumberOfWeekDaySchedulesSupportedPerUser attribute from DUT" - PICS: DRLK.S.A0014 + "TH reads NumberOfWeekDaySchedules SupportedPerUser attribute from DUT" verification: | ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1 + Verify on the TH Log: - [1653377589.378532][3060:3065] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0014 DataVersion: 4018252607 - [1653377589.378611][3060:3065] CHIP:TOO: NumberOfWeekDaySchedulesSupportedPerUser: 10 + [1654679824.730432][3578:3583] CHIP:DMG: SuppressResponse = true, + [1654679824.730470][3578:3583] CHIP:DMG: InteractionModelRevision = 1 + [1654679824.730503][3578:3583] CHIP:DMG: } + [1654679824.730680][3578:3583] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0014 DataVersion: 3738767914 + [1654679824.730771][3578:3583] CHIP:TOO: NumberOfWeekDaySchedulesSupportedPerUser: 10 disabled: true - label: - "TH reads NumberOfYearDaySchedulesSupportedPeruser attribute from DUT" - PICS: DRLK.S.A0015 && DRLK.S.F04 + "TH reads NumberOfYearDay SchedulesSupportedPeruser attribute from DUT" + PICS: DRLK.S.F04 && DRLK.S.A0015 verification: | ./chip-tool doorlock read number-of-year-day-schedules-supported-per-user 1 1 + Verify on the TH Log: + - [1653377647.458495][3070:3075] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0015 DataVersion: 4018252607 - [1653377647.458580][3070:3075] CHIP:TOO: NumberOfYearDaySchedulesSupportedPerUser: 10 + [1654679926.699808][3597:3602] CHIP:DMG: SuppressResponse = true, + [1654679926.699845][3597:3602] CHIP:DMG: InteractionModelRevision = 1 + [1654679926.699879][3597:3602] CHIP:DMG: } + [1654679926.700057][3597:3602] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0015 DataVersion: 3738767914 + [1654679926.700147][3597:3602] CHIP:TOO: NumberOfYearDaySchedulesSupportedPerUser: 10 disabled: true - label: - "TH writes NumberOfYearDaySchedulesSupportedPerUser attribute as 35" - PICS: DRLK.S.A0015 + "TH writes NumberOfYearDay SchedulesSupportedPerUser attribute as 35" verification: | - ./chip-tool doorlock write number-of-year-day-schedules-supported-per-user 1 1 - [1653385752.463713][3740:3740] CHIP:TOO: Unknown attribute: number-of-year-day-schedules-supported-per-user + ./chip-tool doorlock write-by-id 21 35 1 1 + Verify on the TH Log: + [1653636277.664432][3339:3344] CHIP:DMG: StatusIB = + [1653636277.664473][3339:3344] CHIP:DMG: { + [1653636277.664507][3339:3344] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636277.664545][3339:3344] CHIP:DMG: }, + [1653636277.664580][3339:3344] CHIP:DMG: + [1653636277.664636][3339:3344] CHIP:DMG: }, + [1653636277.664671][3339:3344] CHIP:DMG: disabled: true - label: - "TH reads NumberOfYearDaySchedulesSupportedPerUser attribute from DUT" - PICS: DRLK.S.A0015 + "TH reads NumberOfYearDay SchedulesSupportedPerUser attribute from DUT" verification: | ./chip-tool doorlock read number-of-year-day-schedules-supported-per-user 1 1 + Verify on the TH Log: - [1653377647.458495][3070:3075] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0015 DataVersion: 4018252607 - [1653377647.458580][3070:3075] CHIP:TOO: NumberOfYearDaySchedulesSupportedPerUser: 10 + + [1654679926.699808][3597:3602] CHIP:DMG: SuppressResponse = true, + [1654679926.699845][3597:3602] CHIP:DMG: InteractionModelRevision = 1 + [1654679926.699879][3597:3602] CHIP:DMG: } + [1654679926.700057][3597:3602] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0015 DataVersion: 3738767914 + [1654679926.700147][3597:3602] CHIP:TOO: NumberOfYearDaySchedulesSupportedPerUser: 10 disabled: true - - label: "TH reads NumberOfHoliDaySchedulesSupported attribute from DUT" - PICS: DRLK.S.A0016 && DRLK.S.F04 + - label: "TH reads NumberOfHoliDay SchedulesSupported attribute from DUT" + PICS: DRLK.S.F04 && DRLK.S.A0016 verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 + Verify on the TH Log: - [1653377768.408467][3088:3093] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1653377768.408590][3088:3093] CHIP:EM: Sending Standalone Ack for MessageCounter:11722054 on exchange 62013i + [1654680009.422218][3611:3616] CHIP:DMG: SuppressResponse = true, + [1654680009.422246][3611:3616] CHIP:DMG: InteractionModelRevision = 1 + [1654680009.422272][3611:3616] CHIP:DMG: } + [1654680009.422416][3611:3616] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0016 DataVersion: 3738767914 + [1654680009.422491][3611:3616] CHIP:TOO: NumberOfHolidaySchedulesSupported: 10 disabled: true - - label: "TH writes NumberOfHolidaySchedulesSupported attribute as 36" - PICS: DRLK.S.A0016 + - label: "TH writes NumberOfHoliday SchedulesSupported attribute as 36" verification: | - ./chip-tool doorlock write number-of-holiday-schedules-supported 1 1 - [1653385816.916485][3743:3743] CHIP:TOO: Unknown attribute: number-of-holiday-schedules-supported + ./chip-tool doorlock write-by-id 22 36 1 1 + Verify on the TH Log: + + [1654680084.923185][3619:3624] CHIP:DMG: StatusIB = + [1654680084.923237][3619:3624] CHIP:DMG: { + [1654680084.923312][3619:3624] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1654680084.923369][3619:3624] CHIP:DMG: }, + [1654680084.923422][3619:3624] CHIP:DMG: + [1654680084.923462][3619:3624] CHIP:DMG: }, + [1654680084.923511][3619:3624] CHIP:DMG: + [1654680084.923550][3619:3624] CHIP:DMG: ], + [1654680084.923597][3619:3624] CHIP:DMG: disabled: true - - label: "TH reads NumberOfHolidaySchedulesSupported attribute from DUT" - PICS: DRLK.S.A0016 + - label: "TH reads NumberOfHoliday SchedulesSupported attribute from DUT" verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 + Verify on the TH Log: - [1653377768.408467][3088:3093] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1653377768.408590][3088:3093] CHIP:EM: Sending Standalone Ack for MessageCounter:11722054 on exchange 62013i + [1654680009.422218][3611:3616] CHIP:DMG: SuppressResponse = true, + [1654680009.422246][3611:3616] CHIP:DMG: InteractionModelRevision = 1 + [1654680009.422272][3611:3616] CHIP:DMG: } + [1654680009.422416][3611:3616] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0016 DataVersion: 3738767914 + [1654680009.422491][3611:3616] CHIP:TOO: NumberOfHolidaySchedulesSupported: 10 disabled: true - label: "TH reads MaxPINCodeLength attribute from DUT" - PICS: DRLK.S.A0017 && DRLK.S.F00 + PICS: DRLK.S.F00 && DRLK.S.A0017 verification: | ./chip-tool doorlock read max-pincode-length 1 1 + Verify on the TH Log: - [1653377837.090591][3097:3102] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0017 DataVersion: 4018252607 - [1653377837.090667][3097:3102] CHIP:TOO: MaxPINCodeLength: 8 + [1654680165.814980][3630:3635] CHIP:DMG: + [1654680165.815012][3630:3635] CHIP:DMG: SuppressResponse = true, + [1654680165.815046][3630:3635] CHIP:DMG: InteractionModelRevision = 1 + [1654680165.815077][3630:3635] CHIP:DMG: } + [1654680165.815239][3630:3635] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0017 DataVersion: 3738767914 + [1654680165.815374][3630:3635] CHIP:TOO: MaxPINCodeLength: 8 disabled: true - label: "TH writes MaxPINCodeLength attribute as 85" - PICS: DRLK.S.A0017 verification: | - ./chip-tool doorlock write max-pincode-length 1 1 - [1653385871.706688][3746:3746] CHIP:TOO: Unknown attribute: max-pincode-length + ./chip-tool doorlock write-by-id 23 85 1 1 + Verify on the TH Log: + + [1653636463.990965][3391:3396] CHIP:DMG: StatusIB = + [1653636463.991004][3391:3396] CHIP:DMG: { + [1653636463.991043][3391:3396] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636463.991084][3391:3396] CHIP:DMG: }, + [1653636463.991125][3391:3396] CHIP:DMG: + [1653636463.991159][3391:3396] CHIP:DMG: }, + [1653636463.991199][3391:3396] CHIP:DMG: disabled: true - label: "TH reads MaxPINCodeLength attribute from DUT" - PICS: DRLK.S.A0017 verification: | ./chip-tool doorlock read max-pincode-length 1 1 + Verify on the TH Log: - [1653377837.090591][3097:3102] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0017 DataVersion: 4018252607 - [1653377837.090667][3097:3102] CHIP:TOO: MaxPINCodeLength: 8 + [1654680165.814980][3630:3635] CHIP:DMG: + [1654680165.815012][3630:3635] CHIP:DMG: SuppressResponse = true, + [1654680165.815046][3630:3635] CHIP:DMG: InteractionModelRevision = 1 + [1654680165.815077][3630:3635] CHIP:DMG: } + [1654680165.815239][3630:3635] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0017 DataVersion: 3738767914 + [1654680165.815374][3630:3635] CHIP:TOO: MaxPINCodeLength: 8 disabled: true - label: "TH reads MinPINCodeLength attribute from DUT" - PICS: DRLK.S.A0018 && DRLK.S.F00 + PICS: DRLK.S.F00 && DRLK.S.A0018 verification: | ./chip-tool doorlock read min-pincode-length 1 1 + Verify on the TH Log: - [1653378027.583455][3119:3124] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0018 DataVersion: 4018252607 - [1653378027.583519][3119:3124] CHIP:TOO: MinPINCodeLength: 6 + [1654680280.327216][3639:3644] CHIP:DMG: SuppressResponse = true, + [1654680280.327241][3639:3644] CHIP:DMG: InteractionModelRevision = 1 + [1654680280.327274][3639:3644] CHIP:DMG: } + [1654680280.327488][3639:3644] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0018 DataVersion: 3738767914 + [1654680280.327558][3639:3644] CHIP:TOO: MinPINCodeLength: 6 disabled: true - label: "TH writes MinPINCodeLength attribute as 63" - PICS: DRLK.S.A0018 verification: | - ./chip-tool doorlock write min-pincode-length 1 1 - [1653385909.076429][3750:3750] CHIP:TOO: Unknown attribute: min-pincode-length + ./chip-tool doorlock write-by-id 24 63 1 1 + Verify on the TH Log: + + [1653636555.069388][3409:3414] CHIP:DMG: StatusIB = + [1653636555.069431][3409:3414] CHIP:DMG: { + [1653636555.069473][3409:3414] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636555.069520][3409:3414] CHIP:DMG: }, + [1653636555.069563][3409:3414] CHIP:DMG: + [1653636555.069600][3409:3414] CHIP:DMG: }, + [1653636555.069643][3409:3414] CHIP:DMG: + [1653636555.069676][3409:3414] CHIP:DMG: ], disabled: true - label: "TH reads MinPINCodeLength attribute from DUT" - PICS: DRLK.S.A0018 verification: | ./chip-tool doorlock read min-pincode-length 1 1 + Verify on the TH Log: - [1653378027.583455][3119:3124] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0018 DataVersion: 4018252607 - [1653378027.583519][3119:3124] CHIP:TOO: MinPINCodeLength: 6 + [1654680280.327216][3639:3644] CHIP:DMG: SuppressResponse = true, + [1654680280.327241][3639:3644] CHIP:DMG: InteractionModelRevision = 1 + [1654680280.327274][3639:3644] CHIP:DMG: } + [1654680280.327488][3639:3644] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0018 DataVersion: 3738767914 + [1654680280.327558][3639:3644] CHIP:TOO: MinPINCodeLength: 6 disabled: true - label: "TH reads MaxRFIDCodeLength attribute from DUT" - PICS: DRLK.S.A0019 && DRLK.S.F01 + PICS: DRLK.S.F01 && DRLK.S.A0019 verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 + Verify on the TH Log: - [1653378082.693436][3127:3132] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 4018252607 - [1653378082.693520][3127:3132] CHIP:TOO: MaxRFIDCodeLength: 20 + [1654680386.044531][3650:3655] CHIP:DMG: SuppressResponse = true, + [1654680386.044564][3650:3655] CHIP:DMG: InteractionModelRevision = 1 + [1654680386.044593][3650:3655] CHIP:DMG: } + [1654680386.044748][3650:3655] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 3738767914 + [1654680386.044824][3650:3655] CHIP:TOO: MaxRFIDCodeLength: 20 disabled: true - label: "TH writes MaxRFIDCodeLength attribute as 46" - PICS: DRLK.S.A0019 verification: | - ./chip-tool doorlock write max-rfidcode-length 1 1 - [1653385943.981181][3752:3752] CHIP:TOO: Unknown attribute: max-rfidcode-length + ./chip-tool doorlock write-by-id 25 46 1 1 + Verify on the TH Log: + + [1653636648.222617][3428:3433] CHIP:DMG: + [1653636648.222661][3428:3433] CHIP:DMG: StatusIB = + [1653636648.222705][3428:3433] CHIP:DMG: { + [1653636648.222750][3428:3433] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636648.222800][3428:3433] CHIP:DMG: }, + [1653636648.222845][3428:3433] CHIP:DMG: + [1653636648.222886][3428:3433] CHIP:DMG: }, + [1653636648.222929][3428:3433] CHIP:DMG: + [1653636648.222964][3428:3433] CHIP:DMG: ], disabled: true - label: "TH reads MaxRFIDCodeLength attribute from DUT" - PICS: DRLK.S.A0019 verification: | ./chip-tool doorlock read max-rfidcode-length 1 1 + Verify on the TH Log: - [1653378082.693436][3127:3132] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 4018252607 - [1653378082.693520][3127:3132] CHIP:TOO: MaxRFIDCodeLength: 20 + [1654680386.044531][3650:3655] CHIP:DMG: SuppressResponse = true, + [1654680386.044564][3650:3655] CHIP:DMG: InteractionModelRevision = 1 + [1654680386.044593][3650:3655] CHIP:DMG: } + [1654680386.044748][3650:3655] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 3738767914 + [1654680386.044824][3650:3655] CHIP:TOO: MaxRFIDCodeLength: 20 disabled: true - label: "TH reads MinRFIDCodeLength attribute from DUT" - PICS: DRLK.S.A001a && DRLK.S.F01 + PICS: DRLK.S.F01 && DRLK.S.A001a verification: | - ./chip-tool doorlock read max-rfidcode-length 1 1 + ./chip-tool doorlock read min-rfidcode-length 1 1 + Verify on the TH Log: - [1653378146.085179][3137:3142] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 4018252607 - [1653378146.085262][3137:3142] CHIP:TOO: MaxRFIDCodeLength: 20 + [1654680510.153261][3668:3673] CHIP:DMG: SuppressResponse = true, + [1654680510.153298][3668:3673] CHIP:DMG: InteractionModelRevision = 1 + [1654680510.153333][3668:3673] CHIP:DMG: } + [1654680510.153513][3668:3673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001A DataVersion: 3738767914 + [1654680510.153602][3668:3673] CHIP:TOO: MinRFIDCodeLength: 10 disabled: true - label: "TH writes MinRFIDCodeLength attribute as 17" - PICS: DRLK.S.A001a verification: | - ./chip-tool doorlock write min-rfidcode-length 1 1 - [1653385975.104136][3754:3754] CHIP:TOO: Unknown attribute: min-rfidcode-length + ./chip-tool doorlock write-by-id 26 17 1 1 + Verify on the TH Log: + + [1654680561.429054][3676:3681] CHIP:DMG: StatusIB = + [1654680561.429096][3676:3681] CHIP:DMG: { + [1654680561.429139][3676:3681] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1654680561.429181][3676:3681] CHIP:DMG: }, + [1654680561.429222][3676:3681] CHIP:DMG: + [1654680561.429258][3676:3681] CHIP:DMG: }, + [1654680561.429301][3676:3681] CHIP:DMG: + [1654680561.429332][3676:3681] CHIP:DMG: ], disabled: true - label: "TH reads MinRFIDCodeLength attribute from DUT" - PICS: DRLK.S.A001a verification: | - ./chip-tool doorlock read max-rfidcode-length 1 1 + ./chip-tool doorlock read min-rfidcode-length 1 1 + Verify on the TH Log: - [1653378146.085179][3137:3142] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0019 DataVersion: 4018252607 - [1653378146.085262][3137:3142] CHIP:TOO: MaxRFIDCodeLength: 20 + [1654680510.153261][3668:3673] CHIP:DMG: SuppressResponse = true, + [1654680510.153298][3668:3673] CHIP:DMG: InteractionModelRevision = 1 + [1654680510.153333][3668:3673] CHIP:DMG: } + [1654680510.153513][3668:3673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001A DataVersion: 3738767914 + [1654680510.153602][3668:3673] CHIP:TOO: MinRFIDCodeLength: 10 disabled: true - - label: "TH reads CredentialRulesSupport attribute from DUT" - PICS: DRLK.S.A001b && DRLK.S.F08 + - label: "TH reads Credential RulesSupport attribute from DUT" + PICS: DRLK.S.F08 && DRLK.S.A001b verification: | ./chip-tool doorlock read credential-rules-support 1 1 + Verify on the TH Log: - [1653378223.909172][3148:3154] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001B DataVersion: 4018252607 - [1653378223.909238][3148:3154] CHIP:TOO: CredentialRulesSupport: 1 + [1654680805.922076][3692:3697] CHIP:DMG: SuppressResponse = true, + [1654680805.922118][3692:3697] CHIP:DMG: InteractionModelRevision = 1 + [1654680805.922155][3692:3697] CHIP:DMG: } + [1654680805.922350][3692:3697] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001B DataVersion: 3738767914 + [1654680805.922451][3692:3697] CHIP:TOO: CredentialRulesSupport: 1 disabled: true - - label: "TH writes CredentialRulesSupport attribute as bit 0 is set to 1" - PICS: DRLK.S.A001b + - label: "TH writes Credential RulesSupport attribute as bit 0 is set to 1" verification: | - ./chip-tool doorlock write credential-rules-support 1 1 - [1653386016.121955][3760:3760] CHIP:TOO: Unknown attribute: credential-rules-support + ./chip-tool doorlock write-by-id 27 1 1 1 + Verify on the TH Log: + [1653636825.034667][3467:3472] CHIP:DMG: + [1653636825.034712][3467:3472] CHIP:DMG: StatusIB = + [1653636825.034758][3467:3472] CHIP:DMG: { + [1653636825.034804][3467:3472] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653636825.034851][3467:3472] CHIP:DMG: }, + [1653636825.034896][3467:3472] CHIP:DMG: + [1653636825.034933][3467:3472] CHIP:DMG: }, + [1653636825.034977][3467:3472] CHIP:DMG: + [1653636825.035013][3467:3472] CHIP:DMG: ], disabled: true - - label: "TH reads CredentialRulesSupport attribute from DUT" - PICS: DRLK.S.A001b + - label: "TH reads Credential RulesSupport attribute from DUT" verification: | ./chip-tool doorlock read credential-rules-support 1 1 + Verify on the TH Log: - [1653378223.909172][3148:3154] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001B DataVersion: 4018252607 - [1653378223.909238][3148:3154] CHIP:TOO: CredentialRulesSupport: 1 + [1654680805.922076][3692:3697] CHIP:DMG: SuppressResponse = true, + [1654680805.922118][3692:3697] CHIP:DMG: InteractionModelRevision = 1 + [1654680805.922155][3692:3697] CHIP:DMG: } + [1654680805.922350][3692:3697] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001B DataVersion: 3738767914 + [1654680805.922451][3692:3697] CHIP:TOO: CredentialRulesSupport: 1 disabled: true - - label: "TH reads Language attribute from DUT" + - label: + "TH reads Language attribute from DUT TH saves the values as + Current_Language Code" PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock read language 1 1 + Verify on the TH Log: - [1653378282.133557][3157:3162] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0021 DataVersion: 4018252607 - [1653378282.133617][3157:3162] CHIP:TOO: Language: en + [1654680885.954478][3700:3705] CHIP:DMG: SuppressResponse = true, + [1654680885.954512][3700:3705] CHIP:DMG: InteractionModelRevision = 1 + [1654680885.954543][3700:3705] CHIP:DMG: } + [1654680885.954710][3700:3705] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0021 DataVersion: 3738767914 + [1654680885.954770][3700:3705] CHIP:TOO: Language: en disabled: true - - label: "TH writes Language attribute as en" - PICS: DRLK.S.A0021 + - label: "TH writes Language attribute as fr" verification: | ./chip-tool doorlock write language fr 1 1 + Verify on the TH Log: - [1653378359.414345][3168:3173] CHIP:DMG: StatusIB = - [1653378359.414378][3168:3173] CHIP:DMG: { - [1653378359.414423][3168:3173] CHIP:DMG: status = 0x00 (SUCCESS), - [1653378359.414456][3168:3173] CHIP:DMG: }, - [1653378359.414500][3168:3173] CHIP:DMG: - [1653378359.414529][3168:3173] CHIP:DMG: }, - [1653378359.414571][3168:3173] CHIP:DMG: - [1653378359.414598][3168:3173] CHIP:DMG: ], - [1653378359.414629][3168:3173] CHIP:DMG: - [1653378359.414653][3168:3173] CHIP:DMG: InteractionModelRevision = 1 - [1653378359.414680][3168:3173] CHIP:DMG: } + [1654680959.481870][3711:3716] CHIP:DMG: StatusIB = + [1654680959.481910][3711:3716] CHIP:DMG: { + [1654680959.481949][3711:3716] CHIP:DMG: status = 0x00 (SUCCESS), + [1654680959.481991][3711:3716] CHIP:DMG: }, + [1654680959.482029][3711:3716] CHIP:DMG: + [1654680959.482061][3711:3716] CHIP:DMG: }, + [1654680959.482097][3711:3716] CHIP:DMG: + [1654680959.482126][3711:3716] CHIP:DMG: ], + [1654680959.482161][3711:3716] CHIP:DMG: + [1654680959.482190][3711:3716] CHIP:DMG: InteractionModelRevision = 1 + [1654680959.482219][3711:3716] CHIP:DMG: } disabled: true - label: "TH reads Language attribute from DUT" - PICS: DRLK.S.A0021 verification: | ./chip-tool doorlock read language 1 1 + Verify on the TH Log: - [1653378742.294717][3201:3206] CHIP:DMG: } - [1653378742.294914][3201:3206] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0021 DataVersion: 4018252609 - [1653378742.294976][3201:3206] CHIP:TOO: Language: fr + [1654681045.720848][3721:3726] CHIP:DMG: SuppressResponse = true, + [1654681045.720882][3721:3726] CHIP:DMG: InteractionModelRevision = 1 + [1654681045.720911][3721:3726] CHIP:DMG: } + [1654681045.721064][3721:3726] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0021 DataVersion: 3738767915 + [1654681045.721119][3721:3726] CHIP:TOO: Language: fr disabled: true - - label: "TH reads LEDSettings attribute from DUT" + - label: + "TH reads LEDSettings attribute from DUT TH saves the values as + Current_LEDSettings value" PICS: DRLK.S.A0022 verification: | - ./chip-tool doorlock read ledsettings 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock read ledsettings 1 1 + + Verify on the TH Log: - [1653378830.341099][3210:3215] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1653378830.341193][3210:3215] CHIP:EM: Sending Standalone Ack for MessageCounter:7931728 on exchange 57945i + [1654681074.956471][3728:3733] CHIP:DMG: StatusIB = + [1654681074.956514][3728:3733] CHIP:DMG: { + [1654681074.956558][3728:3733] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654681074.956602][3728:3733] CHIP:DMG: }, + [1654681074.956646][3728:3733] CHIP:DMG: + [1654681074.956686][3728:3733] CHIP:DMG: }, + [1654681074.956729][3728:3733] CHIP:DMG: + [1654681074.956762][3728:3733] CHIP:DMG: }, + [1654681074.956801][3728:3733] CHIP:DMG: + [1654681074.956833][3728:3733] CHIP:DMG: ], disabled: true - label: "TH writes LEDSettings attribute as 2" - PICS: DRLK.S.A0021 verification: | - ./chip-tool doorlock write ledsettings 2 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write ledsettings 1 1 1 + + Verify on the TH Log: - [1653386095.961549][3764:3769] CHIP:DMG: StatusIB = - [1653386095.961592][3764:3769] CHIP:DMG: { - [1653386095.961638][3764:3769] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653386095.961681][3764:3769] CHIP:DMG: }, - [1653386095.961727][3764:3769] CHIP:DMG: - [1653386095.961764][3764:3769] CHIP:DMG: }, - [1653386095.961807][3764:3769] CHIP:DMG: - [1653386095.961840][3764:3769] CHIP:DMG: ], - [1653386095.961880][3764:3769] CHIP:DMG: - [1653386095.961912][3764:3769] CHIP:DMG: InteractionModelRevision = 1 - [1653386095.961943][3764:3769] CHIP:DMG: } - [1653386095.962023][3764:3769] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + [[1653636933.733579][3485:3490] CHIP:DMG: StatusIB = + [1653636933.733614][3485:3490] CHIP:DMG: { + [1653636933.733652][3485:3490] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1653636933.733692][3485:3490] CHIP:DMG: }, + [1653636933.733729][3485:3490] CHIP:DMG: + [1653636933.733762][3485:3490] CHIP:DMG: }, + [1653636933.733800][3485:3490] CHIP:DMG: + [1653636933.733830][3485:3490] CHIP:DMG: }, + [1653636933.733864][3485:3490] CHIP:DMG: + [1653636933.733891][3485:3490] CHIP:DMG: ], disabled: true - label: "TH reads LEDSettings attribute from DUT" - PICS: DRLK.S.A0021 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read ledsettings 1 1 - [1653378830.341099][3210:3215] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1653378830.341193][3210:3215] CHIP:EM: Sending Standalone Ack for MessageCounter:7931728 on exchange 57945i + Verify on the TH Log: + + [1654681074.956471][3728:3733] CHIP:DMG: StatusIB = + [1654681074.956514][3728:3733] CHIP:DMG: { + [1654681074.956558][3728:3733] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654681074.956602][3728:3733] CHIP:DMG: }, + [1654681074.956646][3728:3733] CHIP:DMG: + [1654681074.956686][3728:3733] CHIP:DMG: }, + [1654681074.956729][3728:3733] CHIP:DMG: + [1654681074.956762][3728:3733] CHIP:DMG: }, + [1654681074.956801][3728:3733] CHIP:DMG: + [1654681074.956833][3728:3733] CHIP:DMG: ], disabled: true - - label: "TH reads AutoRelockTime attribute from DUT" + - label: + "TH reads AutoRelockTime attribute from DUT TH saves the values as + Current_AutoRelockTime" PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock read auto-relock-time 1 1 + Verify on the TH Log: - [1653383232.087140][3422:3427] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0023 DataVersion: 4018252610 - [1653383232.087199][3422:3427] CHIP:TOO: AutoRelockTime: 120 + [1654681151.469284][3736:3741] CHIP:DMG: SuppressResponse = true, + [1654681151.469317][3736:3741] CHIP:DMG: InteractionModelRevision = 1 + [1654681151.469347][3736:3741] CHIP:DMG: } + [1654681151.469506][3736:3741] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0023 DataVersion: 3738767915 + [1654681151.469588][3736:3741] CHIP:TOO: AutoRelockTime: 60 disabled: true - label: "TH writes AutoRelockTime attribute as 180 seconds" - PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock write auto-relock-time 180 1 1 + Verify on the TH Log: - [1653379055.149602][3237:3242] CHIP:DMG: StatusIB = - [1653379055.149649][3237:3242] CHIP:DMG: { - [1653379055.149695][3237:3242] CHIP:DMG: status = 0x00 (SUCCESS), - [1653379055.149742][3237:3242] CHIP:DMG: }, - [1653379055.149793][3237:3242] CHIP:DMG: - [1653379055.149836][3237:3242] CHIP:DMG: }, - [1653379055.149883][3237:3242] CHIP:DMG: - [1653379055.149919][3237:3242] CHIP:DMG: ], - [1653379055.149964][3237:3242] CHIP:DMG: - [1653379055.150000][3237:3242] CHIP:DMG: InteractionModelRevision = 1 - [1653379055.150035][3237:3242] CHIP:DMG: } - [1653379055.150135][3237:3242] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654681228.902110][3744:3749] CHIP:DMG: StatusIB = + [1654681228.902166][3744:3749] CHIP:DMG: { + [1654681228.902222][3744:3749] CHIP:DMG: status = 0x00 (SUCCESS), + [1654681228.902283][3744:3749] CHIP:DMG: }, + [1654681228.902339][3744:3749] CHIP:DMG: + [1654681228.902384][3744:3749] CHIP:DMG: }, + [1654681228.902437][3744:3749] CHIP:DMG: + [1654681228.902480][3744:3749] CHIP:DMG: ], + [1654681228.902533][3744:3749] CHIP:DMG: + [1654681228.902576][3744:3749] CHIP:DMG: InteractionModelRevision = 1 + [1654681228.902619][3744:3749] CHIP:DMG: } disabled: true - label: "TH reads AutoRelockTime attribute from DUT" - PICS: DRLK.S.A0023 verification: | ./chip-tool doorlock read auto-relock-time 1 1 + Verify on the TH Log: - [1653383232.087140][3422:3427] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0023 DataVersion: 4018252610 - [1653383232.087199][3422:3427] CHIP:TOO: AutoRelockTime: 180 + [1654681283.157135][3754:3759] CHIP:DMG: SuppressResponse = true, + [1654681283.157160][3754:3759] CHIP:DMG: InteractionModelRevision = 1 + [1654681283.157183][3754:3759] CHIP:DMG: } + [1654681283.157317][3754:3759] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0023 DataVersion: 3738767916 + [1654681283.157391][3754:3759] CHIP:TOO: AutoRelockTime: 180 disabled: true - - label: "TH reads SoundVolume attribute from DUT" + - label: + "TH reads SoundVolume attribute from DUT TH saves the values as + Current_SoundVolume value" PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock read sound-volume 1 1 + Verify on the TH Log: - [1653383394.027969][3436:3441] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0024 DataVersion: 4018252610 - [1653383394.028050][3436:3441] CHIP:TOO: SoundVolume: 0 + [1654681357.022476][3768:3773] CHIP:DMG: SuppressResponse = true, + [1654681357.022511][3768:3773] CHIP:DMG: InteractionModelRevision = 1 + [1654681357.022543][3768:3773] CHIP:DMG: } + [1654681357.022704][3768:3773] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0024 DataVersion: 3738767916 + [1654681357.022787][3768:3773] CHIP:TOO: SoundVolume: 0 disabled: true - label: "TH writes SoundVolume attribute as 3" - PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock write sound-volume 3 1 1 + Verify on the TH Log: - [1653383474.526474][3446:3451] CHIP:DMG: StatusIB = - [1653383474.526518][3446:3451] CHIP:DMG: { - [1653383474.526560][3446:3451] CHIP:DMG: status = 0x00 (SUCCESS), - [1653383474.526603][3446:3451] CHIP:DMG: }, - [1653383474.526645][3446:3451] CHIP:DMG: - [1653383474.526683][3446:3451] CHIP:DMG: }, - [1653383474.526726][3446:3451] CHIP:DMG: - [1653383474.526758][3446:3451] CHIP:DMG: ], - [1653383474.526798][3446:3451] CHIP:DMG: - [1653383474.526830][3446:3451] CHIP:DMG: InteractionModelRevision = 1 - [1653383474.526862][3446:3451] CHIP:DMG: } - [1653383474.526956][3446:3451] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654681412.367916][3782:3787] CHIP:DMG: StatusIB = + [1654681412.367963][3782:3787] CHIP:DMG: { + [1654681412.368009][3782:3787] CHIP:DMG: status = 0x00 (SUCCESS), + [1654681412.368055][3782:3787] CHIP:DMG: }, + [1654681412.368099][3782:3787] CHIP:DMG: + [1654681412.368136][3782:3787] CHIP:DMG: }, + [1654681412.368180][3782:3787] CHIP:DMG: + [1654681412.368214][3782:3787] CHIP:DMG: ], disabled: true - label: "TH reads SoundVolume attribute from DUT" - PICS: DRLK.S.A0024 verification: | ./chip-tool doorlock read sound-volume 1 1 + Verify on the TH Log: - [1653383520.565486][3454:3459] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0024 DataVersion: 4018252611 - [1653383520.565576][3454:3459] CHIP:TOO: SoundVolume: 3 + [1654681449.086921][3789:3794] CHIP:DMG: SuppressResponse = true, + [1654681449.086958][3789:3794] CHIP:DMG: InteractionModelRevision = 1 + [1654681449.086992][3789:3794] CHIP:DMG: } + [1654681449.087170][3789:3794] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0024 DataVersion: 3738767918 + [1654681449.087262][3789:3794] CHIP:TOO: SoundVolume: 3 disabled: true - - label: "TH reads OperatingMode attribute from DUT" - PICS: DRLK.S.A0025 + - label: "TH reads Supported OperatingModes attribute from DUT" + PICS: DRLK.S.A0026 verification: | - ./chip-tool doorlock read operating-mode 1 1 + ./chip-tool doorlock read supported-operating-modes 1 1 + Verify on the TH Log: - [1653383566.993923][3464:3469] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0025 DataVersion: 4018252611 - [1653383566.993997][3464:3469] CHIP:TOO: OperatingMode: 0 + [1654681500.464948][3797:3802] CHIP:DMG: SuppressResponse = true, + [1654681500.464974][3797:3802] CHIP:DMG: InteractionModelRevision = 1 + [1654681500.464998][3797:3802] CHIP:DMG: } + [1654681500.465125][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0026 DataVersion: 3738767918 + [1654681500.465198][3797:3802] CHIP:TOO: SupportedOperatingModes: 65526 disabled: true - - label: "TH writes OperatingMode attribute as 3" - PICS: DRLK.S.A0025 + - label: "TH writes Supported OperatingModes attribute as bit 0 is set to 0" verification: | - ./chip-tool doorlock write operating-mode 3 1 1 + ./chip-tool doorlock write-by-id 38 0 1 1 + Verify on the TH Log: + [1653637108.039160][3522:3527] CHIP:DMG: StatusIB = + [1653637108.039205][3522:3527] CHIP:DMG: { + [1653637108.039250][3522:3527] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1653637108.039297][3522:3527] CHIP:DMG: }, + [1653637108.039343][3522:3527] CHIP:DMG: + [1653637108.039380][3522:3527] CHIP:DMG: }, + [1653637108.039424][3522:3527] CHIP:DMG: + [1653637108.039460][3522:3527] CHIP:DMG: ], + disabled: true + + - label: "TH reads Supported OperatingModes attribute from DUT" + verification: | + ./chip-tool doorlock read supported-operating-modes 1 1 + Verify on the TH Log: - [1653383624.719526][3473:3478] CHIP:DMG: StatusIB = - [1653383624.719561][3473:3478] CHIP:DMG: { - [1653383624.719597][3473:3478] CHIP:DMG: status = 0x00 (SUCCESS), - [1653383624.719629][3473:3478] CHIP:DMG: }, - [1653383624.719665][3473:3478] CHIP:DMG: - [1653383624.719693][3473:3478] CHIP:DMG: }, - [1653383624.719726][3473:3478] CHIP:DMG: - [1653383624.719750][3473:3478] CHIP:DMG: ], - [1653383624.719780][3473:3478] CHIP:DMG: - [1653383624.719804][3473:3478] CHIP:DMG: InteractionModelRevision = 1 - [1653383624.719830][3473:3478] CHIP:DMG: } - [1653383624.719907][3473:3478] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654681500.464948][3797:3802] CHIP:DMG: SuppressResponse = true, + [1654681500.464974][3797:3802] CHIP:DMG: InteractionModelRevision = 1 + [1654681500.464998][3797:3802] CHIP:DMG: } + [1654681500.465125][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0026 DataVersion: 3738767918 + [1654681500.465198][3797:3802] CHIP:TOO: SupportedOperatingModes: 65526 disabled: true - - label: "TH reads OperatingMode attribute from DUT" + - label: + "TH reads OperatingMode attribute from DUT TH saves the values as + Current_OperatingMode value" PICS: DRLK.S.A0025 verification: | ./chip-tool doorlock read operating-mode 1 1 + Verify on the TH Log: + - [1653383659.560687][3480:3485] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0025 DataVersion: 4018252612 - [1653383659.560749][3480:3485] CHIP:TOO: OperatingMode: 3 + [1654681628.413702][3817:3822] CHIP:DMG: SuppressResponse = true, + [1654681628.413733][3817:3822] CHIP:DMG: InteractionModelRevision = 1 + [1654681628.413762][3817:3822] CHIP:DMG: } + [1654681628.413908][3817:3822] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0025 DataVersion: 3738767918 + [1654681628.413987][3817:3822] CHIP:TOO: OperatingMode: 0 disabled: true - - label: "TH reads SupportedOperatingModes attribute from DUT" - PICS: DRLK.S.A0026 + - label: + "TH writes OperatingMode attribute to a value as Normal and the new + value is present in SupportedOperatingModes" verification: | - ./chip-tool doorlock read supported-operating-modes 1 1 + ./chip-tool doorlock write operating-mode 0 1 1 + Verify on the TH Log: - [1653383704.998404][3488:3493] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0026 DataVersion: 4018252612 - [1653383704.998523][3488:3493] CHIP:TOO: SupportedOperatingModes: 65526 + [1654681685.239429][3833:3838] CHIP:DMG: StatusIB = + [1654681685.239464][3833:3838] CHIP:DMG: { + [1654681685.239499][3833:3838] CHIP:DMG: status = 0x00 (SUCCESS), + [1654681685.239532][3833:3838] CHIP:DMG: }, + [1654681685.239567][3833:3838] CHIP:DMG: + [1654681685.239595][3833:3838] CHIP:DMG: }, + [1654681685.239628][3833:3838] CHIP:DMG: + [1654681685.239651][3833:3838] CHIP:DMG: ], + [1654681685.239681][3833:3838] CHIP:DMG: disabled: true - - label: "TH writes SupportedOperatingModes attribute as bit 0 is set to 0" - PICS: DRLK.S.A0026 + - label: + "TH writes OperatingMode attribute to a value as NoRemoteLockUnlock + and the new value is present in Supported OperatingModes" verification: | - ./chip-tool doorlock write supported-operating-modes 1 1 - [1653386184.298481][3773:3773] CHIP:TOO: Unknown attribute: supported-operating-modes + ./chip-tool doorlock write operating-mode 3 1 1 + Verify on the TH Log: + + [1654681685.239429][3833:3838] CHIP:DMG: StatusIB = + [1654681685.239464][3833:3838] CHIP:DMG: { + [1654681685.239499][3833:3838] CHIP:DMG: status = 0x00 (SUCCESS), + [1654681685.239532][3833:3838] CHIP:DMG: }, + [1654681685.239567][3833:3838] CHIP:DMG: + [1654681685.239595][3833:3838] CHIP:DMG: }, + [1654681685.239628][3833:3838] CHIP:DMG: + [1654681685.239651][3833:3838] CHIP:DMG: ], + [1654681685.239681][3833:3838] CHIP:DMG: disabled: true - - label: "TH reads SupportedOperatingModes attribute from DUT" - PICS: DRLK.S.A0026 + - label: "TH reads OperatingMode attribute from DUT" verification: | - ./chip-tool doorlock read supported-operating-modes 1 1 + ./chip-tool doorlock read operating-mode 1 1 + Verify on the TH Log: - [1653383704.998404][3488:3493] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0026 DataVersion: 4018252612 - [1653383704.998523][3488:3493] CHIP:TOO: SupportedOperatingModes: 65526 + [1654681926.819078][3864:3870] CHIP:DMG: SuppressResponse = true, + [1654681926.819124][3864:3870] CHIP:DMG: InteractionModelRevision = 1 + [1654681926.819165][3864:3870] CHIP:DMG: } + [1654681926.819486][3864:3870] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0025 DataVersion: 3738767921 + [1654681926.819598][3864:3870] CHIP:TOO: OperatingMode: 3 disabled: true - - label: "TH reads DefualtConfigurationRegister attribute from DUT" + - label: "TH reads Default ConfigurationRegister attribute from DUT" PICS: DRLK.S.A0027 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read default-configuration-register 1 1 - [1653383781.079096][3500:3505] CHIP:DMG: StatusIB = - [1653383781.079167][3500:3505] CHIP:DMG: { - [1653383781.079239][3500:3505] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653383781.079300][3500:3505] CHIP:DMG: }, - [1653383781.079376][3500:3505] CHIP:DMG: - [1653383781.079437][3500:3505] CHIP:DMG: }, - [1653383781.079496][3500:3505] CHIP:DMG: - [1653383781.079557][3500:3505] CHIP:DMG: }, - [1653383781.079626][3500:3505] CHIP:DMG: - [1653383781.079668][3500:3505] CHIP:DMG: ], - [1653383781.079732][3500:3505] CHIP:DMG: - [1653383781.079775][3500:3505] CHIP:DMG: SuppressResponse = true, - [1653383781.079830][3500:3505] CHIP:DMG: InteractionModelRevision = 1 - [1653383781.079871][3500:3505] CHIP:DMG: } - [1653383781.080039][3500:3505] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682006.877169][3876:3881] CHIP:DMG: StatusIB = + [1654682006.877222][3876:3881] CHIP:DMG: { + [1654682006.877277][3876:3881] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682006.877330][3876:3881] CHIP:DMG: }, + [1654682006.877385][3876:3881] CHIP:DMG: + [1654682006.877432][3876:3881] CHIP:DMG: }, + [1654682006.877486][3876:3881] CHIP:DMG: + [1654682006.877529][3876:3881] CHIP:DMG: }, + [1654682006.877577][3876:3881] CHIP:DMG: + [1654682006.877615][3876:3881] CHIP:DMG: ], + [1654682006.877663][3876:3881] CHIP:DMG: + [1654682006.877701][3876:3881] CHIP:DMG: SuppressResponse = true, + [1654682006.877742][3876:3881] CHIP:DMG: InteractionModelRevision = 1 disabled: true - label: - "TH writes DefaultConfigurationRegister attribute as bit 0 is set to 1" - PICS: DRLK.S.A0027 + "TH writes Default ConfigurationRegister attribute as bit 0 is set to + 1" verification: | - ./chip-tool doorlock write default-configuration-register 1 1 - [1653386246.611681][3780:3780] CHIP:TOO: Unknown attribute: default-configuration-register + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 39 1 1 1 + + Verify on the TH Log: + + [1653637348.333879][3570:3575] CHIP:DMG: StatusIB = + [1653637348.333920][3570:3575] CHIP:DMG: { + [1653637348.333961][3570:3575] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1653637348.334007][3570:3575] CHIP:DMG: }, + [1653637348.334048][3570:3575] CHIP:DMG: + [1653637348.334084][3570:3575] CHIP:DMG: }, + [1653637348.334124][3570:3575] CHIP:DMG: + [1653637348.334156][3570:3575] CHIP:DMG: ], disabled: true - - label: "TH reads DefaultConfigurationRegister attribute from DUT" - PICS: DRLK.S.A0027 + - label: "TH reads Default ConfigurationRegister attribute from DUT" verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read default-configuration-register 1 1 - [1653383781.079096][3500:3505] CHIP:DMG: StatusIB = - [1653383781.079167][3500:3505] CHIP:DMG: { - [1653383781.079239][3500:3505] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653383781.079300][3500:3505] CHIP:DMG: }, - [1653383781.079376][3500:3505] CHIP:DMG: - [1653383781.079437][3500:3505] CHIP:DMG: }, - [1653383781.079496][3500:3505] CHIP:DMG: - [1653383781.079557][3500:3505] CHIP:DMG: }, - [1653383781.079626][3500:3505] CHIP:DMG: - [1653383781.079668][3500:3505] CHIP:DMG: ], - [1653383781.079732][3500:3505] CHIP:DMG: - [1653383781.079775][3500:3505] CHIP:DMG: SuppressResponse = true, - [1653383781.079830][3500:3505] CHIP:DMG: InteractionModelRevision = 1 - [1653383781.079871][3500:3505] CHIP:DMG: } - [1653383781.080039][3500:3505] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682006.877169][3876:3881] CHIP:DMG: StatusIB = + [1654682006.877222][3876:3881] CHIP:DMG: { + [1654682006.877277][3876:3881] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682006.877330][3876:3881] CHIP:DMG: }, + [1654682006.877385][3876:3881] CHIP:DMG: + [1654682006.877432][3876:3881] CHIP:DMG: }, + [1654682006.877486][3876:3881] CHIP:DMG: + [1654682006.877529][3876:3881] CHIP:DMG: }, + [1654682006.877577][3876:3881] CHIP:DMG: + [1654682006.877615][3876:3881] CHIP:DMG: ], + [1654682006.877663][3876:3881] CHIP:DMG: + [1654682006.877701][3876:3881] CHIP:DMG: SuppressResponse = true, + [1654682006.877742][3876:3881] CHIP:DMG: InteractionModelRevision = 1 disabled: true - - label: "TH reads EnableLocalProgramming attribute from DUT" + - label: + "TH reads EnableLocalProgramming attribute from DUT * TH saves the + values as Current_EnableLocal Programming value" PICS: DRLK.S.A0028 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read enable-local-programming 1 1 - [1653383840.783784][3512:3517] CHIP:DMG: StatusIB = - [1653383840.783838][3512:3517] CHIP:DMG: { - [1653383840.783892][3512:3517] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653383840.783946][3512:3517] CHIP:DMG: }, - [1653383840.783996][3512:3517] CHIP:DMG: - [1653383840.784041][3512:3517] CHIP:DMG: }, - [1653383840.784139][3512:3517] CHIP:DMG: - [1653383840.784182][3512:3517] CHIP:DMG: }, - [1653383840.784227][3512:3517] CHIP:DMG: - [1653383840.784263][3512:3517] CHIP:DMG: ], - [1653383840.784307][3512:3517] CHIP:DMG: - [1653383840.784344][3512:3517] CHIP:DMG: SuppressResponse = true, - [1653383840.784382][3512:3517] CHIP:DMG: InteractionModelRevision = 1 - [1653383840.784417][3512:3517] CHIP:DMG: } - [1653383840.784571][3512:3517] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682107.524282][3886:3891] CHIP:DMG: { + [1654682107.524320][3886:3891] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682107.524357][3886:3891] CHIP:DMG: }, + [1654682107.524395][3886:3891] CHIP:DMG: + [1654682107.524424][3886:3891] CHIP:DMG: }, + [1654682107.524463][3886:3891] CHIP:DMG: + [1654682107.524491][3886:3891] CHIP:DMG: }, + [1654682107.524524][3886:3891] CHIP:DMG: + [1654682107.524548][3886:3891] CHIP:DMG: ], disabled: true - label: "TH writes EnableLocalProgramming attribute as false" - PICS: DRLK.S.A0028 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock write enable-local-programming 0 1 1 - [1653386311.509961][3789:3794] CHIP:DMG: StatusIB = - [1653386311.510012][3789:3794] CHIP:DMG: { - [1653386311.510058][3789:3794] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653386311.510104][3789:3794] CHIP:DMG: }, - [1653386311.510149][3789:3794] CHIP:DMG: - [1653386311.510190][3789:3794] CHIP:DMG: }, - [1653386311.510237][3789:3794] CHIP:DMG: - [1653386311.510272][3789:3794] CHIP:DMG: ], - [1653386311.510316][3789:3794] CHIP:DMG: - [1653386311.510351][3789:3794] CHIP:DMG: InteractionModelRevision = 1 - [1653386311.510385][3789:3794] CHIP:DMG: } - [1653386311.510472][3789:3794] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1653637444.331118][3599:3604] CHIP:DMG: StatusIB = + [1653637444.331165][3599:3604] CHIP:DMG: { + [1653637444.331210][3599:3604] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1653637444.331257][3599:3604] CHIP:DMG: }, + [1653637444.331304][3599:3604] CHIP:DMG: + [1653637444.331342][3599:3604] CHIP:DMG: }, + [1653637444.331386][3599:3604] CHIP:DMG: + [1653637444.331421][3599:3604] CHIP:DMG: ], + [1653637444.331465][3599:3604] CHIP:DMG: disabled: true - label: "TH reads EnableLocalProgramming attribute from DUT" - PICS: DRLK.S.A0028 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read enable-local-programming 1 1 - [1653383840.783784][3512:3517] CHIP:DMG: StatusIB = - [1653383840.783838][3512:3517] CHIP:DMG: { - [1653383840.783892][3512:3517] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653383840.783946][3512:3517] CHIP:DMG: }, - [1653383840.783996][3512:3517] CHIP:DMG: - [1653383840.784041][3512:3517] CHIP:DMG: }, - [1653383840.784139][3512:3517] CHIP:DMG: - [1653383840.784182][3512:3517] CHIP:DMG: }, - [1653383840.784227][3512:3517] CHIP:DMG: - [1653383840.784263][3512:3517] CHIP:DMG: ], - [1653383840.784307][3512:3517] CHIP:DMG: - [1653383840.784344][3512:3517] CHIP:DMG: SuppressResponse = true, - [1653383840.784382][3512:3517] CHIP:DMG: InteractionModelRevision = 1 - [1653383840.784417][3512:3517] CHIP:DMG: } - [1653383840.784571][3512:3517] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682107.524282][3886:3891] CHIP:DMG: { + [1654682107.524320][3886:3891] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682107.524357][3886:3891] CHIP:DMG: }, + [1654682107.524395][3886:3891] CHIP:DMG: + [1654682107.524424][3886:3891] CHIP:DMG: }, + [1654682107.524463][3886:3891] CHIP:DMG: + [1654682107.524491][3886:3891] CHIP:DMG: }, + [1654682107.524524][3886:3891] CHIP:DMG: + [1654682107.524548][3886:3891] CHIP:DMG: ], disabled: true - label: "TH reads EnableOneTouchLocking attribute from DUT" PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock read enable-one-touch-locking 1 1 + Verify on the TH Log: - [1653383925.371145][3523:3528] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0029 DataVersion: 4018252612 - [1653383925.371209][3523:3528] CHIP:TOO: EnableOneTouchLocking: FALSE + [1654682200.857783][3895:3900] CHIP:DMG: SuppressResponse = true, + [1654682200.857809][3895:3900] CHIP:DMG: InteractionModelRevision = 1 + [1654682200.857832][3895:3900] CHIP:DMG: } + [1654682200.857965][3895:3900] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0029 DataVersion: 3738767921 + [1654682200.858010][3895:3900] CHIP:TOO: EnableOneTouchLocking: FALSE disabled: true - label: "TH writes EnableOneTouchLocking attribute as true" PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock write enable-one-touch-locking 1 1 1 + Verify on the TH Log: - [1653384034.118850][3539:3544] CHIP:DMG: StatusIB = - [1653384034.118901][3539:3544] CHIP:DMG: { - [1653384034.118948][3539:3544] CHIP:DMG: status = 0x00 (SUCCESS), - [1653384034.119000][3539:3544] CHIP:DMG: }, - [1653384034.119046][3539:3544] CHIP:DMG: - [1653384034.119086][3539:3544] CHIP:DMG: }, - [1653384034.119132][3539:3544] CHIP:DMG: - [1653384034.119168][3539:3544] CHIP:DMG: ], - [1653384034.119211][3539:3544] CHIP:DMG: - [1653384034.119247][3539:3544] CHIP:DMG: InteractionModelRevision = 1 - [1653384034.119281][3539:3544] CHIP:DMG: } - [1653384034.119380][3539:3544] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654682241.954790][3903:3908] CHIP:DMG: StatusIB = + [1654682241.954869][3903:3908] CHIP:DMG: { + [1654682241.954928][3903:3908] CHIP:DMG: status = 0x00 (SUCCESS), + [1654682241.954984][3903:3908] CHIP:DMG: }, + [1654682241.955041][3903:3908] CHIP:DMG: + [1654682241.955091][3903:3908] CHIP:DMG: }, + [1654682241.955145][3903:3908] CHIP:DMG: + [1654682241.955188][3903:3908] CHIP:DMG: ], + [1654682241.955241][3903:3908] CHIP:DMG: disabled: true - label: "TH reads EnableOneTouchLocking attribute from DUT" - PICS: DRLK.S.A0029 verification: | ./chip-tool doorlock read enable-one-touch-locking 1 1 + Verify on the TH Log: - [1653384078.751021][3545:3550] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0029 DataVersion: 4018252613 - [1653384078.751098][3545:3550] CHIP:TOO: EnableOneTouchLocking: TRUE + [1654682289.946247][3914:3919] CHIP:DMG: SuppressResponse = true, + [1654682289.946294][3914:3919] CHIP:DMG: InteractionModelRevision = 1 + [1654682289.946336][3914:3919] CHIP:DMG: } + [1654682289.946551][3914:3919] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0029 DataVersion: 3738767922 + [1654682289.946626][3914:3919] CHIP:TOO: EnableOneTouchLocking: TRUE disabled: true - - label: "TH reads EnableInsideStatusLED attribute from DUT" + - label: "TH reads EnableInside StatusLED attribute from DUT" PICS: DRLK.S.A002a verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read enable-inside-status-led 1 1 - [1653384124.652526][3554:3559] CHIP:DMG: StatusIB = - [1653384124.652564][3554:3559] CHIP:DMG: { - [1653384124.652599][3554:3559] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384124.652629][3554:3559] CHIP:DMG: }, - [1653384124.652668][3554:3559] CHIP:DMG: - [1653384124.652702][3554:3559] CHIP:DMG: }, - [1653384124.652744][3554:3559] CHIP:DMG: - [1653384124.652775][3554:3559] CHIP:DMG: }, - [1653384124.652812][3554:3559] CHIP:DMG: - [1653384124.652839][3554:3559] CHIP:DMG: ], - [1653384124.652874][3554:3559] CHIP:DMG: - [1653384124.652899][3554:3559] CHIP:DMG: SuppressResponse = true, - [1653384124.652930][3554:3559] CHIP:DMG: InteractionModelRevision = 1 - [1653384124.652957][3554:3559] CHIP:DMG: } - [1653384124.653079][3554:3559] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682333.059815][3921:3926] CHIP:DMG: StatusIB = + [1654682333.059848][3921:3926] CHIP:DMG: { + [1654682333.059880][3921:3926] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682333.059912][3921:3926] CHIP:DMG: }, + [1654682333.059945][3921:3926] CHIP:DMG: + [1654682333.059973][3921:3926] CHIP:DMG: }, + [1654682333.060005][3921:3926] CHIP:DMG: + [1654682333.060029][3921:3926] CHIP:DMG: }, + [1654682333.060060][3921:3926] CHIP:DMG: + [1654682333.060083][3921:3926] CHIP:DMG: ], + [1654682333.060112][3921:3926] CHIP:DMG: disabled: true - label: "TH writes EnableInsideStatusLED attribute as true" PICS: DRLK.S.A002a verification: | - ./chip-tool doorlock write enable-inside-status-led 1 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 42 1 1 1 + Verify on the TH Log: [1653386385.348368][3801:3806] CHIP:DMG: StatusIB = [1653386385.348419][3801:3806] CHIP:DMG: { @@ -989,98 +1351,103 @@ tests: [1653386385.348599][3801:3806] CHIP:DMG: }, [1653386385.348645][3801:3806] CHIP:DMG: [1653386385.348681][3801:3806] CHIP:DMG: ], - [1653386385.348724][3801:3806] CHIP:DMG: - [1653386385.348759][3801:3806] CHIP:DMG: InteractionModelRevision = 1 - [1653386385.348793][3801:3806] CHIP:DMG: } - [1653386385.348881][3801:3806] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "TH reads EnableInsideStatusLED attribute from DUT" - PICS: DRLK.S.A002a verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read enable-inside-status-led 1 1 - [1653384124.652526][3554:3559] CHIP:DMG: StatusIB = - [1653384124.652564][3554:3559] CHIP:DMG: { - [1653384124.652599][3554:3559] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384124.652629][3554:3559] CHIP:DMG: }, - [1653384124.652668][3554:3559] CHIP:DMG: - [1653384124.652702][3554:3559] CHIP:DMG: }, - [1653384124.652744][3554:3559] CHIP:DMG: - [1653384124.652775][3554:3559] CHIP:DMG: }, - [1653384124.652812][3554:3559] CHIP:DMG: - [1653384124.652839][3554:3559] CHIP:DMG: ], - [1653384124.652874][3554:3559] CHIP:DMG: - [1653384124.652899][3554:3559] CHIP:DMG: SuppressResponse = true, - [1653384124.652930][3554:3559] CHIP:DMG: InteractionModelRevision = 1 - [1653384124.652957][3554:3559] CHIP:DMG: } - [1653384124.653079][3554:3559] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654682333.059815][3921:3926] CHIP:DMG: StatusIB = + [1654682333.059848][3921:3926] CHIP:DMG: { + [1654682333.059880][3921:3926] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682333.059912][3921:3926] CHIP:DMG: }, + [1654682333.059945][3921:3926] CHIP:DMG: + [1654682333.059973][3921:3926] CHIP:DMG: }, + [1654682333.060005][3921:3926] CHIP:DMG: + [1654682333.060029][3921:3926] CHIP:DMG: }, + [1654682333.060060][3921:3926] CHIP:DMG: + [1654682333.060083][3921:3926] CHIP:DMG: ], + [1654682333.060112][3921:3926] CHIP:DMG: disabled: true - label: "TH reads EnablePrivacyModeButton attribute from DUT" PICS: DRLK.S.A002b verification: | ./chip-tool doorlock read enable-privacy-mode-button 1 1 + Verify on the TH Log: - [1653384191.590530][3563:3568] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_002B DataVersion: 4018252613 - [1653384191.590583][3563:3568] CHIP:TOO: EnablePrivacyModeButton: FALSE + [1654682475.460532][3931:3936] CHIP:DMG: SuppressResponse = true, + [1654682475.460586][3931:3936] CHIP:DMG: InteractionModelRevision = 1 + [1654682475.460635][3931:3936] CHIP:DMG: } + [1654682475.460872][3931:3936] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_002B DataVersion: 3738767922 + [1654682475.460959][3931:3936] CHIP:TOO: EnablePrivacyModeButton: FALSE disabled: true - - label: "TH writes EnablePrivacyModeButton attribute as true" + - label: "TH writes EnablePrivacy ModeButton attribute as true" PICS: DRLK.S.A002b verification: | ./chip-tool doorlock write enable-privacy-mode-button 1 1 1 + Verify on the TH Log: - - [1653384253.489923][3574:3579] CHIP:DMG: StatusIB = - [1653384253.489965][3574:3579] CHIP:DMG: { - [1653384253.490008][3574:3579] CHIP:DMG: status = 0x00 (SUCCESS), - [1653384253.490050][3574:3579] CHIP:DMG: }, - [1653384253.490089][3574:3579] CHIP:DMG: - [1653384253.490123][3574:3579] CHIP:DMG: }, - [1653384253.490163][3574:3579] CHIP:DMG: - [1653384253.490192][3574:3579] CHIP:DMG: ], - [1653384253.490228][3574:3579] CHIP:DMG: - [1653384253.490258][3574:3579] CHIP:DMG: InteractionModelRevision = 1 - [1653384253.490287][3574:3579] CHIP:DMG: } - [1653384253.490372][3574:3579] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654682528.961800][3939:3944] CHIP:DMG: StatusIB = + [1654682528.961832][3939:3944] CHIP:DMG: { + [1654682528.961874][3939:3944] CHIP:DMG: status = 0x00 (SUCCESS), + [1654682528.961916][3939:3944] CHIP:DMG: }, + [1654682528.961949][3939:3944] CHIP:DMG: + [1654682528.961984][3939:3944] CHIP:DMG: }, + [1654682528.962014][3939:3944] CHIP:DMG: + [1654682528.962047][3939:3944] CHIP:DMG: ], + [1654682528.962076][3939:3944] CHIP:DMG: + [1654682528.962110][3939:3944] CHIP:DMG: InteractionModelRevision = 1 disabled: true - label: "TH reads EnablePrivacyModeButton attribute from DUT" - PICS: DRLK.S.A002b verification: | ./chip-tool doorlock read enable-privacy-mode-button 1 1 + Verify on the TH Log: - [1653384297.319696][3583:3588] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_002B DataVersion: 4018252614 - [1653384297.319752][3583:3588] CHIP:TOO: EnablePrivacyModeButton: TRUE + [1654682565.141153][3948:3953] CHIP:DMG: SuppressResponse = true, + [1654682565.141195][3948:3953] CHIP:DMG: InteractionModelRevision = 1 + [1654682565.141233][3948:3953] CHIP:DMG: } + [1654682565.141434][3948:3953] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_002B DataVersion: 3738767923 + [1654682565.141510][3948:3953] CHIP:TOO: EnablePrivacyModeButton: TRUE disabled: true - - label: "TH reads LocalProgrammingFeatures attribute from DUT" + - label: + "TH reads LocalProgrammingFeatures attribute from DUT TH saves the + values as Current_LocalProgramming Features value" PICS: DRLK.S.A002c verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read local-programming-features 1 1 - [1653384349.240275][3593:3598] CHIP:DMG: StatusIB = - [1653384349.240322][3593:3598] CHIP:DMG: { - [1653384349.240360][3593:3598] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384349.240400][3593:3598] CHIP:DMG: }, - [1653384349.240438][3593:3598] CHIP:DMG: - [1653384349.240475][3593:3598] CHIP:DMG: }, - [1653384349.240515][3593:3598] CHIP:DMG: - [1653384349.240547][3593:3598] CHIP:DMG: }, - [1653384349.240584][3593:3598] CHIP:DMG: - [1653384349.240611][3593:3598] CHIP:DMG: ], - [1653384349.240647][3593:3598] CHIP:DMG: - [1653384349.240675][3593:3598] CHIP:DMG: SuppressResponse = true, - [1653384349.240705][3593:3598] CHIP:DMG: InteractionModelRevision = 1 - [1653384349.240731][3593:3598] CHIP:DMG: } - [1653384349.240852][3593:3598] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH writes LocalProgrammingFeatures attribute as true" - PICS: DRLK.S.A002c + Verify on the TH Log: + + [1654682621.565864][3961:3966] CHIP:DMG: StatusIB = + [1654682621.565919][3961:3966] CHIP:DMG: { + [1654682621.565969][3961:3966] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682621.566023][3961:3966] CHIP:DMG: }, + [1654682621.566072][3961:3966] CHIP:DMG: + [1654682621.566121][3961:3966] CHIP:DMG: }, + [1654682621.566173][3961:3966] CHIP:DMG: + [1654682621.566214][3961:3966] CHIP:DMG: }, + [1654682621.566264][3961:3966] CHIP:DMG: + [1654682621.566303][3961:3966] CHIP:DMG: ], + [1654682621.566353][3961:3966] CHIP:DMG: + disabled: true + + - label: "TH writes LocalProgramming Features attribute as true" verification: | - ./chip-tool doorlock write local-programming-features 1 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 44 1 1 1 + + Verify on the TH Log: [1653386492.777835][3811:3816] CHIP:DMG: StatusIB = [1653386492.777886][3811:3816] CHIP:DMG: { @@ -1091,170 +1458,199 @@ tests: [1653386492.778120][3811:3816] CHIP:DMG: [1653386492.778156][3811:3816] CHIP:DMG: ], [1653386492.778199][3811:3816] CHIP:DMG: - [1653386492.778235][3811:3816] CHIP:DMG: InteractionModelRevision = 1 - [1653386492.778269][3811:3816] CHIP:DMG: } - [1653386492.778358][3811:3816] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - - label: "TH reads LocalProgrammingFeatures attribute from DUT" - PICS: DRLK.S.A002c + - label: "TH reads LocalProgramming Features attribute from DUT" verification: | - ./chip-tool doorlock read local-programming-features 1 1 + ./chip-tool doorlock read local-programming-features 1 1 (OPTIONAL ATTRIBUTE) + Verify on the TH Log: + [1654682621.565864][3961:3966] CHIP:DMG: StatusIB = + [1654682621.565919][3961:3966] CHIP:DMG: { + [1654682621.565969][3961:3966] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654682621.566023][3961:3966] CHIP:DMG: }, + [1654682621.566072][3961:3966] CHIP:DMG: + [1654682621.566121][3961:3966] CHIP:DMG: }, + [1654682621.566173][3961:3966] CHIP:DMG: + [1654682621.566214][3961:3966] CHIP:DMG: }, + [1654682621.566264][3961:3966] CHIP:DMG: + [1654682621.566303][3961:3966] CHIP:DMG: ], + [1654682621.566353][3961:3966] CHIP:DMG: + disabled: true - [1653384349.240275][3593:3598] CHIP:DMG: StatusIB = - [1653384349.240322][3593:3598] CHIP:DMG: { - [1653384349.240360][3593:3598] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384349.240400][3593:3598] CHIP:DMG: }, - [1653384349.240438][3593:3598] CHIP:DMG: - [1653384349.240475][3593:3598] CHIP:DMG: }, - [1653384349.240515][3593:3598] CHIP:DMG: - [1653384349.240547][3593:3598] CHIP:DMG: }, - [1653384349.240584][3593:3598] CHIP:DMG: - [1653384349.240611][3593:3598] CHIP:DMG: ], - [1653384349.240647][3593:3598] CHIP:DMG: - [1653384349.240675][3593:3598] CHIP:DMG: SuppressResponse = true, - [1653384349.240705][3593:3598] CHIP:DMG: InteractionModelRevision = 1 - [1653384349.240731][3593:3598] CHIP:DMG: } - [1653384349.240852][3593:3598] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - disabled: true - - - label: "TH reads WrongCodeEntryLimit attribute from DUT" - PICS: DRLK.S.A0030 && ( DRLK.S.F00 || DRLK.S.F01 ) + - label: + "TH reads WrongCodeEntry Limit attribute from DUT TH saves the values + as Current_WrongCode EntryLimit value" + PICS: DRLK.S.F00 && DRLK.S.F01 && DRLK.S.A0030 verification: | ./chip-tool doorlock read wrong-code-entry-limit 1 1 + Verify on the TH Log: - [1653384423.016163][3602:3607] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0030 DataVersion: 4018252614 - [1653384423.016255][3602:3607] CHIP:TOO: WrongCodeEntryLimit: 3 + [1654682697.191640][3970:3975] CHIP:DMG: SuppressResponse = true, + [1654682697.191686][3970:3975] CHIP:DMG: InteractionModelRevision = 1 + [1654682697.191728][3970:3975] CHIP:DMG: } + [1654682697.191939][3970:3975] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0030 DataVersion: 3738767923 + [1654682697.192045][3970:3975] CHIP:TOO: WrongCodeEntryLimit: 3 disabled: true - label: "TH writes WrongCodeEntryLimit attribute as 8" - PICS: DRLK.S.A0030 verification: | ./chip-tool doorlock write wrong-code-entry-limit 8 1 1 + Verify on the TH Log: - [1653384480.608388][3612:3617] CHIP:DMG: StatusIB = - [1653384480.608434][3612:3617] CHIP:DMG: { - [1653384480.608477][3612:3617] CHIP:DMG: status = 0x00 (SUCCESS), - [1653384480.608520][3612:3617] CHIP:DMG: }, - [1653384480.608562][3612:3617] CHIP:DMG: - [1653384480.608599][3612:3617] CHIP:DMG: }, - [1653384480.608642][3612:3617] CHIP:DMG: - [1653384480.608674][3612:3617] CHIP:DMG: ], - [1653384480.608714][3612:3617] CHIP:DMG: - [1653384480.608746][3612:3617] CHIP:DMG: InteractionModelRevision = 1 - [1653384480.608777][3612:3617] CHIP:DMG: } - [1653384480.608869][3612:3617] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1654682751.960343][3981:3987] CHIP:DMG: StatusIB = + [1654682751.960389][3981:3987] CHIP:DMG: { + [1654682751.960433][3981:3987] CHIP:DMG: status = 0x00 (SUCCESS), + [1654682751.960483][3981:3987] CHIP:DMG: }, + [1654682751.960528][3981:3987] CHIP:DMG: + [1654682751.960568][3981:3987] CHIP:DMG: }, + [1654682751.960616][3981:3987] CHIP:DMG: + [1654682751.960650][3981:3987] CHIP:DMG: ], + [1654682751.960694][3981:3987] CHIP:DMG: disabled: true - - label: "TH reads WrongCodeEntryLimit attribute" - PICS: DRLK.S.A0030 + - label: "TH reads WrongCode EntryLimit attribute" verification: | ./chip-tool doorlock read wrong-code-entry-limit 1 1 + Verify on the TH Log: - [1653384525.012985][3620:3625] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0030 DataVersion: 4018252615 - [1653384525.013075][3620:3625] CHIP:TOO: WrongCodeEntryLimit: 8 + [1654682801.226369][3989:3994] CHIP:DMG: SuppressResponse = true, + [1654682801.226394][3989:3994] CHIP:DMG: InteractionModelRevision = 1 + [1654682801.226417][3989:3994] CHIP:DMG: } + [1654682801.226551][3989:3994] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0030 DataVersion: 3738767924 + [1654682801.226627][3989:3994] CHIP:TOO: WrongCodeEntryLimit: 8 disabled: true - - label: "TH reads UserCodeTemporaryDisableTime attribute from DUT" - PICS: DRLK.S.A0031 && ( DRLK.S.F00 || DRLK.S.F01 ) + - label: + "TH reads UserCodeTemporary DisableTime attribute from DUT TH saves + the values as Current_UserCode TemporaryDisableTime" + PICS: DRLK.S.F00 && DRLK.S.F01 && DRLK.S.A0031 verification: | ./chip-tool doorlock read user-code-temporary-disable-time 1 1 + Verify on the TH Log: - [1653384571.138260][3629:3634] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0031 DataVersion: 4018252615 - [1653384571.138355][3629:3634] CHIP:TOO: UserCodeTemporaryDisableTime: 10 + [1654682846.758616][3996:4001] CHIP:DMG: SuppressResponse = true, + [1654682846.758658][3996:4001] CHIP:DMG: InteractionModelRevision = 1 + [1654682846.758713][3996:4001] CHIP:DMG: } + [1654682846.759061][3996:4001] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0031 DataVersion: 3738767924 + [1654682846.759187][3996:4001] CHIP:TOO: UserCodeTemporaryDisableTime: 10 disabled: true - - label: "TH writes UserCodeTemporaryDisableTime attribute as 34" - PICS: DRLK.S.A0031 + - label: "TH writes UserCodeTemporaryDisableTime attribute as 120" verification: | - ./chip-tool doorlock write user-code-temporary-disable-time 34 1 1 - + ./chip-tool doorlock write user-code-temporary-disable-time 120 1 1 + Verify on the TH Log: - [1653384618.028164][3636:3641] CHIP:DMG: StatusIB = - [1653384618.028207][3636:3641] CHIP:DMG: { - [1653384618.028250][3636:3641] CHIP:DMG: status = 0x00 (SUCCESS), - [1653384618.028298][3636:3641] CHIP:DMG: }, - [1653384618.028344][3636:3641] CHIP:DMG: - [1653384618.028381][3636:3641] CHIP:DMG: }, - [1653384618.028424][3636:3641] CHIP:DMG: - [1653384618.028456][3636:3641] CHIP:DMG: ], - [1653384618.028496][3636:3641] CHIP:DMG: - [1653384618.028528][3636:3641] CHIP:DMG: InteractionModelRevision = 1 - [1653384618.028560][3636:3641] CHIP:DMG: } + [1654682895.502869][4011:4016] CHIP:DMG: StatusIB = + [1654682895.502946][4011:4016] CHIP:DMG: { + [1654682895.503021][4011:4016] CHIP:DMG: status = 0x00 (SUCCESS), + [1654682895.503087][4011:4016] CHIP:DMG: }, + [1654682895.503153][4011:4016] CHIP:DMG: + [1654682895.503210][4011:4016] CHIP:DMG: }, + [1654682895.503273][4011:4016] CHIP:DMG: + [1654682895.503411][4011:4016] CHIP:DMG: ], + [1654682895.503475][4011:4016] CHIP:DMG: + [1654682895.503526][4011:4016] CHIP:DMG: InteractionModelRevision = 1 disabled: true - - label: "TH reads UserCodeTemporaryDisableTime attribute" - PICS: DRLK.S.A0031 + - label: "TH reads UserCodeTemporary DisableTime attribute" verification: | ./chip-tool doorlock read user-code-temporary-disable-time 1 1 + Verify on the TH Log: - [1653384662.484042][3645:3650] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0031 DataVersion: 4018252616 - [1653384662.484152][3645:3650] CHIP:TOO: UserCodeTemporaryDisableTime: 34 + [1654682975.285821][4032:4037] CHIP:DMG: SuppressResponse = true, + [1654682975.285867][4032:4037] CHIP:DMG: InteractionModelRevision = 1 + [1654682975.285909][4032:4037] CHIP:DMG: } + [1654682975.286120][4032:4037] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0031 DataVersion: 3738767927 + [1654682975.286230][4032:4037] CHIP:TOO: UserCodeTemporaryDisableTime: 120 disabled: true - - label: "TH reads RequirePINforRemoteOperation attribute from DUT" - PICS: DRLK.S.A0033 && ( DRLK.S.F00 || DRLK.S.F07 ) + - label: "TH reads RequirePINfor RemoteOperation attribute from DUT" + PICS: DRLK.S.F07 && DRLK.S.F00 && DRLK.S.A0033 verification: | ./chip-tool doorlock read require-pinfor-remote-operation 1 1 + Verify on the TH Log: - [1653384781.487040][3664:3669] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0033 DataVersion: 4018252616 - [1653384781.487104][3664:3669] CHIP:TOO: RequirePINforRemoteOperation: FALSE + [1656335145.428166][4073:4078] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0033 DataVersion: 542587181 + [1656335145.428293][4073:4078] CHIP:TOO: RequirePINforRemoteOperation: FALSE + [1656335145.428485][4073:4078] CHIP:EM: Sending Standalone Ack for MessageCounter:10738875 on exchange 23314i disabled: true - - label: "TH writes RequirePINforRemoteOperation attribute as true" - PICS: DRLK.S.A0033 + - label: "TH writes RequirePINfor RemoteOperation attribute as true" verification: | ./chip-tool doorlock write require-pinfor-remote-operation 1 1 1 - - [1653384859.410988][3672:3677] CHIP:DMG: StatusIB = - [1653384859.411046][3672:3677] CHIP:DMG: { - [1653384859.411090][3672:3677] CHIP:DMG: status = 0x00 (SUCCESS), - [1653384859.411146][3672:3677] CHIP:DMG: }, - [1653384859.411189][3672:3677] CHIP:DMG: - [1653384859.411225][3672:3677] CHIP:DMG: }, - [1653384859.411268][3672:3677] CHIP:DMG: - [1653384859.411301][3672:3677] CHIP:DMG: ], - [1653384859.411341][3672:3677] CHIP:DMG: - [1653384859.411374][3672:3677] CHIP:DMG: InteractionModelRevision = 1 - [1653384859.411405][3672:3677] CHIP:DMG: } - [1653384859.411498][3672:3677] CHIP:DMG: WriteClient moving to [AwaitingDe] - disabled: true - - - label: "TH reads RequirePINforRemoteOperation attribute" - PICS: DRLK.S.A0033 + Verify on the TH Log: + + [1655211439.627206][18643:18648] CHIP:DMG: ReportDataMessage = + [1655211439.627269][18643:18648] CHIP:DMG: { + [1655211439.627323][18643:18648] CHIP:DMG: AttributeReportIBs = + [1655211439.627399][18643:18648] CHIP:DMG: [ + [1655211439.627459][18643:18648] CHIP:DMG: AttributeReportIB = + [1655211439.627538][18643:18648] CHIP:DMG: { + [1655211439.627601][18643:18648] CHIP:DMG: AttributeStatusIB = + [1655211439.627678][18643:18648] CHIP:DMG: { + [1655211439.627751][18643:18648] CHIP:DMG: AttributePathIB = + [1655211439.627831][18643:18648] CHIP:DMG: { + [1655211439.627914][18643:18648] CHIP:DMG: Endpoint = 0x1, + [1655211439.628007][18643:18648] CHIP:DMG: Cluster = 0x101, + [1655211439.628099][18643:18648] CHIP:DMG: Attribute = 0x0000_0033, + [1655211439.628177][18643:18648] CHIP:DMG: } + [1655211439.628264][18643:18648] CHIP:DMG: + [1655211439.628343][18643:18648] CHIP:DMG: StatusIB = + [1655211439.628424][18643:18648] CHIP:DMG: { + [1655211439.628508][18643:18648] CHIP:DMG: status = 0x00 (SUCCESS), + [1655211439.628596][18643:18648] CHIP:DMG: }, + [1655211439.628676][18643:18648] CHIP:DMG: + [1655211439.628745][18643:18648] CHIP:DMG: }, + [1655211439.628826][18643:18648] CHIP:DMG: + [1655211439.628887][18643:18648] CHIP:DMG: }, + [1655211439.628959][18643:18648] CHIP:DMG: + [1655211439.629016][18643:18648] CHIP:DMG: ], + [1655211439.629087][18643:18648] CHIP:DMG: + [1655211439.629145][18643:18648] CHIP:DMG: SuppressResponse = true, + [1655211439.629207][18643:18648] CHIP:DMG: InteractionModelRevision = 1 + [1655211439.629263][18643:18648] CHIP:DMG: } + disabled: true + + - label: "TH reads RequirePINfor RemoteOperation attribute" verification: | ./chip-tool doorlock read require-pinfor-remote-operation 1 1 + Verify on the TH Log: - [1653384910.952801][3680:3685] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0033 DataVersion: 4018252617 - [1653384910.952861][3680:3685] CHIP:TOO: RequirePINforRemoteOperation: TRUE + [1656335583.516419][4104:4109] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0033 DataVersion: 542587182 + [1656335583.516511][4104:4109] CHIP:TOO: RequirePINforRemoteOperation: TRUE + [1656335583.516675][4104:4109] CHIP:EM: Sending Standalone Ack for MessageCounter:11532501 on exchange 26372i disabled: true - - label: "TH reads ExpiringUserTimeOut attribute from DUT" - PICS: DRLK.S.A0035 && DRLK.S.F08 + - label: + "TH reads ExpiringUserTimeOut attribute from DUT TH saves the values + as Current_ExpiringUserTimeOut" + PICS: DRLK.S.F08 && DRLK.S.A0035 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + ./chip-tool doorlock read expiring-user-timeout 1 1 - [1653384957.031067][3692:3697] CHIP:DMG: StatusIB = - [1653384957.031120][3692:3697] CHIP:DMG: { - [1653384957.031175][3692:3697] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384957.031229][3692:3697] CHIP:DMG: }, - [1653384957.031282][3692:3697] CHIP:DMG: - [1653384957.031326][3692:3697] CHIP:DMG: }, - [1653384957.031375][3692:3697] CHIP:DMG: - [1653384957.031417][3692:3697] CHIP:DMG: }, - [1653384957.031461][3692:3697] CHIP:DMG: - [1653384957.031496][3692:3697] CHIP:DMG: ], - [1653384957.031541][3692:3697] CHIP:DMG: - [1653384957.031578][3692:3697] CHIP:DMG: SuppressResponse = true, - [1653384957.031615][3692:3697] CHIP:DMG: InteractionModelRevision = 1 - [1653384957.031650][3692:3697] CHIP:DMG: } - [1653384957.031802][3692:3697] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + Verify on the TH Log: + + [1654683235.889077][4073:4078] CHIP:DMG: StatusIB = + [1654683235.889118][4073:4078] CHIP:DMG: { + [1654683235.889152][4073:4078] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654683235.889190][4073:4078] CHIP:DMG: }, + [1654683235.889227][4073:4078] CHIP:DMG: + [1654683235.889262][4073:4078] CHIP:DMG: }, + [1654683235.889298][4073:4078] CHIP:DMG: + [1654683235.889326][4073:4078] CHIP:DMG: }, + [1654683235.889359][4073:4078] CHIP:DMG: + [1654683235.889383][4073:4078] CHIP:DMG: ], disabled: true - label: "TH writes ExpiringUserTimeout attribute as 10 minutes" - PICS: DRLK.S.A0035 verification: | - ./chip-tool doorlock write expiring-user-timeout 1 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock write-by-id 53 10 1 1 + + Verify on the TH Log: [1653386652.024354][3831:3836] CHIP:DMG: StatusIB = [1653386652.024390][3831:3836] CHIP:DMG: { @@ -1264,30 +1660,66 @@ tests: [1653386652.024525][3831:3836] CHIP:DMG: }, [1653386652.024561][3831:3836] CHIP:DMG: [1653386652.024588][3831:3836] CHIP:DMG: ], - [1653386652.024622][3831:3836] CHIP:DMG: - [1653386652.024649][3831:3836] CHIP:DMG: InteractionModelRevision = 1 - [1653386652.024675][3831:3836] CHIP:DMG: } - [1653386652.024748][3831:3836] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "TH reads ExpiringUserTimeout attribute" - PICS: DRLK.S.A0035 verification: | - ./chip-tool doorlock read expiring-user-timeout 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + ./chip-tool doorlock read expiring-user-timeout 1 1 + + Verify on the TH Log: + + [1654683235.889077][4073:4078] CHIP:DMG: StatusIB = + [1654683235.889118][4073:4078] CHIP:DMG: { + [1654683235.889152][4073:4078] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), + [1654683235.889190][4073:4078] CHIP:DMG: }, + [1654683235.889227][4073:4078] CHIP:DMG: + [1654683235.889262][4073:4078] CHIP:DMG: }, + [1654683235.889298][4073:4078] CHIP:DMG: + [1654683235.889326][4073:4078] CHIP:DMG: }, + [1654683235.889359][4073:4078] CHIP:DMG: + [1654683235.889383][4073:4078] CHIP:DMG: ], + disabled: true + + - label: "TH reads NumberOfCredentials SupportedPerUser attribute from DUT" + PICS: DRLK.S.F08 && DRLK.S.A001c + verification: | + ./chip-tool doorlock read number-of-credentials-supported-per-user 1 1 + Verify on the TH Log: + + [1654683489.274961][4132:4137] CHIP:DMG: SuppressResponse = true, + [1654683489.275002][4132:4137] CHIP:DMG: InteractionModelRevision = 1 + [1654683489.275040][4132:4137] CHIP:DMG: } + [1654683489.275252][4132:4137] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001C DataVersion: 3738767928 + [1654683489.275410][4132:4137] CHIP:TOO: NumberOfCredentialsSupportedPerUser: 5 + disabled: true + + - label: "TH writes NumberOfCredentials SupportedPerUser attribute as 85" + verification: | + ./chip-tool doorlock write-by-id 28 10 1 1 + Verify on the TH Log: + + [1654683627.680196][4148:4153] CHIP:DMG: StatusIB = + [1654683627.680252][4148:4153] CHIP:DMG: { + [1654683627.680306][4148:4153] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), + [1654683627.680353][4148:4153] CHIP:DMG: }, + [1654683627.680409][4148:4153] CHIP:DMG: + [1654683627.680444][4148:4153] CHIP:DMG: }, + [1654683627.680497][4148:4153] CHIP:DMG: + [1654683627.680529][4148:4153] CHIP:DMG: ], + [1654683627.680580][4148:4153] CHIP:DMG: + [1654683627.680612][4148:4153] CHIP:DMG: InteractionModelRevision = 1 + disabled: true + + - label: "TH reads NumberOfCredentials SupportedPerUser attribute from DUT" + verification: | + ./chip-tool doorlock read number-of-credentials-supported-per-user 1 1 + Verify on the TH Log: - [1653384957.031067][3692:3697] CHIP:DMG: StatusIB = - [1653384957.031120][3692:3697] CHIP:DMG: { - [1653384957.031175][3692:3697] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1653384957.031229][3692:3697] CHIP:DMG: }, - [1653384957.031282][3692:3697] CHIP:DMG: - [1653384957.031326][3692:3697] CHIP:DMG: }, - [1653384957.031375][3692:3697] CHIP:DMG: - [1653384957.031417][3692:3697] CHIP:DMG: }, - [1653384957.031461][3692:3697] CHIP:DMG: - [1653384957.031496][3692:3697] CHIP:DMG: ], - [1653384957.031541][3692:3697] CHIP:DMG: - [1653384957.031578][3692:3697] CHIP:DMG: SuppressResponse = true, - [1653384957.031615][3692:3697] CHIP:DMG: InteractionModelRevision = 1 - [1653384957.031650][3692:3697] CHIP:DMG: } - [1653384957.031802][3692:3697] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + [1654683489.274961][4132:4137] CHIP:DMG: SuppressResponse = true, + [1654683489.275002][4132:4137] CHIP:DMG: InteractionModelRevision = 1 + [1654683489.275040][4132:4137] CHIP:DMG: } + [1654683489.275252][4132:4137] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_001C DataVersion: 3738767928 + [1654683489.275410][4132:4137] CHIP:TOO: NumberOfCredentialsSupportedPerUser: 5 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml index 66fe8c03d2a9eb..98efb7fcf9ead7 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_6.yaml @@ -29,6 +29,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.A0016 verification: | ./chip-tool doorlock read number-of-holiday-schedules-supported 1 1 + Verify on the TH Log: [1654691068.446440][4655:4660] CHIP:DMG: [1654691068.446465][4655:4660] CHIP:DMG: SuppressResponse = true, @@ -45,6 +46,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C11.Rsp verification: | ./chip-tool doorlock set-holiday-schedule 1 20 30 0 1 1 + Verify on the TH Log: [1654691200.905091][4669:4674] CHIP:DMG: StatusIB = [1654691200.905122][4669:4674] CHIP:DMG: { @@ -66,6 +68,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx verification: | ./chip-tool doorlock get-holiday-schedule 1 1 1 + Verify on the TH Log: [1654691299.545647][4678:4683] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 [1654691299.545701][4678:4683] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0012 @@ -85,6 +88,7 @@ tests: PICS: DRLK.S.C11.Rsp verification: | ./chip-tool doorlock set-holiday-schedule 1 20 30 5 1 1 + Verify on the TH Log: [1655373066.616542][2571:2576] CHIP:DMG: { [1655373066.616583][2571:2576] CHIP:DMG: suppressResponse = false, @@ -121,6 +125,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx verification: | ./chip-tool doorlock get-holiday-schedule 1 1 1 + Verify on the TH Log: [1654691634.513667][4728:4733] CHIP:DMG: }, [1654691634.513979][4728:4733] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 @@ -139,6 +144,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx verification: | ./chip-tool doorlock get-holiday-schedule 10 1 1 + Verify on the TH Log: [1654691928.900652][4772:4777] CHIP:DMG: }, [1654691928.900762][4772:4777] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 @@ -154,6 +160,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx verification: | ./chip-tool doorlock get-holiday-schedule 6 1 1 + Verify on the TH Log: [1654692076.177892][4782:4787] CHIP:DMG: }, [1654692076.178035][4782:4787] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 @@ -169,6 +176,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C13.Rsp verification: | ./chip-tool doorlock clear-holiday-schedule 1 1 1 + Verify on the TH Log: [1654692125.827938][4791:4796] CHIP:DMG: StatusIB = [1654692125.828009][4791:4796] CHIP:DMG: { @@ -190,6 +198,7 @@ tests: PICS: DRLK.S.F04 && DRLK.S.C12.Rsp && DRLK.S.C12.Tx verification: | ./chip-tool doorlock get-holiday-schedule 2 1 1 + Verify on the TH Log: [1654692193.188088][4801:4806] CHIP:DMG: }, [1654692193.188152][4801:4806] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0012 diff --git a/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml index e91666f64fe67c..6a855020538e54 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_3_1.yaml @@ -26,26 +26,7 @@ tests: a manufacturer specific order" verification: | ./chip-tool flowmeasurement read measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - CHIP:DMG: ReadRequestMessage = - [1649661041.321892][8204:8204] CHIP:DMG: { - [1649661041.321946][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661041.322010][8204:8204] CHIP:DMG: [ - [1649661041.322093][8204:8204] CHIP:DMG: AttributePathIB = - [1649661041.322171][8204:8204] CHIP:DMG: { - [1649661041.322263][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661041.322375][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661041.322457][8204:8204] CHIP:DMG: Attribute = 0x0000_0000, - [1649661041.322554][8204:8204] CHIP:DMG: } - [1649661041.322631][8204:8204] CHIP:DMG: - [1649661041.322809][8204:8204] CHIP:DMG: ], - [1649661041.322908][8204:8204] CHIP:DMG: - [1649661041.322974][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661041.323057][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661041.323117][8204:8204] CHIP:DMG: }, - - Verify DUT log + Verify TH all-clusters-app Log Verify the measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0000 DataVersion: 1049406897 @@ -55,27 +36,7 @@ tests: "./chip-tool flowmeasurement read min-measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of min-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - CHIP:DMG: ReadRequestMessage = - [1649661242.186926][8204:8204] CHIP:DMG: { - [1649661242.186979][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661242.187045][8204:8204] CHIP:DMG: [ - [1649661242.187125][8204:8204] CHIP:DMG: AttributePathIB = - [1649661242.187212][8204:8204] CHIP:DMG: { - [1649661242.187308][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661242.187410][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661242.187493][8204:8204] CHIP:DMG: Attribute = 0x0000_0001, - [1649661242.187588][8204:8204] CHIP:DMG: } - [1649661242.187665][8204:8204] CHIP:DMG: - [1649661242.187754][8204:8204] CHIP:DMG: ], - [1649661242.187828][8204:8204] CHIP:DMG: - [1649661242.187916][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661242.187978][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661242.188057][8204:8204] CHIP:DMG: }, - - - Verify DUT log + Verify TH all-clusters-app Log Verify the min-measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0001 DataVersion: 1049406897 @@ -84,28 +45,7 @@ tests: "./chip-tool flowmeasurement read max-measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of max-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - - CHIP:DMG: ReadRequestMessage = - [1649661278.363869][8204:8204] CHIP:DMG: { - [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661278.364011][8204:8204] CHIP:DMG: [ - [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = - [1649661278.364179][8204:8204] CHIP:DMG: { - [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, - [1649661278.364540][8204:8204] CHIP:DMG: } - [1649661278.364635][8204:8204] CHIP:DMG: - [1649661278.364704][8204:8204] CHIP:DMG: ], - [1649661278.364795][8204:8204] CHIP:DMG: - [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661278.365005][8204:8204] CHIP:DMG: }, - - - Verify DUT log + Verify TH all-clusters-app Log Verify the min-measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0002 DataVersion: 1049406897 @@ -117,27 +57,7 @@ tests: a manufacturer specific order" verification: | chip-tool flowmeasurement read tolerance 1 1 - Verify on TestHarnes (all-cluster-app) a received read of tolerance-value printing the cluster ID endpoint used and attribute ID which is read in logs - - CHIP:DMG: ReadRequestMessage = - [1649661278.363869][8204:8204] CHIP:DMG: { - [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661278.364011][8204:8204] CHIP:DMG: [ - [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = - [1649661278.364179][8204:8204] CHIP:DMG: { - [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, - [1649661278.364540][8204:8204] CHIP:DMG: } - [1649661278.364635][8204:8204] CHIP:DMG: - [1649661278.364704][8204:8204] CHIP:DMG: ], - [1649661278.364795][8204:8204] CHIP:DMG: - [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661278.365005][8204:8204] CHIP:DMG: }, - - - Verify DUT log + Verify TH all-clusters-app Log Verify the measured-value should be in range 0 to 2048 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0003 DataVersion: 1049406897 @@ -148,14 +68,14 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - No writeable attribute + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writeable attribute + This cluster doesn't have any writable attributes disabled: true - label: @@ -164,6 +84,8 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool flowmeasurement read attribute-list 1 1 [1656478164937] [49517:5732586] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_FFFB DataVersion: 3423686907 @@ -185,26 +107,7 @@ tests: ./chip-tool flowmeasurement read measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - CHIP:DMG: ReadRequestMessage = - [1649661041.321892][8204:8204] CHIP:DMG: { - [1649661041.321946][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661041.322010][8204:8204] CHIP:DMG: [ - [1649661041.322093][8204:8204] CHIP:DMG: AttributePathIB = - [1649661041.322171][8204:8204] CHIP:DMG: { - [1649661041.322263][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661041.322375][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661041.322457][8204:8204] CHIP:DMG: Attribute = 0x0000_0000, - [1649661041.322554][8204:8204] CHIP:DMG: } - [1649661041.322631][8204:8204] CHIP:DMG: - [1649661041.322809][8204:8204] CHIP:DMG: ], - [1649661041.322908][8204:8204] CHIP:DMG: - [1649661041.322974][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661041.323057][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661041.323117][8204:8204] CHIP:DMG: }, - - Verify DUT log + Verify TH all-clusters-app Log Verify the measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0000 DataVersion: 1049406897 @@ -214,27 +117,7 @@ tests: "./chip-tool flowmeasurement read min-measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of min-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - CHIP:DMG: ReadRequestMessage = - [1649661242.186926][8204:8204] CHIP:DMG: { - [1649661242.186979][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661242.187045][8204:8204] CHIP:DMG: [ - [1649661242.187125][8204:8204] CHIP:DMG: AttributePathIB = - [1649661242.187212][8204:8204] CHIP:DMG: { - [1649661242.187308][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661242.187410][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661242.187493][8204:8204] CHIP:DMG: Attribute = 0x0000_0001, - [1649661242.187588][8204:8204] CHIP:DMG: } - [1649661242.187665][8204:8204] CHIP:DMG: - [1649661242.187754][8204:8204] CHIP:DMG: ], - [1649661242.187828][8204:8204] CHIP:DMG: - [1649661242.187916][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661242.187978][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661242.188057][8204:8204] CHIP:DMG: }, - - - Verify DUT log + Verify TH all-clusters-app Log Verify the min-measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0001 DataVersion: 1049406897 @@ -243,28 +126,7 @@ tests: "./chip-tool flowmeasurement read max-measured-value 1 1 - Verify on TestHarnes (all-cluster-app) a received read of max-measured-value printing the cluster ID endpoint used and attribute ID which is read in logs - - - CHIP:DMG: ReadRequestMessage = - [1649661278.363869][8204:8204] CHIP:DMG: { - [1649661278.363923][8204:8204] CHIP:DMG: AttributePathIBs = - [1649661278.364011][8204:8204] CHIP:DMG: [ - [1649661278.364073][8204:8204] CHIP:DMG: AttributePathIB = - [1649661278.364179][8204:8204] CHIP:DMG: { - [1649661278.364252][8204:8204] CHIP:DMG: Endpoint = 0x1, - [1649661278.364356][8204:8204] CHIP:DMG: Cluster = 0x404, - [1649661278.364464][8204:8204] CHIP:DMG: Attribute = 0x0000_0002, - [1649661278.364540][8204:8204] CHIP:DMG: } - [1649661278.364635][8204:8204] CHIP:DMG: - [1649661278.364704][8204:8204] CHIP:DMG: ], - [1649661278.364795][8204:8204] CHIP:DMG: - [1649661278.364863][8204:8204] CHIP:DMG: isFabricFiltered = true, - [1649661278.364945][8204:8204] CHIP:DMG: InteractionModelRevision = 1 - [1649661278.365005][8204:8204] CHIP:DMG: }, - - - Verify DUT log + Verify TH all-clusters-app Log Verify the min-measured-value should be in range of uint16 CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_0002 DataVersion: 1049406897 @@ -275,6 +137,8 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + Verify TH all-clusters-app Log + ./chip-tool flowmeasurement read tolerance 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -283,5 +147,5 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writeable attribute + This cluster doesn't have any writable attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml index 8391a2e8a397b5..24002a29efa834 100644 --- a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 119.1.1. [TC-G-1.1] Global Attributes [DUT-Server] +name: 121.1.1. [TC-G-1.1] Global Attributes [DUT-Server] config: nodeId: 0x12344321 @@ -28,7 +28,9 @@ tests: - label: "TH reads the ClusterRevision from DUT" verification: | - ./chip-tool groups read cluster-revision 1 0 + ./chip-tool groups read cluster-revision 1 1 + + Verify on the TH Log: [1651216621.203474][2391:2396] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 745654550 [1651216621.204919][2391:2396] CHIP:TOO: ClusterRevision: 4 @@ -36,26 +38,28 @@ tests: - label: "TH reads the FeatureMap from DUT" verification: | - ./chip-tool groups read feature-map 1 0 + ./chip-tool groups read feature-map 1 1 + + Verify on the TH Log: - [1651216952.185475][2414:2419] CHIP:DMG: - [1651216952.185500][2414:2419] CHIP:DMG: SuppressResponse = true, - [1651216952.185525][2414:2419] CHIP:DMG: InteractionModelRevision = 1 - [1651216952.185548][2414:2419] CHIP:DMG: } - [1651216952.185658][2414:2419] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + [1653556224.547920][18764:18769] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFC DataVersion: 3409054639 + [1653556224.548038][18764:18769] CHIP:TOO: FeatureMap: 1 disabled: true - - label: "TH reads AttribubteList from DUT" + - label: "TH reads AttributeList from DUT" verification: | - ./chip-tool groups read attribute-list 1 0 - - [1651217016.772370][2424:2429] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFB DataVersion: 745654550 - [1651217016.772471][2424:2429] CHIP:TOO: AttributeList: 5 entries - [1651217016.772519][2424:2429] CHIP:TOO: [1]: 0 - [1651217016.772558][2424:2429] CHIP:TOO: [2]: 65528 - [1651217016.772595][2424:2429] CHIP:TOO: [3]: 65529 - [1651217016.772632][2424:2429] CHIP:TOO: [4]: 65531 - [1651217016.772667][2424:2429] CHIP:TOO: [5]: 65533 + ./chip-tool groups read attribute-list 1 1 + + Verify on the TH Log: + + [1653556295.417734][18773:18779] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFB DataVersion: 3409054639 + [1653556295.417900][18773:18779] CHIP:TOO: AttributeList: 6 entries + [1653556295.417971][18773:18779] CHIP:TOO: [1]: 0 + [1653556295.418015][18773:18779] CHIP:TOO: [2]: 65528 + [1653556295.418057][18773:18779] CHIP:TOO: [3]: 65529 + [1653556295.418098][18773:18779] CHIP:TOO: [4]: 65531 + [1653556295.418138][18773:18779] CHIP:TOO: [5]: 65532 + [1653556295.418179][18773:18779] CHIP:TOO: [6]: 65533 disabled: true - label: "TH reads EventList from DUT" @@ -65,7 +69,9 @@ tests: - label: "TH reads AcceptedCommandList from DUT" verification: | - ./chip-tool groups read accepted-command-list 1 0 + ./chip-tool groups read accepted-command-list 1 1 + + Verify on the TH Log: [1651217107.034926][2435:2440] CHIP:TOO: AcceptedCommandList: 6 entries [1651217107.034984][2435:2440] CHIP:TOO: [1]: 0 @@ -78,7 +84,9 @@ tests: - label: "TH reads GeneratedCommandList from DUT" verification: | - ./chip-tool groups read generated-command-list 1 0 + ./chip-tool groups read generated-command-list 1 1 + + Verify on the TH Log: [1651217152.020233][2444:2449] CHIP:TOO: GeneratedCommandList: 4 entries [1651217152.020276][2444:2449] CHIP:TOO: [1]: 0 diff --git a/src/app/tests/suites/certification/Test_TC_G_2_1.yaml b/src/app/tests/suites/certification/Test_TC_G_2_1.yaml index f94b52a4e81339..612feb50a00724 100644 --- a/src/app/tests/suites/certification/Test_TC_G_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_2_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 119.2.1. [TC-G-2.1] Attributes [DUT-Server] +name: 121.2.1. [TC-G-2.1] Attributes [DUT-Server] config: nodeId: 0x12344321 @@ -24,15 +24,19 @@ tests: - label: "TH reads NameSupport attribute from DUT" PICS: G.S.A0000 verification: | - ./chip-tool groups read name-support 1 0 + ./chip-tool groups read name-support 1 1 + + Verify on the TH Log: [1651217306.461810][2457:2462] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_0000 DataVersion: 745654550 - [1651217306.461894][2457:2462] CHIP:TOO: name support: 128 + [1651217306.461894][2457:2462] CHIP:TOO: name support: 128(binary:10000000) disabled: true - - label: "TH writes NameSupport attribute as 1" + - label: + "TH writes NameSupport attribute as 0x80 EXOR the value as read in + step 1" verification: | - ./chip-tool groups write-by-id 0x0000 1 1 0 + ./chip-tool groups write-by-id 0x0000 126 1 1 [1651217949.041814][2514:2519] CHIP:DMG: } [1651217949.041889][2514:2519] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) @@ -40,13 +44,8 @@ tests: - label: "TH reads NameSupport attribute from DUT" verification: | - ./chip-tool groups read name-support 1 0 + ./chip-tool groups read name-support 1 1 [1651217306.461810][2457:2462] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_0000 DataVersion: 745654550 [1651217306.461894][2457:2462] CHIP:TOO: name support: 128 disabled: true - - - label: "TH reads Group Names from DUT" - verification: | - FeatureMap is not Implemented - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_G_2_2.yaml b/src/app/tests/suites/certification/Test_TC_G_2_2.yaml index cf1dbb283c218e..8884577fb7701d 100644 --- a/src/app/tests/suites/certification/Test_TC_G_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_2_2.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 119.2.2. [TC-G-2.2] Commands - AddGroup, ViewGroup, RemoveGroup, + 121.2.2. [TC-G-2.2] Commands - AddGroup, ViewGroup, RemoveGroup, RemoveAllGroups [DUT-Server] config: @@ -28,7 +28,9 @@ tests: : GroupID as 0x0001 GroupName as Gp1" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0001 grp1 1 0 + ./chip-tool groups add-group 0x0001 grp1 1 1 + + Verify on the TH Log: [1651218084.427102][2526:2531] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1651218084.427203][2526:2531] CHIP:TOO: AddGroupResponse: { @@ -44,6 +46,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1651218198.062850][2538:2543] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 2261933069 [1651218198.062980][2538:2543] CHIP:TOO: GroupTable: 1 entries [1651218198.067019][2538:2543] CHIP:TOO: [1]: { @@ -60,7 +64,9 @@ tests: : GroupID as 0x0002 GroupName as Gp2" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0002 grp2 1 0 + ./chip-tool groups add-group 0x0002 grp2 1 1 + + Verify on the TH Log: [1653484028.897698][11275:11280] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653484028.897804][11275:11280] CHIP:TOO: AddGroupResponse: { @@ -76,6 +82,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653484065.934504][11281:11286] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 [1653484065.934631][11281:11286] CHIP:TOO: GroupTable: 2 entries [1653484065.937522][11281:11286] CHIP:TOO: [1]: { @@ -99,7 +107,9 @@ tests: : GroupID as 0x0003 GroupName as Gp3" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0003 grp3 1 0 + ./chip-tool groups add-group 0x0003 grp3 1 1 + + Verify on the TH Log: [1653484116.857523][11289:11294] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653484116.857675][11289:11294] CHIP:TOO: AddGroupResponse: { @@ -115,6 +125,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653484156.968253][11299:11304] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 [1653484156.968414][11299:11304] CHIP:TOO: GroupTable: 3 entries [1653484156.968565][11299:11304] CHIP:TOO: [1]: { @@ -141,11 +153,13 @@ tests: disabled: true - label: - "TH sends AddGroup command to DUT n+1 times as unicast with the - following fields : GroupID as 0x0004 GroupName as Gp4" + "TH sends AddGroup command to DUT (n+1) times as unicast with the + different GroupID each time" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0004 grp4 1 0 + ./chip-tool groups add-group 0x0004 grp4 1 1 + + Verify on the TH Log: [1653484187.170553][11306:11311] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653484187.170637][11306:11311] CHIP:TOO: AddGroupResponse: { @@ -161,6 +175,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653484324.735216][11318:11323] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 [1653484324.735368][11318:11323] CHIP:TOO: GroupTable: 3 entries [1653484324.735515][11318:11323] CHIP:TOO: [1]: { @@ -191,7 +207,9 @@ tests: : GroupID as 0x0000 GroupName as Gp6" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0000 grp6 1 0 + ./chip-tool groups add-group 0x0000 grp6 1 1 + + Verify on the TH Log: [1653484439.884144][11341:11346] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653484439.884258][11341:11346] CHIP:TOO: AddGroupResponse: { @@ -205,7 +223,9 @@ tests: fields: GroupID as 0x0001" PICS: G.S.C01.Rsp && G.S.C01.Tx verification: | - ./chip-tool groups view-group 0x0001 1 0 + ./chip-tool groups view-group 0x0001 1 1 + + Verify on the TH Log: 1653484504.667714][11349:11354] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 [1653484504.667841][11349:11354] CHIP:TOO: ViewGroupResponse: { @@ -223,6 +243,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653484552.793059][11397:11402] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 [1653484552.793197][11397:11402] CHIP:TOO: GroupTable: 3 entries [1653484552.793327][11397:11402] CHIP:TOO: [1]: { @@ -253,7 +275,9 @@ tests: fields: GroupID as 0x0000" PICS: G.S.C01.Rsp && G.S.C01.Tx verification: | - ./chip-tool groups view-group 0x0000 1 0 + ./chip-tool groups view-group 0x0000 1 1 + + Verify on the TH Log: [1653484611.595344][11412:11417] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 [1653484611.595454][11412:11417] CHIP:TOO: ViewGroupResponse: { @@ -271,6 +295,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653484552.793059][11397:11402] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 [1653484552.793197][11397:11402] CHIP:TOO: GroupTable: 3 entries [1653484552.793327][11397:11402] CHIP:TOO: [1]: { @@ -301,7 +327,9 @@ tests: fields: GroupID as 0x0021" PICS: G.S.C01.Rsp && G.S.C01.Tx verification: | - ./chip-tool groups view-group 0x0021 1 0 + ./chip-tool groups view-group 0x0021 1 1 + + Verify on the TH Log: [1653484707.569962][11436:11441] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 [1653484707.570073][11436:11441] CHIP:TOO: ViewGroupResponse: { @@ -319,6 +347,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653559604.877250][3163:3168] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3214629634 [1653559604.877441][3163:3168] CHIP:TOO: GroupTable: 3 entries [1653559604.877556][3163:3168] CHIP:TOO: [1]: { @@ -349,7 +379,9 @@ tests: field : GroupID as 0x0001" PICS: G.S.C03.Rsp && G.S.C03.Tx verification: | - ./chip-tool groups remove-group 0x0001 1 0 + ./chip-tool groups remove-group 0x0001 1 1 + + Verify on the TH Log: [1653484876.432744][11451:11456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003 [1653484876.432915][11451:11456] CHIP:TOO: RemoveGroupResponse: { @@ -363,7 +395,9 @@ tests: : GroupID as 0x0001" PICS: G.S.C01.Rsp && G.S.C01.Tx verification: | - ./chip-tool groups view-group 0x0001 1 0 + ./chip-tool groups view-group 0x0001 1 1 + + Verify on the TH Log: [1653484952.142387][11458:11463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 [1653484952.142476][11458:11463] CHIP:TOO: ViewGroupResponse: { @@ -381,6 +415,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1655125356.123370][27657:27662] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1860794324 [1655125356.123494][27657:27662] CHIP:TOO: GroupTable: 2 entries [1655125356.123616][27657:27662] CHIP:TOO: [1]: { @@ -404,7 +440,9 @@ tests: field : GroupID as 0x0000" PICS: G.S.C03.Rsp && G.S.C03.Tx verification: | - ./chip-tool groups remove-group 0x0000 1 0 + ./chip-tool groups remove-group 0x0000 1 1 + + Verify on the TH Log: [1653485045.328766][11473:11478] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003 [1653485045.328896][11473:11478] CHIP:TOO: RemoveGroupResponse: { @@ -418,7 +456,9 @@ tests: field : GroupID as 0x0034" PICS: G.S.C03.Rsp && G.S.C03.Tx verification: | - ./chip-tool groups remove-group 0x0034 1 0 + ./chip-tool groups remove-group 0x0034 1 1 + + Verify on the TH Log: [1653485126.672869][11483:11488] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003 [1653485126.672969][11483:11488] CHIP:TOO: RemoveGroupResponse: { @@ -435,6 +475,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1655125356.123370][27657:27662] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1860794324 [1655125356.123494][27657:27662] CHIP:TOO: GroupTable: 2 entries [1655125356.123616][27657:27662] CHIP:TOO: [1]: { @@ -456,7 +498,9 @@ tests: - label: "TH sends RemoveAllGroups command to DUT as unicast method" PICS: G.S.C04.Rsp verification: | - ./chip-tool groups remove-all-groups 1 0 + ./chip-tool groups remove-all-groups 1 1 + + Verify on the TH Log: [1653485455.344097][11508:11513] CHIP:DMG: StatusIB = [1653485455.344141][11508:11513] CHIP:DMG: { @@ -469,7 +513,9 @@ tests: fields: GroupID as 0x0001" PICS: G.S.C01.Rsp && G.S.C01.Tx verification: | - ./chip-tool groups view-group 0x0001 1 0 + ./chip-tool groups view-group 0x0001 1 1 + + Verify on the TH Log: [1653559917.259920][3227:3232] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 [1653559917.259993][3227:3232] CHIP:TOO: ViewGroupResponse: { @@ -487,24 +533,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 - [1653485761.350290][11533:11538] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390 - [1653485761.350411][11533:11538] CHIP:TOO: GroupTable: 3 entries - [1653485761.350532][11533:11538] CHIP:TOO: [1]: { - [1653485761.350568][11533:11538] CHIP:TOO: GroupId: 1 - [1653485761.350603][11533:11538] CHIP:TOO: Endpoints: 0 entries - [1653485761.350657][11533:11538] CHIP:TOO: GroupName: grp1 - [1653485761.350692][11533:11538] CHIP:TOO: FabricIndex: 1 - [1653485761.350726][11533:11538] CHIP:TOO: } - [1653485761.350771][11533:11538] CHIP:TOO: [2]: { - [1653485761.350805][11533:11538] CHIP:TOO: GroupId: 2 - [1653485761.350839][11533:11538] CHIP:TOO: Endpoints: 0 entries - [1653485761.350874][11533:11538] CHIP:TOO: GroupName: grp2 - [1653485761.350906][11533:11538] CHIP:TOO: FabricIndex: 1 - [1653485761.350937][11533:11538] CHIP:TOO: } - [1653485761.350981][11533:11538] CHIP:TOO: [3]: { - [1653485761.351015][11533:11538] CHIP:TOO: GroupId: 3 - [1653485761.351048][11533:11538] CHIP:TOO: Endpoints: 0 entries - [1653485761.351082][11533:11538] CHIP:TOO: GroupName: grp3 - [1653485761.351115][11533:11538] CHIP:TOO: FabricIndex: 1 - [1653485761.351145][11533:11538] CHIP:TOO: } + Verify on the TH Log: + + [1656332191.739327][27032:27037] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3761602970 + [1656332191.739391][27032:27037] CHIP:TOO: GroupTable: 0 entries disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml index 59238afb9f22b6..493d400835c2e2 100644 --- a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 119.2.3. [TC-G-2.3] Commands - GetGroupMembership, AddGroupIfIdentifying + 121.2.3. [TC-G-2.3] Commands - GetGroupMembership, AddGroupIfIdentifying [DUT-Server] config: @@ -28,7 +28,9 @@ tests: : GroupID as 0x0002 GroupName as Gp2" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0002 gp2 1 0 + ./chip-tool groups add-group 0x0002 gp2 1 1 + + Verify on the TH Log: [1653552285.195099][2464:2469] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653552285.197783][2464:2469] CHIP:TOO: AddGroupResponse: { @@ -44,6 +46,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653552351.250570][2474:2479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1424397362 [1653552351.253012][2474:2479] CHIP:TOO: GroupTable: 1 entries [1653552351.255507][2474:2479] CHIP:TOO: [1]: { @@ -60,7 +64,9 @@ tests: : GroupID as 0x0003 GroupName as Gp3" PICS: G.S.C00.Rsp && G.S.C00.Tx verification: | - ./chip-tool groups add-group 0x0003 gp3 1 0 + ./chip-tool groups add-group 0x0003 gp3 1 1 + + Verify on the TH Log: [1653552417.870291][2482:2487] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 [1653552417.870407][2482:2487] CHIP:TOO: AddGroupResponse: { @@ -76,6 +82,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653552448.373558][2491:2496] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1424397362 [1653552448.373710][2491:2496] CHIP:TOO: GroupTable: 2 entries [1653552448.373856][2491:2496] CHIP:TOO: [1]: { @@ -99,7 +107,9 @@ tests: : GroupList as NULL" PICS: G.S.C02.Rsp && G.S.C02.Tx verification: | - ./chip-tool groups get-group-membership [] 1 0 + ./chip-tool groups get-group-membership [] 1 1 + + Verify on the TH Log: [1653552493.052711][2501:2506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0002 [1653552493.052792][2501:2506] CHIP:TOO: GetGroupMembershipResponse: { @@ -115,7 +125,9 @@ tests: : GroupList as [0x0002]" PICS: G.S.C02.Rsp && G.S.C02.Tx verification: | - ./chip-tool groups get-group-membership [0002] 1 0 + ./chip-tool groups get-group-membership [0002] 1 1 + + Verify on the TH Log: [1653294426.515523][3638:3643] CHIP:TOO: GetGroupMembershipResponse: { [1653294426.515571][3638:3643] CHIP:TOO: capacity: null @@ -129,7 +141,10 @@ tests: following fields : GroupList as [0x0002, 0x0003]" PICS: G.S.C02.Rsp && G.S.C02.Tx verification: | - ./chip-tool groups get-group-membership [0002,0003] 1 0 + ./chip-tool groups get-group-membership [0002,0003] 1 1 + + + Verify on the TH Log: [1653294490.030740][3646:3651] CHIP:TOO: GetGroupMembershipResponse: { [1653294490.030775][3646:3651] CHIP:TOO: capacity: null @@ -142,7 +157,9 @@ tests: - label: "TH sends RemoveAllGroups command to DUT as unicast method" PICS: G.S.C04.Rsp verification: | - ./chip-tool groups remove-all-groups 1 0 + ./chip-tool groups remove-all-groups 1 1 + + Verify on the TH Log: [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = [1651224377.831757][2989:2994] CHIP:DMG: { @@ -156,7 +173,9 @@ tests: the following fields: GroupID as 0x0006 GroupName as Gp6" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0006 gp6 1 0 + ./chip-tool groups add-group-if-identifying 0x0006 gp6 1 1 + + Verify on the TH Log: [1653552667.307794][2571:2576] CHIP:DMG: StatusIB = [1653552667.307831][2571:2576] CHIP:DMG: { @@ -171,6 +190,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653560429.549196][3373:3378] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 55663962 [1653560429.549335][3373:3378] CHIP:TOO: GroupTable: 2 entries [1653560429.549432][3373:3378] CHIP:TOO: [1]: { @@ -192,9 +213,11 @@ tests: the following fields: GroupID as 0x0000 GroupName as Gp45" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0000 gp45 1 0 + ./chip-tool groups add-group-if-identifying 0x0000 gp45 1 1 + Verify on the TH Log: + [1653552769.643278][2589:2594] CHIP:DMG: StatusIB = [1653552769.643330][2589:2594] CHIP:DMG: { [1653552769.643400][2589:2594] CHIP:DMG: status = 0x00 (SUCCESS), @@ -202,11 +225,13 @@ tests: disabled: true - label: - "TH sends AddGroupIfIdentifying command to DUT n+1 times as unicast - method with the following fields: GroupID as 0x0007 GroupName as Gp54" + "TH sends AddGroupIfIdentifying command to DUT (n+1) times as unicast + method with different GroupID each time" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0067 gp31 1 0 + ./chip-tool groups add-group-if-identifying 0x0067 gp31 1 1 + + Verify on the TH Log: [1651224746.146005][3038:3043] CHIP:DMG: StatusIB = [1651224746.146038][3038:3043] CHIP:DMG: { @@ -221,6 +246,8 @@ tests: verification: | ./chip-tool groupkeymanagement read group-table 1 0 + Verify on the TH Log: + [1653552886.221667][2625:2630] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1424397362 [1653552886.221787][2625:2630] CHIP:TOO: GroupTable: 2 entries [1653552886.221925][2625:2630] CHIP:TOO: [1]: { diff --git a/src/app/tests/suites/certification/Test_TC_G_3_1.yaml b/src/app/tests/suites/certification/Test_TC_G_3_1.yaml index efb46693c13dad..05daab12751170 100644 --- a/src/app/tests/suites/certification/Test_TC_G_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_3_1.yaml @@ -13,25 +13,38 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 119.3.1. [TC-G-3.1] Attributes [DUT-Client] +name: 121.3.1. [TC-G-3.1] Attributes [DUT-Client] config: nodeId: 0x12344321 cluster: "Basic" endpoint: 0 + tests: - label: "DUT reads NameSupport attribute from TH" PICS: G.C.A0000 verification: | - [1651217683.754603][2825:2825] CHIP:IM: Received Read request - [1651217683.754677][2825:2825] CHIP:DMG: ReadRequestMessage = - [1651217683.754708][2825:2825] CHIP:DMG: { - [1651217683.754733][2825:2825] CHIP:DMG: AttributePathIBs = - [1651217683.754764][2825:2825] CHIP:DMG: [ - [1651217683.754795][2825:2825] CHIP:DMG: AttributePathIB = - [1651217683.754837][2825:2825] CHIP:DMG: { - [1651217683.754891][2825:2825] CHIP:DMG: Endpoint = 0x0, - [1651217683.754934][2825:2825] CHIP:DMG: Cluster = 0x4, - [1651217683.754975][2825:2825] CHIP:DMG: Attribute = 0x0000_0000, - [1651217683.755014][2825:2825] CHIP:DMG: } + ./chip-tool groups read name-support 1 1 + + Verify on the TH Log: + + [1657706054.756051][5404:5409] CHIP:DMG: DataVersion = 0x80c3ec09, + [1657706054.756108][5404:5409] CHIP:DMG: AttributePathIB = + [1657706054.756162][5404:5409] CHIP:DMG: { + [1657706054.756218][5404:5409] CHIP:DMG: Endpoint = 0x1, + [1657706054.756274][5404:5409] CHIP:DMG: Cluster = 0x4, + [1657706054.756330][5404:5409] CHIP:DMG: Attribute = 0x0000_0000, + [1657706054.756384][5404:5409] CHIP:DMG: } + [1657706054.756435][5404:5409] CHIP:DMG: + [1657706054.756491][5404:5409] CHIP:DMG: Data = 128, + [1657706054.756536][5404:5409] CHIP:DMG: }, + [1657706054.756635][5404:5409] CHIP:DMG: }, + [1657706054.756684][5404:5409] CHIP:DMG: + [1657706054.756723][5404:5409] CHIP:DMG: ], + [1657706054.756770][5404:5409] CHIP:DMG: + [1657706054.756810][5404:5409] CHIP:DMG: SuppressResponse = true, + [1657706054.756851][5404:5409] CHIP:DMG: InteractionModelRevision = 1 + [1657706054.756890][5404:5409] CHIP:DMG: } + [1657706054.757195][5404:5409] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0004 Attribute 0x0000_0000 DataVersion: 2160323593 + [1657706054.757284][5404:5409] CHIP:TOO: name support: 128 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_G_3_2.yaml b/src/app/tests/suites/certification/Test_TC_G_3_2.yaml index 85a644017a3c3a..6bcddea72eaa57 100644 --- a/src/app/tests/suites/certification/Test_TC_G_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 119.3.2. [TC-G-3.2] Commands [DUT-Client] +name: 121.3.2. [TC-G-3.2] Commands [DUT-Client] config: nodeId: 0x12344321 @@ -24,194 +24,102 @@ tests: - label: "DUT sends AddGroup command to TH" PICS: G.C.C00.Rsp verification: | - ./chip-tool groups add-group 0x0021 gp1 1 0 - - [1651225952.475511][2825:2825] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:1704882 on exchange 15154r - [1651225952.475578][2825:2825] CHIP:EM: Handling via exchange: 15154r, Delegate: 0xaaaae659a088 - [1651225952.475751][2825:2825] CHIP:DMG: InvokeRequestMessage = - [1651225952.475801][2825:2825] CHIP:DMG: { - [1651225952.475843][2825:2825] CHIP:DMG: suppressResponse = false, - - [1651225952.475892][2825:2825] CHIP:DMG: timedRequest = false, - [1651225952.475937][2825:2825] CHIP:DMG: InvokeRequests = - [1651225952.475993][2825:2825] CHIP:DMG: [ - [1651225952.476039][2825:2825] CHIP:DMG: CommandDataIB = - [1651225952.476101][2825:2825] CHIP:DMG: { - [1651225952.476182][2825:2825] CHIP:DMG: CommandPathIB = - [1651225952.476242][2825:2825] CHIP:DMG: { - [1651225952.476306][2825:2825] CHIP:DMG: EndpointId = 0x0, - [1651225952.476367][2825:2825] CHIP:DMG: ClusterId = 0x4, - [1651225952.476432][2825:2825] CHIP:DMG: CommandId = 0x0, - [1651225952.476488][2825:2825] CHIP:DMG: }, - [1651225952.476548][2825:2825] CHIP:DMG: - [1651225952.476600][2825:2825] CHIP:DMG: CommandData = - [1651225952.476656][2825:2825] CHIP:DMG: { - [1651225952.476712][2825:2825] CHIP:DMG: 0x0 = 33, - [1651225952.476783][2825:2825] CHIP:DMG: 0x1 = "gp1", - [1651225952.476843][2825:2825] CHIP:DMG: }, - [1651225952.476895][2825:2825] CHIP:DMG: }, - [1651225952.476954][2825:2825] CHIP:DMG: - [1651225952.476998][2825:2825] CHIP:DMG: ], - [1651225952.477053][2825:2825] CHIP:DMG: - [1651225952.477097][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651225952.477140][2825:2825] CHIP:DMG: }, - [1651225952.477247][2825:2825] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=0 p=m - [1651225952.477307][2825:2825] CHIP:DMG: AccessControl: allowed - [1651225952.477356][2825:2825] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000 + ./chip-tool groups add-group 0x0021 gp1 1 1 + + + Verify on the TH Log: + + + [1657095032.527440][3394:3399] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 + [1657095032.527552][3394:3399] CHIP:TOO: AddGroupResponse: { + [1657095032.527616][3394:3399] CHIP:TOO: status: 0 + [1657095032.527685][3394:3399] CHIP:TOO: groupId: 33 + [1657095032.527733][3394:3399] CHIP:TOO: } disabled: true - label: "DUT sends ViewGroup command to TH" PICS: G.C.C01.Rsp verification: | - ./chip-tool groups view-group 0x0021 1 0 - - - [1651226101.768577][2825:2825] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:3930774 on exchange 43755r - [1651226101.768631][2825:2825] CHIP:EM: Handling via exchange: 43755r, Delegate: 0xaaaae659a088 - [1651226101.768775][2825:2825] CHIP:DMG: InvokeRequestMessage = - [1651226101.768817][2825:2825] CHIP:DMG: { - [1651226101.768851][2825:2825] CHIP:DMG: suppressResponse = false, - - [1651226101.768890][2825:2825] CHIP:DMG: timedRequest = false, - [1651226101.768926][2825:2825] CHIP:DMG: InvokeRequests = - [1651226101.768970][2825:2825] CHIP:DMG: [ - [1651226101.769006][2825:2825] CHIP:DMG: CommandDataIB = - [1651226101.769056][2825:2825] CHIP:DMG: { - [1651226101.769095][2825:2825] CHIP:DMG: CommandPathIB = - [1651226101.769142][2825:2825] CHIP:DMG: { - [1651226101.769187][2825:2825] CHIP:DMG: EndpointId = 0x0, - [1651226101.769236][2825:2825] CHIP:DMG: ClusterId = 0x4, - [1651226101.769288][2825:2825] CHIP:DMG: CommandId = 0x1, - [1651226101.769334][2825:2825] CHIP:DMG: }, - [1651226101.769382][2825:2825] CHIP:DMG: - [1651226101.769423][2825:2825] CHIP:DMG: CommandData = - [1651226101.769467][2825:2825] CHIP:DMG: { - [1651226101.769514][2825:2825] CHIP:DMG: 0x0 = 33, - [1651226101.769563][2825:2825] CHIP:DMG: }, - [1651226101.769605][2825:2825] CHIP:DMG: }, - [1651226101.769651][2825:2825] CHIP:DMG: - [1651226101.769686][2825:2825] CHIP:DMG: ], - [1651226101.769730][2825:2825] CHIP:DMG: - [1651226101.769764][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651226101.769797][2825:2825] CHIP:DMG: }, - [1651226101.769884][2825:2825] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=0 p=o - [1651226101.769934][2825:2825] CHIP:DMG: AccessControl: allowed - [1651226101.769972][2825:2825] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0001 + ./chip-tool groups view-group 0x0021 1 1 + + + Verify on the TH Log: + + [1657095093.641399][3404:3409] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001 + [1657095093.641465][3404:3409] CHIP:TOO: ViewGroupResponse: { + [1657095093.641509][3404:3409] CHIP:TOO: status: 0 + [1657095093.641541][3404:3409] CHIP:TOO: groupId: 33 + [1657095093.641571][3404:3409] CHIP:TOO: groupName: gp1 + [1657095093.641601][3404:3409] CHIP:TOO: } + [1657095093.641650][3404:3409] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: "DUT sends GetGroupMembership command to TH" PICS: G.C.C02.Rsp verification: | - ./chip-tool groups get-group-membership '[33]' 1 0 - - [1653077452169] [4058:5758073] CHIP: [DMG] ICR moving to [ResponseRe] - [1653077452169] [4058:5758073] CHIP: [DMG] InvokeResponseMessage = - [1653077452169] [4058:5758073] CHIP: [DMG] { - [1653077452169] [4058:5758073] CHIP: [DMG] suppressResponse = false, - [1653077452169] [4058:5758073] CHIP: [DMG] InvokeResponseIBs = - [1653077452169] [4058:5758073] CHIP: [DMG] [ - [1653077452169] [4058:5758073] CHIP: [DMG] InvokeResponseIB = - [1653077452169] [4058:5758073] CHIP: [DMG] { - [1653077452169] [4058:5758073] CHIP: [DMG] CommandDataIB = - [1653077452169] [4058:5758073] CHIP: [DMG] { - [1653077452169] [4058:5758073] CHIP: [DMG] CommandPathIB = - [1653077452169] [4058:5758073] CHIP: [DMG] { - [1653077452169] [4058:5758073] CHIP: [DMG] EndpointId = 0x0, - [1653077452169] [4058:5758073] CHIP: [DMG] ClusterId = 0x4, - [1653077452169] [4058:5758073] CHIP: [DMG] CommandId = 0x2, - [1653077452169] [4058:5758073] CHIP: [DMG] }, - [1653077452169] [4058:5758073] CHIP: [DMG] - [1653077452169] [4058:5758073] CHIP: [DMG] CommandData = - [1653077452169] [4058:5758073] CHIP: [DMG] { - [1653077452169] [4058:5758073] CHIP: [DMG] 0x0 = NULL - [1653077452169] [4058:5758073] CHIP: [DMG] 0x1 = [ - [1653077452169] [4058:5758073] CHIP: [DMG] 33, - [1653077452169] [4058:5758073] CHIP: [DMG] ], - [1653077452169] [4058:5758073] CHIP: [DMG] }, - [1653077452169] [4058:5758073] CHIP: [DMG] }, - [1653077452169] [4058:5758073] CHIP: [DMG] - [1653077452169] [4058:5758073] CHIP: [DMG] }, - [1653077452169] [4058:5758073] CHIP: [DMG] - [1653077452169] [4058:5758073] CHIP: [DMG] ], - [1653077452169] [4058:5758073] CHIP: [DMG] - [1653077452169] [4058:5758073] CHIP: [DMG] InteractionModelRevision = 1 - [1653077452169] [4058:5758073] CHIP: [DMG] }, + ./chip-tool groups get-group-membership '[33]' 1 1 + + Verify on the TH Log: + + [1657095129.620336][3411:3416] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0002 + [1657095129.620430][3411:3416] CHIP:TOO: GetGroupMembershipResponse: { + [1657095129.620457][3411:3416] CHIP:TOO: capacity: null + [1657095129.620506][3411:3416] CHIP:TOO: groupList: 1 entries + [1657095129.620539][3411:3416] CHIP:TOO: [1]: 33 + [1657095129.620564][3411:3416] CHIP:TOO: } disabled: true - label: "DUT sends RemoveGroup command to TH" PICS: G.C.C03.Rsp verification: | - ./chip-tool groups remove-group 0x0021 1 0 - - [1651226210.554644][2825:2825] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:10617431 on exchange 56325r - [1651226210.554714][2825:2825] CHIP:EM: Handling via exchange: 56325r, Delegate: 0xaaaae659a088 - [1651226210.554850][2825:2825] CHIP:DMG: InvokeRequestMessage = - [1651226210.554886][2825:2825] CHIP:DMG: { - [1651226210.554915][2825:2825] CHIP:DMG: suppressResponse = false, - - [1651226210.554958][2825:2825] CHIP:DMG: timedRequest = false, - [1651226210.554988][2825:2825] CHIP:DMG: InvokeRequests = - [1651226210.555026][2825:2825] CHIP:DMG: [ - [1651226210.555055][2825:2825] CHIP:DMG: CommandDataIB = - [1651226210.555091][2825:2825] CHIP:DMG: { - [1651226210.555125][2825:2825] CHIP:DMG: CommandPathIB = - [1651226210.555164][2825:2825] CHIP:DMG: { - [1651226210.555203][2825:2825] CHIP:DMG: EndpointId = 0x0, - [1651226210.555248][2825:2825] CHIP:DMG: ClusterId = 0x4, - [1651226210.555291][2825:2825] CHIP:DMG: CommandId = 0x3, - [1651226210.555333][2825:2825] CHIP:DMG: }, - [1651226210.555376][2825:2825] CHIP:DMG: - [1651226210.555410][2825:2825] CHIP:DMG: CommandData = - [1651226210.555451][2825:2825] CHIP:DMG: { - [1651226210.555490][2825:2825] CHIP:DMG: 0x0 = 33, - [1651226210.555530][2825:2825] CHIP:DMG: }, - [1651226210.555566][2825:2825] CHIP:DMG: }, - [1651226210.555604][2825:2825] CHIP:DMG: - [1651226210.555633][2825:2825] CHIP:DMG: ], - [1651226210.555669][2825:2825] CHIP:DMG: - [1651226210.555698][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651226210.555727][2825:2825] CHIP:DMG: }, - [1651226210.555799][2825:2825] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=0 p=m - [1651226210.555842][2825:2825] CHIP:DMG: AccessControl: allowed - [1651226210.555875][2825:2825] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0003 + ./chip-tool groups remove-group 0x0021 1 1 + + Verify on the TH Log: + + [1657095157.846618][3417:3422] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003 + [1657095157.846703][3417:3422] CHIP:TOO: RemoveGroupResponse: { + [1657095157.846761][3417:3422] CHIP:TOO: status: 0 + [1657095157.846804][3417:3422] CHIP:TOO: groupId: 33 + [1657095157.846845][3417:3422] CHIP:TOO: } disabled: true - label: "DUT sends RemoveAllGroup command to TH" PICS: G.C.C04.Rsp verification: | - ./chip-tool groups remove-all-groups 1 0 - - - [1651226278.482008][2825:2825] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:14699736 on exchange 29554r - [1651226278.482058][2825:2825] CHIP:EM: Handling via exchange: 29554r, Delegate: 0xaaaae659a088 - [1651226278.482191][2825:2825] CHIP:DMG: InvokeRequestMessage = - [1651226278.482225][2825:2825] CHIP:DMG: { - [1651226278.482254][2825:2825] CHIP:DMG: suppressResponse = false, - - [1651226278.482288][2825:2825] CHIP:DMG: timedRequest = false, - [1651226278.482317][2825:2825] CHIP:DMG: InvokeRequests = - [1651226278.482354][2825:2825] CHIP:DMG: [ - [1651226278.482384][2825:2825] CHIP:DMG: CommandDataIB = - [1651226278.482421][2825:2825] CHIP:DMG: { - [1651226278.482453][2825:2825] CHIP:DMG: CommandPathIB = - [1651226278.482492][2825:2825] CHIP:DMG: { - [1651226278.482532][2825:2825] CHIP:DMG: EndpointId = 0x0, - [1651226278.482572][2825:2825] CHIP:DMG: ClusterId = 0x4, - [1651226278.482615][2825:2825] CHIP:DMG: CommandId = 0x4, - [1651226278.482654][2825:2825] CHIP:DMG: }, - [1651226278.482694][2825:2825] CHIP:DMG: - [1651226278.482728][2825:2825] CHIP:DMG: CommandData = - [1651226278.482765][2825:2825] CHIP:DMG: { - [1651226278.482803][2825:2825] CHIP:DMG: }, - [1651226278.482839][2825:2825] CHIP:DMG: }, - [1651226278.482877][2825:2825] CHIP:DMG: - [1651226278.482906][2825:2825] CHIP:DMG: ], - [1651226278.482942][2825:2825] CHIP:DMG: - [1651226278.482971][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651226278.483000][2825:2825] CHIP:DMG: }, - [1651226278.483074][2825:2825] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=0 p=m - [1651226278.483118][2825:2825] CHIP:DMG: AccessControl: allowed - [1651226278.483150][2825:2825] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0004 + ./chip-tool groups remove-all-groups 1 1 + + Verify on the TH Log: + + [1657706539.252762][5487:5492] CHIP:DMG: ICR moving to [ResponseRe] + [1657706539.252820][5487:5492] CHIP:DMG: InvokeResponseMessage = + [1657706539.252851][5487:5492] CHIP:DMG: { + [1657706539.252881][5487:5492] CHIP:DMG: suppressResponse = false, + [1657706539.252912][5487:5492] CHIP:DMG: InvokeResponseIBs = + [1657706539.252950][5487:5492] CHIP:DMG: [ + [1657706539.252979][5487:5492] CHIP:DMG: InvokeResponseIB = + [1657706539.253020][5487:5492] CHIP:DMG: { + [1657706539.253051][5487:5492] CHIP:DMG: CommandStatusIB = + [1657706539.253089][5487:5492] CHIP:DMG: { + [1657706539.253125][5487:5492] CHIP:DMG: CommandPathIB = + [1657706539.253167][5487:5492] CHIP:DMG: { + [1657706539.253213][5487:5492] CHIP:DMG: EndpointId = 0x1, + [1657706539.253259][5487:5492] CHIP:DMG: ClusterId = 0x4, + [1657706539.253298][5487:5492] CHIP:DMG: CommandId = 0x4, + [1657706539.253338][5487:5492] CHIP:DMG: }, + [1657706539.253379][5487:5492] CHIP:DMG: + [1657706539.253415][5487:5492] CHIP:DMG: StatusIB = + [1657706539.253457][5487:5492] CHIP:DMG: { + [1657706539.253503][5487:5492] CHIP:DMG: status = 0x00 (SUCCESS), + [1657706539.253543][5487:5492] CHIP:DMG: }, + [1657706539.253583][5487:5492] CHIP:DMG: + [1657706539.253619][5487:5492] CHIP:DMG: }, + [1657706539.253659][5487:5492] CHIP:DMG: + [1657706539.253690][5487:5492] CHIP:DMG: }, + [1657706539.253727][5487:5492] CHIP:DMG: + [1657706539.253757][5487:5492] CHIP:DMG: ], + [1657706539.253794][5487:5492] CHIP:DMG: + [1657706539.253824][5487:5492] CHIP:DMG: InteractionModelRevision = 1 + [1657706539.253852][5487:5492] CHIP:DMG: }, disabled: true - label: "DUT sends AddGroupIfIdentifying command to TH" @@ -219,36 +127,36 @@ tests: verification: | ./chip-tool groups add-group-if-identifying 0x0052 gp54 1 0 - [1651226736.660973][2825:2825] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:4794753 on exchange 24526r - [1651226736.661024][2825:2825] CHIP:EM: Handling via exchange: 24526r, Delegate: 0xaaaae659a088 - [1651226736.661171][2825:2825] CHIP:DMG: InvokeRequestMessage = - [1651226736.661204][2825:2825] CHIP:DMG: { - [1651226736.661228][2825:2825] CHIP:DMG: suppressResponse = false, - - [1651226736.661264][2825:2825] CHIP:DMG: timedRequest = false, - [1651226736.661293][2825:2825] CHIP:DMG: InvokeRequests = - [1651226736.661328][2825:2825] CHIP:DMG: [ - [1651226736.661352][2825:2825] CHIP:DMG: CommandDataIB = - [1651226736.661383][2825:2825] CHIP:DMG: { - [1651226736.661413][2825:2825] CHIP:DMG: CommandPathIB = - [1651226736.661450][2825:2825] CHIP:DMG: { - [1651226736.661487][2825:2825] CHIP:DMG: EndpointId = 0x0, - [1651226736.661525][2825:2825] CHIP:DMG: ClusterId = 0x4, - [1651226736.661561][2825:2825] CHIP:DMG: CommandId = 0x5, - [1651226736.661596][2825:2825] CHIP:DMG: }, - [1651226736.661633][2825:2825] CHIP:DMG: - [1651226736.661661][2825:2825] CHIP:DMG: CommandData = - [1651226736.661697][2825:2825] CHIP:DMG: { - [1651226736.661734][2825:2825] CHIP:DMG: 0x0 = 82, - [1651226736.661776][2825:2825] CHIP:DMG: 0x1 = "gp54", - [1651226736.661809][2825:2825] CHIP:DMG: }, - [1651226736.661843][2825:2825] CHIP:DMG: }, - [1651226736.661877][2825:2825] CHIP:DMG: - [1651226736.661904][2825:2825] CHIP:DMG: ], - [1651226736.661935][2825:2825] CHIP:DMG: - [1651226736.661959][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651226736.661984][2825:2825] CHIP:DMG: }, - [1651226736.662052][2825:2825] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=0 p=m - [1651226736.662093][2825:2825] CHIP:DMG: AccessControl: allowed - [1651226736.662121][2825:2825] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0005 + Verify on the TH Log: + + [1657706689.647809][5502:5507] CHIP:DMG: ICR moving to [ResponseRe] + [1657706689.647906][5502:5507] CHIP:DMG: InvokeResponseMessage = + [1657706689.647954][5502:5507] CHIP:DMG: { + [1657706689.648014][5502:5507] CHIP:DMG: suppressResponse = false, + [1657706689.648069][5502:5507] CHIP:DMG: InvokeResponseIBs = + [1657706689.648143][5502:5507] CHIP:DMG: [ + [1657706689.648188][5502:5507] CHIP:DMG: InvokeResponseIB = + [1657706689.648263][5502:5507] CHIP:DMG: { + [1657706689.648311][5502:5507] CHIP:DMG: CommandStatusIB = + [1657706689.648384][5502:5507] CHIP:DMG: { + [1657706689.648460][5502:5507] CHIP:DMG: CommandPathIB = + [1657706689.648528][5502:5507] CHIP:DMG: { + [1657706689.648607][5502:5507] CHIP:DMG: EndpointId = 0x0, + [1657706689.648689][5502:5507] CHIP:DMG: ClusterId = 0x4, + [1657706689.648755][5502:5507] CHIP:DMG: CommandId = 0x5, + [1657706689.648835][5502:5507] CHIP:DMG: }, + [1657706689.648922][5502:5507] CHIP:DMG: + [1657706689.648979][5502:5507] CHIP:DMG: StatusIB = + [1657706689.649024][5502:5507] CHIP:DMG: { + [1657706689.649070][5502:5507] CHIP:DMG: status = 0x00 (SUCCESS), + [1657706689.649167][5502:5507] CHIP:DMG: }, + [1657706689.649213][5502:5507] CHIP:DMG: + [1657706689.649248][5502:5507] CHIP:DMG: }, + [1657706689.649296][5502:5507] CHIP:DMG: + [1657706689.649323][5502:5507] CHIP:DMG: }, + [1657706689.649365][5502:5507] CHIP:DMG: + [1657706689.649390][5502:5507] CHIP:DMG: ], + [1657706689.649431][5502:5507] CHIP:DMG: + [1657706689.649457][5502:5507] CHIP:DMG: InteractionModelRevision = 1 + [1657706689.649491][5502:5507] CHIP:DMG: }, disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml index bf6ee3ecd0ce4c..9244fb77e99e4a 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 21.1.1. [TC-IDM-1.1] Invoke Request Action from DUT to TH - [{DUT_Client}] +name: 3.1.1. [TC-IDM-1.1] Invoke Request Action from DUT to TH - [{DUT_Client}] config: nodeId: 0x12344321 @@ -31,8 +31,7 @@ tests: ./chip-tool onoff on 1 1 Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command - - On TH + Verify TH all-clusters-app Log [1655717373.046081][10909:10909] CHIP:DMG: InvokeRequestMessage = [1655717373.046137][10909:10909] CHIP:DMG: { [1655717373.046185][10909:10909] CHIP:DMG: suppressResponse = false, @@ -89,6 +88,8 @@ tests: Verify we are getting EndpointID, CommandID, ClusterID in the response data (as below) matching with the data sent in the above command + Verify TH all-clusters-app Log + [1655717456.105815][10909:10909] CHIP:DMG: InvokeRequestMessage = [1655717456.105853][10909:10909] CHIP:DMG: { [1655717456.105887][10909:10909] CHIP:DMG: suppressResponse = false, diff --git a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml index 3f3f1c9076187b..b45d044c68a746 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_1_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH. +name: 3.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH - [{DUT_Server}] config: nodeId: 0x12344321 @@ -25,11 +25,11 @@ tests: "TH sends the Invoke Request Message to the DUT with the path that indicates a specific endpoint that is unsupported." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool onoff on 1 20 - verify DUT is responsds with unsuppported endpoint for the data sent in the above command + On TH, verify DUT responsds as unsuppported endpoint for the data sent in the above command [1655718065.882392][4587:4592] CHIP:DMG: Received Command Response Status for Endpoint=20 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7f [1655718065.882440][4587:4592] CHIP:TOO: Error: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) @@ -40,11 +40,11 @@ tests: "TH sends the Invoke Request Message to the DUT with the path that indicates a specific cluster that is unsupported." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool any command-by-id 0x0003 0 1 1 2 - verify DUT is responsds with unsuppported cluster for the data sent in the above command + On TH, verify DUT responsds as unsuppported cluster for the data sent in the above command [1655718144.692503][4602:4607] CHIP:DMG: Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3 [1655718144.692570][4602:4607] CHIP:TOO: Error: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) @@ -55,11 +55,11 @@ tests: "TH sends the Invoke Request Message to the DUT with the path that indicates a specific command that is unsupported." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool any command-by-id 0x0003 3 1 1 0 - verify DUT is responsds with unsuppported command for the data sent in the above command + On TH, verify DUT responsds as unsuppported command for the data sent in the above command [1654076838.936184][13752:13757] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0003 Status=0x81 [1654076838.936215][13752:13757] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) @@ -71,15 +71,17 @@ tests: cluster in the path. TH sends the Invoke Request Message to the DUT with a valid CommandDataIB" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + To Setup the TH such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + ./chip-tool onoff on 1 1 - verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command [1654079683.774619][14540:14546] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e [1654079683.774630][14540:14546] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) @@ -91,15 +93,14 @@ tests: Invoke Request Message to the DUT with a valid and fabric-scoped CommandDataIB" verification: | - In case of chip tool, here is an example command to use - - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool generalcommissioning commissioning-complete 1 0 - verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command [1654079608.667986][14525:14530] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0004 Status=0x7e [1654079608.668000][14525:14530] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) @@ -110,52 +111,49 @@ tests: "(OPTIONAL) TH sends the Invoke Request Message to the DUT with the command which requires a data response to be sent back." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool generalcommissioning arm-fail-safe 1000 1 1 0 - Verify DUT generates an InvokeResponseIB with a valid CommandDataIB and + On TH, Verify DUT generates an InvokeResponseIB with a valid CommandDataIB and sends it to the TH for the data sent in the above command - On TH - [1655718690.469392][4629:4634] CHIP:DMG: }, - [1655718690.469476][4629:4634] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 - [1655718690.469541][4629:4634] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 - [1655718690.469615][4629:4634] CHIP:TOO: ArmFailSafeResponse: { - [1655718690.469664][4629:4634] CHIP:TOO: errorCode: 0 - [1655718690.469698][4629:4634] CHIP:TOO: debugText: - [1655718690.469733][4629:4634] CHIP:TOO: } - [1655718690.469787][4629:4634] CHIP:DMG: ICR moving to [AwaitingDe] - [1655718690.469859][4629:4634] CHIP:EM: Sending Standalone Ack for MessageCounter:60280704 on exchange 4731i - - - On DUT - [1655718690.417352][10909:10909] CHIP:DMG: InvokeRequestMessage = - [1655718690.417401][10909:10909] CHIP:DMG: { - [1655718690.417436][10909:10909] CHIP:DMG: suppressResponse = false, - [1655718690.417484][10909:10909] CHIP:DMG: timedRequest = false, - [1655718690.417529][10909:10909] CHIP:DMG: InvokeRequests = - [1655718690.417587][10909:10909] CHIP:DMG: [ - [1655718690.417633][10909:10909] CHIP:DMG: CommandDataIB = - [1655718690.417683][10909:10909] CHIP:DMG: { - [1655718690.417730][10909:10909] CHIP:DMG: CommandPathIB = - [1655718690.417793][10909:10909] CHIP:DMG: { - [1655718690.417852][10909:10909] CHIP:DMG: EndpointId = 0x0, - [1655718690.417914][10909:10909] CHIP:DMG: ClusterId = 0x30, - [1655718690.417973][10909:10909] CHIP:DMG: CommandId = 0x0, - [1655718690.418030][10909:10909] CHIP:DMG: }, - [1655718690.418087][10909:10909] CHIP:DMG: - [1655718690.418140][10909:10909] CHIP:DMG: CommandFields = - [1655718690.418202][10909:10909] CHIP:DMG: { - [1655718690.418261][10909:10909] CHIP:DMG: 0x0 = 1000, - [1655718690.418322][10909:10909] CHIP:DMG: 0x1 = 1, - [1655718690.418381][10909:10909] CHIP:DMG: }, - [1655718690.418433][10909:10909] CHIP:DMG: }, - [1655718690.418487][10909:10909] CHIP:DMG: - [1655718690.418531][10909:10909] CHIP:DMG: ], - [1655718690.418586][10909:10909] CHIP:DMG: - [1655718690.418630][10909:10909] CHIP:DMG: InteractionModelRevision = 1 - [1655718690.418673][10909:10909] CHIP:DMG: }, - [1655718690.418779][10909:10909] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0030 e=0 p=a + [1657091692.258118][5248:5253] CHIP:DMG: InvokeResponseMessage = + [1657091692.258154][5248:5253] CHIP:DMG: { + [1657091692.258189][5248:5253] CHIP:DMG: suppressResponse = false, + [1657091692.258233][5248:5253] CHIP:DMG: InvokeResponseIBs = + [1657091692.258280][5248:5253] CHIP:DMG: [ + [1657091692.258315][5248:5253] CHIP:DMG: InvokeResponseIB = + [1657091692.258362][5248:5253] CHIP:DMG: { + [1657091692.258400][5248:5253] CHIP:DMG: CommandDataIB = + [1657091692.258448][5248:5253] CHIP:DMG: { + [1657091692.258492][5248:5253] CHIP:DMG: CommandPathIB = + [1657091692.258540][5248:5253] CHIP:DMG: { + [1657091692.258589][5248:5253] CHIP:DMG: EndpointId = 0x0, + [1657091692.258641][5248:5253] CHIP:DMG: ClusterId = 0x30, + [1657091692.258692][5248:5253] CHIP:DMG: CommandId = 0x1, + [1657091692.258739][5248:5253] CHIP:DMG: }, + [1657091692.258790][5248:5253] CHIP:DMG: + [1657091692.258834][5248:5253] CHIP:DMG: CommandFields = + [1657091692.258886][5248:5253] CHIP:DMG: { + [1657091692.258958][5248:5253] CHIP:DMG: 0x0 = 0, + [1657091692.259011][5248:5253] CHIP:DMG: 0x1 = "", + [1657091692.259061][5248:5253] CHIP:DMG: }, + [1657091692.259107][5248:5253] CHIP:DMG: }, + [1657091692.259162][5248:5253] CHIP:DMG: + [1657091692.259202][5248:5253] CHIP:DMG: }, + [1657091692.259246][5248:5253] CHIP:DMG: + [1657091692.259280][5248:5253] CHIP:DMG: ], + [1657091692.259323][5248:5253] CHIP:DMG: + [1657091692.259358][5248:5253] CHIP:DMG: InteractionModelRevision = 1 + [1657091692.259392][5248:5253] CHIP:DMG: }, + [1657091692.259477][5248:5253] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 + [1657091692.259539][5248:5253] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 + [1657091692.259610][5248:5253] CHIP:TOO: ArmFailSafeResponse: { + [1657091692.259656][5248:5253] CHIP:TOO: errorCode: 0 + [1657091692.259690][5248:5253] CHIP:TOO: debugText: + [1657091692.259722][5248:5253] CHIP:TOO: } + [1657091692.259775][5248:5253] CHIP:DMG: ICR moving to [AwaitingDe] + [1657091692.259841][5248:5253] CHIP:EM: Sending Standalone Ack for MessageCounter:215437814 on exchange 22331i disabled: true - label: @@ -169,18 +167,19 @@ tests: "TH sends a Invoke Request Message to the DUT with the TimedRequest set as TRUE.(There should be no previous Timed Invoke action.)" verification: | - In case of chip tool, here is an example command to use - To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - ./chip-tool any command-by-id 0x0003 0 1 1 0 --timedInteractionTimeoutMs 500 - verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 100 + + On TH, verify DUT responsds as UNSUPPORTED_ACCESS for the data sent in the above command - [1654079573.921236][14516:14521] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0000 Status=0x7e - [1654079573.921251][14516:14521] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1654079573.921268][14516:14521] CHIP:DMG: ICR moving to [AwaitingDe] + [1657613026.975474][10484:10489] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e + [1657613026.975513][10484:10489] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1657613026.975556][10484:10489] CHIP:DMG: ICR moving to [AwaitingDe] + [1657613026.975622][10484:10489] CHIP:EM: Sending Standalone Ack for MessageCounter:99688132 on exchange 24183i disabled: true - label: @@ -188,10 +187,10 @@ tests: path that requires a Timed Invoke transaction to invoke and this action is not part of a Timed Invoke transaction" verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 - verify DUT is responsds with NEEDS_TIMED_INTERACTION for the data sent in the above command + On TH, verify DUT responsds as NEEDS_TIMED_INTERACTION for the data sent in the above command [1654077001.606235][13788:13793] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0xc6 [1654077001.606268][13788:13793] CHIP:TOO: Error: IM Error 0x000005C6: General error: 0xc6 (NEEDS_TIMED_INTERACTION) diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml index 857796d5b2830b..40ef36126ba94e 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 20.2.1. [TC-IDM-2.1] Read Request Action from DUT to TH [DUT - Controller] +name: 3.2.1. [TC-IDM-2.1] Read Request Action from DUT to TH. [{DUT_Client}] config: nodeId: 0x12344321 @@ -28,25 +28,30 @@ tests: Attribute]] On receipt of this message, TH should send a report data action with the attribute value to the DUT." verification: | + In case of chip tool, here is an example command to use + ./chip-tool identify read identify-time 1 1 - On TH - [1652956326.948377][12333:12333] CHIP:DMG: ReadRequestMessage = - [1652956326.948411][12333:12333] CHIP:DMG: { - [1652956326.948441][12333:12333] CHIP:DMG: AttributePathIBs = - [1652956326.948476][12333:12333] CHIP:DMG: [ - [1652956326.948508][12333:12333] CHIP:DMG: AttributePathIB = - [1652956326.948548][12333:12333] CHIP:DMG: { - [1652956326.948585][12333:12333] CHIP:DMG: Endpoint = 0x1, - [1652956326.948628][12333:12333] CHIP:DMG: Cluster = 0x3, - [1652956326.948675][12333:12333] CHIP:DMG: Attribute = 0x0000_0000, - [1652956326.948719][12333:12333] CHIP:DMG: } - [1652956326.948760][12333:12333] CHIP:DMG: - [1652956326.948797][12333:12333] CHIP:DMG: ], - [1652956326.948834][12333:12333] CHIP:DMG: - [1652956326.948869][12333:12333] CHIP:DMG: isFabricFiltered = true, - [1652956326.948903][12333:12333] CHIP:DMG: InteractionModelRevision = 1 - [1652956326.948935][12333:12333] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655720917.720293][10909:10909] CHIP:IM: Received Read request + [1655720917.720414][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655720917.720461][10909:10909] CHIP:DMG: { + [1655720917.720501][10909:10909] CHIP:DMG: AttributePathIBs = + [1655720917.720548][10909:10909] CHIP:DMG: [ + [1655720917.720592][10909:10909] CHIP:DMG: AttributePathIB = + [1655720917.720642][10909:10909] CHIP:DMG: { + [1655720917.720694][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655720917.720752][10909:10909] CHIP:DMG: Cluster = 0x3, + [1655720917.720805][10909:10909] CHIP:DMG: Attribute = 0x0000_0000, + [1655720917.720858][10909:10909] CHIP:DMG: } + [1655720917.720909][10909:10909] CHIP:DMG: + [1655720917.720956][10909:10909] CHIP:DMG: ], + [1655720917.721006][10909:10909] CHIP:DMG: + [1655720917.721055][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655720917.721101][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655720917.721144][10909:10909] CHIP:DMG: }, + [1655720917.721267][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -56,25 +61,31 @@ tests: TH should send a report data action with the attribute value to the DUT." verification: | + In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0x3 0xFFFFFFFF 1 0 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + On TH - [1653564688.431433][29848:29848] CHIP:IM: Received Read request - [1653564688.431527][29848:29848] CHIP:DMG: ReadRequestMessage = - [1653564688.431582][29848:29848] CHIP:DMG: { - [1653564688.431628][29848:29848] CHIP:DMG: AttributePathIBs = - [1653564688.431682][29848:29848] CHIP:DMG: [ - [1653564688.431732][29848:29848] CHIP:DMG: AttributePathIB = - [1653564688.431794][29848:29848] CHIP:DMG: { - [1653564688.431859][29848:29848] CHIP:DMG: Endpoint = 0x0, - [1653564688.431918][29848:29848] CHIP:DMG: Cluster = 0x3, - [1653564688.431984][29848:29848] CHIP:DMG: } - [1653564688.432048][29848:29848] CHIP:DMG: - [1653564688.432105][29848:29848] CHIP:DMG: ], - [1653564688.432164][29848:29848] CHIP:DMG: - [1653564688.432218][29848:29848] CHIP:DMG: isFabricFiltered = true, - [1653564688.432270][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653564688.432319][29848:29848] CHIP:DMG: }, + [1655721163.411757][10909:10909] CHIP:EM: Handling via exchange: 9428r, Delegate: 0xaaaac37ce418 + [1655721163.411801][10909:10909] CHIP:IM: Received Read request + [1655721163.411878][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721163.411905][10909:10909] CHIP:DMG: { + [1655721163.411927][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721163.411950][10909:10909] CHIP:DMG: [ + [1655721163.411970][10909:10909] CHIP:DMG: AttributePathIB = + [1655721163.411994][10909:10909] CHIP:DMG: { + [1655721163.412018][10909:10909] CHIP:DMG: Endpoint = 0x0, + [1655721163.412051][10909:10909] CHIP:DMG: Cluster = 0x3, + [1655721163.412078][10909:10909] CHIP:DMG: } + [1655721163.412107][10909:10909] CHIP:DMG: + [1655721163.412132][10909:10909] CHIP:DMG: ], + [1655721163.412160][10909:10909] CHIP:DMG: + [1655721163.412187][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721163.412212][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721163.412236][10909:10909] CHIP:DMG: }, + [1655721163.412312][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -83,9 +94,11 @@ tests: message, TH should send a report data action with the attribute values to the DUT." verification: | + In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - Verify when we send this command from DUT to TH 1st till will send Read request message then it will start to exchange messages. + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command disabled: true - label: @@ -96,22 +109,24 @@ tests: verification: | ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0xFFFF - - [1653564959.547874][29848:29848] CHIP:IM: Received Read request - [1653564959.547950][29848:29848] CHIP:DMG: ReadRequestMessage = - [1653564959.548001][29848:29848] CHIP:DMG: { - [1653564959.548042][29848:29848] CHIP:DMG: AttributePathIBs = - [1653564959.548089][29848:29848] CHIP:DMG: [ - [1653564959.548133][29848:29848] CHIP:DMG: AttributePathIB = - [1653564959.548203][29848:29848] CHIP:DMG: { - [1653564959.548259][29848:29848] CHIP:DMG: Attribute = 0x0000_FFFD, - [1653564959.548328][29848:29848] CHIP:DMG: } - [1653564959.548379][29848:29848] CHIP:DMG: - [1653564959.548442][29848:29848] CHIP:DMG: ], - [1653564959.548493][29848:29848] CHIP:DMG: - [1653564959.548559][29848:29848] CHIP:DMG: isFabricFiltered = true, - [1653564959.548606][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653564959.548665][29848:29848] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655721447.462511][10909:10909] CHIP:EM: Handling via exchange: 28866r, Delegate: 0xaaaac37ce418 + [1655721447.462589][10909:10909] CHIP:IM: Received Read request + [1655721447.462717][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721447.462770][10909:10909] CHIP:DMG: { + [1655721447.462817][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721447.462908][10909:10909] CHIP:DMG: [ + [1655721447.462961][10909:10909] CHIP:DMG: AttributePathIB = + [1655721447.463014][10909:10909] CHIP:DMG: { + [1655721447.463066][10909:10909] CHIP:DMG: } + [1655721447.463121][10909:10909] CHIP:DMG: + [1655721447.463173][10909:10909] CHIP:DMG: ], + [1655721447.463228][10909:10909] CHIP:DMG: + [1655721447.463282][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721447.463334][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721447.463382][10909:10909] CHIP:DMG: }, + [1655721447.463503][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -120,24 +135,29 @@ tests: Specific ClusterID]] On receipt of this message, TH should send a report data action with the attribute value to the DUT." verification: | - ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + In case of chip tool, here is an example command to use - [1653565096.692999][29848:29848] CHIP:IM: Received Read request - [1653565096.693082][29848:29848] CHIP:DMG: ReadRequestMessage = - [1653565096.693129][29848:29848] CHIP:DMG: { - [1653565096.693170][29848:29848] CHIP:DMG: AttributePathIBs = - [1653565096.693215][29848:29848] CHIP:DMG: [ - [1653565096.693258][29848:29848] CHIP:DMG: AttributePathIB = - [1653565096.693308][29848:29848] CHIP:DMG: { - [1653565096.693356][29848:29848] CHIP:DMG: Cluster = 0x3, - [1653565096.693411][29848:29848] CHIP:DMG: } - [1653565096.693461][29848:29848] CHIP:DMG: - [1653565096.693511][29848:29848] CHIP:DMG: ], - [1653565096.693561][29848:29848] CHIP:DMG: - [1653565096.693610][29848:29848] CHIP:DMG: isFabricFiltered = true, - [1653565096.693657][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653565096.693699][29848:29848] CHIP:DMG: }, - [1653565096.693821][29848:29848] CHIP:DMG: IM RH moving to [GeneratingReports] + ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655721586.587649][10909:10909] CHIP:EM: Handling via exchange: 14559r, Delegate: 0xaaaac37ce418 + [1655721586.587708][10909:10909] CHIP:IM: Received Read request + [1655721586.587805][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721586.587843][10909:10909] CHIP:DMG: { + [1655721586.587876][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721586.587914][10909:10909] CHIP:DMG: [ + [1655721586.587949][10909:10909] CHIP:DMG: AttributePathIB = + [1655721586.587998][10909:10909] CHIP:DMG: { + [1655721586.588041][10909:10909] CHIP:DMG: Cluster = 0x3, + [1655721586.588085][10909:10909] CHIP:DMG: } + [1655721586.588125][10909:10909] CHIP:DMG: + [1655721586.588162][10909:10909] CHIP:DMG: ], + [1655721586.588201][10909:10909] CHIP:DMG: + [1655721586.588239][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721586.588276][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721586.588310][10909:10909] CHIP:DMG: }, + [1655721586.588403][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + [1655721586.588510][10909:10909] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 disabled: true - label: @@ -147,24 +167,28 @@ tests: receipt of this message, TH should send a report data action with the attribute value to the DUT." verification: | - ./chip-tool any read-by-id 0x03 0x01 1 0xFFFF + In case of chip tool, here is an example command to use - [1653039253.620571][2293:2293] CHIP:IM: Received Read request - [1653039253.620624][2293:2293] CHIP:DMG: ReadRequestMessage = - [1653039253.620651][2293:2293] CHIP:DMG: { - [1653039253.620673][2293:2293] CHIP:DMG: AttributePathIBs = - [1653039253.620699][2293:2293] CHIP:DMG: [ - [1653039253.620723][2293:2293] CHIP:DMG: AttributePathIB = - [1653039253.620753][2293:2293] CHIP:DMG: { - [1653039253.620781][2293:2293] CHIP:DMG: Cluster = 0x3, - [1653039253.620811][2293:2293] CHIP:DMG: Attribute = 0x0000_0001, - [1653039253.620843][2293:2293] CHIP:DMG: } - [1653039253.620873][2293:2293] CHIP:DMG: - [1653039253.620900][2293:2293] CHIP:DMG: ], - [1653039253.620928][2293:2293] CHIP:DMG: - [1653039253.620955][2293:2293] CHIP:DMG: isFabricFiltered = true, - [1653039253.620980][2293:2293] CHIP:DMG: InteractionModelRevision = 1 - [1653039253.621002][2293:2293] CHIP:DMG: }, + ./chip-tool any read-by-id 0x03 0x01 1 0xFFFF + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655721699.304979][10909:10909] CHIP:IM: Received Read request + [1655721699.305100][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721699.305170][10909:10909] CHIP:DMG: { + [1655721699.305211][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721699.305277][10909:10909] CHIP:DMG: [ + [1655721699.305322][10909:10909] CHIP:DMG: AttributePathIB = + [1655721699.305391][10909:10909] CHIP:DMG: { + [1655721699.305442][10909:10909] CHIP:DMG: Cluster = 0x3, + [1655721699.305516][10909:10909] CHIP:DMG: Attribute = 0x0000_0001, + [1655721699.305568][10909:10909] CHIP:DMG: } + [1655721699.305635][10909:10909] CHIP:DMG: + [1655721699.305682][10909:10909] CHIP:DMG: ], + [1655721699.305733][10909:10909] CHIP:DMG: + [1655721699.305780][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721699.305827][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721699.305870][10909:10909] CHIP:DMG: }, + [1655721699.305990][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -173,23 +197,29 @@ tests: Specific Endpoint]] On receipt of this message, TH should send a report data action with the attribute value to the DUT." verification: | + In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 - [1653565163.290886][29848:29848] CHIP:IM: Received Read request - [1653565163.290969][29848:29848] CHIP:DMG: ReadRequestMessage = - [1653565163.291016][29848:29848] CHIP:DMG: { - [1653565163.291056][29848:29848] CHIP:DMG: AttributePathIBs = - [1653565163.291144][29848:29848] CHIP:DMG: [ - [1653565163.291192][29848:29848] CHIP:DMG: AttributePathIB = - [1653565163.291252][29848:29848] CHIP:DMG: { - [1653565163.291306][29848:29848] CHIP:DMG: Endpoint = 0x1, - [1653565163.291358][29848:29848] CHIP:DMG: } - [1653565163.291412][29848:29848] CHIP:DMG: - [1653565163.291461][29848:29848] CHIP:DMG: ], - [1653565163.291515][29848:29848] CHIP:DMG: - [1653565163.291564][29848:29848] CHIP:DMG: isFabricFiltered = true, - [1653565163.291610][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653565163.291653][29848:29848] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655721846.893983][10909:10909] CHIP:EM: Handling via exchange: 50021r, Delegate: 0xaaaac37ce418 + [1655721846.894041][10909:10909] CHIP:IM: Received Read request + [1655721846.894136][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721846.894174][10909:10909] CHIP:DMG: { + [1655721846.894206][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721846.894245][10909:10909] CHIP:DMG: [ + [1655721846.894280][10909:10909] CHIP:DMG: AttributePathIB = + [1655721846.894320][10909:10909] CHIP:DMG: { + [1655721846.894360][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655721846.894403][10909:10909] CHIP:DMG: } + [1655721846.894443][10909:10909] CHIP:DMG: + [1655721846.894479][10909:10909] CHIP:DMG: ], + [1655721846.894519][10909:10909] CHIP:DMG: + [1655721846.894557][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721846.894594][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721846.894628][10909:10909] CHIP:DMG: }, + [1655721846.894724][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -199,121 +229,151 @@ tests: attribute]] On receipt of this message, TH should send a report data action with the attribute value to the DUT." verification: | + In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0 - [1652958379.699028][12447:12447] CHIP:IM: Received Read request - [1652958379.699103][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958379.699145][12447:12447] CHIP:DMG: { - [1652958379.699182][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958379.699224][12447:12447] CHIP:DMG: [ - [1652958379.699264][12447:12447] CHIP:DMG: AttributePathIB = - [1652958379.699319][12447:12447] CHIP:DMG: { - [1652958379.699369][12447:12447] CHIP:DMG: Endpoint = 0x0, - [1652958379.699427][12447:12447] CHIP:DMG: Attribute = 0x0000_FFFD, - [1652958379.699477][12447:12447] CHIP:DMG: } - [1652958379.699520][12447:12447] CHIP:DMG: - [1652958379.699566][12447:12447] CHIP:DMG: ], - [1652958379.699612][12447:12447] CHIP:DMG: - [1652958379.699655][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958379.699697][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958379.699734][12447:12447] CHIP:DMG: }, + verify TH receives the right Read Request Message for the data sent in the above command + + [1655721935.483404][10909:10909] CHIP:EM: Handling via exchange: 59853r, Delegate: 0xaaaac37ce418 + [1655721935.483474][10909:10909] CHIP:IM: Received Read request + [1655721935.483595][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655721935.483660][10909:10909] CHIP:DMG: { + [1655721935.483701][10909:10909] CHIP:DMG: AttributePathIBs = + [1655721935.483767][10909:10909] CHIP:DMG: [ + [1655721935.483813][10909:10909] CHIP:DMG: AttributePathIB = + [1655721935.483881][10909:10909] CHIP:DMG: { + [1655721935.483934][10909:10909] CHIP:DMG: Endpoint = 0x0, + [1655721935.484022][10909:10909] CHIP:DMG: Attribute = 0x0000_FFFD, + [1655721935.484095][10909:10909] CHIP:DMG: } + [1655721935.484156][10909:10909] CHIP:DMG: + [1655721935.484225][10909:10909] CHIP:DMG: ], + [1655721935.484279][10909:10909] CHIP:DMG: + [1655721935.484344][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655721935.484392][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655721935.484450][10909:10909] CHIP:DMG: }, + [1655721935.484595][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type bool." verification: | - ./chip-tool onoff read on-off 1 1 - - [1652958484.870200][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958484.870244][12447:12447] CHIP:DMG: { - [1652958484.870281][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958484.870323][12447:12447] CHIP:DMG: [ - [1652958484.870363][12447:12447] CHIP:DMG: AttributePathIB = - [1652958484.870418][12447:12447] CHIP:DMG: { - [1652958484.870465][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958484.870516][12447:12447] CHIP:DMG: Cluster = 0x6, - [1652958484.870573][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, - [1652958484.870616][12447:12447] CHIP:DMG: } - [1652958484.870658][12447:12447] CHIP:DMG: - [1652958484.870699][12447:12447] CHIP:DMG: ], - [1652958484.870742][12447:12447] CHIP:DMG: - [1652958484.870819][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958484.870861][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958484.870899][12447:12447] CHIP:DMG: }, + In case of chip tool, here is an example command to use + + ./chip-tool onoff read on-off 1 1 + + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655722298.458183][10909:10909] CHIP:EM: Handling via exchange: 9588r, Delegate: 0xaaaac37ce418 + [1655722298.458279][10909:10909] CHIP:IM: Received Read request + [1655722298.458481][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655722298.458544][10909:10909] CHIP:DMG: { + [1655722298.458617][10909:10909] CHIP:DMG: AttributePathIBs = + [1655722298.458680][10909:10909] CHIP:DMG: [ + [1655722298.458740][10909:10909] CHIP:DMG: AttributePathIB = + [1655722298.458827][10909:10909] CHIP:DMG: { + [1655722298.458936][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655722298.459034][10909:10909] CHIP:DMG: Cluster = 0x6, + [1655722298.459114][10909:10909] CHIP:DMG: Attribute = 0x0000_0000, + [1655722298.459208][10909:10909] CHIP:DMG: } + [1655722298.459283][10909:10909] CHIP:DMG: + [1655722298.459366][10909:10909] CHIP:DMG: ], + [1655722298.459435][10909:10909] CHIP:DMG: + [1655722298.459519][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655722298.459581][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655722298.459659][10909:10909] CHIP:DMG: }, + [1655722298.459820][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type string." verification: | - ./chip-tool modeselect read description 1 1 + In case of chip tool, here is an example command to use - [1652958540.740917][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958540.740976][12447:12447] CHIP:DMG: { - [1652958540.741048][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958540.741104][12447:12447] CHIP:DMG: [ - [1652958540.741171][12447:12447] CHIP:DMG: AttributePathIB = - [1652958540.741238][12447:12447] CHIP:DMG: { - [1652958540.741318][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958540.741387][12447:12447] CHIP:DMG: Cluster = 0x50, - [1652958540.741472][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, - [1652958540.741535][12447:12447] CHIP:DMG: } - [1652958540.741618][12447:12447] CHIP:DMG: - [1652958540.741676][12447:12447] CHIP:DMG: ], - [1652958540.741753][12447:12447] CHIP:DMG: - [1652958540.741808][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958540.741878][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958540.741927][12447:12447] CHIP:DMG: }, + ./chip-tool modeselect read description 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655722750.452237][10909:10909] CHIP:EM: Handling via exchange: 31886r, Delegate: 0xaaaac37ce418 + [1655722750.452324][10909:10909] CHIP:IM: Received Read request + [1655722750.452462][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655722750.452515][10909:10909] CHIP:DMG: { + [1655722750.452560][10909:10909] CHIP:DMG: AttributePathIBs = + [1655722750.452614][10909:10909] CHIP:DMG: [ + [1655722750.452664][10909:10909] CHIP:DMG: AttributePathIB = + [1655722750.452729][10909:10909] CHIP:DMG: { + [1655722750.452789][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655722750.452854][10909:10909] CHIP:DMG: Cluster = 0x50, + [1655722750.452926][10909:10909] CHIP:DMG: Attribute = 0x0000_0000, + [1655722750.452986][10909:10909] CHIP:DMG: } + [1655722750.453049][10909:10909] CHIP:DMG: + [1655722750.453102][10909:10909] CHIP:DMG: ], + [1655722750.453160][10909:10909] CHIP:DMG: + [1655722750.453215][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655722750.453268][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655722750.453316][10909:10909] CHIP:DMG: }, + [1655722750.453457][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type unsigned integer." verification: | + In case of chip tool, here is an example command to use + ./chip-tool any read-by-id 0x3 0x1 1 0 - [1652959133.781403][12447:12447] CHIP:IM: Received Read request - [1652959133.781479][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652959133.781522][12447:12447] CHIP:DMG: { - [1652959133.781557][12447:12447] CHIP:DMG: AttributePathIBs = - [1652959133.781601][12447:12447] CHIP:DMG: [ - [1652959133.781640][12447:12447] CHIP:DMG: AttributePathIB = - [1652959133.781690][12447:12447] CHIP:DMG: { - [1652959133.781735][12447:12447] CHIP:DMG: Endpoint = 0x0, - [1652959133.781786][12447:12447] CHIP:DMG: Cluster = 0x3, - [1652959133.781843][12447:12447] CHIP:DMG: Attribute = 0x0000_0001, - [1652959133.781890][12447:12447] CHIP:DMG: } - [1652959133.781940][12447:12447] CHIP:DMG: - [1652959133.781982][12447:12447] CHIP:DMG: ], - [1652959133.782028][12447:12447] CHIP:DMG: - [1652959133.782071][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652959133.782112][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652959133.782150][12447:12447] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655722980.956846][10909:10909] CHIP:IM: Received Read request + [1655722980.956933][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655722980.956978][10909:10909] CHIP:DMG: { + [1655722980.957006][10909:10909] CHIP:DMG: AttributePathIBs = + [1655722980.957037][10909:10909] CHIP:DMG: [ + [1655722980.957078][10909:10909] CHIP:DMG: AttributePathIB = + [1655722980.957112][10909:10909] CHIP:DMG: { + [1655722980.957157][10909:10909] CHIP:DMG: Endpoint = 0x0, + [1655722980.957207][10909:10909] CHIP:DMG: Cluster = 0x3, + [1655722980.957245][10909:10909] CHIP:DMG: Attribute = 0x0000_0001, + [1655722980.957282][10909:10909] CHIP:DMG: } + [1655722980.957328][10909:10909] CHIP:DMG: + [1655722980.957359][10909:10909] CHIP:DMG: ], + [1655722980.957404][10909:10909] CHIP:DMG: + [1655722980.957436][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655722980.957477][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655722980.957506][10909:10909] CHIP:DMG: }, + [1655722980.957605][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type signed integer." verification: | + In case of chip tool, here is an example command to use + ./chip-tool pressuremeasurement read measured-value 1 1 - [1652958611.986295][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958611.986360][12447:12447] CHIP:DMG: { - [1652958611.986400][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958611.986447][12447:12447] CHIP:DMG: [ - [1652958611.986511][12447:12447] CHIP:DMG: AttributePathIB = - [1652958611.986567][12447:12447] CHIP:DMG: { - [1652958611.986637][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958611.986698][12447:12447] CHIP:DMG: Cluster = 0x403, - [1652958611.986963][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, - [1652958611.987021][12447:12447] CHIP:DMG: } - [1652958611.987095][12447:12447] CHIP:DMG: - [1652958611.987162][12447:12447] CHIP:DMG: ], - [1652958611.987216][12447:12447] CHIP:DMG: - [1652958611.987279][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958611.987328][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958611.987386][12447:12447] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655723021.112808][10909:10909] CHIP:IM: Received Read request + [1655723021.112912][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723021.112942][10909:10909] CHIP:DMG: { + [1655723021.112963][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723021.112990][10909:10909] CHIP:DMG: [ + [1655723021.113013][10909:10909] CHIP:DMG: AttributePathIB = + [1655723021.113038][10909:10909] CHIP:DMG: { + [1655723021.113068][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655723021.113096][10909:10909] CHIP:DMG: Cluster = 0x403, + [1655723021.113125][10909:10909] CHIP:DMG: Attribute = 0x0000_0000, + [1655723021.113166][10909:10909] CHIP:DMG: } + [1655723021.113195][10909:10909] CHIP:DMG: + [1655723021.113228][10909:10909] CHIP:DMG: ], + [1655723021.113257][10909:10909] CHIP:DMG: + [1655723021.113292][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723021.113318][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723021.113349][10909:10909] CHIP:DMG: }, + [1655723021.113441][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -327,147 +387,189 @@ tests: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type Octet String." verification: | + In case of chip tool, here is an example command to use + ./chip-tool operationalcredentials read trusted-root-certificates 1 0 - [1652958890.430648][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958890.430703][12447:12447] CHIP:DMG: { - [1652958890.430790][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958890.430850][12447:12447] CHIP:DMG: [ - [1652958890.430902][12447:12447] CHIP:DMG: AttributePathIB = - [1652958890.430960][12447:12447] CHIP:DMG: { - [1652958890.431018][12447:12447] CHIP:DMG: Endpoint = 0x0, - [1652958890.431078][12447:12447] CHIP:DMG: Cluster = 0x3e, - [1652958890.431143][12447:12447] CHIP:DMG: Attribute = 0x0000_0004, - [1652958890.431203][12447:12447] CHIP:DMG: } - [1652958890.431267][12447:12447] CHIP:DMG: - [1652958890.431324][12447:12447] CHIP:DMG: ], - [1652958890.431384][12447:12447] CHIP:DMG: - [1652958890.431439][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958890.431491][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958890.431540][12447:12447] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655723062.690255][10909:10909] CHIP:EM: Handling via exchange: 36548r, Delegate: 0xaaaac37ce418 + [1655723062.690334][10909:10909] CHIP:IM: Received Read request + [1655723062.690471][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723062.690549][10909:10909] CHIP:DMG: { + [1655723062.690596][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723062.690667][10909:10909] CHIP:DMG: [ + [1655723062.690719][10909:10909] CHIP:DMG: AttributePathIB = + [1655723062.690792][10909:10909] CHIP:DMG: { + [1655723062.690888][10909:10909] CHIP:DMG: Endpoint = 0x0, + [1655723062.690980][10909:10909] CHIP:DMG: Cluster = 0x3e, + [1655723062.691047][10909:10909] CHIP:DMG: Attribute = 0x0000_0004, + [1655723062.691123][10909:10909] CHIP:DMG: } + [1655723062.691186][10909:10909] CHIP:DMG: + [1655723062.691257][10909:10909] CHIP:DMG: ], + [1655723062.691317][10909:10909] CHIP:DMG: + [1655723062.691389][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723062.691441][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723062.691494][10909:10909] CHIP:DMG: }, + [1655723062.691635][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type Struct." verification: | - sudo ./chip-tool generalcommissioning read basic-commissioning-info 1 0 - - [1653565636.677324][29848:29848] CHIP:IM: Received Read request - [1653565636.677421][29848:29848] CHIP:DMG: ReadRequestMessage = - [1653565636.677475][29848:29848] CHIP:DMG: { - [1653565636.677519][29848:29848] CHIP:DMG: AttributePathIBs = - [1653565636.677572][29848:29848] CHIP:DMG: [ - [1653565636.677621][29848:29848] CHIP:DMG: AttributePathIB = - [1653565636.677682][29848:29848] CHIP:DMG: { - [1653565636.677744][29848:29848] CHIP:DMG: Endpoint = 0x0, - [1653565636.677815][29848:29848] CHIP:DMG: Cluster = 0x30, - [1653565636.677886][29848:29848] CHIP:DMG: Attribute = 0x0000_0001, - [1653565636.677946][29848:29848] CHIP:DMG: } - [1653565636.678007][29848:29848] CHIP:DMG: - [1653565636.678063][29848:29848] CHIP:DMG: ], - [1653565636.678121][29848:29848] CHIP:DMG: - [1653565636.678176][29848:29848] CHIP:DMG: isFabricFiltered = true, - [1653565636.678227][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653565636.678275][29848:29848] CHIP:DMG: }, + In case of chip tool, here is an example command to use + + sudo ./chip-tool generalcommissioning read basic-commissioning-info 1 0 + + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655723112.901814][10909:10909] CHIP:EM: Handling via exchange: 47730r, Delegate: 0xaaaac37ce418 + [1655723112.901870][10909:10909] CHIP:IM: Received Read request + [1655723112.901972][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723112.902025][10909:10909] CHIP:DMG: { + [1655723112.902057][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723112.902106][10909:10909] CHIP:DMG: [ + [1655723112.902136][10909:10909] CHIP:DMG: AttributePathIB = + [1655723112.902187][10909:10909] CHIP:DMG: { + [1655723112.902229][10909:10909] CHIP:DMG: Endpoint = 0x0, + [1655723112.902291][10909:10909] CHIP:DMG: Cluster = 0x30, + [1655723112.902339][10909:10909] CHIP:DMG: Attribute = 0x0000_0001, + [1655723112.902395][10909:10909] CHIP:DMG: } + [1655723112.902437][10909:10909] CHIP:DMG: + [1655723112.902487][10909:10909] CHIP:DMG: ], + [1655723112.902529][10909:10909] CHIP:DMG: + [1655723112.902580][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723112.902618][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723112.902664][10909:10909] CHIP:DMG: }, + [1655723112.902782][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type List." verification: | - ./chip-tool modeselect read supported-modes 1 1 - [1652958955.872707][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958955.872770][12447:12447] CHIP:DMG: { - [1652958955.872825][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958955.872888][12447:12447] CHIP:DMG: [ - [1652958955.872947][12447:12447] CHIP:DMG: AttributePathIB = - [1652958955.873021][12447:12447] CHIP:DMG: { - [1652958955.873095][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958955.873182][12447:12447] CHIP:DMG: Cluster = 0x50, - [1652958955.873267][12447:12447] CHIP:DMG: Attribute = 0x0000_0002, - [1652958955.873346][12447:12447] CHIP:DMG: } - [1652958955.873420][12447:12447] CHIP:DMG: - [1652958955.873488][12447:12447] CHIP:DMG: ], - [1652958955.873555][12447:12447] CHIP:DMG: - [1652958955.873619][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958955.873681][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958955.873738][12447:12447] CHIP:DMG: }, + In case of chip tool, here is an example command to use + + ./chip-tool modeselect read supported-modes 1 1 + + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655723151.159473][10909:10909] CHIP:EM: Handling via exchange: 9349r, Delegate: 0xaaaac37ce418 + [1655723151.159520][10909:10909] CHIP:IM: Received Read request + [1655723151.159615][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723151.159646][10909:10909] CHIP:DMG: { + [1655723151.159670][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723151.159697][10909:10909] CHIP:DMG: [ + [1655723151.159731][10909:10909] CHIP:DMG: AttributePathIB = + [1655723151.159764][10909:10909] CHIP:DMG: { + [1655723151.159808][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655723151.159847][10909:10909] CHIP:DMG: Cluster = 0x50, + [1655723151.159892][10909:10909] CHIP:DMG: Attribute = 0x0000_0002, + [1655723151.159934][10909:10909] CHIP:DMG: } + [1655723151.159967][10909:10909] CHIP:DMG: + [1655723151.160007][10909:10909] CHIP:DMG: ], + [1655723151.160039][10909:10909] CHIP:DMG: + [1655723151.160081][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723151.160110][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723151.160147][10909:10909] CHIP:DMG: }, + [1655723151.160243][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type enum." verification: | + In case of chip tool, here is an example command to use + ./chip-tool occupancysensing read occupancy-sensor-type 1 1 - [1652958690.943104][12447:12447] CHIP:IM: Received Read request - [1652958690.943189][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958690.943236][12447:12447] CHIP:DMG: { - [1652958690.943278][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958690.943325][12447:12447] CHIP:DMG: [ - [1652958690.943370][12447:12447] CHIP:DMG: AttributePathIB = - [1652958690.943425][12447:12447] CHIP:DMG: { - [1652958690.943481][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958690.943541][12447:12447] CHIP:DMG: Cluster = 0x406, - [1652958690.943600][12447:12447] CHIP:DMG: Attribute = 0x0000_0001, - [1652958690.943659][12447:12447] CHIP:DMG: } - [1652958690.943715][12447:12447] CHIP:DMG: - [1652958690.943766][12447:12447] CHIP:DMG: ], - [1652958690.943817][12447:12447] CHIP:DMG: - [1652958690.943865][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958690.943910][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958690.943953][12447:12447] CHIP:DMG: }, + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + + [1655723234.547912][10909:10909] CHIP:EM: Handling via exchange: 21800r, Delegate: 0xaaaac37ce418 + [1655723234.547981][10909:10909] CHIP:IM: Received Read request + [1655723234.548103][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723234.548168][10909:10909] CHIP:DMG: { + [1655723234.548209][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723234.548270][10909:10909] CHIP:DMG: [ + [1655723234.548323][10909:10909] CHIP:DMG: AttributePathIB = + [1655723234.548387][10909:10909] CHIP:DMG: { + [1655723234.548439][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655723234.548510][10909:10909] CHIP:DMG: Cluster = 0x406, + [1655723234.548566][10909:10909] CHIP:DMG: Attribute = 0x0000_0001, + [1655723234.548634][10909:10909] CHIP:DMG: } + [1655723234.548687][10909:10909] CHIP:DMG: + [1655723234.548749][10909:10909] CHIP:DMG: ], + [1655723234.548800][10909:10909] CHIP:DMG: + [1655723234.548988][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723234.549038][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723234.549097][10909:10909] CHIP:DMG: }, + [1655723234.549241][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "[Optional] DUT sends the Read Request Message to the TH to read an attribute of data type bitmap." verification: | + In case of chip tool, here is an example command to use + ./chip-tool levelcontrol read options 1 1 - [1652958784.685666][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652958784.685715][12447:12447] CHIP:DMG: { - [1652958784.685755][12447:12447] CHIP:DMG: AttributePathIBs = - [1652958784.685802][12447:12447] CHIP:DMG: [ - [1652958784.685848][12447:12447] CHIP:DMG: AttributePathIB = - [1652958784.685904][12447:12447] CHIP:DMG: { - [1652958784.685960][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652958784.686020][12447:12447] CHIP:DMG: Cluster = 0x8, - [1652958784.686081][12447:12447] CHIP:DMG: Attribute = 0x0000_000F, - [1652958784.686140][12447:12447] CHIP:DMG: } - [1652958784.686196][12447:12447] CHIP:DMG: - [1652958784.686243][12447:12447] CHIP:DMG: ], - [1652958784.686294][12447:12447] CHIP:DMG: - [1652958784.686341][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652958784.686387][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652958784.686431][12447:12447] CHIP:DMG: }, + + verify TH receives the right Read Request Message for the data sent in the above command + + [1655723282.097665][10909:10909] CHIP:IM: Received Read request + [1655723282.097741][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723282.097767][10909:10909] CHIP:DMG: { + [1655723282.097789][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723282.097814][10909:10909] CHIP:DMG: [ + [1655723282.097838][10909:10909] CHIP:DMG: AttributePathIB = + [1655723282.097865][10909:10909] CHIP:DMG: { + [1655723282.097893][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655723282.097923][10909:10909] CHIP:DMG: Cluster = 0x8, + [1655723282.097954][10909:10909] CHIP:DMG: Attribute = 0x0000_000F, + [1655723282.097982][10909:10909] CHIP:DMG: } + [1655723282.098009][10909:10909] CHIP:DMG: + [1655723282.098034][10909:10909] CHIP:DMG: ], + [1655723282.098061][10909:10909] CHIP:DMG: + [1655723282.098087][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723282.098112][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723282.098134][10909:10909] CHIP:DMG: }, + [1655723282.098206][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "DUT sends the Read Request Message to the TH to read an attribute Repeat the above steps 3 times." verification: | - ./chip-tool occupancysensing read occupancy 1 1 - [1652959073.822787][12447:12447] CHIP:IM: Received Read request - [1652959073.822884][12447:12447] CHIP:DMG: ReadRequestMessage = - [1652959073.822938][12447:12447] CHIP:DMG: { - [1652959073.822985][12447:12447] CHIP:DMG: AttributePathIBs = - [1652959073.823043][12447:12447] CHIP:DMG: [ - [1652959073.823094][12447:12447] CHIP:DMG: AttributePathIB = - [1652959073.823156][12447:12447] CHIP:DMG: { - [1652959073.823222][12447:12447] CHIP:DMG: Endpoint = 0x1, - [1652959073.823296][12447:12447] CHIP:DMG: Cluster = 0x406, - [1652959073.823370][12447:12447] CHIP:DMG: Attribute = 0x0000_0000, - [1652959073.823432][12447:12447] CHIP:DMG: } - [1652959073.823496][12447:12447] CHIP:DMG: - [1652959073.823553][12447:12447] CHIP:DMG: ], - [1652959073.823617][12447:12447] CHIP:DMG: - [1652959073.823672][12447:12447] CHIP:DMG: isFabricFiltered = true, - [1652959073.823725][12447:12447] CHIP:DMG: InteractionModelRevision = 1 - [1652959073.823773][12447:12447] CHIP:DMG: }, + In case of chip tool, here is an example command to use + + ./chip-tool occupancysensing read occupancy 1 1 + verify On TH(Reference app) receives the right Read Request Message for the data sent in the above command + [1655723372.328144][10909:10909] CHIP:EM: Handling via exchange: 10813r, Delegate: 0xaaaac37ce418 + [1655723372.328201][10909:10909] CHIP:IM: Received Read request + [1655723372.328305][10909:10909] CHIP:DMG: ReadRequestMessage = + [1655723372.328360][10909:10909] CHIP:DMG: { + [1655723372.328392][10909:10909] CHIP:DMG: AttributePathIBs = + [1655723372.328431][10909:10909] CHIP:DMG: [ + [1655723372.328480][10909:10909] CHIP:DMG: AttributePathIB = + [1655723372.328530][10909:10909] CHIP:DMG: { + [1655723372.328588][10909:10909] CHIP:DMG: Endpoint = 0x1, + [1655723372.328644][10909:10909] CHIP:DMG: Cluster = 0x406, + [1655723372.328707][10909:10909] CHIP:DMG: Attribute = 0x0000_0000, + [1655723372.328763][10909:10909] CHIP:DMG: } + [1655723372.328808][10909:10909] CHIP:DMG: + [1655723372.328861][10909:10909] CHIP:DMG: ], + [1655723372.328903][10909:10909] CHIP:DMG: + [1655723372.328954][10909:10909] CHIP:DMG: isFabricFiltered = true, + [1655723372.328994][10909:10909] CHIP:DMG: InteractionModelRevision = 1 + [1655723372.329041][10909:10909] CHIP:DMG: }, + [1655723372.329162][10909:10909] CHIP:DMG: IM RH moving to [GeneratingReports] + ./chip-tool occupancysensing read occupancy 1 1 + verify TH receives the right Read Request Message for the data sent in the above command ./chip-tool occupancysensing read occupancy 1 1 + verify TH receives the right Read Request Message for the data sent in the above command disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml index a6e70957673889..0aec602e9d8e06 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 21.2.2. [TC-IDM-2.2] Report Data Action from DUT to TH. [{DUT_Server}] +name: 3.2.2. [TC-IDM-2.2] Report Data Action from DUT to TH. [{DUT_Server}] config: nodeId: 0x12344321 @@ -28,10 +28,10 @@ tests: Attribute]] On receipt of this message, DUT should send a report data action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool identify read identify-time 1 1 - Verify on TH , DUT is responds right attribute value for above command + Verify on TH , DUT responds the right attribute value for above command [1655727338.260966][5267:5272] CHIP:DMG: ReportDataMessage = [1655727338.261012][5267:5272] CHIP:DMG: { @@ -71,11 +71,11 @@ tests: DUT should send a report data action with the attribute value to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF - Verify on TH , DUT is responds right attribute value for above command + Verify on TH , DUT responds the right attribute value for above command [1655727546.354466][5286:5291] CHIP:DMG: [1655727546.354512][5286:5291] CHIP:DMG: SuppressResponse = true, @@ -137,11 +137,11 @@ tests: message, DUT should send a report data action with the attribute value from all the Endpoints to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x03 0x00 1 0xFFFF - Verify on TH , DUT is responds right attribute value for above command + Verify on TH , DUT responds the right attribute value for above command [1655727602.117907][5301:5306] CHIP:EM: Removed CHIP MessageCounter:97487240 from RetransTable on exchange 58891i [1655727602.117985][5301:5306] CHIP:DMG: ReportDataMessage = @@ -201,7 +201,7 @@ tests: Attribute]] On receipt of this message, DUT should send a report data action with the attribute value from all the clusters to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0 @@ -272,7 +272,7 @@ tests: this message, DUT should send a report data action with the attribute value from all the clusters to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF --timeout 40 @@ -286,8 +286,7 @@ tests: DUT should send a report data action with the attribute value from all the clusters to the DUT." verification: | - In case of chip tool, here is an example command to use - + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFD 1 0xFFFF Here Verifying cluster revision global attribute from all cluster for all endpoint. received report data message has all the right attribute values from DUT to TH @@ -299,10 +298,11 @@ tests: ClusterID]] On receipt of this message, DUT should send a report data action with the attribute value from all the Endpoints to the DUT." verification: | - In case of chip tool, here is an example command to use - + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 0xFFFF + Verify on TH , DUT is responds right attribute value for above command + [1653629930.057852][8778:8783] CHIP:DMG: } [1653629930.058739][8778:8783] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 2065044836 [1653629930.058788][8778:8783] CHIP:TOO: identify time: 0 @@ -358,7 +358,7 @@ tests: report data action with the attribute value from all the Endpoints to the DUT." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 @@ -371,9 +371,10 @@ tests: attribute of data type bool. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool onoff read on-off 1 1 + Verify on TH , DUT is responds right attribute value for above command [1653630222.692433][8886:8891] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 312829505 [1653630222.692468][8886:8891] CHIP:TOO: OnOff: FALSE @@ -385,10 +386,12 @@ tests: attribute of data type string. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool modeselect read description 1 1 + Verify on TH , DUT is responds right attribute value for above command + [1653630307.924844][8910:8915] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000 DataVersion: 722071058 [1653630307.924909][8910:8915] CHIP:TOO: Description: Coffee [1653630307.925019][8910:8915] CHIP:EM: Sending Standalone Ack for MessageCounter:12598182 on exchange 40245i @@ -399,9 +402,10 @@ tests: attribute of data type unsigned integer. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x3 0x1 1 0 + Verify on TH , DUT is responds right attribute value for above command [1653630355.834677][8923:8928] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 2065044836 [1653630355.834735][8923:8928] CHIP:TOO: identify type: 2 @@ -413,10 +417,12 @@ tests: attribute of data type signed integer. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool pressuremeasurement read measured-value 1 1 + Verify on TH , DUT is responds right attribute value for above command + [1653630404.570993][8934:8939] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_0000 DataVersion: 3770689028 [1653630404.571019][8934:8939] CHIP:TOO: MeasuredValue: 0 [1653630404.571064][8934:8939] CHIP:EM: Sending Standalone Ack for MessageCounter:9089678 on exchange 55610i @@ -435,10 +441,12 @@ tests: attribute of data type Octet String. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + Verify on TH , DUT is responds right attribute value for above command + [1655729519.609898][5433:5438] CHIP:DMG: } [1655729519.610252][5433:5438] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0004 DataVersion: 2726656324 [1655729519.610387][5433:5438] CHIP:TOO: TrustedRootCertificates: 1 entries @@ -451,10 +459,12 @@ tests: attribute of data type Struct. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + Verify on TH , DUT is responds right attribute value for above command + [1653630542.619226][9034:9039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3604656322 [1653630542.619277][9034:9039] CHIP:TOO: occupancy sensor type: 0 [1653630542.619361][9034:9039] CHIP:EM: Sending Standalone Ack for MessageCounter:4568856 on exchange 18045i @@ -465,9 +475,10 @@ tests: attribute of data type List. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool timeformatlocalization read supported-calendar-types 1 0 + Verify on TH , DUT is responds right attribute value for above command [1653630857.535521][9171:9176] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 139938310 [1653630857.535636][9171:9176] CHIP:TOO: SupportedCalendarTypes: 12 entries @@ -491,10 +502,11 @@ tests: attribute of data type enum. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + Verify on TH , DUT is responds right attribute value for above command [1653630949.025002][9198:9203] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3604656322 [1653630949.025066][9198:9203] CHIP:TOO: occupancy sensor type: 0 [1653630949.025181][9198:9203] CHIP:EM: Sending Standalone Ack for MessageCounter:1638675 on exchange 63250i @@ -505,10 +517,11 @@ tests: attribute of data type bitmap. DUT responds with the report data action with the right attribute value." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool levelcontrol read options 1 1 + Verify on TH , DUT is responds right attribute value for above command [1653631017.039079][9211:9216] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 199562416 [1653631017.039130][9211:9216] CHIP:TOO: options: 0 [1653631017.039230][9211:9216] CHIP:EM: Sending Standalone Ack for MessageCounter:2930946 on exchange 51524i @@ -525,10 +538,12 @@ tests: "TH sends the Read Request Message to the DUT to read any attribute to an unsupported Endpoint. DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x3 0x1 1 8 + Verify on TH , DUT is responds status code UNSUPPORTED_ENDPOINT for above command + [1653631094.367299][9229:9234] CHIP:DMG: SuppressResponse = true, [1653631094.367315][9229:9234] CHIP:DMG: InteractionModelRevision = 1 [1653631094.367329][9229:9234] CHIP:DMG: } @@ -540,10 +555,12 @@ tests: "TH sends the Read Request Message to the DUT to read any attribute to an unsupported cluster. DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x3 0x1 1 2 + Verify on TH , DUT is responds status code UNSUPPORTED_CLUSTER for above command + [1653631187.121757][9257:9262] CHIP:DMG: SuppressResponse = true, [1653631187.121774][9257:9262] CHIP:DMG: InteractionModelRevision = 1 [1653631187.121788][9257:9262] CHIP:DMG: } @@ -555,10 +572,12 @@ tests: "TH sends the Read Request Message to the DUT to read an unsupported attribute DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool thermostat read outdoor-temperature 1 1 + Verify on TH , DUT is responds status code UNSUPPORTED_ATTRIBUTE for above command + [1653631289.755681][9274:9279] CHIP:DMG: SuppressResponse = true, [1653631289.755689][9274:9279] CHIP:DMG: InteractionModelRevision = 1 [1653631289.755699][9274:9279] CHIP:DMG: } @@ -578,12 +597,16 @@ tests: the path that requires a privilege that is not granted for the cluster in the path. DUT responds with the report data action." verification: | - In case of chip tool, here is an example command to use + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - 1st send above mentioned ACL command and then verify the below mentioned command + + + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool operationalcredentials read trusted-root-certificates 1 0 + Verify on TH , DUT is responds status code UNSUPPORTED_ACCESS(0x7E) for above command + [1652964769.384639][39268:39273] CHIP:DMG: [1652964769.384652][39268:39273] CHIP:DMG: SuppressResponse = true, [1652964769.384668][39268:39273] CHIP:DMG: InteractionModelRevision = 1 @@ -595,7 +618,9 @@ tests: "TH sends the Read Request Message to the DUT to read an attribute Repeat the above steps 3 times." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. + + Verify on TH , DUT is responds right attribute value for below command for all the 3 times. sudo ./chip-tool identify read identify-time 1 1 [1653631418.770328][9322:9327] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435651 @@ -620,7 +645,7 @@ tests: read request to the same cluster with the DataVersionFilter Field set with the dataversion value received before." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool identify read identify-time 1 1 [1653633746.447923][9791:9796] CHIP:DMG: ReportDataMessage = @@ -653,6 +678,7 @@ tests: [1653633746.448576][9791:9796] CHIP:TOO: identify time: 0 [1653633746.448656][9791:9796] CHIP:EM: Sending Standalone Ack for MessageCounter:16255130 on exchange 13134i + Verify on TH that DUT should not send a report data action with the attribute value to the TH sudo ./chip-tool identify read identify-time 1 1 --data-version 0xd7cb76c6 [1653633771.729259][9806:9811] CHIP:DMG: ReportDataMessage = @@ -672,7 +698,9 @@ tests: the DataVersionFilter Field set with the dataversion value received before." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. + + Verify on TH , DUT is responds right attribute value for above command sudo ./chip-tool identify read identify-time 1 1 @@ -733,10 +761,13 @@ tests: cluster with the DataVersionFilter Field set with the dataversion value received before." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 1 + Verify on TH , DUT is responds right attribute value for below command + + [1653633965.092996][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3620435654 [1653633965.093041][9835:9840] CHIP:TOO: identify time: 0 [1653633965.093120][9835:9840] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3620435654 @@ -827,7 +858,9 @@ tests: and also an older DataVersion. The Read Request Message should have 2 DataVersionIB filters." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. + + Verify on TH , DUT is responds right attribute value for below command sudo ./chip-tool identify read identify-time 1 1 @@ -896,7 +929,10 @@ tests: supported attribute/wildcard on another cluster B. DataVersionList field should only contain the DataVersion of cluster A." verification: | - In case of chip tool, here is an example command to use + The cluster used in the below command is an example, User can use any supported chip cluster. + + + On TH Verify that the DUT sends a report data action with the attribute value from the cluster B to the TH and DUT does not send the attribute value from cluster A sudo ./chip-tool any read-by-id 0x03 0xFFFFFFFF 1 1 @@ -965,13 +1001,17 @@ tests: [[Endpoint = Specific Endpoint, Attribute = Specific Non Global Attribute]]" verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool any read-by-id 0xFFFFFFFF 0x0 1 1 + Verify on TH , DUT is responds right attribute value for below command + [1656504191.589526][2805:2810] CHIP:EM: Removed CHIP MessageCounter:183619379 from RetransTable on exchange 22711i [1656504191.589590][2805:2810] CHIP:DMG: StatusResponseMessage = [1656504191.589630][2805:2810] CHIP:DMG: { - [1656504191.589665][2805:2810] CHIP:DMG: Status = 0x80 (INVALID_ACTION), - [1656504191.589703][2805:2810] CHIP:DMG: InteractionModelRevision = 1 + [1656504191.589665][2805:2810] CHIP:DMG: Status = 0x80 (INVALID_ACTION), + [1656504191.589703][2805:2810] CHIP:DMG: InteractionModelRevision = 1 [1656504191.589744][2805:2810] CHIP:DMG: } [1656504191.589782][2805:2810] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION) [1656504191.589833][2805:2810] CHIP:TOO: Error: IM Error 0x00000580: General error: 0x80 (INVALID_ACTION) @@ -983,11 +1023,14 @@ tests: attribute from all clusters at all Endpoints AttributePath = [[Attribute = Specific Non Global Attribute]]" verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool any read-by-id 0xFFFFFFFF 0x0 1 0xFFFF + Verify on TH , DUT is sends the error message above command [1656503822.388967][2787:2792] CHIP:DMG: StatusResponseMessage = [1656503822.389027][2787:2792] CHIP:DMG: { - [1656503822.389066][2787:2792] CHIP:DMG: Status = 0x80 (INVALID_ACTION), - [1656503822.389107][2787:2792] CHIP:DMG: InteractionModelRevision = 1 + [1656503822.389066][2787:2792] CHIP:DMG: Status = 0x80 (INVALID_ACTION), + [1656503822.389107][2787:2792] CHIP:DMG: InteractionModelRevision = 1 [1656503822.389161][2787:2792] CHIP:DMG: } [1656503822.389202][2787:2792] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION) [1656503822.389272][2787:2792] CHIP:TOO: Error: IM Error 0x00000580: General error: 0x80 (INVALID_ACTION) @@ -1000,12 +1043,52 @@ tests: all clusters at Endpoint1 AttributePath = [[Endpoint = Specific Endpoint]]" verification: | - Waiting For Test-Plan author for more input. Verification step upadte is in progress + The cluster used in the below command is an example, User can use any supported chip cluster. + + + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 + + + ./chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 1 1 + + Verify on TH , DUT sends back data of all attributes only from that one cluster to which it has access. + Verify that there are no errors sent back for attributes the TH has no access to + + [1657537120.031164][9438:9443] CHIP:DMG: } + [1657537120.032270][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3463755250 + [1657537120.032381][9438:9443] CHIP:TOO: identify time: 0 + [1657537120.032536][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0001 DataVersion: 3463755250 + [1657537120.032608][9438:9443] CHIP:TOO: identify type: 2 + [1657537120.032753][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 3463755250 + [1657537120.032827][9438:9443] CHIP:TOO: FeatureMap: 0 + [1657537120.032965][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3463755250 + [1657537120.033022][9438:9443] CHIP:TOO: ClusterRevision: 4 + [1657537120.033268][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF8 DataVersion: 3463755250 + [1657537120.033393][9438:9443] CHIP:TOO: GeneratedCommandList: 0 entries + [1657537120.033808][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFF9 DataVersion: 3463755250 + [1657537120.033900][9438:9443] CHIP:TOO: AcceptedCommandList: 2 entries + [1657537120.033971][9438:9443] CHIP:TOO: [1]: 0 + [1657537120.034041][9438:9443] CHIP:TOO: [2]: 64 + [1657537120.034853][9438:9443] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 3463755250 + [1657537120.034950][9438:9443] CHIP:TOO: AttributeList: 7 entries + [1657537120.035018][9438:9443] CHIP:TOO: [1]: 0 + [1657537120.035083][9438:9443] CHIP:TOO: [2]: 1 + [1657537120.035146][9438:9443] CHIP:TOO: [3]: 65528 + [1657537120.035211][9438:9443] CHIP:TOO: [4]: 65529 + [1657537120.035275][9438:9443] CHIP:TOO: [5]: 65531 + [1657537120.035342][9438:9443] CHIP:TOO: [6]: 65532 + [1657537120.035405][9438:9443] CHIP:TOO: [7]: 65533 + [1657537120.035801][9438:9443] CHIP:EM: Sending Standalone Ack for MessageCounter:64174919 on exchange 48017i disabled: true - label: "TH sends a Read Request Message to read all events and attributes from the DUT." verification: | - https://github.com/CHIP-Specifications/chip-test-plans/issues/1373 + In case of chip tool, here is an example command to use + sudo ./chip-tool any read-all 1 0xFFFF --timeout 50 + + Verify on TH , DUT is responds right attributes and events for above command disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml index 2ea03d61c77fdd..533e21320f81e3 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 21.3.1. [TC-IDM-3.1] Write Request Action from DUT to TH. [{DUT_Client}] +name: 3.3.1. [TC-IDM-3.1] Write Request Action from DUT to TH. [{DUT_Client}] config: nodeId: 0x12344321 @@ -27,9 +27,11 @@ tests: verification: | In case of chip tool, here is an example command to use - verify on TH receives the right write Request Message for the data sent in the above command sudo ./chip-tool levelcontrol write on-level 2 1 1 + + verify on TH receives the right write Request Message for the data sent in the above command + [1655795552.551487][7331:7331] CHIP:EM: Handling via exchange: 41640r, Delegate: 0xaaaad9aed418 [1655795552.551552][7331:7331] CHIP:IM: Received Write request [1655795552.551589][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -77,9 +79,10 @@ tests: verification: | In case of chip tool, here is an example command to use + ./chip-tool basic write local-config-disabled 1 1 0 + verify on TH receives the right write Request Message for the data sent in the above command - ./chip-tool basic write local-config-disabled 1 1 0 [1655795795.033946][7331:7331] CHIP:EM: Handling via exchange: 11668r, Delegate: 0xaaaad9aed418 [1655795795.034011][7331:7331] CHIP:IM: Received Write request [1655795795.034050][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -120,10 +123,12 @@ tests: verification: | In case of chip tool, here is an example command to use - verify on TH receives the right write Request Message for the data sent in the above command ./chip-tool basic write node-label node 1 0 + + verify on TH receives the right write Request Message for the data sent in the above command + [1655796035.022296][7331:7331] CHIP:EM: Handling via exchange: 64908r, Delegate: 0xaaaad9aed418 [1655796035.022365][7331:7331] CHIP:IM: Received Write request [1655796035.022407][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -165,9 +170,11 @@ tests: verification: | In case of chip tool, here is an example command to use - verify on TH receives the right write Request Message for the data sent in the above command ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 + + verify on TH receives the right write Request Message for the data sent in the above command + [1655796141.166846][7331:7331] CHIP:IM: Received Write request [1655796141.166889][7331:7331] CHIP:DMG: IM WH moving to [Initialized] [1655796141.166973][7331:7331] CHIP:DMG: WriteRequestMessage = @@ -244,9 +251,10 @@ tests: verification: | In case of chip tool, here is an example command to use + ./chip-tool any write-by-id 0x0204 0 1 1 1 + verify on TH receives the right write Request Message for the data sent in the above command - ./chip-tool any write-by-id 0x0204 0 1 1 1 [1655796297.607841][7331:7331] CHIP:EM: Handling via exchange: 37495r, Delegate: 0xaaaad9aed418 [1655796297.607911][7331:7331] CHIP:IM: Received Write request [1655796297.607954][7331:7331] CHIP:DMG: IM WH moving to [Initialized] @@ -288,9 +296,12 @@ tests: verification: | In case of chip tool, here is an example command to use - verify on TH receives the right write Request Message for the data sent in the above command + ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 + + verify on TH receives the right write Request Message for the data sent in the above command + [1655796429.696904][7331:7331] CHIP:IM: Received Write request [1655796429.696947][7331:7331] CHIP:DMG: IM WH moving to [Initialized] [1655796429.697031][7331:7331] CHIP:DMG: WriteRequestMessage = @@ -339,9 +350,11 @@ tests: verification: | In case of chip tool, here is an example command to use + ./chip-tool any write-by-id 0x0204 0 1 1 1 + + verify on TH receives the right write Request Message for the data sent in the above command - ./chip-tool any write-by-id 0x0204 0 1 1 1 [1655796724.510633][7331:7331] CHIP:EM: Handling via exchange: 51058r, Delegate: 0xaaaad9aed418 [1655796724.510711][7331:7331] CHIP:IM: Received Write request [1655796724.510759][7331:7331] CHIP:DMG: IM WH moving to [Initialized] diff --git a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml index c3b689a9b0faad..59975fb0312591 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 21.3.2. [TC-IDM-3.2] Write Response Action from DUT to TH. [{DUT_Client}] +name: 3.3.2. [TC-IDM-3.2] Write Response Action from DUT to TH. [{DUT_Server}] config: nodeId: 0x12344321 @@ -28,10 +28,12 @@ tests: verification: | In case of chip tool, here is an example command to use - Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + ./chip-tool levelcontrol write on-level 2 1 1 + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + [1653026683.396666][6229:6234] CHIP:DMG: WriteResponseMessage = [1653026683.396685][6229:6234] CHIP:DMG: { [1653026683.396703][6229:6234] CHIP:DMG: AttributeStatusIBs = @@ -78,9 +80,10 @@ tests: verification: | In case of chip tool, here is an example command to use + sudo ./chip-tool basic write local-config-disabled 1 1 0 + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. - sudo ./chip-tool basic write local-config-disabled 1 1 0 [1655201045.952849][3550:3555] CHIP:DMG: WriteResponseMessage = [1655201045.952886][3550:3555] CHIP:DMG: { [1655201045.952916][3550:3555] CHIP:DMG: AttributeStatusIBs = @@ -121,9 +124,11 @@ tests: verification: | In case of chip tool, here is an example command to use - Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. ./chip-tool basic write node-label new 1 0 + + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + [1655806131.663097][7241:7246] CHIP:DMG: WriteClient moving to [ResponseRe] [1655806131.663177][7241:7246] CHIP:DMG: WriteResponseMessage = [1655806131.663215][7241:7246] CHIP:DMG: { @@ -163,9 +168,11 @@ tests: verification: | In case of chip tool, here is an example command to use - sudo Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 + + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + [1649152567.635323][16212:16217] CHIP:DMG: WriteResponseMessage = [1649152567.635361][16212:16217] CHIP:DMG: { [1649152567.635394][16212:16217] CHIP:DMG: AttributeStatusIBs = @@ -240,9 +247,11 @@ tests: verification: | In case of chip tool, here is an example command to use + sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 + + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. - sudo ./chip-tool any write-by-id 0x0204 0 1 1 1 [1649152707.514290][16226:16231] CHIP:DMG: WriteResponseMessage = [1649152707.514324][16226:16231] CHIP:DMG: { [1649152707.514354][16226:16231] CHIP:DMG: AttributeStatusIBs = @@ -282,10 +291,10 @@ tests: verification: | In case of chip tool, here is an example command to use - Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. - sudo ./chip-tool colorcontrol write-by-id 0x000f 1 1 1 + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + [1649152768.817940][16237:16242] CHIP:DMG: WriteResponseMessage = [1649152768.817971][16237:16242] CHIP:DMG: { [1649152768.817999][16237:16242] CHIP:DMG: AttributeStatusIBs = @@ -529,9 +538,11 @@ tests: verification: | In case of chip tool, here is an example command to use + sudo ./chip-tool levelcontrol write on-level 2 1 1 + + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. - sudo ./chip-tool levelcontrol write on-level 2 1 1 [1653028376.099679][6518:6523] CHIP:DMG: WriteResponseMessage = [1653028376.099696][6518:6523] CHIP:DMG: { @@ -633,11 +644,10 @@ tests: verification: | In case of chip tool, here is an example command to use - Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. - ./chip-tool levelcontrol read on-level 1 1 + Verify On TH, Verify DUT is responsds with attribute value [1653028897.525838][6605:6611] CHIP:DMG: ReportDataMessage = [1653028897.525863][6605:6611] CHIP:DMG: { [1653028897.525885][6605:6611] CHIP:DMG: AttributeReportIBs = @@ -669,6 +679,8 @@ tests: ./chip-tool levelcontrol write on-level 3 1 1 --data-version 0xc4c9d7ae + + Veify On TH, DUT sends a Write Response message with a success [1653028938.426783][6617:6622] CHIP:DMG: WriteResponseMessage = [1653028938.426797][6617:6622] CHIP:DMG: { [1653028938.426806][6617:6622] CHIP:DMG: AttributeStatusIBs = @@ -696,6 +708,8 @@ tests: ./chip-tool levelcontrol read on-level 1 1 + Verify on TH receives WriteResponseMessage with the status set to Success for the data sent in the above command and veriy by sending a ReadRequestMessage to read the value that was modified. + [1655201977.366318][3837:3842] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3958539604 [1655201977.366411][3837:3842] CHIP:TOO: on level: 3 [1655201977.366511][3837:3842] CHIP:EM: Sending Standalone Ack for MessageCounter:237652616 on exchange 15939i @@ -712,16 +726,20 @@ tests: verification: | In case of chip tool, here is an example command to use - Verify DUT is responsds with DATA_VERSION_MISMATCH for the second Write request. + ./chip-tool levelcontrol read on-level 1 1 + Verify On TH, Verify DUT is responsds with attribute value + [1653029048.535610][6634:6639] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 3301562287 [1653029048.535653][6634:6639] CHIP:TOO: on level: 3 ./chip-tool levelcontrol write on-level 4 1 1 + Veify On TH, DUT sends a Write Response message with a success + [1653029055.885156][6643:6648] CHIP:DMG: } [1653029055.885169][6643:6648] CHIP:DMG: [1653029055.885178][6643:6648] CHIP:DMG: StatusIB = @@ -732,6 +750,9 @@ tests: ./chip-tool levelcontrol write on-level 4 1 1 --data-version 0xc4c9d7af + + Verify on TH, DUT is responsds with DATA_VERSION_MISMATCH for the second Write request. + [1653029088.401601][6655:6660] CHIP:DMG: WriteResponseMessage = [1653029088.401614][6655:6660] CHIP:DMG: { [1653029088.401623][6655:6660] CHIP:DMG: AttributeStatusIBs = diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml index 05903d12faf311..d45d10e3f8aa4e 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_1.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 21.4.1. [TC-IDM-4.1] SubscriptionRequestMessage from DUT test cases. + 3.4.1. [TC-IDM-4.1] SubscriptionRequestMessage from DUT test cases. [{DUT_Client}] config: @@ -27,49 +27,55 @@ tests: "DUT sends a subscription request message to the target node/reference device for a single attribute of any data type supported." verification: | - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - Verify DUT is responsds with status response for the data sent in the above command - [1656937912.144528][12255:12255] CHIP:DMG: SubscribeRequestMessage = - [1656937912.144578][12255:12255] CHIP:DMG: { - [1656937912.144621][12255:12255] CHIP:DMG: KeepSubscriptions = false, - [1656937912.144669][12255:12255] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1656937912.144718][12255:12255] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1656937912.144762][12255:12255] CHIP:DMG: AttributePathIBs = - [1656937912.144809][12255:12255] CHIP:DMG: [ - [1656937912.144853][12255:12255] CHIP:DMG: AttributePathIB = - [1656937912.144906][12255:12255] CHIP:DMG: { - [1656937912.144956][12255:12255] CHIP:DMG: Endpoint = 0x1, - [1656937912.145014][12255:12255] CHIP:DMG: Cluster = 0x8, - [1656937912.145072][12255:12255] CHIP:DMG: Attribute = 0x0000_0010, - [1656937912.145126][12255:12255] CHIP:DMG: } - [1656937912.145178][12255:12255] CHIP:DMG: - [1656937912.145223][12255:12255] CHIP:DMG: ], - [1656937912.145273][12255:12255] CHIP:DMG: - [1656937912.145320][12255:12255] CHIP:DMG: isFabricFiltered = true, - [1656937912.145365][12255:12255] CHIP:DMG: InteractionModelRevision = 1 - [1656937912.145407][12255:12255] CHIP:DMG: }, - [1656937912.145525][12255:12255] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s - [1656937912.145651][12255:12255] CHIP:DMG: IM RH moving to [GeneratingReports] + In the case of chip tool as a client, here is an example command the client can subscribe to the TH + + onoff subscribe on-off 10 80 1 1 + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command + + [1657446108.596676][11525:11525] CHIP:IM: Received Subscribe request + [1657446108.596832][11525:11525] CHIP:IM: Deleting previous subscription from NodeId: 000000000001B669, FabricIndex: 1 + [1657446108.596950][11525:11525] CHIP:DMG: SubscribeRequestMessage = + [1657446108.597015][11525:11525] CHIP:DMG: { + [1657446108.597075][11525:11525] CHIP:DMG: KeepSubscriptions = false, + [1657446108.597136][11525:11525] CHIP:DMG: MinIntervalFloorSeconds = 0xa, + [1657446108.597311][11525:11525] CHIP:DMG: MaxIntervalCeilingSeconds = 0x50,[1657446108.597377][11525:11525] CHIP:DMG: AttributePathIBs = + [1657446108.597441][11525:11525] CHIP:DMG: [ + [1657446108.597501][11525:11525] CHIP:DMG: AttributePathIB = + [1657446108.597567][11525:11525] CHIP:DMG: { + [1657446108.597635][11525:11525] CHIP:DMG: Endpoint = 0x1, + [1657446108.597710][11525:11525] CHIP:DMG: Cluster = 0x6, + [1657446108.597786][11525:11525] CHIP:DMG: Attribute = 0x0000_0000, + [1657446108.597860][11525:11525] CHIP:DMG: } + [1657446108.597929][11525:11525] CHIP:DMG: + [1657446108.597990][11525:11525] CHIP:DMG: ], + [1657446108.598058][11525:11525] CHIP:DMG: + [1657446108.598122][11525:11525] CHIP:DMG: isFabricFiltered = true, + [1657446108.598184][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657446108.598241][11525:11525] CHIP:DMG: }, + [1657446108.598388][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 80s + [1657446108.598559][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: "DUT sends the subscription request message to TH TH sends a report data DUT sends the status response back to TH" verification: | - In case of chip tool, here is an example command to use + In the case of chip tool as a client, here is an example command the client can subscribe to the TH - ./chip-tool onoff subscribe on-off 100 1000 1 1 + onoff subscribe on-off 10 80 1 1 - Verify DUT is responsds with status response for the data sent in the above command + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command - [1655880368.147124][3499:3499] CHIP:EM: Removed CHIP MessageCounter:254984751 from RetransTable on exchange 58479r - [1655880368.147207][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655880368.147262][3499:3499] CHIP:DMG: { - [1655880368.147312][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655880368.147370][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655880368.147420][3499:3499] CHIP:DMG: } - [1655880368.147469][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655880368.147537][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + + [1657446108.604270][11525:11525] CHIP:EM: Removed CHIP MessageCounter:79424297 from RetransTable on exchange 24r + [1657446108.604371][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657446108.604435][11525:11525] CHIP:DMG: { + [1657446108.604494][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657446108.604557][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657446108.604614][11525:11525] CHIP:DMG: } + [1657446108.604672][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657446108.604755][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 80 seconds disabled: true - label: @@ -78,47 +84,31 @@ tests: should send the modified data to the DUT. Modify the attribute multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use + In the case of chip tool as a client, here is an example command the client can subscribe to the TH + + basic subscribe local-config-disabled 10 100 1 0 + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command + [1657445852.161250][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657445852.161278][11525:11525] CHIP:DMG: { + [1657445852.161301][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657445852.161326][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657445852.161348][11525:11525] CHIP:DMG: } + [1657445852.161372][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657445852.161412][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 100 seconds - Verify DUT is responsds with status response for the data sent in the all below commands - ./chip-tool basic subscribe local-config-disabled 100 1000 1 0 - [1655881752.438947][3499:3499] CHIP:EM: Removed CHIP MessageCounter:177558174 from RetransTable on exchange 49368r - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - - - ./chip-tool basic write local-config-disabled 1 1 0 - On DUT - [1655881905.760510][1721:1726] CHIP:DMG: { - [1655881905.760547][1721:1726] CHIP:DMG: AttributePathIB = - [1655881905.760593][1721:1726] CHIP:DMG: { - [1655881905.760641][1721:1726] CHIP:DMG: Endpoint = 0x0, - [1655881905.760691][1721:1726] CHIP:DMG: Cluster = 0x28, - [1655881905.760739][1721:1726] CHIP:DMG: Attribute = 0x0000_0010, - [1655881905.760784][1721:1726] CHIP:DMG: } - [1655881905.760834][1721:1726] CHIP:DMG: - [1655881905.760878][1721:1726] CHIP:DMG: StatusIB = - [1655881905.760930][1721:1726] CHIP:DMG: { - [1655881905.760976][1721:1726] CHIP:DMG: status = 0x00 (SUCCESS), - [1655881905.761021][1721:1726] CHIP:DMG: }, - [1655881905.761066][1721:1726] CHIP:DMG: - [1655881905.761103][1721:1726] CHIP:DMG: }, - - - ./chip-tool basic subscribe local-config-disabled 100 1000 1 0 - [1655881908.817879][3499:3499] CHIP:EM: Removed CHIP MessageCounter:263001918 from RetransTable on exchange 44935r - [1655881908.817925][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655881908.817953][3499:3499] CHIP:DMG: { - [1655881908.817978][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655881908.818006][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655881908.818030][3499:3499] CHIP:DMG: } - [1655881908.818055][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655881908.818094][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + + In the case of chip tool as a client, here is an example command the client can write an attribute in the basic cluster in the TH to change the value that the client subscribed in the above command. + + basic write local-config-disabled 1 1 0 + [1657445962.258847][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657445962.258876][11525:11525] CHIP:DMG: { + [1657445962.258901][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657445962.258926][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657445962.258950][11525:11525] CHIP:DMG: } + [1657445962.258975][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657445962.259002][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 disabled: true - label: @@ -127,39 +117,35 @@ tests: should send the modified data to the DUT. Modify the attribute multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use + In the case of chip tool as a client, here is an example command the client can subscribe to the TH - Verify DUT is responsds with status response for the data sent in the all below commands + basic subscribe node-label 30 200 1 0 + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1655882093.124724][3499:3499] CHIP:EM: Removed CHIP MessageCounter:73279722 from RetransTable on exchange 51099r - [1655882093.124770][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882093.124797][3499:3499] CHIP:DMG: { - [1655882093.124821][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882093.124846][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882093.124868][3499:3499] CHIP:DMG: } - [1655882093.124892][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882093.124930][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool basic write node-label new 1 0 - [1655882311.953917][1752:1757] CHIP:DMG: } - [1655882311.953981][1752:1757] CHIP:DMG: - [1655882311.954037][1752:1757] CHIP:DMG: StatusIB = - [1655882311.954085][1752:1757] CHIP:DMG: { - [1655882311.954143][1752:1757] CHIP:DMG: status = 0x00 (SUCCESS), - [1655882311.954204][1752:1757] CHIP:DMG: }, - [1655882311.954251][1752:1757] CHIP:DMG: - [1655882311.954302][1752:1757] CHIP:DMG: }, - - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1655882346.547318][3499:3499] CHIP:EM: Removed CHIP MessageCounter:199893385 from RetransTable on exchange 48312r - [1655882346.547362][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882346.547388][3499:3499] CHIP:DMG: { - [1655882346.547412][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882346.547437][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882346.547460][3499:3499] CHIP:DMG: } - [1655882346.547483][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882346.547518][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + [1657446489.135811][11525:11525] CHIP:EM: Removed CHIP MessageCounter:79424307 from RetransTable on exchange 25r + [1657446489.135889][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657446489.135938][11525:11525] CHIP:DMG: { + [1657446489.135982][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657446489.136036][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657446489.136080][11525:11525] CHIP:DMG: } + [1657446489.136123][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + + + + + In the case of chip tool as a client, here is an example command the client can write an attribute in the basic cluster in the TH to change the value that the client subscribed in the above command. + + + basic write node-label label 1 0 + [1657446721.226280][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657446721.226345][11525:11525] CHIP:DMG: { + [1657446721.226431][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657446721.226493][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657446721.226569][11525:11525] CHIP:DMG: } + [1657446721.226628][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657446721.226711][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 + [1657446721.226773][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] disabled: true - label: @@ -168,39 +154,35 @@ tests: the TH. TH should send the modified data to the DUT. Modify the attribute multiple times (3 times)." verification: | - In case of chip tool, here is an example command to use + In the case of chip tool as a client, here is an example command the client can subscribe to the TH Verify DUT is responsds with status response for the data sent in the all below commands + On TH (On the reference app) + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + [1657448410.108491][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055857 from RetransTable on exchange 33616r + [1657448410.108543][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657448410.108571][11525:11525] CHIP:DMG: { + [1657448410.108595][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657448410.108626][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657448410.108650][11525:11525] CHIP:DMG: } + [1657448410.108674][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1655882443.793602][3499:3499] CHIP:EM: Removed CHIP MessageCounter:14191415 from RetransTable on exchange 21493r - [1655882443.793649][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882443.793675][3499:3499] CHIP:DMG: { - [1655882443.793698][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882443.793726][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882443.793750][3499:3499] CHIP:DMG: } - [1655882443.793774][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882443.793810][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - On DUT - [1655882507.865292][1772:1777] CHIP:DMG: - [1655882507.865364][1772:1777] CHIP:DMG: StatusIB = - [1655882507.865409][1772:1777] CHIP:DMG: { - [1655882507.865453][1772:1777] CHIP:DMG: status = 0x00 (SUCCESS), - [1655882507.865495][1772:1777] CHIP:DMG: }, + In the case of chip tool as a client, here is an example command the client can write an attribute in the basic cluster in the TH to change the value that the client subscribed in the above command. - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1655882560.683450][3499:3499] CHIP:EM: Removed CHIP MessageCounter:250174901 from RetransTable on exchange 12757r - [1655882560.683492][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882560.683518][3499:3499] CHIP:DMG: { - [1655882560.683541][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882560.683566][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882560.683589][3499:3499] CHIP:DMG: } - [1655882560.683612][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882560.683647][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + any write-by-id 0x0008 0x0010 1 1 1 + [1657448453.234310][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055860 from RetransTable on exchange 8514i + [1657448453.234372][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657448453.234409][11525:11525] CHIP:DMG: { + [1657448453.234442][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657448453.234478][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657448453.234510][11525:11525] CHIP:DMG: } + [1657448453.234542][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657448453.234577][11525:11525] CHIP:DMG: OnReportConfirm: NumReports = 0 + @@ -213,43 +195,7 @@ tests: TH. TH should send the modified data to the DUT. Modify the attribute multiple times (3 times)" verification: | - In case of chip tool, here is an example command to use - - Verify DUT is responsds with status response for the data sent in the all below commands - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1655882844.643091][3499:3499] CHIP:EM: Removed CHIP MessageCounter:155702711 from RetransTable on exchange 40469r - [1655882844.643136][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882844.643163][3499:3499] CHIP:DMG: { - [1655882844.643187][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882844.643215][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882844.643238][3499:3499] CHIP:DMG: } - [1655882844.643262][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882844.643299][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - On DUT - [1655882963.306590][1818:1823] CHIP:DMG: } - [1655882963.306641][1818:1823] CHIP:DMG: - [1655882963.306684][1818:1823] CHIP:DMG: StatusIB = - [1655882963.306730][1818:1823] CHIP:DMG: { - [1655882963.306776][1818:1823] CHIP:DMG: status = 0x00 (SUCCESS), - [1655882963.306821][1818:1823] CHIP:DMG: }, - [1655882963.306866][1818:1823] CHIP:DMG: - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1655882991.052492][3499:3499] CHIP:EM: Removed CHIP MessageCounter:211047849 from RetransTable on exchange 41909r - [1655882991.052535][3499:3499] CHIP:DMG: StatusResponseMessage = - [1655882991.052562][3499:3499] CHIP:DMG: { - [1655882991.052586][3499:3499] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655882991.052611][3499:3499] CHIP:DMG: InteractionModelRevision = 1 - [1655882991.052634][3499:3499] CHIP:DMG: } - [1655882991.052658][3499:3499] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655882991.052693][3499:3499] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - Verify the above command multiple times by changing attribute value(3 times) + DUT implementation required to verify subscribe an attribute of data type signed integer disabled: true - label: @@ -275,46 +221,81 @@ tests: "DUT sends a subscription request message to the target node/reference device for multiple attributes(3 attributes)." verification: | - sudo ./chip-tool any subscribe-by-id "6,8,3" "0,17,1" ${NODE_ID} 100 1000 3 "1,1,1" - - Verify DUT is responsds with status response for the data sent in the all below commands - - [1656938061.290779][12255:12255] CHIP:DMG: SubscribeRequestMessage = - [1656938061.290823][12255:12255] CHIP:DMG: { - [1656938061.290862][12255:12255] CHIP:DMG: KeepSubscriptions = false, - [1656938061.290913][12255:12255] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1656938061.290957][12255:12255] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1656938061.290997][12255:12255] CHIP:DMG: AttributePathIBs = - [1656938061.291038][12255:12255] CHIP:DMG: [ - [1656938061.291077][12255:12255] CHIP:DMG: AttributePathIB = - [1656938061.291120][12255:12255] CHIP:DMG: { - [1656938061.291164][12255:12255] CHIP:DMG: Endpoint = 0x1, - [1656938061.291214][12255:12255] CHIP:DMG: Cluster = 0x6, - [1656938061.291265][12255:12255] CHIP:DMG: Attribute = 0x0000_0000, - [1656938061.291313][12255:12255] CHIP:DMG: } - [1656938061.291359][12255:12255] CHIP:DMG: - [1656938061.291400][12255:12255] CHIP:DMG: AttributePathIB = - [1656938061.291442][12255:12255] CHIP:DMG: { - [1656938061.291486][12255:12255] CHIP:DMG: Endpoint = 0x1, - [1656938061.291535][12255:12255] CHIP:DMG: Cluster = 0x8, - [1656938061.291584][12255:12255] CHIP:DMG: Attribute = 0x0000_0011, - [1656938061.291629][12255:12255] CHIP:DMG: } - [1656938061.291677][12255:12255] CHIP:DMG: - [1656938061.291718][12255:12255] CHIP:DMG: AttributePathIB = - [1656938061.291759][12255:12255] CHIP:DMG: { - [1656938061.291803][12255:12255] CHIP:DMG: Endpoint = 0x1, - [1656938061.291852][12255:12255] CHIP:DMG: Cluster = 0x3, - [1656938061.291902][12255:12255] CHIP:DMG: Attribute = 0x0000_0001, - [1656938061.291948][12255:12255] CHIP:DMG: } - [1656938061.291997][12255:12255] CHIP:DMG: - [1656938061.292040][12255:12255] CHIP:DMG: ], - [1656938061.292091][12255:12255] CHIP:DMG: - [1656938061.292132][12255:12255] CHIP:DMG: isFabricFiltered = true, - [1656938061.292173][12255:12255] CHIP:DMG: InteractionModelRevision = 1 - [1656938061.292210][12255:12255] CHIP:DMG: }, - [1656938061.292366][12255:12255] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s - [1656938061.292524][12255:12255] CHIP:DMG: IM RH moving to [GeneratingReports] - [1656938061.292642][12255:12255] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + In the case of chip tool as a client, here is an example command the client can subscribe to the TH + + any subscribe-by-id "6,8,3" "0,1,0" 10 100 "1" "1,1,1" + + On TH (On the reference app) Verify if DUT is responding with the below status response for the above command + + [1657449168.663911][11525:11525] CHIP:EM: Handling via exchange: 33620r, Delegate: 0xaaaae00c1430 + [1657449168.664027][11525:11525] CHIP:IM: Received Subscribe request + [1657449168.664216][11525:11525] CHIP:IM: Deleting previous subscription from NodeId: 000000000001B669, FabricIndex: 1 + [1657449168.664345][11525:11525] CHIP:DMG: SubscribeRequestMessage = + [1657449168.664408][11525:11525] CHIP:DMG: { + [1657449168.664467][11525:11525] CHIP:DMG: KeepSubscriptions = false, + [1657449168.664532][11525:11525] CHIP:DMG: MinIntervalFloorSeconds = 0xa, + [1657449168.664597][11525:11525] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1657449168.664658][11525:11525] CHIP:DMG: AttributePathIBs = + [1657449168.664722][11525:11525] CHIP:DMG: [ + [1657449168.664782][11525:11525] CHIP:DMG: AttributePathIB = + [1657449168.664848][11525:11525] CHIP:DMG: { + [1657449168.664916][11525:11525] CHIP:DMG: Endpoint = 0x1, + [1657449168.664993][11525:11525] CHIP:DMG: Cluster = 0x6, + [1657449168.665074][11525:11525] CHIP:DMG: Attribute = 0x0000_0000, + [1657449168.665149][11525:11525] CHIP:DMG: } + [1657449168.665225][11525:11525] CHIP:DMG: + [1657449168.665289][11525:11525] CHIP:DMG: AttributePathIB = + [1657449168.665353][11525:11525] CHIP:DMG: { + [1657449168.665420][11525:11525] CHIP:DMG: Endpoint = 0x1, + [1657449168.665495][11525:11525] CHIP:DMG: Cluster = 0x8, + [1657449168.665573][11525:11525] CHIP:DMG: Attribute = 0x0000_0001, + [1657449168.665646][11525:11525] CHIP:DMG: } + [1657449168.665721][11525:11525] CHIP:DMG: + [1657449168.665783][11525:11525] CHIP:DMG: AttributePathIB = + [1657449168.665847][11525:11525] CHIP:DMG: { + [1657449168.665913][11525:11525] CHIP:DMG: Endpoint = 0x1, + [1657449168.665988][11525:11525] CHIP:DMG: Cluster = 0x3, + [1657449168.666073][11525:11525] CHIP:DMG: Attribute = 0x0000_0000, + [1657449168.666152][11525:11525] CHIP:DMG: } + [1657449168.666225][11525:11525] CHIP:DMG: + [1657449168.666286][11525:11525] CHIP:DMG: ], + [1657449168.666362][11525:11525] CHIP:DMG: + [1657449168.666427][11525:11525] CHIP:DMG: isFabricFiltered = true, + [1657449168.666488][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657449168.666545][11525:11525] CHIP:DMG: }, + [1657449168.666762][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 100s + [1657449168.666949][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] + [1657449168.667136][11525:11525] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1657449168.667204][11525:11525] CHIP:DMG: Cluster 3, Attribute 0 is dirty + [1657449168.667256][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0003 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) + [1657449168.667317][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=v + [1657449168.667388][11525:11525] CHIP:DMG: AccessControl: allowed + [1657449168.667523][11525:11525] CHIP:DMG: Cluster 8, Attribute 1 is dirty + [1657449168.667580][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0008 Endpoint=1 AttributeId=0x0000_0001 (expanded=0) + [1657449168.667636][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=v + [1657449168.667696][11525:11525] CHIP:DMG: AccessControl: allowed + [1657449168.667768][11525:11525] CHIP:DMG: Cluster 6, Attribute 0 is dirty + [1657449168.667824][11525:11525] CHIP:DMG: Reading attribute: Cluster=0x0000_0006 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) + [1657449168.667882][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=v + [1657449168.667941][11525:11525] CHIP:DMG: AccessControl: allowed + [1657449168.668024][11525:11525] CHIP:DMG: Sending report (payload has 91 bytes)... + [1657449168.668092][11525:11525] CHIP:DMG: IM RH moving to [AwaitingReportResponse] + [1657449168.668168][11525:11525] CHIP:EM: Piggybacking Ack for MessageCounter:190733016 on exchange: 33620r + [1657449168.668301][11525:11525] CHIP:IN: Prepared secure message 0xaaab1651a358 to 0x000000000001B669 (1) of type 0x5 and protocolId (0, 1) on exchange 33620r with MessageCounter:11055871. + [1657449168.668386][11525:11525] CHIP:IN: Sending encrypted msg 0xaaab1651a358 with MessageCounter:11055871 to 0x000000000001B669 (1) at monotonic time: 000000000096B758 msec + [1657449168.668756][11525:11525] CHIP:DMG: ReportsInFlight = 1 with readHandler 1, RE has no more messages + [1657449168.668827][11525:11525] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet + [1657449168.674031][11525:11525] CHIP:EM: Received message of type 0x1 with protocolId (0, 1) and MessageCounter:190733017 on exchange 33620r + [1657449168.674074][11525:11525] CHIP:EM: Found matching exchange: 33620r, Delegate: 0xaaab16517540 + [1657449168.674114][11525:11525] CHIP:EM: Rxd Ack; Removing MessageCounter:11055871 from Retrans Table on exchange 33620r + [1657449168.674140][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11055871 from RetransTable on exchange 33620r + [1657449168.674191][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657449168.674220][11525:11525] CHIP:DMG: { + [1657449168.674246][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657449168.674273][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657449168.674297][11525:11525] CHIP:DMG: } + [1657449168.674324][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657449168.674365][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 100 seconds disabled: true - label: @@ -326,13 +307,6 @@ tests: DUT implementation required to verify subscribe and list an attribute of data type floating point disabled: true - - label: - "[OPTIONAL] DUT sends a subscription request message to the TH for a - single attribute of any data type supported. Reboot the DUT." - verification: | - TH fails to send report data to the DUT after DUT is rebooted as this step is optional - disabled: true - - label: "DUT sends a subscription request action for an attribute with an empty DataVersionFilters field.+ TH sends a report data action with @@ -340,21 +314,44 @@ tests: subscription for that attribute. Start another subscription with the DataVersionFilter field set to the data version received above." verification: | - In case of chip tool, here is an example command to use - - ./chip-tool onoff subscribe on-off 100 1000 1 1 - [1655890349.597254][1369:1369] CHIP:EM: Removed CHIP MessageCounter:79213623 from RetransTable on exchange 62776r - [1655890349.597330][1369:1369] CHIP:DMG: StatusResponseMessage = - [1655890349.597379][1369:1369] CHIP:DMG: { - [1655890349.597423][1369:1369] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655890349.597470][1369:1369] CHIP:DMG: InteractionModelRevision = 1 - [1655890349.597512][1369:1369] CHIP:DMG: } - [1655890349.597555][1369:1369] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655890349.597616][1369:1369] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - [1655890349.597672][1369:1369] CHIP:EM: Piggybacking Ack for MessageCounter:138387217 on exchange: 62776r - - On DUT verify, Attribute data is not sent for the second subscription - ./chip-tool onoff subscribe on-off 100 1000 1 1 --data-version 0x32c52d73 + In the case of chip tool as a client, here is an example command the client can subscribe to the TH + + onoff subscribe on-off 10 100 1 + [1657461297.413790][12604:12609] CHIP:DMG: ReportDataMessage = + [1657461297.413859][12604:12609] CHIP:DMG: { + [1657461297.413895][12604:12609] CHIP:DMG: SubscriptionId = 0x4a7b129e, + [1657461297.413933][12604:12609] CHIP:DMG: AttributeReportIBs = + [1657461297.413975][12604:12609] CHIP:DMG: [ + [1657461297.414009][12604:12609] CHIP:DMG: AttributeReportIB = + [1657461297.414053][12604:12609] CHIP:DMG: { + [1657461297.414088][12604:12609] CHIP:DMG: AttributeDataIB = + [1657461297.414130][12604:12609] CHIP:DMG: { + [1657461297.414174][12604:12609] CHIP:DMG: DataVersion = 0x1979c48, + [1657461297.414218][12604:12609] CHIP:DMG: AttributePathIB = + [1657461297.414263][12604:12609] CHIP:DMG: { + [1657461297.414309][12604:12609] CHIP:DMG: Endpoint = 0x1, + [1657461297.414358][12604:12609] CHIP:DMG: Cluster = 0x6, + [1657461297.414406][12604:12609] CHIP:DMG: Attribute = 0x0000_0000, + [1657461297.414455][12604:12609] CHIP:DMG: } + [1657461297.414503][12604:12609] CHIP:DMG: + [1657461297.414670][12604:12609] CHIP:DMG: Data = false, + [1657461297.414718][12604:12609] CHIP:DMG: }, + [1657461297.414765][12604:12609] CHIP:DMG: + [1657461297.414837][12604:12609] CHIP:DMG: }, + [1657461297.414884][12604:12609] CHIP:DMG: + [1657461297.414917][12604:12609] CHIP:DMG: ], + [1657461297.414958][12604:12609] CHIP:DMG: + [1657461297.414992][12604:12609] CHIP:DMG: InteractionModelRevision = 1 + [1657461297.415025][12604:12609] CHIP:DMG: } + [1657461297.415190][12604:12609] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 26713160 + [1657461297.415237][12604:12609] CHIP:TOO: OnOff: FALSE + [1657461297.415289][12604:12609] CHIP:DMG: MoveToState ReadClient[0xffff80008e40]: Moving to [AwaitingSu] + + + + onoff subscribe on-off 100 1000 1 1 --data-version 0x32c52d73 + + On Reference app verify Attribute data is not sent for the second subscription, when Start another subscription with the DataVersionFilter field set to the data version received above [1655890477.269305][1518:1523] CHIP:EM: Removed CHIP MessageCounter:196305006 from RetransTable on exchange 43437i [1655890477.269385][1518:1523] CHIP:DMG: ReportDataMessage = diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml index 523d23a53d95ba..5b5f2aedd4d0d5 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 21.4.2. [TC-IDM-4.2] Subscription Response Messages from DUT Test Cases. + 3.4.2. [TC-IDM-4.2] Subscription Response Messages from DUT Test Cases. [{DUT_Server}] config: @@ -29,56 +29,50 @@ tests: the TH. TH sends a success status response to the DUT. DUT sends a Subscribe Response Message to the TH to activate the subscription." verification: | - ./chip-tool onoff subscribe on-off 100 3900(65 mins) 1 1 - On TH - [1654857384.973364][31748:31753] CHIP:DMG: ReportDataMessage = - [1654857384.973404][31748:31753] CHIP:DMG: { - [1654857384.973439][31748:31753] CHIP:DMG: SubscriptionId = 0xc1b52c2, - [1654857384.973476][31748:31753] CHIP:DMG: AttributeReportIBs = - [1654857384.973522][31748:31753] CHIP:DMG: [ - [1654857384.973557][31748:31753] CHIP:DMG: AttributeReportIB = - [1654857384.973607][31748:31753] CHIP:DMG: { - [1654857384.973645][31748:31753] CHIP:DMG: AttributeDataIB = - [1654857384.973688][31748:31753] CHIP:DMG: { - [1654857384.973735][31748:31753] CHIP:DMG: DataVersion = 0xa5d5880d, - [1654857384.973785][31748:31753] CHIP:DMG: AttributePathIB = - [1654857384.973833][31748:31753] CHIP:DMG: { - [1654857384.973883][31748:31753] CHIP:DMG: Endpoint = 0x1, - [1654857384.973935][31748:31753] CHIP:DMG: Cluster = 0x6, - [1654857384.973990][31748:31753] CHIP:DMG: Attribute = 0x0000_0000, - [1654857384.974039][31748:31753] CHIP:DMG: } - [1654857384.974089][31748:31753] CHIP:DMG: - [1654857384.974139][31748:31753] CHIP:DMG: Data = false, - [1654857384.974188][31748:31753] CHIP:DMG: }, - [1654857384.974235][31748:31753] CHIP:DMG: - [1654857384.974272][31748:31753] CHIP:DMG: }, - [1654857384.974315][31748:31753] CHIP:DMG: - [1654857384.974349][31748:31753] CHIP:DMG: ], - [1654857384.974393][31748:31753] CHIP:DMG: - [1654857384.974428][31748:31753] CHIP:DMG: InteractionModelRevision = 1 - [1654857384.974461][31748:31753] CHIP:DMG: } - [1654857384.974620][31748:31753] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2782234637 - [1654857384.974681][31748:31753] CHIP:TOO: OnOff: FALSE - [1654857384.974750][31748:31753] CHIP:DMG: MoveToState ReadClient[0xffff9c004590]: Moving to [AwaitingSu] - - On TH - [1654857384.976140][31748:31753] CHIP:DMG: SubscribeResponseMessage = - [1654857384.976179][31748:31753] CHIP:DMG: { - [1654857384.976212][31748:31753] CHIP:DMG: SubscriptionId = 0xc1b52c2, - [1654857384.976251][31748:31753] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1654857384.976289][31748:31753] CHIP:DMG: MaxIntervalCeilingSeconds = 0xf3c, - [1654857384.976326][31748:31753] CHIP:DMG: InteractionModelRevision = 1 - [1654857384.976360][31748:31753] CHIP:DMG: } - [1654857384.976400][31748:31753] CHIP:DMG: Subscription established with SubscriptionID = 0x0c1b52c2 MinInterval = 100s MaxInterval = 3900s Peer = 01:0000000000000001 - - On DUT - [1654857384.985396][30333:30333] CHIP:DMG: StatusResponseMessage = - [1654857384.985424][30333:30333] CHIP:DMG: { - [1654857384.985449][30333:30333] CHIP:DMG: Status = 0x00 (SUCCESS), - [1654857384.985484][30333:30333] CHIP:DMG: InteractionModelRevision = 1 - [1654857384.985507][30333:30333] CHIP:DMG: } - [1654857384.985533][30333:30333] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1654857384.985578][30333:30333] CHIP:DMG: Refresh Subscribe Sync Timer with max 3900 seconds + The cluster used in the below command is an example, User can use any supported chip cluster. + onoff subscribe on-off 100 3900(65 mins) 1 1 + On TH, verify that the report data message is received from DUT and check it contains all the data which mentioned in expected outcome + m RetransTable on exchange 33626i + [1657449840.232430][11635:11640] CHIP:DMG: ReportDataMessage = + [1657449840.232485][11635:11640] CHIP:DMG: { + [1657449840.232536][11635:11640] CHIP:DMG: SubscriptionId = 0xaa467997, + [1657449840.232588][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657449840.232654][11635:11640] CHIP:DMG: [ + [1657449840.232704][11635:11640] CHIP:DMG: AttributeReportIB = + [1657449840.232773][11635:11640] CHIP:DMG: { + [1657449840.232827][11635:11640] CHIP:DMG: AttributeDataIB = + [1657449840.232858][11635:11640] CHIP:DMG: { + [1657449840.232885][11635:11640] CHIP:DMG: DataVersion = 0x1979c37, + [1657449840.232911][11635:11640] CHIP:DMG: AttributePathIB = + [1657449840.232940][11635:11640] CHIP:DMG: { + [1657449840.232969][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657449840.232998][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657449840.233028][11635:11640] CHIP:DMG: Attribute = 0x0000_0000, + [1657449840.233055][11635:11640] CHIP:DMG: } + [1657449840.233085][11635:11640] CHIP:DMG: + [1657449840.233175][11635:11640] CHIP:DMG: Data = false, + [1657449840.233204][11635:11640] CHIP:DMG: }, + [1657449840.233234][11635:11640] CHIP:DMG: + [1657449840.233257][11635:11640] CHIP:DMG: }, + [1657449840.233284][11635:11640] CHIP:DMG: + [1657449840.233305][11635:11640] CHIP:DMG: ], + [1657449840.233334][11635:11640] CHIP:DMG: + [1657449840.233355][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657449840.233405][11635:11640] CHIP:DMG: } + [1657449840.233501][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 26713143 + [1657449840.233534][11635:11640] CHIP:TOO: OnOff: FALSE + [1657449840.233567][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008e30]: Moving to [AwaitingSu] + + [1657449840.235116][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733039 from RetransTable on exchange 33626i + [1657449840.235199][11635:11640] CHIP:DMG: SubscribeResponseMessage = + [1657449840.235231][11635:11640] CHIP:DMG: { + [1657449840.235259][11635:11640] CHIP:DMG: SubscriptionId = 0xaa467997, + [1657449840.235301][11635:11640] CHIP:DMG: MaxInterval = 0xf3c, + [1657449840.235331][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657449840.235356][11635:11640] CHIP:DMG: } + [1657449840.235485][11635:11640] CHIP:DMG: Subscription established with SubscriptionID = 0xaa467997 MinInterval = 100s MaxInterval = 3900s Peer = 01:0000000000000001 + [1657449840.235531][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008e30]: Moving to [Subscripti] + MaxInterval and MaxIntervalCeiling are different parameters. One is sent from the TH the other from DUT, verify MaxInterval >= MaxIntervalCeiling disabled: true - label: @@ -87,58 +81,51 @@ tests: the TH. TH sends a success status response to the DUT. DUT sends a Subscribe Response Message to the TH to activate the subscription." verification: | - ./chip-tool onoff subscribe on-off 100 2400(40 mins) 1 1 - - On TH - - [1654857529.975194][31755:31760] CHIP:DMG: ReportDataMessage = - [1654857529.975235][31755:31760] CHIP:DMG: { - [1654857529.975270][31755:31760] CHIP:DMG: SubscriptionId = 0xa864508e, - [1654857529.975307][31755:31760] CHIP:DMG: AttributeReportIBs = - [1654857529.975351][31755:31760] CHIP:DMG: [ - [1654857529.975387][31755:31760] CHIP:DMG: AttributeReportIB = - [1654857529.975438][31755:31760] CHIP:DMG: { - [1654857529.975479][31755:31760] CHIP:DMG: AttributeDataIB = - [1654857529.975523][31755:31760] CHIP:DMG: { - [1654857529.975571][31755:31760] CHIP:DMG: DataVersion = 0xa5d5880d, - [1654857529.975622][31755:31760] CHIP:DMG: AttributePathIB = - [1654857529.975675][31755:31760] CHIP:DMG: { - [1654857529.975725][31755:31760] CHIP:DMG: Endpoint = 0x1, - [1654857529.975777][31755:31760] CHIP:DMG: Cluster = 0x6, - [1654857529.975829][31755:31760] CHIP:DMG: Attribute = 0x0000_0000, - [1654857529.975875][31755:31760] CHIP:DMG: } - [1654857529.975926][31755:31760] CHIP:DMG: - [1654857529.975972][31755:31760] CHIP:DMG: Data = false, - [1654857529.976019][31755:31760] CHIP:DMG: }, - [1654857529.976064][31755:31760] CHIP:DMG: - [1654857529.976104][31755:31760] CHIP:DMG: }, - [1654857529.976148][31755:31760] CHIP:DMG: - [1654857529.976183][31755:31760] CHIP:DMG: ], - [1654857529.976226][31755:31760] CHIP:DMG: - [1654857529.976262][31755:31760] CHIP:DMG: InteractionModelRevision = 1 - [1654857529.976296][31755:31760] CHIP:DMG: } - [1654857529.976455][31755:31760] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 2782234637 - [1654857529.976519][31755:31760] CHIP:TOO: OnOff: FALSE - [1654857529.976588][31755:31760] CHIP:DMG: MoveToState ReadClient[0xffff740043e0]: Moving to [AwaitingSu] - - On TH - [1654857529.978138][31755:31760] CHIP:DMG: SubscribeResponseMessage = - [1654857529.978177][31755:31760] CHIP:DMG: { - [1654857529.978212][31755:31760] CHIP:DMG: SubscriptionId = 0xa864508e, - [1654857529.978250][31755:31760] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1654857529.978289][31755:31760] CHIP:DMG: MaxIntervalCeilingSeconds = 0x960, - [1654857529.978326][31755:31760] CHIP:DMG: InteractionModelRevision = 1 - [1654857529.978360][31755:31760] CHIP:DMG: } - [1654857529.978402][31755:31760] CHIP:DMG: Subscription established with SubscriptionID = 0xa864508e MinInterval = 100s MaxInterval = 2400s Peer = 01:0000000000000001 - - On DUT - [1654857529.980538][30333:30333] CHIP:DMG: StatusResponseMessage = - [1654857529.980583][30333:30333] CHIP:DMG: { - [1654857529.980611][30333:30333] CHIP:DMG: Status = 0x00 (SUCCESS), - [1654857529.980636][30333:30333] CHIP:DMG: InteractionModelRevision = 1 - [1654857529.980675][30333:30333] CHIP:DMG: } - [1654857529.980704][30333:30333] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1654857529.980755][30333:30333] CHIP:DMG: Refresh Subscribe Sync Timer with max 2400 seconds + The cluster used in the below command is an example, User can use any supported chip cluster. + basic subscribe location 10 2400 1 0 + On TH, verify that the report data message is received from DUT and check it contains all the data which mentioned in expected outcome + m RetransTable on exchange 33628i + [1657450022.756280][11635:11640] CHIP:DMG: ReportDataMessage = + [1657450022.756349][11635:11640] CHIP:DMG: { + [1657450022.756411][11635:11640] CHIP:DMG: SubscriptionId = 0x28f88a5d, + [1657450022.756475][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657450022.756552][11635:11640] CHIP:DMG: [ + [1657450022.756614][11635:11640] CHIP:DMG: AttributeReportIB = + [1657450022.756704][11635:11640] CHIP:DMG: { + [1657450022.756765][11635:11640] CHIP:DMG: AttributeDataIB = + [1657450022.756841][11635:11640] CHIP:DMG: { + [1657450022.756923][11635:11640] CHIP:DMG: DataVersion = 0x59b457fc, + [1657450022.757002][11635:11640] CHIP:DMG: AttributePathIB = + [1657450022.757083][11635:11640] CHIP:DMG: { + [1657450022.757168][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657450022.757257][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657450022.757337][11635:11640] CHIP:DMG: Attribute = 0x0000_0006, + [1657450022.757418][11635:11640] CHIP:DMG: } + [1657450022.757497][11635:11640] CHIP:DMG: + [1657450022.757584][11635:11640] CHIP:DMG: Data = "XX", + [1657450022.757654][11635:11640] CHIP:DMG: }, + [1657450022.757737][11635:11640] CHIP:DMG: + [1657450022.757800][11635:11640] CHIP:DMG: }, + [1657450022.757837][11635:11640] CHIP:DMG: + [1657450022.757867][11635:11640] CHIP:DMG: ], + [1657450022.757905][11635:11640] CHIP:DMG: + [1657450022.757937][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450022.757967][11635:11640] CHIP:DMG: } + [1657450022.758081][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 1504991228 + [1657450022.758127][11635:11640] CHIP:TOO: Location: XX + [1657450022.758172][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [AwaitingSu] + + + [1657450022.759670][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733045 from RetransTable on exchange 33628i + [1657450022.759741][11635:11640] CHIP:DMG: SubscribeResponseMessage = + [1657450022.759775][11635:11640] CHIP:DMG: { + [1657450022.759805][11635:11640] CHIP:DMG: SubscriptionId = 0x28f88a5d, + [1657450022.759839][11635:11640] CHIP:DMG: MaxInterval = 0x960, + [1657450022.759871][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450022.759900][11635:11640] CHIP:DMG: } + [1657450022.759933][11635:11640] CHIP:DMG: Subscription established with SubscriptionID = 0x28f88a5d MinInterval = 10s MaxInterval = 2400s Peer = 01:0000000000000001 + + MaxInterval and MaxIntervalCeiling are different parameters. One is sent from the TH the other from DUT, verify MaxInterval >= MaxIntervalCeiling disabled: true - label: @@ -148,7 +135,7 @@ tests: AttributePath = [[Attribute = Attribute, Cluster = ClusterID, Endpoint = EndpointID ]]." verification: | - Waiting For Test-Plan author for more input. Verification step upadte is in progress + https://github.com/CHIP-Specifications/chip-test-plans/issues/1700 disabled: true - label: @@ -157,42 +144,47 @@ tests: subscribe to all attributes for which it does not have access. AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]." verification: | - ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": 0006 , "endpoint": 1 , "deviceType": null}]}]' 1 0 - - - ./chip-tool onoff subscribe global-scene-control 100 3000 1 1 - - [1654861525.172925][32132:32137] CHIP:DMG: ReportDataMessage = - [1654861525.172966][32132:32137] CHIP:DMG: { - [1654861525.173002][32132:32137] CHIP:DMG: SubscriptionId = 0xa6e75c5a, - [1654861525.173047][32132:32137] CHIP:DMG: AttributeReportIBs = - [1654861525.173093][32132:32137] CHIP:DMG: [ - [1654861525.173130][32132:32137] CHIP:DMG: AttributeReportIB = - [1654861525.173178][32132:32137] CHIP:DMG: { - [1654861525.173216][32132:32137] CHIP:DMG: AttributeStatusIB = - [1654861525.173261][32132:32137] CHIP:DMG: { - [1654861525.173306][32132:32137] CHIP:DMG: AttributePathIB = - [1654861525.173359][32132:32137] CHIP:DMG: { - [1654861525.173413][32132:32137] CHIP:DMG: Endpoint = 0x1, - [1654861525.173467][32132:32137] CHIP:DMG: Cluster = 0x6, - [1654861525.173523][32132:32137] CHIP:DMG: Attribute = 0x0000_4000, - [1654861525.173572][32132:32137] CHIP:DMG: } - [1654861525.173627][32132:32137] CHIP:DMG: - [1654861525.173673][32132:32137] CHIP:DMG: StatusIB = - [1654861525.173726][32132:32137] CHIP:DMG: { - [1654861525.173776][32132:32137] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), - [1654861525.173824][32132:32137] CHIP:DMG: }, - [1654861525.173878][32132:32137] CHIP:DMG: - [1654861525.173922][32132:32137] CHIP:DMG: }, - [1654861525.173971][32132:32137] CHIP:DMG: - [1654861525.174011][32132:32137] CHIP:DMG: }, - [1654861525.174104][32132:32137] CHIP:DMG: - [1654861525.174139][32132:32137] CHIP:DMG: ], - [1654861525.174183][32132:32137] CHIP:DMG: - [1654861525.174218][32132:32137] CHIP:DMG: InteractionModelRevision = 1 - [1654861525.174252][32132:32137] CHIP:DMG: } - [1654861525.174390][32132:32137] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - [1654861525.174448][32132:32137] CHIP:DMG: MoveToState ReadClient[0xaaaac3e723c0]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + + To Setup the TH2 such that there is no accessing fabric, 1st we need to send below mentioned ACL command + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": 0006 , "endpoint": 1 , "deviceType": null}]}]' 1 0 + + The cluster used in the below command is an example, User can use any supported chip cluster. + any subscribe-by-id 0006 0 10 100 2 1 + + verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + [1657450420.472568][8713:8718] CHIP:DMG: ReportDataMessage = + [1657450420.472633][8713:8718] CHIP:DMG: { + [1657450420.472694][8713:8718] CHIP:DMG: SubscriptionId = 0xa70693c2, + [1657450420.472756][8713:8718] CHIP:DMG: AttributeReportIBs = + [1657450420.472830][8713:8718] CHIP:DMG: [ + [1657450420.472889][8713:8718] CHIP:DMG: AttributeReportIB = + [1657450420.472972][8713:8718] CHIP:DMG: { + [1657450420.473036][8713:8718] CHIP:DMG: AttributeStatusIB = + [1657450420.473110][8713:8718] CHIP:DMG: { + [1657450420.473185][8713:8718] CHIP:DMG: AttributePathIB = + [1657450420.473267][8713:8718] CHIP:DMG: { + [1657450420.473350][8713:8718] CHIP:DMG: Endpoint = 0x1, + [1657450420.473437][8713:8718] CHIP:DMG: Cluster = 0x6, + [1657450420.473522][8713:8718] CHIP:DMG: Attribute = 0x0000_0000, + [1657450420.473603][8713:8718] CHIP:DMG: } + [1657450420.473658][8713:8718] CHIP:DMG: + [1657450420.473694][8713:8718] CHIP:DMG: StatusIB = + [1657450420.473785][8713:8718] CHIP:DMG: { + [1657450420.473823][8713:8718] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), + [1657450420.473857][8713:8718] CHIP:DMG: }, + [1657450420.473895][8713:8718] CHIP:DMG: + [1657450420.473927][8713:8718] CHIP:DMG: }, + [1657450420.473962][8713:8718] CHIP:DMG: + [1657450420.473991][8713:8718] CHIP:DMG: }, + [1657450420.474022][8713:8718] CHIP:DMG: + [1657450420.474046][8713:8718] CHIP:DMG: ], + [1657450420.474078][8713:8718] CHIP:DMG: + [1657450420.474103][8713:8718] CHIP:DMG: InteractionModelRevision = 1 + [1657450420.474128][8713:8718] CHIP:DMG: } + [1657450420.474229][8713:8718] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1657450420.474271][8713:8718] CHIP:DMG: MoveToState ReadClient[0xffffa4008e40]: Moving to [AwaitingSu] disabled: true - label: @@ -201,10 +193,13 @@ tests: on a specific Endpoint for which it does not have access. AttributePath = [[ Endpoint = EndpointID ]]." verification: | - sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": null , "endpoint": 1 , "deviceType": null}]}]' 1 0 + In case of chip tool, here is an example command to use + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 1, "authMode": 3, "subjects": null, "targets": [{"cluster": null , "endpoint": 1 , "deviceType": null}]}]' 1 0 sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 100 1000 1 1 + verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command [1654862486.785468][32309:32314] CHIP:DMG: ReportDataMessage = [1654862486.785508][32309:32314] CHIP:DMG: { @@ -255,33 +250,64 @@ tests: subscription for that attribute. Start another subscription with the DataVersionFilter field set to the data version received above." verification: | - ./chip-tool onoff subscribe start-up-on-off 50 800 1 1 - [1655893106.834876][1656:1661] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 633563796 - [1655893106.834928][1656:1661] CHIP:TOO: StartUpOnOff: null - [1655893106.834980][1656:1661] CHIP:DMG: MoveToState ReadClient[0xffff90003ab0]: Moving to [AwaitingSu] - - ./chip-tool onoff subscribe start-up-on-off 50 800 1 1 --data-version 0x25c36a94 - [1655893181.169225][1664:1669] CHIP:EM: Removed CHIP MessageCounter:96233214 from RetransTable on exchange 43726i - [1655893181.169289][1664:1669] CHIP:DMG: ReportDataMessage = - [1655893181.169344][1664:1669] CHIP:DMG: { - [1655893181.169381][1664:1669] CHIP:DMG: SubscriptionId = 0xde0c12dc, - [1655893181.169432][1664:1669] CHIP:DMG: InteractionModelRevision = 1 - [1655893181.169468][1664:1669] CHIP:DMG: } - [1655893181.169533][1664:1669] CHIP:DMG: MoveToState ReadClient[0xffff98002df0]: Moving to [AwaitingSu] - [1655893181.169610][1664:1669] CHIP:EM: Piggybacking Ack for MessageCounter:253027362 on exchange: 43726i - [1655893181.169684][1664:1669] CHIP:IN: Prepared secure message 0xaaaaeeb6fb78 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 43726i with MessageCounter:96233215. - [1655893181.169734][1664:1669] CHIP:IN: Sending encrypted msg 0xaaaaeeb6fb78 with MessageCounter:96233215 to 0x0000000000000001 (1) at monotonic time: 000000000038773B msec - [1655893181.171142][1664:1669] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:253027363 on exchange 43726i - [1655893181.171186][1664:1669] CHIP:EM: Found matching exchange: 43726i, Delegate: 0xffff98002df0 - [1655893181.171230][1664:1669] CHIP:EM: Rxd Ack; Removing MessageCounter:96233215 from Retrans Table on exchange 43726i - [1655893181.171265][1664:1669] CHIP:EM: Removed CHIP MessageCounter:96233215 from RetransTable on exchange 43726i - [1655893181.171321][1664:1669] CHIP:DMG: SubscribeResponseMessage = - [1655893181.171359][1664:1669] CHIP:DMG: { - [1655893181.171395][1664:1669] CHIP:DMG: SubscriptionId = 0xde0c12dc, - [1655893181.171436][1664:1669] CHIP:DMG: MaxInterval = 0x320, - [1655893181.171473][1664:1669] CHIP:DMG: InteractionModelRevision = 1 - [1655893181.171507][1664:1669] CHIP:DMG: } - [1655893181.171545][1664:1669] CHIP:DMG: Subscription established with SubscriptionID = 0xde0c12dc MinInterval = 0s MaxInterval = 800s Peer = 01:0000000000000001 + The cluster used in the below command is an example, User can use any supported chip cluster. + + onoff subscribe start-up-on-off 50 800 1 1 + + On reference app verify subscription is activated between TH and DUT + + [1657450742.453824][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733047 from RetransTable on exchange 33629i + [1657450742.453885][11635:11640] CHIP:DMG: ReportDataMessage = + [1657450742.453915][11635:11640] CHIP:DMG: { + [1657450742.453940][11635:11640] CHIP:DMG: SubscriptionId = 0x6e65b0f2, + [1657450742.453966][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657450742.453997][11635:11640] CHIP:DMG: [ + [1657450742.454023][11635:11640] CHIP:DMG: AttributeReportIB = + [1657450742.454074][11635:11640] CHIP:DMG: { + [1657450742.454103][11635:11640] CHIP:DMG: AttributeDataIB = + [1657450742.454135][11635:11640] CHIP:DMG: { + [1657450742.454166][11635:11640] CHIP:DMG: DataVersion = 0x1979c37, + [1657450742.454195][11635:11640] CHIP:DMG: AttributePathIB = + [1657450742.454226][11635:11640] CHIP:DMG: { + [1657450742.454258][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657450742.454292][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657450742.454325][11635:11640] CHIP:DMG: Attribute = 0x0000_4003, + [1657450742.454356][11635:11640] CHIP:DMG: } + [1657450742.454389][11635:11640] CHIP:DMG: + [1657450742.454421][11635:11640] CHIP:DMG: Data = NULL[1657450742.454449][11635:11640] CHIP:DMG: }, + [1657450742.454480][11635:11640] CHIP:DMG: + [1657450742.454506][11635:11640] CHIP:DMG: }, + [1657450742.454536][11635:11640] CHIP:DMG: + [1657450742.454561][11635:11640] CHIP:DMG: ], + [1657450742.454591][11635:11640] CHIP:DMG: + [1657450742.454616][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450742.454639][11635:11640] CHIP:DMG: } + [1657450742.454732][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 26713143 + [1657450742.454768][11635:11640] CHIP:TOO: StartUpOnOff: null + [1657450742.454805][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940092b0]: Moving to [AwaitingSu] + + onoff subscribe start-up-on-off 50 800 1 1 --data-version 0x1979c37 + [1657450845.854472][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733050 from RetransTable on exchange 33630i + [1657450845.854526][11635:11640] CHIP:DMG: ReportDataMessage = + [1657450845.854555][11635:11640] CHIP:DMG: { + [1657450845.854581][11635:11640] CHIP:DMG: SubscriptionId = 0x6139c55e, + [1657450845.854607][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450845.854631][11635:11640] CHIP:DMG: } + [1657450845.854675][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94002cb0]: Moving to [AwaitingSu] + [1657450845.854728][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11055899 on exchange: 33630i + [1657450845.854786][11635:11640] CHIP:IN: Prepared secure message 0xffff94002458 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 33630i with MessageCounter:190733051. + [1657450845.854822][11635:11640] CHIP:IN: Sending encrypted msg 0xffff94002458 with MessageCounter:190733051 to 0x0000000000000001 (1) at monotonic time: 0000000000B04EDB msec + [1657450845.855783][11635:11640] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:11055900 on exchange 33630i + [1657450845.855818][11635:11640] CHIP:EM: Found matching exchange: 33630i, Delegate: 0xffff94002cb0 + [1657450845.855856][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733051 from Retrans Table on exchange 33630i + [1657450845.855876][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733051 from RetransTable on exchange 33630i + [1657450845.855921][11635:11640] CHIP:DMG: SubscribeResponseMessage = + [1657450845.855943][11635:11640] CHIP:DMG: { + [1657450845.855963][11635:11640] CHIP:DMG: SubscriptionId = 0x6139c55e, + [1657450845.855985][11635:11640] CHIP:DMG: MaxInterval = 0x320, + [1657450845.856006][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450845.856026][11635:11640] CHIP:DMG: } + [1657450845.856050][11635:11640] CHIP:DMG: Subscription established with SubscriptionID = 0x6139c55e MinInterval = 50s MaxInterval = 800s Peer = 01:0000000000000001 disabled: true - label: @@ -290,68 +316,62 @@ tests: Subscription between TH and DUT. Modify the attribute which has been subscribed to on the DUT." verification: | - sudo ./chip-tool onoff subscribe on-time 1000 1000 1 1 - - [1654863095.346014][32361:32366] CHIP:DMG: ReportDataMessage = - [1654863095.346058][32361:32366] CHIP:DMG: { - [1654863095.346097][32361:32366] CHIP:DMG: SubscriptionId = 0xf997645f, - [1654863095.346139][32361:32366] CHIP:DMG: AttributeReportIBs = - [1654863095.346188][32361:32366] CHIP:DMG: [ - [1654863095.346228][32361:32366] CHIP:DMG: AttributeReportIB = - [1654863095.346283][32361:32366] CHIP:DMG: { - [1654863095.346325][32361:32366] CHIP:DMG: AttributeDataIB = - [1654863095.346374][32361:32366] CHIP:DMG: { - [1654863095.346427][32361:32366] CHIP:DMG: DataVersion = 0xd04998fc, - [1654863095.346479][32361:32366] CHIP:DMG: AttributePathIB = - [1654863095.346532][32361:32366] CHIP:DMG: { - [1654863095.346585][32361:32366] CHIP:DMG: Endpoint = 0x1, - [1654863095.346643][32361:32366] CHIP:DMG: Cluster = 0x6, - [1654863095.346704][32361:32366] CHIP:DMG: Attribute = 0x0000_4001, - [1654863095.346762][32361:32366] CHIP:DMG: } - [1654863095.346823][32361:32366] CHIP:DMG: - [1654863095.346879][32361:32366] CHIP:DMG: Data = 0, - [1654863095.346934][32361:32366] CHIP:DMG: }, - [1654863095.346987][32361:32366] CHIP:DMG: - [1654863095.347031][32361:32366] CHIP:DMG: }, - [1654863095.347079][32361:32366] CHIP:DMG: - [1654863095.347118][32361:32366] CHIP:DMG: ], - [1654863095.347166][32361:32366] CHIP:DMG: - [1654863095.347205][32361:32366] CHIP:DMG: InteractionModelRevision = 1 - [1654863095.347253][32361:32366] CHIP:DMG: } - [1654863095.347435][32361:32366] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3494484220 - [1654863095.347516][32361:32366] CHIP:TOO: OnTime: 0 - [1654863095.347596][32361:32366] CHIP:DMG: MoveToState ReadClient[0xffff8c003930]: Moving to [AwaitingSu] - [1654863095.347667][32361:32366] CHIP:EM: Piggybacking Ack for MessageCounter:217687078 on exchange: 442i - [1654863095.347751][32361:32366] CHIP:IN: Prepared secure message 0xaaaae7496898 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 442i with MessageCounter:55557971. - [1654863095.347808][32361:32366] CHIP:IN: Sending encrypted msg 0xaaaae7496898 with MessageCounter:55557971 to 0x0000000000000001 (1) at monotonic time: 0000000001B28272 msec - [1654863095.348810][32361:32366] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:217687079 on exchange 442i - [1654863095.348910][32361:32366] CHIP:EM: Found matching exchange: 442i, Delegate: 0xffff8c003930 - [1654863095.348965][32361:32366] CHIP:EM: Rxd Ack; Removing MessageCounter:55557971 from Retrans Table on exchange 442i - [1654863095.349005][32361:32366] CHIP:EM: Removed CHIP MessageCounter:55557971 from RetransTable on exchange 442i - [1654863095.349069][32361:32366] CHIP:DMG: SubscribeResponseMessage = - [1654863095.349112][32361:32366] CHIP:DMG: { - [1654863095.349150][32361:32366] CHIP:DMG: SubscriptionId = 0xf997645f, - [1654863095.349193][32361:32366] CHIP:DMG: MinIntervalFloorSeconds = 0x3e8, - [1654863095.349235][32361:32366] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1654863095.349275][32361:32366] CHIP:DMG: InteractionModelRevision = 1 - [1654863095.349313][32361:32366] CHIP:DMG: } - [1654863095.349358][32361:32366] CHIP:DMG: Subscription established with SubscriptionID = 0xf997645f MinInterval = 1000s MaxInterval = 1000s Peer = 01:0000000000000001 + The cluster used in the below command is an example, User can use any supported chip cluster. + + + onoff subscribe on-time 100 100 1 1 + + On TH verify that the DUT sends a report data with the value of the attribute after the MinIntervalFloor time. + + [1657450934.856825][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733053 from RetransTable on exchange 33631i + [1657450934.856955][11635:11640] CHIP:DMG: ReportDataMessage = + [1657450934.857025][11635:11640] CHIP:DMG: { + [1657450934.857088][11635:11640] CHIP:DMG: SubscriptionId = 0x4b34909f, + [1657450934.857152][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657450934.857262][11635:11640] CHIP:DMG: [ + [1657450934.857326][11635:11640] CHIP:DMG: AttributeReportIB = + [1657450934.857409][11635:11640] CHIP:DMG: { + [1657450934.857475][11635:11640] CHIP:DMG: AttributeDataIB = + [1657450934.857553][11635:11640] CHIP:DMG: { + [1657450934.857633][11635:11640] CHIP:DMG: DataVersion = 0x1979c37, + [1657450934.857719][11635:11640] CHIP:DMG: AttributePathIB = + [1657450934.857801][11635:11640] CHIP:DMG: { + [1657450934.857885][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657450934.857974][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657450934.858061][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657450934.858142][11635:11640] CHIP:DMG: } + [1657450934.858228][11635:11640] CHIP:DMG: + [1657450934.858314][11635:11640] CHIP:DMG: Data = 0, + [1657450934.858391][11635:11640] CHIP:DMG: }, + [1657450934.858471][11635:11640] CHIP:DMG: + [1657450934.858539][11635:11640] CHIP:DMG: }, + [1657450934.858612][11635:11640] CHIP:DMG: + [1657450934.858672][11635:11640] CHIP:DMG: ], + [1657450934.858747][11635:11640] CHIP:DMG: + [1657450934.858808][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657450934.858866][11635:11640] CHIP:DMG: } + [1657450934.859074][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713143 + [1657450934.859155][11635:11640] CHIP:TOO: OnTime: 0 + [1657450934.859242][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940027a0]: Moving to [AwaitingSu] disabled: true - label: "TH sends a subscription request action for an attribute and set the MinIntervalFloor value to be greater than MaxIntervalCeiling." verification: | - sudo ./chip-tool thermostatuserinterfaceconfiguration subscribe temperature-display-mode 10000 1000 1 1 - - [1654863279.009335][32383:32388] CHIP:DMG: StatusResponseMessage = - [1654863279.009366][32383:32388] CHIP:DMG: { - [1654863279.009402][32383:32388] CHIP:DMG: Status = 0x01 (FAILURE), - [1654863279.009430][32383:32388] CHIP:DMG: InteractionModelRevision = 1 - [1654863279.009455][32383:32388] CHIP:DMG: } - [1654863279.009491][32383:32388] CHIP:IM: Received status response, status is 0x01 (FAILURE) - [1654863279.009531][32383:32388] CHIP:DMG: mResubscribePolicy is null - [1654863279.009562][32383:32388] CHIP:TOO: Error: IM Error 0x00000501: General error: 0x01 (FAILURE) + The cluster used in the below command is an example, User can use any supported chip cluster. + + onoff subscribe on-time 500 100 1 1 + + On TH Verify that the DUT sends an error message + [1657451028.957761][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733056 from RetransTable on exchange 33632i + [1657451028.957867][11635:11640] CHIP:DMG: StatusResponseMessage = + [1657451028.957963][11635:11640] CHIP:DMG: { + [1657451028.958028][11635:11640] CHIP:DMG: Status = 0x01 (FAILURE), + [1657451028.958094][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451028.958175][11635:11640] CHIP:DMG: } + [1657451028.958236][11635:11640] CHIP:IM: Received status response, status is 0x01 (FAILURE) + [1657451028.958324][11635:11640] CHIP:DMG: mResubscribePolicy is null disabled: true - label: @@ -359,87 +379,11 @@ tests: attribute from all clusters on all endpoints. AttributePath = [[Attribute = Global Attribute]]." verification: | - ./chip-tool any subscribe-by-id 0xFFFFFFFF 0xFFFD 100 3000 1 0xFFFF - - On TH - [1654861121.030130][32056:32061] CHIP:DMG: } - [1654861121.030506][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3406594092 - [1654861121.030569][32056:32061] CHIP:TOO: ClusterRevision: 4 - [1654861121.030645][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 3358395504 - [1654861121.030674][32056:32061] CHIP:TOO: ClusterRevision: 4 - [1654861121.030731][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2524692657 - [1654861121.030759][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.030818][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 2114277929 - [1654861121.030844][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.030900][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 1201578663 - [1654861121.030926][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.030984][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 603244031 - [1654861121.031010][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031068][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 3260175415 - [1654861121.031094][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031151][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 1378010832 - [1654861121.031177][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031234][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 735753169 - [1654861121.031260][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031318][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 133073363 - [1654861121.031345][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031404][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2546622543 - [1654861121.031430][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031488][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 1196456117 - [1654861121.031514][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031571][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3349909256 - [1654861121.031598][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031655][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 2677005569 - [1654861121.031682][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031740][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2067618566 - [1654861121.031766][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031822][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 1750034609 - [1654861121.031848][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031904][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3978148055 - [1654861121.031930][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.031987][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 2069559166 - [1654861121.032014][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032069][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 3544740596 - [1654861121.032095][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032153][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2752916415 - [1654861121.032179][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032237][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 3382864871 - [1654861121.032263][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032319][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 3443556887 - [1654861121.032345][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032402][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 711998061 - [1654861121.032428][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032486][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 2915612646 - [1654861121.032512][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032569][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 3438672091 - [1654861121.032595][32056:32061] CHIP:TOO: ClusterRevision: 1 - [1654861121.032652][32056:32061] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 4050877341 - [1654861121.032679][32056:32061] CHIP:TOO: ClusterRevision: 3 - [1654861121.032799][32056:32061] CHIP:DMG: MoveToState ReadClient[0xffff700043f0]: Moving to [AwaitingSu] - [1654861121.032871][32056:32061] CHIP:EM: Piggybacking Ack for MessageCounter:214965053 on exchange: 37414i - [1654861121.032943][32056:32061] CHIP:IN: Prepared secure message 0xaaaaebed8a18 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 37414i with MessageCounter:46830028. - [1654861121.032981][32056:32061] CHIP:IN: Sending encrypted msg 0xaaaaebed8a18 with MessageCounter:46830028 to 0x0000000000000001 (1) at monotonic time: 0000000001946248 msec - [1654861121.034927][32056:32061] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:214965054 on exchange 37414i - [1654861121.034961][32056:32061] CHIP:EM: Found matching exchange: 37414i, Delegate: 0xffff700043f0 - [1654861121.034994][32056:32061] CHIP:EM: Rxd Ack; Removing MessageCounter:46830028 from Retrans Table on exchange 37414i - [1654861121.035017][32056:32061] CHIP:EM: Removed CHIP MessageCounter:46830028 from RetransTable on exchange 37414i - [1654861121.035064][32056:32061] CHIP:DMG: SubscribeResponseMessage = - [1654861121.035090][32056:32061] CHIP:DMG: { - [1654861121.035114][32056:32061] CHIP:DMG: SubscriptionId = 0xfe55fb2c, - [1654861121.035140][32056:32061] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1654861121.035166][32056:32061] CHIP:DMG: MaxIntervalCeilingSeconds = 0xbb8, - [1654861121.035191][32056:32061] CHIP:DMG: InteractionModelRevision = 1 - [1654861121.035213][32056:32061] CHIP:DMG: } - [1654861121.035243][32056:32061] CHIP:DMG: Subscription established with SubscriptionID = 0xfe55fb2c MinInterval = 100s MaxInterval = 3000s Peer = 01:0000000000000001 - - - On DUT - [1654861120.996639][30456:30456] CHIP:DMG: StatusResponseMessage = - [1654861120.996731][30456:30456] CHIP:DMG: { - [1654861120.996793][30456:30456] CHIP:DMG: Status = 0x00 (SUCCESS), - [1654861120.996877][30456:30456] CHIP:DMG: InteractionModelRevision = 1 - [1654861120.996937][30456:30456] CHIP:DMG: } - [1654861120.996996][30456:30456] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + The cluster used in the below command is an example, User can use any supported chip cluster. + + any subscribe-by-id 0xFFFFFFFF 0xFFFD 10 300 1 0xFFFF + + On TH Verify that the Subscription succeeds and the DUT sends back the attribute values for the global attribute disabled: true - label: @@ -447,70 +391,79 @@ tests: an endpoint on all clusters. AttributePath = [[Attribute = Global Attribute, Endpoint = EndpointID ]]." verification: | - ./chip-tool any subscribe-by-id 0xFFFFFFFF 0xFFFD 100 3000 1 0 - [1654861262.973822][32064:32069] CHIP:DMG: } - [1654861262.974200][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 3406594092 - [1654861262.974261][32064:32069] CHIP:TOO: ClusterRevision: 4 - [1654861262.974337][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 3358395504 - [1654861262.974365][32064:32069] CHIP:TOO: ClusterRevision: 4 - [1654861262.974424][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2524692657 - [1654861262.974451][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974510][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 2114277929 - [1654861262.974537][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974596][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 1201578663 - [1654861262.974623][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974681][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 603244031 - [1654861262.974707][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974765][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 3260175415 - [1654861262.974792][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974850][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 1378010832 - [1654861262.974876][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.974934][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 735753169 - [1654861262.974960][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975018][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 133073363 - [1654861262.975044][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975102][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 2546622543 - [1654861262.975128][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975185][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 1196456117 - [1654861262.975211][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975267][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 3349909256 - [1654861262.975294][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975352][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 2677005569 - [1654861262.975378][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975436][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2067618566 - [1654861262.975462][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975520][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 1750034609 - [1654861262.975546][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975603][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3978148055 - [1654861262.975629][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975687][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 2069559166 - [1654861262.975713][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975772][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 3544740596 - [1654861262.975798][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975857][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2752916415 - [1654861262.975883][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.975941][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 3382864871 - [1654861262.975967][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.976024][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 3443556887 - [1654861262.976050][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.976107][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 711998061 - [1654861262.976133][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.976190][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 2915612646 - [1654861262.976216][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.976275][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 3438672091 - [1654861262.976327][32064:32069] CHIP:TOO: ClusterRevision: 1 - [1654861262.976388][32064:32069] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 4050877341 - [1654861262.976415][32064:32069] CHIP:TOO: ClusterRevision: 3 - [1654861262.976539][32064:32069] CHIP:DMG: MoveToState ReadClient[0xffff70004450]: Moving to [AwaitingSu] - - - On DUT - [1654861262.940227][30456:30456] CHIP:EM: Removed CHIP MessageCounter:38525227 from RetransTable on exchange 4217r - [1654861262.940335][30456:30456] CHIP:DMG: StatusResponseMessage = - [1654861262.940426][30456:30456] CHIP:DMG: { - [1654861262.940487][30456:30456] CHIP:DMG: Status = 0x00 (SUCCESS), - [1654861262.940570][30456:30456] CHIP:DMG: InteractionModelRevision = 1 - [1654861262.940629][30456:30456] CHIP:DMG: } - [1654861262.940688][30456:30456] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1654861262.940795][30456:30456] CHIP:DMG: Refresh Subscribe Sync Timer with max 3000 seconds + The cluster used in the below command is an example, User can use any supported chip cluster. + + any subscribe-by-id 0xFFFFFFFF 0xFFFD 10 300 1 0 + + On TH Verify that the Subscription succeeds and the DUT sends back the attribute values for the global attribute + + [1657451191.595630][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451191.595654][11635:11640] CHIP:DMG: } + [1657451191.596003][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 1247215770 + [1657451191.596042][11635:11640] CHIP:TOO: ClusterRevision: 4 + [1657451191.596102][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 3391062846 + [1657451191.596129][11635:11640] CHIP:TOO: ClusterRevision: 4 + [1657451191.596187][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 4071202320 + [1657451191.596214][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596271][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 2618211726 + [1657451191.596299][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596356][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 2563208108 + [1657451191.596382][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596439][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 1504991228 + [1657451191.596466][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596523][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 3503114671 + [1657451191.596550][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596607][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 655424947 + [1657451191.596634][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596691][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 2421456926 + [1657451191.596717][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596774][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 3528791487 + [1657451191.596800][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596857][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFD DataVersion: 968449410 + [1657451191.596883][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.596940][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 2811758882 + [1657451191.596967][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597023][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 1035240738 + [1657451191.597050][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597107][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 1760092942 + [1657451191.597133][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597191][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 2220680799 + [1657451191.597217][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597275][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 3326056069 + [1657451191.597301][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597360][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3433535141 + [1657451191.597386][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597443][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 3003261549 + [1657451191.597470][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597526][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 3106710214 + [1657451191.597553][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597610][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 3053018824 + [1657451191.597637][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597694][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 1257168122 + [1657451191.597721][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597777][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 2262465581 + [1657451191.597804][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597861][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 901334231 + [1657451191.597888][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.597945][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 4191161303 + [1657451191.597972][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.598030][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 2358987419 + [1657451191.598057][11635:11640] CHIP:TOO: ClusterRevision: 1 + [1657451191.598114][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 2403664035 + [1657451191.598141][11635:11640] CHIP:TOO: ClusterRevision: 3 + [1657451191.598261][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94006d20]: Moving to [AwaitingSu] + [1657451191.598325][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11055908 on exchange: 33634i + [1657451191.598398][11635:11640] CHIP:IN: Prepared secure message 0xffff940026a8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 33634i with MessageCounter:190733064. + [1657451191.598437][11635:11640] CHIP:IN: Sending encrypted msg 0xffff940026a8 with MessageCounter:190733064 to 0x0000000000000001 (1) at monotonic time: 0000000000B5956B msec + [1657451191.599445][11635:11640] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:11055909 on exchange 33634i + [1657451191.599480][11635:11640] CHIP:EM: Found matching exchange: 33634i, Delegate: 0xffff94006d20 + [1657451191.599517][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733064 from Retrans Table on exchange 33634i + [1657451191.599544][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733064 from RetransTable on exchange 33634i + [1657451191.599595][11635:11640] CHIP:DMG: SubscribeResponseMessage = + [1657451191.599623][11635:11640] CHIP:DMG: { + [1657451191.599647][11635:11640] CHIP:DMG: SubscriptionId = 0x22d38d78, + [1657451191.599674][11635:11640] CHIP:DMG: MaxInterval = 0x12c, + [1657451191.599700][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451191.599723][11635:11640] CHIP:DMG: } + [1657451191.599751][11635:11640] CHIP:DMG: Subscription established with SubscriptionID = 0x22d38d78 MinInterval = 10s MaxInterval = 300s Peer = 01:0000000000000001 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml index 922dd6faf9cabc..c7fb9ebb5391c7 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_3.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 21.4.3. [TC-IDM-4.3] Report Data Messages post Subscription Activation from + 3.4.3. [TC-IDM-4.3] Report Data Messages post Subscription Activation from DUT Test Cases. [{DUT_Server}] config: @@ -37,96 +37,127 @@ tests: attribute which has been subscribed on the DUT by sending an IMWrite or Invoke message to the DUT from the TH." verification: | - ./chip-tool onoff subscribe start-up-on-off 50 800 1 1 - [1655893620.555858][1705:1710] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 633563797 - [1655893620.555948][1705:1710] CHIP:TOO: StartUpOnOff: 2 - [1655893620.556004][1705:1710] CHIP:DMG: MoveToState ReadClient[0xffff84003860]: Moving to [AwaitingSu] - [1655893620.556072][1705:1710] CHIP:EM: Piggybacking Ack for MessageCounter:100672538 on exchange: 53893i - - - ./chip-tool onoff write start-up-on-off 1 1 1 - [1655893744.405633][1725:1730] CHIP:DMG: StatusIB = - [1655893744.405681][1725:1730] CHIP:DMG: { - [1655893744.405745][1725:1730] CHIP:DMG: status = 0x00 (SUCCESS), - [1655893744.405804][1725:1730] CHIP:DMG: }, - - ./chip-tool onoff subscribe start-up-on-off 50 800 1 1 - [1655893813.969626][1731:1736] CHIP:EM: Removed CHIP MessageCounter:250929411 from RetransTable on exchange 43399i - [1655893813.969697][1731:1736] CHIP:DMG: ReportDataMessage = - [1655893813.969729][1731:1736] CHIP:DMG: { - [1655893813.969769][1731:1736] CHIP:DMG: SubscriptionId = 0xe0a0bb02, - [1655893813.969798][1731:1736] CHIP:DMG: AttributeReportIBs = - [1655893813.969833][1731:1736] CHIP:DMG: [ - [1655893813.969906][1731:1736] CHIP:DMG: AttributeReportIB = - [1655893813.969994][1731:1736] CHIP:DMG: { - [1655893813.970035][1731:1736] CHIP:DMG: AttributeDataIB = - [1655893813.970071][1731:1736] CHIP:DMG: { - [1655893813.970107][1731:1736] CHIP:DMG: DataVersion = 0x25c36a97, - [1655893813.970154][1731:1736] CHIP:DMG: AttributePathIB = - [1655893813.970203][1731:1736] CHIP:DMG: { - [1655893813.970242][1731:1736] CHIP:DMG: Endpoint = 0x1, - [1655893813.970292][1731:1736] CHIP:DMG: Cluster = 0x6, - [1655893813.970341][1731:1736] CHIP:DMG: Attribute = 0x0000_4003, - [1655893813.970379][1731:1736] CHIP:DMG: } - [1655893813.970429][1731:1736] CHIP:DMG: - [1655893813.970476][1731:1736] CHIP:DMG: Data = 1, - [1655893813.970511][1731:1736] CHIP:DMG: }, - [1655893813.970558][1731:1736] CHIP:DMG: - [1655893813.970587][1731:1736] CHIP:DMG: }, - [1655893813.970632][1731:1736] CHIP:DMG: - [1655893813.970668][1731:1736] CHIP:DMG: ], - [1655893813.970704][1731:1736] CHIP:DMG: - [1655893813.970731][1731:1736] CHIP:DMG: InteractionModelRevision = 1 - [1655893813.970769][1731:1736] CHIP:DMG: } - [1655893813.970926][1731:1736] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 633563799 - [1655893813.971011][1731:1736] CHIP:TOO: StartUpOnOff: 1 - [1655893813.971056][1731:1736] CHIP:DMG: MoveToState ReadClient[0xffffa8002df0]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + onoff subscribe start-up-on-off 30 100 1 1 + Verify on TH , DUT is responds right attribute value for above command + + [1657451357.177831][11635:11640] CHIP:DMG: { + [1657451357.177894][11635:11640] CHIP:DMG: SubscriptionId = 0xf3aa49ef, + [1657451357.177958][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657451357.178035][11635:11640] CHIP:DMG: [ + [1657451357.178098][11635:11640] CHIP:DMG: AttributeReportIB = + [1657451357.178178][11635:11640] CHIP:DMG: { + [1657451357.178243][11635:11640] CHIP:DMG: AttributeDataIB = + [1657451357.178318][11635:11640] CHIP:DMG: { + [1657451357.178395][11635:11640] CHIP:DMG: DataVersion = 0x1979c37, + [1657451357.178476][11635:11640] CHIP:DMG: AttributePathIB = + [1657451357.178556][11635:11640] CHIP:DMG: { + [1657451357.178640][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657451357.178728][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657451357.178822][11635:11640] CHIP:DMG: Attribute = 0x0000_4003, + [1657451357.178903][11635:11640] CHIP:DMG: } + [1657451357.178981][11635:11640] CHIP:DMG: + [1657451357.179072][11635:11640] CHIP:DMG: Data = NULL + [1657451357.179150][11635:11640] CHIP:DMG: }, + [1657451357.179231][11635:11640] CHIP:DMG: + [1657451357.179299][11635:11640] CHIP:DMG: }, + [1657451357.179374][11635:11640] CHIP:DMG: + [1657451357.179478][11635:11640] CHIP:DMG: ], + [1657451357.179568][11635:11640] CHIP:DMG: + [1657451357.179630][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451357.179690][11635:11640] CHIP:DMG: } + [1657451357.179899][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 26713143 + [1657451357.179982][11635:11640] CHIP:TOO: StartUpOnOff: null + [1657451357.180072][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940047c0]: Moving to [AwaitingSu] + + + + here is an example command the TH can write an attribute in the onoff cluster in the DUT to change the value that the TH subscribed in the above command. + onoff write start-up-on-off 1 1 1 + + [1657451396.125523][11635:11640] CHIP:EM: Handling via exchange: 8524r, Delegate: 0xaaaacf201a78 + [1657451396.125610][11635:11640] CHIP:DMG: ReportDataMessage = + [1657451396.125641][11635:11640] CHIP:DMG: { + [1657451396.125669][11635:11640] CHIP:DMG: SubscriptionId = 0xf3aa49ef, + [1657451396.125697][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657451396.125732][11635:11640] CHIP:DMG: [ + [1657451396.125760][11635:11640] CHIP:DMG: AttributeReportIB = + [1657451396.125797][11635:11640] CHIP:DMG: { + [1657451396.125827][11635:11640] CHIP:DMG: AttributeDataIB = + [1657451396.125864][11635:11640] CHIP:DMG: { + [1657451396.125901][11635:11640] CHIP:DMG: DataVersion = 0x1979c38, + [1657451396.125939][11635:11640] CHIP:DMG: AttributePathIB = + [1657451396.125976][11635:11640] CHIP:DMG: { + [1657451396.126015][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657451396.126056][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657451396.126097][11635:11640] CHIP:DMG: Attribute = 0x0000_4003, + [1657451396.126135][11635:11640] CHIP:DMG: } + [1657451396.126175][11635:11640] CHIP:DMG: + [1657451396.126215][11635:11640] CHIP:DMG: Data = 1, + [1657451396.126251][11635:11640] CHIP:DMG: }, + [1657451396.126289][11635:11640] CHIP:DMG: + [1657451396.126320][11635:11640] CHIP:DMG: }, + [1657451396.126357][11635:11640] CHIP:DMG: + [1657451396.126384][11635:11640] CHIP:DMG: ], + [1657451396.126418][11635:11640] CHIP:DMG: + [1657451396.126447][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451396.126474][11635:11640] CHIP:DMG: } + [1657451396.126574][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 26713144 + [1657451396.126619][11635:11640] CHIP:TOO: StartUpOnOff: 1 + [1657451396.126668][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xf3aa49ef Peer = 01:0000000000000001 disabled: true - label: "DUT and TH activate the subscription for an attribute. Dont change the value of the attribute which has been subscribed." verification: | - ./chip-tool onoff subscribe on-off 90 900 1 1 - [1655894000.461474][1739:1744] CHIP:DMG: ReportDataMessage = - [1655894000.461513][1739:1744] CHIP:DMG: { - [1655894000.461548][1739:1744] CHIP:DMG: SubscriptionId = 0x61799d12, - [1655894000.461589][1739:1744] CHIP:DMG: AttributeReportIBs = - [1655894000.461634][1739:1744] CHIP:DMG: [ - [1655894000.461670][1739:1744] CHIP:DMG: AttributeReportIB = - [1655894000.461717][1739:1744] CHIP:DMG: { - [1655894000.461755][1739:1744] CHIP:DMG: AttributeDataIB = - [1655894000.461796][1739:1744] CHIP:DMG: { - [1655894000.461842][1739:1744] CHIP:DMG: DataVersion = 0x25c36a97, - [1655894000.461893][1739:1744] CHIP:DMG: AttributePathIB = - [1655894000.461968][1739:1744] CHIP:DMG: { - [1655894000.462021][1739:1744] CHIP:DMG: Endpoint = 0x1, - [1655894000.462076][1739:1744] CHIP:DMG: Cluster = 0x6, - [1655894000.462128][1739:1744] CHIP:DMG: Attribute = 0x0000_0000, - [1655894000.462172][1739:1744] CHIP:DMG: } - [1655894000.462227][1739:1744] CHIP:DMG: - [1655894000.462277][1739:1744] CHIP:DMG: Data = false, - [1655894000.462323][1739:1744] CHIP:DMG: }, - [1655894000.462372][1739:1744] CHIP:DMG: - [1655894000.462409][1739:1744] CHIP:DMG: }, - [1655894000.462453][1739:1744] CHIP:DMG: - [1655894000.462488][1739:1744] CHIP:DMG: ], - [1655894000.462532][1739:1744] CHIP:DMG: - [1655894000.462567][1739:1744] CHIP:DMG: InteractionModelRevision = 1 - [1655894000.462601][1739:1744] CHIP:DMG: } - [1655894000.462775][1739:1744] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 633563799 - [1655894000.462838][1739:1744] CHIP:TOO: OnOff: FALSE - [1655894000.462904][1739:1744] CHIP:DMG: MoveToState ReadClient[0xffff68003900]: Moving to [AwaitingSu] - - ./chip-tool onoff subscribe on-off 90 900 1 1 --data-version 0x25c36a97 - [1655894043.008680][1749:1754] CHIP:EM: Removed CHIP MessageCounter:95673197 from RetransTable on exchange 16443i - [1655894043.008745][1749:1754] CHIP:DMG: ReportDataMessage = - [1655894043.008785][1749:1754] CHIP:DMG: { - [1655894043.008821][1749:1754] CHIP:DMG: SubscriptionId = 0x5c84cce0, - [1655894043.008859][1749:1754] CHIP:DMG: InteractionModelRevision = 1 - [1655894043.008894][1749:1754] CHIP:DMG: } - [1655894043.008948][1749:1754] CHIP:DMG: MoveToState ReadClient[0xffff7c005970]: Moving to [AwaitingSu] - [1655894043.009010][1749:1754] CHIP:EM: Piggybacking Ack for MessageCounter:264821983 on exchange: 16443i + The cluster used in the below command is an example, User can use any supported chip cluster. + + onoff subscribe on-off 10 200 1 1 + + Verify on TH , DUT is responds right attribute value for above command + + [1657451491.078934][11635:11640] CHIP:DMG: ReportDataMessage = + [1657451491.079004][11635:11640] CHIP:DMG: { + [1657451491.079067][11635:11640] CHIP:DMG: SubscriptionId = 0xd238e341, + [1657451491.079130][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657451491.079207][11635:11640] CHIP:DMG: [ + [1657451491.079268][11635:11640] CHIP:DMG: AttributeReportIB = + [1657451491.079348][11635:11640] CHIP:DMG: { + [1657451491.079447][11635:11640] CHIP:DMG: AttributeDataIB = + [1657451491.079536][11635:11640] CHIP:DMG: { + [1657451491.079615][11635:11640] CHIP:DMG: DataVersion = 0x1979c38, + [1657451491.079696][11635:11640] CHIP:DMG: AttributePathIB = + [1657451491.079778][11635:11640] CHIP:DMG: { + [1657451491.079862][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657451491.079951][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657451491.080037][11635:11640] CHIP:DMG: Attribute = 0x0000_0000, + [1657451491.080117][11635:11640] CHIP:DMG: } + [1657451491.080202][11635:11640] CHIP:DMG: + [1657451491.080287][11635:11640] CHIP:DMG: Data = false, + [1657451491.080364][11635:11640] CHIP:DMG: }, + [1657451491.080444][11635:11640] CHIP:DMG: + [1657451491.080513][11635:11640] CHIP:DMG: }, + [1657451491.080587][11635:11640] CHIP:DMG: + [1657451491.080647][11635:11640] CHIP:DMG: ], + [1657451491.080721][11635:11640] CHIP:DMG: + [1657451491.080782][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451491.080841][11635:11640] CHIP:DMG: } + [1657451491.081047][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 26713144 + [1657451491.081124][11635:11640] CHIP:TOO: OnOff: FALSE + [1657451491.081211][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + + + onoff subscribe on-off 10 200 1 1 --data-version 0x1979c38 + On TH, Verify that there is an empty report data message sent from the DUT to the TH + [1657451619.059013][11635:11640] CHIP:DMG: ReportDataMessage = + [1657451619.059083][11635:11640] CHIP:DMG: { + [1657451619.059145][11635:11640] CHIP:DMG: SubscriptionId = 0x28f3dd7, + [1657451619.059210][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451619.059270][11635:11640] CHIP:DMG: } + [1657451619.059360][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940092b0]: Moving to [AwaitingSu] + [1657451619.059513][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11055917 on exchange: 33638i disabled: true - label: @@ -135,7 +166,7 @@ tests: status response with an "inactive subscription". Change the value of the attribute which has been subscribed on the DUT.' verification: | - This tester needs to be tested by changing the controls available in the DUT and then read the value. And can't be tested with Soft DUT & has dependency of Vendor specific DUT support. + This tester needs to be tested by changing the controls available in the DUT and then read the value. And can't be tested with RPI& has dependency of Vendor specific DUT support. disabled: true - label: @@ -145,62 +176,80 @@ tests: the attribute multiple times (3 times) before the max interval time specified during the subscription activation." verification: | - ./chip-tool basic subscribe local-config-disabled 100 200 1 0 - [1655894975.518731][1787:1792] CHIP:DMG: ReportDataMessage = - [1655894975.518772][1787:1792] CHIP:DMG: { - [1655894975.518808][1787:1792] CHIP:DMG: SubscriptionId = 0x156d3be2, - [1655894975.518845][1787:1792] CHIP:DMG: AttributeReportIBs = - [1655894975.518889][1787:1792] CHIP:DMG: [ - [1655894975.518925][1787:1792] CHIP:DMG: AttributeReportIB = - [1655894975.518972][1787:1792] CHIP:DMG: { - [1655894975.519010][1787:1792] CHIP:DMG: AttributeDataIB = - [1655894975.519056][1787:1792] CHIP:DMG: { - [1655894975.519104][1787:1792] CHIP:DMG: DataVersion = 0xf62da664, - [1655894975.519151][1787:1792] CHIP:DMG: AttributePathIB = - [1655894975.519200][1787:1792] CHIP:DMG: { - [1655894975.519255][1787:1792] CHIP:DMG: Endpoint = 0x0, - [1655894975.519311][1787:1792] CHIP:DMG: Cluster = 0x28, - [1655894975.519363][1787:1792] CHIP:DMG: Attribute = 0x0000_0010, - [1655894975.519415][1787:1792] CHIP:DMG: } - [1655894975.519465][1787:1792] CHIP:DMG: - [1655894975.519520][1787:1792] CHIP:DMG: Data = true, - [1655894975.519566][1787:1792] CHIP:DMG: }, - [1655894975.519614][1787:1792] CHIP:DMG: - [1655894975.519652][1787:1792] CHIP:DMG: }, - [1655894975.519696][1787:1792] CHIP:DMG: - [1655894975.519731][1787:1792] CHIP:DMG: ], - [1655894975.519776][1787:1792] CHIP:DMG: - [1655894975.519812][1787:1792] CHIP:DMG: InteractionModelRevision = 1 - [1655894975.519847][1787:1792] CHIP:DMG: } - [1655894975.520023][1787:1792] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 4130186852 - [1655894975.520073][1787:1792] CHIP:TOO: LocalConfigDisabled: TRUE - [1655894975.520142][1787:1792] CHIP:DMG: MoveToState ReadClient[0xffff6c006f50]: Moving to [AwaitingSu] - - - ./chip-tool basic write local-config-disabled 0 1 0 - [1655895037.152837][1793:1798] CHIP:DMG: StatusIB = - [1655895037.152884][1793:1798] CHIP:DMG: { - [1655895037.152942][1793:1798] CHIP:DMG: status = 0x00 (SUCCESS), - [1655895037.152988][1793:1798] CHIP:DMG: }, - - ./chip-tool basic subscribe local-config-disabled 100 200 1 0 - [1655895107.326374][1801:1806] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 4130186853 - [1655895107.326423][1801:1806] CHIP:TOO: LocalConfigDisabled: FALSE - [1655895107.326491][1801:1806] CHIP:DMG: MoveToState ReadClient[0xaaaaf7f7c1a0]: Moving to [AwaitingSu] - [1655895107.326557][1801:1806] CHIP:EM: Piggybacking Ack for MessageCounter:241530555 on exchange: 11522i - [1655895107.326630][1801:1806] CHIP:IN: Prepared secure message 0xaaaaf7f999a8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 11522i with MessageCounter:177944799. - [1655895107.326681][1801:1806] CHIP:IN: Sending encrypted msg 0xaaaaf7f999a8 with MessageCounter:177944799 to 0x0000000000000001 (1) at monotonic time: 000000000055DB48 msec - [1655895107.327646][1801:1806] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:241530556 on exchange 11522i - [1655895107.327690][1801:1806] CHIP:EM: Found matching exchange: 11522i, Delegate: 0xaaaaf7f7c1a0 - [1655895107.327733][1801:1806] CHIP:EM: Rxd Ack; Removing MessageCounter:177944799 from Retrans Table on exchange 11522i - [1655895107.327768][1801:1806] CHIP:EM: Removed CHIP MessageCounter:177944799 from RetransTable on exchange 11522i - [1655895107.327821][1801:1806] CHIP:DMG: SubscribeResponseMessage = - [1655895107.327857][1801:1806] CHIP:DMG: { - [1655895107.327891][1801:1806] CHIP:DMG: SubscriptionId = 0xccbfeed1, - [1655895107.327929][1801:1806] CHIP:DMG: MaxInterval = 0xc8, - [1655895107.327965][1801:1806] CHIP:DMG: InteractionModelRevision = 1 - [1655895107.327998][1801:1806] CHIP:DMG: } - [1655895107.328035][1801:1806] CHIP:DMG: Subscription established with SubscriptionID = 0xccbfeed1 MinInterval = 0s MaxInterval = 200s Peer = 01:0000000000000001 + The cluster used in the below command is an example, User can use any supported chip cluster. + + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + + basic subscribe local-config-disabled 100 200 1 0 + [1657451690.259096][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733078 from RetransTable on exchange 33639i + [1657451690.259223][11635:11640] CHIP:DMG: ReportDataMessage = + [1657451690.259295][11635:11640] CHIP:DMG: { + [1657451690.259358][11635:11640] CHIP:DMG: SubscriptionId = 0xf48de438, + [1657451690.259455][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657451690.259536][11635:11640] CHIP:DMG: [ + [1657451690.259598][11635:11640] CHIP:DMG: AttributeReportIB = + [1657451690.259688][11635:11640] CHIP:DMG: { + [1657451690.259755][11635:11640] CHIP:DMG: AttributeDataIB = + [1657451690.259827][11635:11640] CHIP:DMG: { + [1657451690.259907][11635:11640] CHIP:DMG: DataVersion = 0x59b457fc, + [1657451690.259993][11635:11640] CHIP:DMG: AttributePathIB = + [1657451690.260068][11635:11640] CHIP:DMG: { + [1657451690.260153][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657451690.260243][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657451690.260337][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657451690.260417][11635:11640] CHIP:DMG: } + [1657451690.260500][11635:11640] CHIP:DMG: + [1657451690.260585][11635:11640] CHIP:DMG: Data = false, + [1657451690.260663][11635:11640] CHIP:DMG: }, + [1657451690.260746][11635:11640] CHIP:DMG: + [1657451690.260810][11635:11640] CHIP:DMG: }, + [1657451690.260883][11635:11640] CHIP:DMG: + [1657451690.260944][11635:11640] CHIP:DMG: ], + [1657451690.261018][11635:11640] CHIP:DMG: + [1657451690.261079][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451690.261129][11635:11640] CHIP:DMG: } + [1657451690.261337][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1504991228 + [1657451690.261419][11635:11640] CHIP:TOO: LocalConfigDisabled: FALSE + [1657451690.261508][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94002cb0]: Moving to [AwaitingSu] + + + + here is an example command the TH can write an attribute in the basic cluster in the DUT to change the value that the TH subscribed in the above command. + basic write local-config-disabled 1 1 0 + 055928 on exchange 33646i + [1657451887.786344][11635:11640] CHIP:EM: Received message of type 0x5 with protocolId (0, 1) and MessageCounter:11055929 on exchange 8526r + [1657451887.786450][11635:11640] CHIP:EM: Handling via exchange: 8526r, Delegate: 0xaaaacf201a78 + [1657451887.786689][11635:11640] CHIP:DMG: ReportDataMessage = + [1657451887.786783][11635:11640] CHIP:DMG: { + [1657451887.786846][11635:11640] CHIP:DMG: SubscriptionId = 0xe61f244, + [1657451887.786908][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657451887.786984][11635:11640] CHIP:DMG: [ + [1657451887.787066][11635:11640] CHIP:DMG: AttributeReportIB = + [1657451887.787157][11635:11640] CHIP:DMG: { + [1657451887.787245][11635:11640] CHIP:DMG: AttributeDataIB = + [1657451887.787322][11635:11640] CHIP:DMG: { + [1657451887.787458][11635:11640] CHIP:DMG: DataVersion = 0x59b45803, + [1657451887.787542][11635:11640] CHIP:DMG: AttributePathIB = + [1657451887.787646][11635:11640] CHIP:DMG: { + [1657451887.787752][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657451887.787843][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657451887.787947][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657451887.788030][11635:11640] CHIP:DMG: } + [1657451887.788138][11635:11640] CHIP:DMG: + [1657451887.788244][11635:11640] CHIP:DMG: Data = true, + [1657451887.788322][11635:11640] CHIP:DMG: }, + [1657451887.788424][11635:11640] CHIP:DMG: + [1657451887.788493][11635:11640] CHIP:DMG: }, + [1657451887.788567][11635:11640] CHIP:DMG: + [1657451887.788627][11635:11640] CHIP:DMG: ], + [1657451887.788701][11635:11640] CHIP:DMG: + [1657451887.788763][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657451887.788823][11635:11640] CHIP:DMG: } + [1657451887.789054][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1504991235 + [1657451887.789155][11635:11640] CHIP:TOO: LocalConfigDisabled: TRUE + [1657451887.789258][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 225000 milliseconds with SubscriptionId = 0x0e61f244 Peer = 01:0000000000000001 + Verify the above command multiple times(3 times) disabled: true @@ -212,49 +261,78 @@ tests: Modify the attribute multiple times (3 times) before the max interval time specified during the subscription activation." verification: | - ./chip-tool basic subscribe node-label 30 500 1 0 - [1655895494.995166][1812:1817] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 4130186853 - [1655895494.995216][1812:1817] CHIP:TOO: NodeLabel: - [1655895494.995283][1812:1817] CHIP:DMG: MoveToState ReadClient[0xffff74003ff0]: Moving to [AwaitingSu] - - ./chip-tool basic write node-label new 1 0 - [1655895585.624127][1835:1840] CHIP:DMG: StatusIB = - [1655895585.624172][1835:1840] CHIP:DMG: { - [1655895585.624216][1835:1840] CHIP:DMG: status = 0x00 (SUCCESS), - [1655895585.624263][1835:1840] CHIP:DMG: }, - [1655895585.624308][1835:1840] CHIP:DMG: - [1655895585.624345][1835:1840] CHIP:DMG: }, - - ./chip-tool basic subscribe node-label 30 500 1 0 - [1655895608.108538][1842:1847] CHIP:DMG: ReportDataMessage = - [1655895608.108578][1842:1847] CHIP:DMG: { - [1655895608.108628][1842:1847] CHIP:DMG: SubscriptionId = 0x510536e1, - [1655895608.108667][1842:1847] CHIP:DMG: AttributeReportIBs = - [1655895608.108713][1842:1847] CHIP:DMG: [ - [1655895608.108762][1842:1847] CHIP:DMG: AttributeReportIB = - [1655895608.108811][1842:1847] CHIP:DMG: { - [1655895608.108864][1842:1847] CHIP:DMG: AttributeDataIB = - [1655895608.108911][1842:1847] CHIP:DMG: { - [1655895608.108976][1842:1847] CHIP:DMG: DataVersion = 0xf62da668, - [1655895608.109041][1842:1847] CHIP:DMG: AttributePathIB = - [1655895608.109093][1842:1847] CHIP:DMG: { - [1655895608.109154][1842:1847] CHIP:DMG: Endpoint = 0x0, - [1655895608.109219][1842:1847] CHIP:DMG: Cluster = 0x28, - [1655895608.109274][1842:1847] CHIP:DMG: Attribute = 0x0000_0005, - [1655895608.109340][1842:1847] CHIP:DMG: } - [1655895608.109405][1842:1847] CHIP:DMG: - [1655895608.109459][1842:1847] CHIP:DMG: Data = "new", - [1655895608.109522][1842:1847] CHIP:DMG: }, - [1655895608.109585][1842:1847] CHIP:DMG: - [1655895608.109626][1842:1847] CHIP:DMG: }, - [1655895608.109684][1842:1847] CHIP:DMG: - [1655895608.109721][1842:1847] CHIP:DMG: ], - [1655895608.109781][1842:1847] CHIP:DMG: - [1655895608.109818][1842:1847] CHIP:DMG: InteractionModelRevision = 1 - [1655895608.109866][1842:1847] CHIP:DMG: } - [1655895608.110086][1842:1847] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 4130186856 - [1655895608.110137][1842:1847] CHIP:TOO: NodeLabel: new - [1655895608.110221][1842:1847] CHIP:DMG: MoveToState ReadClient[0xffff98003e90]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe node-label 10 100 1 0 + + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + + 1657452002.280167][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733100 from RetransTable on exchange 33648i + [1657452002.280291][11635:11640] CHIP:DMG: ReportDataMessage = + [1657452002.280358][11635:11640] CHIP:DMG: { + [1657452002.280421][11635:11640] CHIP:DMG: SubscriptionId = 0xd9323ff2, + [1657452002.280485][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657452002.280565][11635:11640] CHIP:DMG: [ + [1657452002.280628][11635:11640] CHIP:DMG: AttributeReportIB = + [1657452002.280715][11635:11640] CHIP:DMG: { + [1657452002.280781][11635:11640] CHIP:DMG: AttributeDataIB = + [1657452002.280856][11635:11640] CHIP:DMG: { + [1657452002.280938][11635:11640] CHIP:DMG: DataVersion = 0x59b45803, + [1657452002.281017][11635:11640] CHIP:DMG: AttributePathIB = + [1657452002.281098][11635:11640] CHIP:DMG: { + [1657452002.281183][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657452002.281272][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657452002.281359][11635:11640] CHIP:DMG: Attribute = 0x0000_0005, + [1657452002.281440][11635:11640] CHIP:DMG: } + [1657452002.281524][11635:11640] CHIP:DMG: + [1657452002.281736][11635:11640] CHIP:DMG: Data = "new", + [1657452002.281828][11635:11640] CHIP:DMG: }, + [1657452002.281916][11635:11640] CHIP:DMG: + [1657452002.281983][11635:11640] CHIP:DMG: }, + [1657452002.282064][11635:11640] CHIP:DMG: + [1657452002.282126][11635:11640] CHIP:DMG: ], + [1657452002.282203][11635:11640] CHIP:DMG: + [1657452002.282266][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657452002.282325][11635:11640] CHIP:DMG: } + [1657452002.282542][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1504991235 + [1657452002.282628][11635:11640] CHIP:TOO: NodeLabel: new + [1657452002.282717][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940092b0]: Moving to [AwaitingSu] + + + basic write node-label sve 1 0 + [1657452091.179574][11635:11640] CHIP:EM: Handling via exchange: 8527r, Delegate: 0xaaaacf201a78 + [1657452091.179661][11635:11640] CHIP:DMG: ReportDataMessage = + [1657452091.179685][11635:11640] CHIP:DMG: { + [1657452091.179706][11635:11640] CHIP:DMG: SubscriptionId = 0xd9323ff2, + [1657452091.179727][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657452091.179753][11635:11640] CHIP:DMG: [ + [1657452091.179774][11635:11640] CHIP:DMG: AttributeReportIB = + [1657452091.179803][11635:11640] CHIP:DMG: { + [1657452091.179825][11635:11640] CHIP:DMG: AttributeDataIB = + [1657452091.179849][11635:11640] CHIP:DMG: { + [1657452091.179875][11635:11640] CHIP:DMG: DataVersion = 0x59b45804, + [1657452091.179900][11635:11640] CHIP:DMG: AttributePathIB = + [1657452091.179926][11635:11640] CHIP:DMG: { + [1657452091.179952][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657452091.179980][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657452091.180008][11635:11640] CHIP:DMG: Attribute = 0x0000_0005, + [1657452091.180034][11635:11640] CHIP:DMG: } + [1657452091.180061][11635:11640] CHIP:DMG: + [1657452091.180090][11635:11640] CHIP:DMG: Data = "sve", + [1657452091.180114][11635:11640] CHIP:DMG: }, + [1657452091.180141][11635:11640] CHIP:DMG: + [1657452091.180162][11635:11640] CHIP:DMG: }, + [1657452091.180188][11635:11640] CHIP:DMG: + [1657452091.180208][11635:11640] CHIP:DMG: ], + [1657452091.180234][11635:11640] CHIP:DMG: + [1657452091.180255][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657452091.180274][11635:11640] CHIP:DMG: } + [1657452091.180362][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 1504991236 + [1657452091.180395][11635:11640] CHIP:TOO: NodeLabel: sve + [1657452091.180436][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xd9323ff2 Peer = 01:0000000000000001 + + Verify the above command multiple times(3 times) disabled: true @@ -266,48 +344,77 @@ tests: value. Modify the attribute multiple times (3 times) before the max interval time specified during the subscription activation.' verification: | - ./chip-tool basic subscribe node-label 30 500 1 0 - [1655895755.465257][1849:1854] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 2889729871 - [1655895755.465366][1849:1854] CHIP:TOO: on off transition time: 0 - [1655895755.465416][1849:1854] CHIP:DMG: MoveToState ReadClient[0xffff9c006f10]: Moving to [AwaitingSu] - - ./chip-tool any write-by-id 0x0008 0x0010 1 1 1 - [1655895794.917918][1857:1862] CHIP:DMG: StatusIB = - [1655895794.918014][1857:1862] CHIP:DMG: { - [1655895794.918059][1857:1862] CHIP:DMG: status = 0x00 (SUCCESS), - [1655895794.918105][1857:1862] CHIP:DMG: }, - - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 300 1 1 - [1655895880.423985][1864:1869] CHIP:DMG: ReportDataMessage = - [1655895880.424029][1864:1869] CHIP:DMG: { - [1655895880.424069][1864:1869] CHIP:DMG: SubscriptionId = 0x8dd9847b, - [1655895880.424109][1864:1869] CHIP:DMG: AttributeReportIBs = - [1655895880.424158][1864:1869] CHIP:DMG: [ - [1655895880.424198][1864:1869] CHIP:DMG: AttributeReportIB = - [1655895880.424249][1864:1869] CHIP:DMG: { - [1655895880.424291][1864:1869] CHIP:DMG: AttributeDataIB = - [1655895880.424338][1864:1869] CHIP:DMG: { - [1655895880.424396][1864:1869] CHIP:DMG: DataVersion = 0xac3dc750, - [1655895880.424447][1864:1869] CHIP:DMG: AttributePathIB = - [1655895880.424502][1864:1869] CHIP:DMG: { - [1655895880.424557][1864:1869] CHIP:DMG: Endpoint = 0x1, - [1655895880.424620][1864:1869] CHIP:DMG: Cluster = 0x8, - [1655895880.424676][1864:1869] CHIP:DMG: Attribute = 0x0000_0010, - [1655895880.424729][1864:1869] CHIP:DMG: } - [1655895880.424786][1864:1869] CHIP:DMG: - [1655895880.424847][1864:1869] CHIP:DMG: Data = 1, - [1655895880.424898][1864:1869] CHIP:DMG: }, - [1655895880.424951][1864:1869] CHIP:DMG: - [1655895880.424993][1864:1869] CHIP:DMG: }, - [1655895880.425041][1864:1869] CHIP:DMG: - [1655895880.425080][1864:1869] CHIP:DMG: ], - [1655895880.425130][1864:1869] CHIP:DMG: - [1655895880.425169][1864:1869] CHIP:DMG: InteractionModelRevision = 1 - [1655895880.425207][1864:1869] CHIP:DMG: } - [1655895880.425391][1864:1869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 2889729872 - [1655895880.425489][1864:1869] CHIP:TOO: on off transition time: 1 - [1655895880.425551][1864:1869] CHIP:DMG: MoveToState ReadClient[0xffffa0004b70]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + + [1657452196.617935][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733107 from RetransTable on exchange 33650i + [1657452196.618061][11635:11640] CHIP:DMG: ReportDataMessage = + [1657452196.618131][11635:11640] CHIP:DMG: { + [1657452196.618193][11635:11640] CHIP:DMG: SubscriptionId = 0xbabbfc28, + [1657452196.618266][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657452196.618344][11635:11640] CHIP:DMG: [ + [1657452196.618405][11635:11640] CHIP:DMG: AttributeReportIB = + [1657452196.618486][11635:11640] CHIP:DMG: { + [1657452196.618552][11635:11640] CHIP:DMG: AttributeDataIB = + [1657452196.618624][11635:11640] CHIP:DMG: { + [1657452196.618699][11635:11640] CHIP:DMG: DataVersion = 0x7b9244ca, + [1657452196.618771][11635:11640] CHIP:DMG: AttributePathIB = + [1657452196.618847][11635:11640] CHIP:DMG: { + [1657452196.618924][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657452196.619007][11635:11640] CHIP:DMG: Cluster = 0x8, + [1657452196.619087][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657452196.619164][11635:11640] CHIP:DMG: } + [1657452196.619244][11635:11640] CHIP:DMG: + [1657452196.619323][11635:11640] CHIP:DMG: Data = 1, + [1657452196.619393][11635:11640] CHIP:DMG: }, + [1657452196.619524][11635:11640] CHIP:DMG: + [1657452196.619591][11635:11640] CHIP:DMG: }, + [1657452196.619666][11635:11640] CHIP:DMG: + [1657452196.619726][11635:11640] CHIP:DMG: ], + [1657452196.619801][11635:11640] CHIP:DMG: + [1657452196.619863][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657452196.619923][11635:11640] CHIP:DMG: } + [1657452196.620129][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 2073183434 + [1657452196.620215][11635:11640] CHIP:TOO: on off transition time: 1 + [1657452196.620308][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + + any write-by-id 0x0008 0x0010 1 1 1 + [1657452254.600544][11635:11640] CHIP:EM: Handling via exchange: 8529r, Delegate: 0xaaaacf201a78 + [1657452254.600720][11635:11640] CHIP:DMG: ReportDataMessage = + [1657452254.600788][11635:11640] CHIP:DMG: { + [1657452254.600849][11635:11640] CHIP:DMG: SubscriptionId = 0xbabbfc28, + [1657452254.600908][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657452254.600983][11635:11640] CHIP:DMG: [ + [1657452254.601149][11635:11640] CHIP:DMG: AttributeReportIB = + [1657452254.601241][11635:11640] CHIP:DMG: { + [1657452254.601311][11635:11640] CHIP:DMG: AttributeDataIB = + [1657452254.601460][11635:11640] CHIP:DMG: { + [1657452254.601543][11635:11640] CHIP:DMG: DataVersion = 0x7b9244cb, + [1657452254.601623][11635:11640] CHIP:DMG: AttributePathIB = + [1657452254.601712][11635:11640] CHIP:DMG: { + [1657452254.601797][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657452254.601885][11635:11640] CHIP:DMG: Cluster = 0x8, + [1657452254.601965][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657452254.602048][11635:11640] CHIP:DMG: } + [1657452254.602126][11635:11640] CHIP:DMG: + [1657452254.602212][11635:11640] CHIP:DMG: Data = 4, + [1657452254.602246][11635:11640] CHIP:DMG: }, + [1657452254.602284][11635:11640] CHIP:DMG: + [1657452254.602314][11635:11640] CHIP:DMG: }, + [1657452254.602351][11635:11640] CHIP:DMG: + [1657452254.602378][11635:11640] CHIP:DMG: ], + [1657452254.602413][11635:11640] CHIP:DMG: + [1657452254.602442][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657452254.602469][11635:11640] CHIP:DMG: } + [1657452254.602572][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 2073183435 + [1657452254.602617][11635:11640] CHIP:TOO: on off transition time: 4 + [1657452254.602669][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xbabbfc28 Peer = 01:0000000000000001 + + + Verify the above command multiple times(3 times) disabled: true @@ -339,17 +446,19 @@ tests: the attribute multiple times (3 times) before the max interval time specified during the subscription activation." verification: | - ./chip-tool userlabel subscribe label-list 100 500 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. + + + + userlabel subscribe label-list 100 500 1 0 + + Verify on TH , DUT is responds right attribute value for above command [1655896309.160632][1885:1890] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_0000 DataVersion: 3773922725 [1655896309.160795][1885:1890] CHIP:TOO: label list: 0 entries [1655896309.160851][1885:1890] CHIP:DMG: MoveToState ReadClient[0xffffa0005710]: Moving to [AwaitingSu] - ./chip-tool userlabel write label-list '[{"label":"room", "value":"bedroom 1"}, {"label":"orientation", "value":"east"}]' 1 0 - [1655896383.439036][1893:1898] CHIP:DMG: StatusIB = - [1655896383.439109][1893:1898] CHIP:DMG: { - [1655896383.439183][1893:1898] CHIP:DMG: status = 0x00 (SUCCESS), - [1655896383.439264][1893:1898] CHIP:DMG: }, + userlabel write label-list '[{"label":"room", "value":"bedroom 1"}, {"label":"orientation", "value":"east"}]' 1 0 ./chip-tool userlabel subscribe label-list 100 500 1 0 [1655896422.936972][1899:1904] CHIP:DMG: } @@ -375,68 +484,110 @@ tests: KeepSubsriptions flag should be set to False Change the value of the attribute requested on the DUT." verification: | - ./chip-tool basic subscribe local-config-disabled 0 100 1 0 --keepSubscriptions 0 - [1655897683.993116][1424:1424] CHIP:DMG: SubscribeRequestMessage = - [1655897683.993164][1424:1424] CHIP:DMG: { - [1655897683.993207][1424:1424] CHIP:DMG: KeepSubscriptions = false, - [1655897683.993255][1424:1424] CHIP:DMG: MinIntervalFloorSeconds = 0x0, - [1655897683.993411][1424:1424] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, - [1655897683.993464][1424:1424] CHIP:DMG: AttributePathIBs = - [1655897683.993512][1424:1424] CHIP:DMG: [ - [1655897683.993556][1424:1424] CHIP:DMG: AttributePathIB = - [1655897683.993605][1424:1424] CHIP:DMG: { - [1655897683.993656][1424:1424] CHIP:DMG: Endpoint = 0x0, - [1655897683.993713][1424:1424] CHIP:DMG: Cluster = 0x28, - [1655897683.993776][1424:1424] CHIP:DMG: Attribute = 0x0000_0010, - [1655897683.993835][1424:1424] CHIP:DMG: } - [1655897683.993891][1424:1424] CHIP:DMG: - [1655897683.993936][1424:1424] CHIP:DMG: ], - [1655897683.993987][1424:1424] CHIP:DMG: - [1655897683.994034][1424:1424] CHIP:DMG: isFabricFiltered = true, - [1655897683.994080][1424:1424] CHIP:DMG: InteractionModelRevision = 1 - [1655897683.994123][1424:1424] CHIP:DMG: }, - [1655897683.994246][1424:1424] CHIP:DMG: Final negotiated min/max parameters: Min = 0s, Max = 100s - - sudo ./chip-tool basic write local-config-disabled 1 1 0 - [1655897946.992504][1934:1939] CHIP:DMG: } - [1655897946.992554][1934:1939] CHIP:DMG: - [1655897946.992597][1934:1939] CHIP:DMG: StatusIB = - [1655897946.992643][1934:1939] CHIP:DMG: { - [1655897946.992687][1934:1939] CHIP:DMG: status = 0x00 (SUCCESS), - [1655897946.992732][1934:1939] CHIP:DMG: }, - [1655897946.992776][1934:1939] CHIP:DMG: - [1655897946.992813][1934:1939] CHIP:DMG: }, - - sudo ./chip-tool basic subscribe local-config-disabled 200 500 1 0 --keepSubscriptions 0 - [1655898064.517796][1956:1961] CHIP:DMG: ReportDataMessage = - [1655898064.517837][1956:1961] CHIP:DMG: { - [1655898064.517872][1956:1961] CHIP:DMG: SubscriptionId = 0xba6ed, - [1655898064.517909][1956:1961] CHIP:DMG: AttributeReportIBs = - [1655898064.518036][1956:1961] CHIP:DMG: [ - [1655898064.518074][1956:1961] CHIP:DMG: AttributeReportIB = - [1655898064.518121][1956:1961] CHIP:DMG: { - [1655898064.518160][1956:1961] CHIP:DMG: AttributeDataIB = - [1655898064.518211][1956:1961] CHIP:DMG: { - [1655898064.518258][1956:1961] CHIP:DMG: DataVersion = 0xf62da669, - [1655898064.518304][1956:1961] CHIP:DMG: AttributePathIB = - [1655898064.518352][1956:1961] CHIP:DMG: { - [1655898064.518403][1956:1961] CHIP:DMG: Endpoint = 0x0, - [1655898064.518454][1956:1961] CHIP:DMG: Cluster = 0x28, - [1655898064.518506][1956:1961] CHIP:DMG: Attribute = 0x0000_0010, - [1655898064.518554][1956:1961] CHIP:DMG: } - [1655898064.518600][1956:1961] CHIP:DMG: - [1655898064.518651][1956:1961] CHIP:DMG: Data = true, - [1655898064.518696][1956:1961] CHIP:DMG: }, - [1655898064.518743][1956:1961] CHIP:DMG: - [1655898064.518781][1956:1961] CHIP:DMG: }, - [1655898064.518825][1956:1961] CHIP:DMG: - [1655898064.518860][1956:1961] CHIP:DMG: ], - [1655898064.518904][1956:1961] CHIP:DMG: - [1655898064.518940][1956:1961] CHIP:DMG: InteractionModelRevision = 1 - [1655898064.518975][1956:1961] CHIP:DMG: } - [1655898064.519148][1956:1961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 4130186857 - [1655898064.519201][1956:1961] CHIP:TOO: LocalConfigDisabled: TRUE - [1655898064.519269][1956:1961] CHIP:DMG: MoveToState ReadClient[0xffff70003590]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + + basic subscribe local-config-disabled 10 100 1 0 --keepSubscriptions 0 + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. + + [1657453109.707943][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733139 from RetransTable on exchange 33658i + [1657453109.708065][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453109.708135][11635:11640] CHIP:DMG: { + [1657453109.708192][11635:11640] CHIP:DMG: SubscriptionId = 0xc253a5fb, + [1657453109.708255][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453109.708331][11635:11640] CHIP:DMG: [ + [1657453109.708392][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453109.708483][11635:11640] CHIP:DMG: { + [1657453109.708553][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453109.708631][11635:11640] CHIP:DMG: { + [1657453109.708714][11635:11640] CHIP:DMG: DataVersion = 0x59b45805, + [1657453109.708793][11635:11640] CHIP:DMG: AttributePathIB = + [1657453109.708874][11635:11640] CHIP:DMG: { + [1657453109.708958][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657453109.709038][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657453109.709127][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657453109.709201][11635:11640] CHIP:DMG: } + [1657453109.709287][11635:11640] CHIP:DMG: + [1657453109.709366][11635:11640] CHIP:DMG: Data = false, + [1657453109.709451][11635:11640] CHIP:DMG: }, + [1657453109.709533][11635:11640] CHIP:DMG: + [1657453109.709601][11635:11640] CHIP:DMG: }, + [1657453109.709677][11635:11640] CHIP:DMG: + [1657453109.709737][11635:11640] CHIP:DMG: ], + [1657453109.709811][11635:11640] CHIP:DMG: + [1657453109.709872][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453109.709931][11635:11640] CHIP:DMG: } + [1657453109.710139][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1504991237 + [1657453109.710219][11635:11640] CHIP:TOO: LocalConfigDisabled: FALSE + [1657453109.710306][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + + + basic subscribe local-config-disabled 20 200 1 0 --keepSubscriptions 0 + [1657453160.418709][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733142 from RetransTable on exchange 33659i + [1657453160.418833][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453160.418902][11635:11640] CHIP:DMG: { + [1657453160.418964][11635:11640] CHIP:DMG: SubscriptionId = 0x1619a0d5, + [1657453160.419026][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453160.419102][11635:11640] CHIP:DMG: [ + [1657453160.419163][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453160.419244][11635:11640] CHIP:DMG: { + [1657453160.419308][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453160.419387][11635:11640] CHIP:DMG: { + [1657453160.419505][11635:11640] CHIP:DMG: DataVersion = 0x59b45805, + [1657453160.419585][11635:11640] CHIP:DMG: AttributePathIB = + [1657453160.419665][11635:11640] CHIP:DMG: { + [1657453160.419749][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657453160.419837][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657453160.419924][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657453160.420013][11635:11640] CHIP:DMG: } + [1657453160.420098][11635:11640] CHIP:DMG: + [1657453160.420183][11635:11640] CHIP:DMG: Data = false, + [1657453160.420260][11635:11640] CHIP:DMG: }, + [1657453160.420340][11635:11640] CHIP:DMG: + [1657453160.420407][11635:11640] CHIP:DMG: }, + [1657453160.420485][11635:11640] CHIP:DMG: + [1657453160.420544][11635:11640] CHIP:DMG: ], + [1657453160.420618][11635:11640] CHIP:DMG: + [1657453160.420679][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453160.420737][11635:11640] CHIP:DMG: } + [1657453160.420945][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1504991237 + [1657453160.421027][11635:11640] CHIP:TOO: LocalConfigDisabled: FALSE + [1657453160.421116][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005970]: Moving to [AwaitingSu] + + + + basic write local-config-disabled 1 1 0 + [1657453182.701779][11635:11640] CHIP:EM: Handling via exchange: 8539r, Delegate: 0xaaaacf201a78 + [1657453182.701861][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453182.701893][11635:11640] CHIP:DMG: { + [1657453182.701921][11635:11640] CHIP:DMG: SubscriptionId = 0x1619a0d5, + [1657453182.701948][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453182.701981][11635:11640] CHIP:DMG: [ + [1657453182.702007][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453182.702046][11635:11640] CHIP:DMG: { + [1657453182.702075][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453182.702110][11635:11640] CHIP:DMG: { + [1657453182.702148][11635:11640] CHIP:DMG: DataVersion = 0x59b45806, + [1657453182.702185][11635:11640] CHIP:DMG: AttributePathIB = + [1657453182.702220][11635:11640] CHIP:DMG: { + [1657453182.702256][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657453182.702295][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657453182.702335][11635:11640] CHIP:DMG: Attribute = 0x0000_0010, + [1657453182.702370][11635:11640] CHIP:DMG: } + [1657453182.702407][11635:11640] CHIP:DMG: + [1657453182.702445][11635:11640] CHIP:DMG: Data = true, + [1657453182.702479][11635:11640] CHIP:DMG: }, + [1657453182.702514][11635:11640] CHIP:DMG: + [1657453182.702543][11635:11640] CHIP:DMG: }, + [1657453182.702577][11635:11640] CHIP:DMG: + [1657453182.702602][11635:11640] CHIP:DMG: ], + [1657453182.702634][11635:11640] CHIP:DMG: + [1657453182.702660][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453182.702686][11635:11640] CHIP:DMG: } + [1657453182.702779][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 1504991238 + [1657453182.702818][11635:11640] CHIP:TOO: LocalConfigDisabled: TRUE + [1657453182.702865][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 225000 milliseconds with SubscriptionId = disabled: true - label: @@ -444,76 +595,122 @@ tests: attribute After the Maximum interval time is elapsed, change the value of the attribute requested on the DUT." verification: | - ./chip-tool userlabel subscribe label-list 100 500 1 0 - [1655896309.160632][1885:1890] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_0000 DataVersion: 3773922725 - [1655896309.160795][1885:1890] CHIP:TOO: label list: 0 entries - [1655896309.160851][1885:1890] CHIP:DMG: MoveToState ReadClient[0xffffa0005710]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + levelcontrol subscribe on-level 10 80 1 1 - ./chip-tool userlabel write label-list '[{"label":"room", "value":"bedroom 1"}, {"label":"orientation", "value":"east"}]' 1 0 - [1655896383.439036][1893:1898] CHIP:DMG: StatusIB = - [1655896383.439109][1893:1898] CHIP:DMG: { - [1655896383.439183][1893:1898] CHIP:DMG: status = 0x00 (SUCCESS), - [1655896383.439264][1893:1898] CHIP:DMG: }, - ./chip-tool userlabel subscribe label-list 100 500 1 0 - [1655896422.936972][1899:1904] CHIP:DMG: } - [1655896422.937347][1899:1904] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_0000 DataVersion: 3773922728 - [1655896422.937478][1899:1904] CHIP:TOO: label list: 2 entries - [1655896422.937612][1899:1904] CHIP:TOO: [1]: { - [1655896422.937658][1899:1904] CHIP:TOO: Label: room - [1655896422.937697][1899:1904] CHIP:TOO: Value: bedroom 1 - [1655896422.937738][1899:1904] CHIP:TOO: } - [1655896422.937789][1899:1904] CHIP:TOO: [2]: { - [1655896422.937830][1899:1904] CHIP:TOO: Label: orientation - [1655896422.937868][1899:1904] CHIP:TOO: Value: east - [1655896422.937907][1899:1904] CHIP:TOO: } - [1655896422.938019][1899:1904] CHIP:DMG: MoveToState ReadClient[0xffff6c006120]: Moving to [AwaitingSu] - [1655896422.938098][1899:1904] CHIP:EM: Piggybacking Ack for MessageCounter:178495354 on exchange: 58101i - disabled: true + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not. - - label: - "Activate the subscription between the DUT and the TH for an attribute - Reboot the DUT. Change the value of the attribute on the DUT." - verification: | + [1657453503.538054][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733149 from RetransTable on exchange 33661i + [1657453503.538172][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453503.538262][11635:11640] CHIP:DMG: { + [1657453503.538325][11635:11640] CHIP:DMG: SubscriptionId = 0xc3f76ab6, + [1657453503.538419][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453503.538498][11635:11640] CHIP:DMG: [ + [1657453503.538559][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453503.538666][11635:11640] CHIP:DMG: { + [1657453503.538737][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453503.538837][11635:11640] CHIP:DMG: { + [1657453503.538937][11635:11640] CHIP:DMG: DataVersion = 0x7b9244cb, + [1657453503.539020][11635:11640] CHIP:DMG: AttributePathIB = + [1657453503.539120][11635:11640] CHIP:DMG: { + [1657453503.539206][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657453503.539324][11635:11640] CHIP:DMG: Cluster = 0x8, + [1657453503.539483][11635:11640] CHIP:DMG: Attribute = 0x0000_0011, + [1657453503.539568][11635:11640] CHIP:DMG: } + [1657453503.539686][11635:11640] CHIP:DMG: + [1657453503.539793][11635:11640] CHIP:DMG: Data = NULL + [1657453503.539893][11635:11640] CHIP:DMG: }, + [1657453503.539980][11635:11640] CHIP:DMG: + [1657453503.540068][11635:11640] CHIP:DMG: }, + [1657453503.540148][11635:11640] CHIP:DMG: + [1657453503.540228][11635:11640] CHIP:DMG: ], + [1657453503.540304][11635:11640] CHIP:DMG: + [1657453503.540366][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453503.540426][11635:11640] CHIP:DMG: } + [1657453503.540633][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 2073183435 + [1657453503.540712][11635:11640] CHIP:TOO: on level: null + [1657453503.540798][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + + + + levelcontrol write on-level 1 1 1 + [1657453616.542219][11635:11640] CHIP:EM: Handling via exchange: 8542r, Delegate: 0xaaaacf201a78 + [1657453616.542386][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453616.542457][11635:11640] CHIP:DMG: { + [1657453616.542509][11635:11640] CHIP:DMG: SubscriptionId = 0xc3f76ab6, + [1657453616.542564][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453616.542644][11635:11640] CHIP:DMG: [ + [1657453616.542709][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453616.542794][11635:11640] CHIP:DMG: { + [1657453616.542868][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453616.542942][11635:11640] CHIP:DMG: { + [1657453616.543018][11635:11640] CHIP:DMG: DataVersion = 0x7b9244cc, + [1657453616.543092][11635:11640] CHIP:DMG: AttributePathIB = + [1657453616.543168][11635:11640] CHIP:DMG: { + [1657453616.543246][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657453616.543329][11635:11640] CHIP:DMG: Cluster = 0x8, + [1657453616.543465][11635:11640] CHIP:DMG: Attribute = 0x0000_0011, + [1657453616.543559][11635:11640] CHIP:DMG: } + [1657453616.543647][11635:11640] CHIP:DMG: + [1657453616.543733][11635:11640] CHIP:DMG: Data = 1, + [1657453616.543810][11635:11640] CHIP:DMG: }, + [1657453616.543889][11635:11640] CHIP:DMG: + [1657453616.543952][11635:11640] CHIP:DMG: }, + [1657453616.544026][11635:11640] CHIP:DMG: + [1657453616.544059][11635:11640] CHIP:DMG: ], + [1657453616.544093][11635:11640] CHIP:DMG: + [1657453616.544124][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453616.544154][11635:11640] CHIP:DMG: } + [1657453616.544265][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 2073183436 + [1657453616.544314][11635:11640] CHIP:TOO: on level: 1 + [1657453616.544371][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 105000 milliseconds with SubscriptionId = 0xc3f76ab6 Peer = 01:0000000000000001 disabled: true - label: "Activate the subscription between the DUT and the TH for an attribute There are no attribute value changes before MaxInterval elapses." verification: | - ./chip-tool interactive start - onoff subscribe on-time 100 1000 1 1 - [1653473717.457459][21558:21563] CHIP:DMG: ReportDataMessage = - [1653473717.457490][21558:21563] CHIP:DMG: { - [1653473717.457512][21558:21563] CHIP:DMG: SubscriptionId = 0x864c6467, - [1653473717.457531][21558:21563] CHIP:DMG: AttributeReportIBs = - [1653473717.457561][21558:21563] CHIP:DMG: [ - [1653473717.457579][21558:21563] CHIP:DMG: AttributeReportIB = - [1653473717.457608][21558:21563] CHIP:DMG: { - [1653473717.457627][21558:21563] CHIP:DMG: AttributeDataIB = - [1653473717.457648][21558:21563] CHIP:DMG: { - [1653473717.457670][21558:21563] CHIP:DMG: DataVersion = 0xbf2fc271, - [1653473717.457690][21558:21563] CHIP:DMG: AttributePathIB = - [1653473717.457712][21558:21563] CHIP:DMG: { - [1653473717.457733][21558:21563] CHIP:DMG: Endpoint = 0x1, - [1653473717.457755][21558:21563] CHIP:DMG: Cluster = 0x6, - [1653473717.457779][21558:21563] CHIP:DMG: Attribute = 0x0000_4001, - [1653473717.457799][21558:21563] CHIP:DMG: } - [1653473717.457823][21558:21563] CHIP:DMG: - [1653473717.457846][21558:21563] CHIP:DMG: Data = 2, - [1653473717.457865][21558:21563] CHIP:DMG: }, - [1653473717.457892][21558:21563] CHIP:DMG: - [1653473717.457910][21558:21563] CHIP:DMG: }, - [1653473717.457937][21558:21563] CHIP:DMG: - [1653473717.457955][21558:21563] CHIP:DMG: ], - [1653473717.457982][21558:21563] CHIP:DMG: - [1653473717.458000][21558:21563] CHIP:DMG: InteractionModelRevision = 1 - [1653473717.458018][21558:21563] CHIP:DMG: } - [1653473717.458135][21558:21563] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3207578225 - [1653473717.458170][21558:21563] CHIP:TOO: OnTime: 2 - [1653473717.458211][21558:21563] CHIP:DMG: MoveToState ReadClient[0x7f35bc003d90]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + + On TH Verify that the DUT sends a Report Data action and There are no attribute value changes before MaxInterval elapses. + onoff subscribe on-time 100 1000 1 1 + [1657453718.436970][11635:11640] CHIP:DMG: ReportDataMessage = + [1657453718.437043][11635:11640] CHIP:DMG: { + [1657453718.437108][11635:11640] CHIP:DMG: SubscriptionId = 0xce00f651, + [1657453718.437174][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657453718.437253][11635:11640] CHIP:DMG: [ + [1657453718.437315][11635:11640] CHIP:DMG: AttributeReportIB = + [1657453718.437403][11635:11640] CHIP:DMG: { + [1657453718.437473][11635:11640] CHIP:DMG: AttributeDataIB = + [1657453718.437550][11635:11640] CHIP:DMG: { + [1657453718.437632][11635:11640] CHIP:DMG: DataVersion = 0x1979c38, + [1657453718.437711][11635:11640] CHIP:DMG: AttributePathIB = + [1657453718.437790][11635:11640] CHIP:DMG: { + [1657453718.437883][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657453718.437974][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657453718.438063][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657453718.438145][11635:11640] CHIP:DMG: } + [1657453718.438224][11635:11640] CHIP:DMG: + [1657453718.438318][11635:11640] CHIP:DMG: Data = 0, + [1657453718.438393][11635:11640] CHIP:DMG: }, + [1657453718.438483][11635:11640] CHIP:DMG: + [1657453718.438551][11635:11640] CHIP:DMG: }, + [1657453718.438626][11635:11640] CHIP:DMG: + [1657453718.438686][11635:11640] CHIP:DMG: ], + [1657453718.438760][11635:11640] CHIP:DMG: + [1657453718.438821][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657453718.438884][11635:11640] CHIP:DMG: } + [1657453718.439091][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713144 + [1657453718.439173][11635:11640] CHIP:TOO: OnTime: 0 + [1657453718.439260][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005970]: Moving to [AwaitingSu] + + If you try to change attribute value by sending + onoff write on-time 1 1 1 + There are no attribute value changes before MaxInterval elapses disabled: true - label: @@ -523,103 +720,136 @@ tests: to the DUT for another attribute with the KeepSubscriptions flag set to True. Change both the attribute values on the DUT." verification: | - sudo ./chip-tool onoff subscribe off-wait-time 100 1000 1 1 --keepSubscriptions 1 - [1655898311.301185][1424:1424] CHIP:EM: Removed CHIP MessageCounter:187890668 from RetransTable on exchange 62245r - [1655898311.301229][1424:1424] CHIP:DMG: StatusResponseMessage = - [1655898311.301256][1424:1424] CHIP:DMG: { - [1655898311.301279][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655898311.301304][1424:1424] CHIP:DMG: InteractionModelRevision = 1 - [1655898311.301327][1424:1424] CHIP:DMG: } - [1655898311.301350][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655898311.301385][1424:1424] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - sudo ./chip-tool onoff subscribe on-time 100 1000 1 1 --keepSubscriptions 1 - [1655898429.764898][1424:1424] CHIP:EM: Removed CHIP MessageCounter:256700476 from RetransTable on exchange 46197r - [1655898429.764940][1424:1424] CHIP:DMG: StatusResponseMessage = - [1655898429.764966][1424:1424] CHIP:DMG: { - [1655898429.764989][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655898429.765014][1424:1424] CHIP:DMG: InteractionModelRevision = 1 - [1655898429.765037][1424:1424] CHIP:DMG: } - [1655898429.765060][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655898429.765095][1424:1424] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - sudo ./chip-tool onoff write off-wait-time 3 1 1 - [1655898493.521309][2009:2014] CHIP:DMG: StatusIB = - [1655898493.521352][2009:2014] CHIP:DMG: { - [1655898493.521392][2009:2014] CHIP:DMG: status = 0x00 (SUCCESS), - [1655898493.521438][2009:2014] CHIP:DMG: }, - - sudo ./chip-tool onoff write on-time 2 1 1 - [1655898534.627669][2019:2024] CHIP:DMG: - [1655898534.627712][2019:2024] CHIP:DMG: StatusIB = - [1655898534.627757][2019:2024] CHIP:DMG: { - [1655898534.627802][2019:2024] CHIP:DMG: status = 0x00 (SUCCESS), - [1655898534.627848][2019:2024] CHIP:DMG: }, - [1655898534.627892][2019:2024] CHIP:DMG: - - sudo ./chip-tool onoff subscribe off-wait-time 100 1000 1 1 --keepSubscriptions 1 - [1655898566.833039][2027:2032] CHIP:DMG: ReportDataMessage = - [1655898566.833079][2027:2032] CHIP:DMG: { - [1655898566.833115][2027:2032] CHIP:DMG: SubscriptionId = 0xeb08d8e5, - [1655898566.833151][2027:2032] CHIP:DMG: AttributeReportIBs = - [1655898566.833195][2027:2032] CHIP:DMG: [ - [1655898566.833231][2027:2032] CHIP:DMG: AttributeReportIB = - [1655898566.833277][2027:2032] CHIP:DMG: { - [1655898566.833314][2027:2032] CHIP:DMG: AttributeDataIB = - [1655898566.833358][2027:2032] CHIP:DMG: { - [1655898566.833407][2027:2032] CHIP:DMG: DataVersion = 0x25c36a99, - [1655898566.833453][2027:2032] CHIP:DMG: AttributePathIB = - [1655898566.833501][2027:2032] CHIP:DMG: { - [1655898566.833551][2027:2032] CHIP:DMG: Endpoint = 0x1, - [1655898566.833602][2027:2032] CHIP:DMG: Cluster = 0x6, - [1655898566.833653][2027:2032] CHIP:DMG: Attribute = 0x0000_4002, - [1655898566.833705][2027:2032] CHIP:DMG: } - [1655898566.833756][2027:2032] CHIP:DMG: - [1655898566.833806][2027:2032] CHIP:DMG: Data = 3, - [1655898566.833851][2027:2032] CHIP:DMG: }, - [1655898566.833898][2027:2032] CHIP:DMG: - [1655898566.833972][2027:2032] CHIP:DMG: }, - [1655898566.834017][2027:2032] CHIP:DMG: - [1655898566.834052][2027:2032] CHIP:DMG: ], - [1655898566.834096][2027:2032] CHIP:DMG: - [1655898566.834131][2027:2032] CHIP:DMG: InteractionModelRevision = 1 - [1655898566.834164][2027:2032] CHIP:DMG: } - [1655898566.834337][2027:2032] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 633563801 - [1655898566.834423][2027:2032] CHIP:TOO: OffWaitTime: 3 - [1655898566.834476][2027:2032] CHIP:DMG: MoveToState ReadClient[0xffff90006670]: Moving to [AwaitingSu] - - - - sudo ./chip-tool onoff subscribe on-time 100 1000 1 1 --keepSubscriptions 1 - [1655898621.689883][2035:2040] CHIP:DMG: ReportDataMessage = - [1655898621.689941][2035:2040] CHIP:DMG: { - [1655898621.689976][2035:2040] CHIP:DMG: SubscriptionId = 0x8b29faa2, - [1655898621.690009][2035:2040] CHIP:DMG: AttributeReportIBs = - [1655898621.690051][2035:2040] CHIP:DMG: [ - [1655898621.690084][2035:2040] CHIP:DMG: AttributeReportIB = - [1655898621.690128][2035:2040] CHIP:DMG: { - [1655898621.690162][2035:2040] CHIP:DMG: AttributeDataIB = - [1655898621.690207][2035:2040] CHIP:DMG: { - [1655898621.690250][2035:2040] CHIP:DMG: DataVersion = 0x25c36a99, - [1655898621.690292][2035:2040] CHIP:DMG: AttributePathIB = - [1655898621.690336][2035:2040] CHIP:DMG: { - [1655898621.690385][2035:2040] CHIP:DMG: Endpoint = 0x1, - [1655898621.690432][2035:2040] CHIP:DMG: Cluster = 0x6, - [1655898621.690478][2035:2040] CHIP:DMG: Attribute = 0x0000_4001, - [1655898621.690522][2035:2040] CHIP:DMG: } - [1655898621.690569][2035:2040] CHIP:DMG: - [1655898621.690614][2035:2040] CHIP:DMG: Data = 2, - [1655898621.690655][2035:2040] CHIP:DMG: }, - [1655898621.690698][2035:2040] CHIP:DMG: - [1655898621.690735][2035:2040] CHIP:DMG: }, - [1655898621.690775][2035:2040] CHIP:DMG: - [1655898621.690806][2035:2040] CHIP:DMG: ], - [1655898621.690847][2035:2040] CHIP:DMG: - [1655898621.690879][2035:2040] CHIP:DMG: InteractionModelRevision = 1 - [1655898621.690909][2035:2040] CHIP:DMG: } - [1655898621.691073][2035:2040] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 633563801 - [1655898621.691154][2035:2040] CHIP:TOO: OnTime: 2 - [1655898621.691204][2035:2040] CHIP:DMG: MoveToState ReadClient[0xffff68006bc0]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + >>> onoff subscribe off-wait-time 10 500 1 1 --keepSubscriptions 1 + + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes + + + [1657454078.091825][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454078.091898][11635:11640] CHIP:DMG: { + [1657454078.091960][11635:11640] CHIP:DMG: SubscriptionId = 0x732d29f8, + [1657454078.092023][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454078.092100][11635:11640] CHIP:DMG: [ + [1657454078.092162][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454078.092252][11635:11640] CHIP:DMG: { + [1657454078.092323][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454078.092403][11635:11640] CHIP:DMG: { + [1657454078.092482][11635:11640] CHIP:DMG: DataVersion = 0x1979c3a, + [1657454078.092563][11635:11640] CHIP:DMG: AttributePathIB = + [1657454078.092648][11635:11640] CHIP:DMG: { + [1657454078.092812][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454078.092963][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454078.093065][11635:11640] CHIP:DMG: Attribute = 0x0000_4002, + [1657454078.093154][11635:11640] CHIP:DMG: } + [1657454078.093242][11635:11640] CHIP:DMG: + [1657454078.093335][11635:11640] CHIP:DMG: Data = 0, + [1657454078.093413][11635:11640] CHIP:DMG: }, + [1657454078.093496][11635:11640] CHIP:DMG: + [1657454078.093567][11635:11640] CHIP:DMG: }, + [1657454078.093647][11635:11640] CHIP:DMG: + [1657454078.093713][11635:11640] CHIP:DMG: ], + [1657454078.093789][11635:11640] CHIP:DMG: + [1657454078.093851][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454078.093910][11635:11640] CHIP:DMG: } + [1657454078.094121][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 26713146 + [1657454078.094201][11635:11640] CHIP:TOO: OffWaitTime: 0 + + onoff subscribe on-time 100 1000 1 1 --keepSubscriptions 1 + [1657454092.661838][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733172 from RetransTable on exchange 33668i + [1657454092.661961][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454092.662030][11635:11640] CHIP:DMG: { + [1657454092.662087][11635:11640] CHIP:DMG: SubscriptionId = 0x97955678, + [1657454092.662150][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454092.662226][11635:11640] CHIP:DMG: [ + [1657454092.662287][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454092.662367][11635:11640] CHIP:DMG: { + [1657454092.662432][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454092.662523][11635:11640] CHIP:DMG: { + [1657454092.662603][11635:11640] CHIP:DMG: DataVersion = 0x1979c3a, + [1657454092.662683][11635:11640] CHIP:DMG: AttributePathIB = + [1657454092.662765][11635:11640] CHIP:DMG: { + [1657454092.662842][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454092.662932][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454092.663012][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657454092.663094][11635:11640] CHIP:DMG: } + [1657454092.663181][11635:11640] CHIP:DMG: + [1657454092.663361][11635:11640] CHIP:DMG: Data = 1, + [1657454092.663488][11635:11640] CHIP:DMG: }, + [1657454092.663575][11635:11640] CHIP:DMG: + [1657454092.663644][11635:11640] CHIP:DMG: }, + [1657454092.663720][11635:11640] CHIP:DMG: + [1657454092.663780][11635:11640] CHIP:DMG: ], + [1657454092.663854][11635:11640] CHIP:DMG: + [1657454092.663915][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454092.663975][11635:11640] CHIP:DMG: } + [1657454092.664251][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713146 + [1657454092.664339][11635:11640] CHIP:TOO: OnTime: 1 + [1657454092.664427][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + + onoff write off-wait-time 3 1 1 + [1657454115.799139][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454115.799209][11635:11640] CHIP:DMG: { + [1657454115.799275][11635:11640] CHIP:DMG: SubscriptionId = 0x732d29f8, + [1657454115.799340][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454115.799459][11635:11640] CHIP:DMG: [ + [1657454115.799527][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454115.799624][11635:11640] CHIP:DMG: { + [1657454115.799696][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454115.799776][11635:11640] CHIP:DMG: { + [1657454115.799869][11635:11640] CHIP:DMG: DataVersion = 0x1979c3b, + [1657454115.799942][11635:11640] CHIP:DMG: AttributePathIB = + [1657454115.800038][11635:11640] CHIP:DMG: { + [1657454115.800132][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454115.800221][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454115.800309][11635:11640] CHIP:DMG: Attribute = 0x0000_4002, + [1657454115.800382][11635:11640] CHIP:DMG: } + [1657454115.800469][11635:11640] CHIP:DMG: + [1657454115.800548][11635:11640] CHIP:DMG: Data = 3, + [1657454115.800624][11635:11640] CHIP:DMG: }, + [1657454115.800699][11635:11640] CHIP:DMG: + [1657454115.800734][11635:11640] CHIP:DMG: }, + [1657454115.800766][11635:11640] CHIP:DMG: + [1657454115.800791][11635:11640] CHIP:DMG: ], + [1657454115.800835][11635:11640] CHIP:DMG: + [1657454115.800865][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454115.800890][11635:11640] CHIP:DMG: } + [1657454115.800987][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 26713147 + [1657454115.801027][11635:11640] CHIP:TOO: OffWaitTime: 3 + [1657454115.801076][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 525000 milliseconds with SubscriptionId = 0x732d29f8 Peer = 01:0000000000000001 + + onoff write on-time 2 1 1 + [1657454129.447088][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454129.447157][11635:11640] CHIP:DMG: { + [1657454129.447218][11635:11640] CHIP:DMG: SubscriptionId = 0x2dac2e56, + [1657454129.447281][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454129.447356][11635:11640] CHIP:DMG: [ + [1657454129.447461][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454129.447544][11635:11640] CHIP:DMG: { + [1657454129.447608][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454129.447686][11635:11640] CHIP:DMG: { + [1657454129.447765][11635:11640] CHIP:DMG: DataVersion = 0x1979c3c, + [1657454129.447845][11635:11640] CHIP:DMG: AttributePathIB = + [1657454129.447927][11635:11640] CHIP:DMG: { + [1657454129.448012][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454129.448109][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454129.448195][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657454129.448284][11635:11640] CHIP:DMG: } + [1657454129.448369][11635:11640] CHIP:DMG: + [1657454129.448456][11635:11640] CHIP:DMG: Data = 2, + [1657454129.448533][11635:11640] CHIP:DMG: }, + [1657454129.448615][11635:11640] CHIP:DMG: + [1657454129.448667][11635:11640] CHIP:DMG: }, + [1657454129.448702][11635:11640] CHIP:DMG: + [1657454129.448729][11635:11640] CHIP:DMG: ], + [1657454129.448764][11635:11640] CHIP:DMG: + [1657454129.448793][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454129.448821][11635:11640] CHIP:DMG: } + [1657454129.448923][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713148 + [1657454129.448965][11635:11640] CHIP:TOO: OnTime: 2 + [1657454129.449015][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 1025000 milliseconds with SubscriptionId = 0x2dac2e56 Peer = 01:0000000000000001 disabled: true - label: @@ -629,68 +859,160 @@ tests: to the DUT for another attribute with the KeepSubscriptions flag set to False. Change both the attribute values on the DUT." verification: | - sudo ./chip-tool onoff subscribe on-time 100 1000 1 1 --keepSubscriptions 1 - [1655898720.752290][1424:1424] CHIP:EM: Removed CHIP MessageCounter:242672799 from RetransTable on exchange 1309r - [1655898720.752333][1424:1424] CHIP:DMG: StatusResponseMessage = - [1655898720.752360][1424:1424] CHIP:DMG: { - [1655898720.752384][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655898720.752409][1424:1424] CHIP:DMG: InteractionModelRevision = 1 - [1655898720.752432][1424:1424] CHIP:DMG: } - [1655898720.752455][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655898720.752490][1424:1424] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - sudo ./chip-tool onoff subscribe off-wait-time 100 1000 1 1 --keepSubscriptions 0 - [1655898785.428573][1424:1424] CHIP:DMG: StatusResponseMessage = - [1655898785.428600][1424:1424] CHIP:DMG: { - [1655898785.428621][1424:1424] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655898785.428646][1424:1424] CHIP:DMG: InteractionModelRevision = 1 - [1655898785.428668][1424:1424] CHIP:DMG: } - [1655898785.428691][1424:1424] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655898785.428727][1424:1424] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - sudo ./chip-tool onoff write on-time 1 1 1 - [1655898874.614226][2072:2077] CHIP:DMG: StatusIB = - [1655898874.614267][2072:2077] CHIP:DMG: { - [1655898874.614307][2072:2077] CHIP:DMG: status = 0x00 (SUCCESS), - [1655898874.614349][2072:2077] CHIP:DMG: }, - - sudo ./chip-tool onoff write off-wait-time 2 1 1 - [1655899018.113489][2082:2087] CHIP:DMG: StatusIB = - [1655899018.113539][2082:2087] CHIP:DMG: { - [1655899018.113588][2082:2087] CHIP:DMG: status = 0x00 (SUCCESS), - [1655899018.113643][2082:2087] CHIP:DMG: }, - - sudo ./chip-tool onoff subscribe on-time 100 1000 1 1 - [1655899051.784907][2091:2096] CHIP:DMG: ReportDataMessage = - [1655899051.784952][2091:2096] CHIP:DMG: { - [1655899051.784992][2091:2096] CHIP:DMG: SubscriptionId = 0x68a034c4, - [1655899051.785032][2091:2096] CHIP:DMG: AttributeReportIBs = - [1655899051.785081][2091:2096] CHIP:DMG: [ - [1655899051.785122][2091:2096] CHIP:DMG: AttributeReportIB = - [1655899051.785174][2091:2096] CHIP:DMG: { - [1655899051.785216][2091:2096] CHIP:DMG: AttributeDataIB = - [1655899051.785266][2091:2096] CHIP:DMG: { - [1655899051.785317][2091:2096] CHIP:DMG: DataVersion = 0x25c36a9c, - [1655899051.785372][2091:2096] CHIP:DMG: AttributePathIB = - [1655899051.785425][2091:2096] CHIP:DMG: { - [1655899051.785479][2091:2096] CHIP:DMG: Endpoint = 0x1, - [1655899051.785541][2091:2096] CHIP:DMG: Cluster = 0x6, - [1655899051.785597][2091:2096] CHIP:DMG: Attribute = 0x0000_4001, - [1655899051.785649][2091:2096] CHIP:DMG: } - [1655899051.785704][2091:2096] CHIP:DMG: - [1655899051.785760][2091:2096] CHIP:DMG: Data = 1, - [1655899051.785809][2091:2096] CHIP:DMG: }, - [1655899051.785863][2091:2096] CHIP:DMG: - [1655899051.785905][2091:2096] CHIP:DMG: }, - [1655899051.786016][2091:2096] CHIP:DMG: - [1655899051.786058][2091:2096] CHIP:DMG: ], - [1655899051.786107][2091:2096] CHIP:DMG: - [1655899051.786147][2091:2096] CHIP:DMG: InteractionModelRevision = 1 - [1655899051.786185][2091:2096] CHIP:DMG: } - [1655899051.786376][2091:2096] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 633563804 - [1655899051.786468][2091:2096] CHIP:TOO: OnTime: 1 - [1655899051.786528][2091:2096] CHIP:DMG: MoveToState ReadClient[0xffff800080d0]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + + onoff subscribe on-time 10 100 1 1 --keepSubscriptions 1 + + Verify on TH , DUT is responds right attribute value for below command and then send write command to change the attribute value, verify the attribute value is modified or not for both attributes. Verify that the first subscription is terminated after the MaxInterval of the first subscription is reached. + + + 1657454443.310644][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454443.310712][11635:11640] CHIP:DMG: { + [1657454443.310773][11635:11640] CHIP:DMG: SubscriptionId = 0xae2db075, + [1657454443.310836][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454443.310913][11635:11640] CHIP:DMG: [ + [1657454443.310974][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454443.311054][11635:11640] CHIP:DMG: { + [1657454443.311118][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454443.311199][11635:11640] CHIP:DMG: { + [1657454443.311279][11635:11640] CHIP:DMG: DataVersion = 0x1979c3c, + [1657454443.311359][11635:11640] CHIP:DMG: AttributePathIB = + [1657454443.311510][11635:11640] CHIP:DMG: { + [1657454443.311590][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454443.311678][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454443.311757][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657454443.311838][11635:11640] CHIP:DMG: } + [1657454443.311924][11635:11640] CHIP:DMG: + [1657454443.312011][11635:11640] CHIP:DMG: Data = 2, + [1657454443.312086][11635:11640] CHIP:DMG: }, + [1657454443.312170][11635:11640] CHIP:DMG: + [1657454443.312233][11635:11640] CHIP:DMG: }, + [1657454443.312307][11635:11640] CHIP:DMG: + [1657454443.312366][11635:11640] CHIP:DMG: ], + [1657454443.312440][11635:11640] CHIP:DMG: + [1657454443.312503][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454443.312562][11635:11640] CHIP:DMG: } + [1657454443.312771][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713148 + [1657454443.312849][11635:11640] CHIP:TOO: OnTime: 2 + [1657454443.312936][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [AwaitingSu] + [1657454443.313046][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056014 on exchange: 33671i + [1657454443.313176][11635:11640] CHIP:IN: Prepared secure message 0xffff940093c8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 33671i with MessageCounter:190733183. + [1657454443.313263][11635:11640] CHIP:IN: Sending encrypted msg 0xffff940093c8 with MessageCounter:190733183 to 0x0000000000000001 (1) at monotonic time: 0000000000E7336D msec + [1657454443.315353][11635:11640] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:11056015 on exchange 33671i + [1657454443.315480][11635:11640] CHIP:EM: Found matching exchange: 33671i, Delegate: 0xffff94008c70 + [1657454443.315527][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733183 from Retrans Table on exchange 33671i + [1657454443.315557][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733183 from RetransTable on exchange 33671i + [1657454443.315618][11635:11640] CHIP:DMG: SubscribeResponseMessage = + [1657454443.315653][11635:11640] CHIP:DMG: { + [1657454443.315683][11635:11640] CHIP:DMG: SubscriptionId = 0xae2db075, + [1657454443.315716][11635:11640] CHIP:DMG: MaxInterval = 0x64, + [1657454443.315748][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454443.315777][11635:11640] CHIP:DMG: } + [1657454443.315811][11635:11640] CHIP:DMG: Subscription established with SubscriptionID = 0xae2db075 MinInterval = 10s MaxInterval = 100s Peer = 01:0000000000000001 + [1657454443.315846][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [Subscripti] + [1657454443.315898][11635: + + + onoff subscribe off-wait-time 100 1000 1 1 --keepSubscriptions 0 + [1657454614.583250][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733186 from RetransTable on exchange 33672i + [1657454614.583348][11635:11640] CHIP:DMG: ReportDataMessage = + [1657454614.583440][11635:11640] CHIP:DMG: { + [1657454614.583490][11635:11640] CHIP:DMG: SubscriptionId = 0x2871f0b, + [1657454614.583538][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657454614.583598][11635:11640] CHIP:DMG: [ + [1657454614.583645][11635:11640] CHIP:DMG: AttributeReportIB = + [1657454614.583717][11635:11640] CHIP:DMG: { + [1657454614.583766][11635:11640] CHIP:DMG: AttributeDataIB = + [1657454614.583824][11635:11640] CHIP:DMG: { + [1657454614.583886][11635:11640] CHIP:DMG: DataVersion = 0x1979c3c, + [1657454614.583945][11635:11640] CHIP:DMG: AttributePathIB = + [1657454614.584006][11635:11640] CHIP:DMG: { + [1657454614.584075][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657454614.584141][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657454614.584205][11635:11640] CHIP:DMG: Attribute = 0x0000_4002, + [1657454614.584267][11635:11640] CHIP:DMG: } + [1657454614.584330][11635:11640] CHIP:DMG: + [1657454614.584394][11635:11640] CHIP:DMG: Data = 3, + [1657454614.584446][11635:11640] CHIP:DMG: }, + [1657454614.584509][11635:11640] CHIP:DMG: + [1657454614.584557][11635:11640] CHIP:DMG: }, + [1657454614.584616][11635:11640] CHIP:DMG: + [1657454614.584661][11635:11640] CHIP:DMG: ], + [1657454614.584717][11635:11640] CHIP:DMG: + [1657454614.584763][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657454614.584807][11635:11640] CHIP:DMG: } + [1657454614.584967][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 26713148 + [1657454614.585029][11635:11640] CHIP:TOO: OffWaitTime: 3 + [1657454614.585094][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940092b0]: Moving to [AwaitingSu] + + onoff write on-time 1 1 1 + [1657455187.367198][11635:11640] CHIP:DMG: ReportDataMessage = + [1657455187.367281][11635:11640] CHIP:DMG: { + [1657455187.367324][11635:11640] CHIP:DMG: SubscriptionId = 0x50a6822b, + [1657455187.367363][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657455187.367443][11635:11640] CHIP:DMG: [ + [1657455187.367486][11635:11640] CHIP:DMG: AttributeReportIB = + [1657455187.367536][11635:11640] CHIP:DMG: { + [1657455187.367575][11635:11640] CHIP:DMG: AttributeDataIB = + [1657455187.367623][11635:11640] CHIP:DMG: { + [1657455187.367672][11635:11640] CHIP:DMG: DataVersion = 0x1979c45, + [1657455187.367721][11635:11640] CHIP:DMG: AttributePathIB = + [1657455187.367769][11635:11640] CHIP:DMG: { + [1657455187.367826][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657455187.367875][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657455187.367934][11635:11640] CHIP:DMG: Attribute = 0x0000_4001, + [1657455187.367985][11635:11640] CHIP:DMG: } + [1657455187.368042][11635:11640] CHIP:DMG: + [1657455187.368094][11635:11640] CHIP:DMG: Data = 1, + [1657455187.368137][11635:11640] CHIP:DMG: }, + [1657455187.368187][11635:11640] CHIP:DMG: + [1657455187.368226][11635:11640] CHIP:DMG: }, + [1657455187.368270][11635:11640] CHIP:DMG: + [1657455187.368306][11635:11640] CHIP:DMG: ], + [1657455187.368351][11635:11640] CHIP:DMG: + [1657455187.368389][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657455187.368425][11635:11640] CHIP:DMG: } + [1657455187.368558][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 26713157 + [1657455187.368613][11635:11640] CHIP:TOO: OnTime: 1 + [1657455187.368680][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x50a6822b Peer = 01:0000000000000001 + + sudo ./chip-tool onoff write off-wait-time 1 1 1 + [1657455253.788543][11635:11640] CHIP:EM: Handling via exchange: 8557r, Delegate: 0xaaaacf201a78 + [1657455253.788629][11635:11640] CHIP:DMG: ReportDataMessage = + [1657455253.788660][11635:11640] CHIP:DMG: { + [1657455253.788687][11635:11640] CHIP:DMG: SubscriptionId = 0x46a2e304, + [1657455253.788714][11635:11640] CHIP:DMG: AttributeReportIBs = + [1657455253.788750][11635:11640] CHIP:DMG: [ + [1657455253.788776][11635:11640] CHIP:DMG: AttributeReportIB = + [1657455253.788812][11635:11640] CHIP:DMG: { + [1657455253.788836][11635:11640] CHIP:DMG: AttributeDataIB = + [1657455253.788873][11635:11640] CHIP:DMG: { + [1657455253.788900][11635:11640] CHIP:DMG: DataVersion = 0x1979c46, + [1657455253.788928][11635:11640] CHIP:DMG: AttributePathIB = + [1657455253.788966][11635:11640] CHIP:DMG: { + [1657455253.788999][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657455253.789037][11635:11640] CHIP:DMG: Cluster = 0x6, + [1657455253.789072][11635:11640] CHIP:DMG: Attribute = 0x0000_4002, + [1657455253.789106][11635:11640] CHIP:DMG: } + [1657455253.789143][11635:11640] CHIP:DMG: + [1657455253.789182][11635:11640] CHIP:DMG: Data = 1, + [1657455253.789214][11635:11640] CHIP:DMG: }, + [1657455253.789247][11635:11640] CHIP:DMG: + [1657455253.789276][11635:11640] CHIP:DMG: }, + [1657455253.789309][11635:11640] CHIP:DMG: + [1657455253.789333][11635:11640] CHIP:DMG: ], + [1657455253.789364][11635:11640] CHIP:DMG: + [1657455253.789389][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657455253.789416][11635:11640] CHIP:DMG: } + [1657455253.789511][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 26713158 + [1657455253.789553][11635:11640] CHIP:TOO: OffWaitTime: 1 + [1657455253.789602][11635:11640] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x46a2e304 Peer = 01:0000000000000001 + [1657455253.789661][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056054 on exchange: 8557r + [1657455253.789731][11635:11640] CHIP:IN: Prepared secure message 0xffff940035e8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 8557r with MessageCounter:190733231. + [1657455253.789772][11635:11640] CHIP:IN: Sending encrypted msg 0xffff940035e8 with MessageCounter:190733231 to 0x0000000000000001 (1) at monotonic time: + + Verify that the first subscription is terminated after the MaxInterval of the first subscription is reached. disabled: true - label: @@ -699,7 +1021,7 @@ tests: Change the value of the attribute and trigger an action on the DUT to trigger any event.' verification: | - https://github.com/CHIP-Specifications/chip-test-plans/issues/1373 + https://github.com/project-chip/connectedhomeip/issues/20479 disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml index a36e9693e2818a..7ec4ee63f413b7 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_5_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.7.1. [TC-IDM-5.1] Timed Request Action from DUT to TH [DUT - Client] +name: 3.5.1. [TC-IDM-5.1] Timed Request Action from DUT to TH. [{DUT_Client}] config: nodeId: 0x12344321 @@ -27,10 +27,10 @@ tests: from the TH. The Timed Request Message should contain a timeout value in milliseconds. (Example - 200 milliseconds)" verification: | - Chip-tool as controller , here is the example command you can use + In the case of chip tool as a client, here is an example command the client can send invoke request to the TH ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 200 - Verify the DUT sent the invoke message to the TH after the specified timeout value for above command + Verify that the DUT sent the invoke message to the TH after the specified timeout value for above command on the TH (reference all cluster app) you should see [1655797318.624018][7331:7331] CHIP:EM: Handling via exchange: 28067r, Delegate: 0xaaaad9aed418 @@ -67,49 +67,6 @@ tests: [1655797318.627383][7331:7331] CHIP:DMG: InteractionModelRevision = 1 [1655797318.627406][7331:7331] CHIP:DMG: }, [1655797318.627467][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o - - - - TH receives InvokeResponseMessage from DUT - - [1655797318.637938][6989:6994] CHIP:DMG: InvokeResponseMessage = - [1655797318.637973][6989:6994] CHIP:DMG: { - [1655797318.638007][6989:6994] CHIP:DMG: suppressResponse = false, - [1655797318.638043][6989:6994] CHIP:DMG: InvokeResponseIBs = - [1655797318.638088][6989:6994] CHIP:DMG: [ - [1655797318.638123][6989:6994] CHIP:DMG: InvokeResponseIB = - [1655797318.638169][6989:6994] CHIP:DMG: { - [1655797318.638207][6989:6994] CHIP:DMG: CommandStatusIB = - [1655797318.638330][6989:6994] CHIP:DMG: { - [1655797318.638377][6989:6994] CHIP:DMG: CommandPathIB = - [1655797318.638429][6989:6994] CHIP:DMG: { - [1655797318.638479][6989:6994] CHIP:DMG: EndpointId = 0x1, - [1655797318.638530][6989:6994] CHIP:DMG: ClusterId = 0x6, - [1655797318.638581][6989:6994] CHIP:DMG: CommandId = 0x1, - [1655797318.638628][6989:6994] CHIP:DMG: }, - [1655797318.638681][6989:6994] CHIP:DMG: - [1655797318.638724][6989:6994] CHIP:DMG: StatusIB = - [1655797318.638773][6989:6994] CHIP:DMG: { - [1655797318.638822][6989:6994] CHIP:DMG: status = 0x00 (SUCCESS), - [1655797318.638869][6989:6994] CHIP:DMG: }, - [1655797318.638917][6989:6994] CHIP:DMG: - [1655797318.638961][6989:6994] CHIP:DMG: }, - [1655797318.639009][6989:6994] CHIP:DMG: - [1655797318.639048][6989:6994] CHIP:DMG: }, - [1655797318.639092][6989:6994] CHIP:DMG: - [1655797318.639126][6989:6994] CHIP:DMG: ], - [1655797318.639169][6989:6994] CHIP:DMG: - [1655797318.639204][6989:6994] CHIP:DMG: InteractionModelRevision = 1 - [1655797318.639238][6989:6994] CHIP:DMG: }, - [1655797318.639316][6989:6994] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 - [1655797318.639375][6989:6994] CHIP:DMG: ICR moving to [AwaitingDe] - - [1655797318.632282][6989:6994] CHIP:DMG: StatusResponseMessage = - [1655797318.632321][6989:6994] CHIP:DMG: { - [1655797318.632357][6989:6994] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655797318.632394][6989:6994] CHIP:DMG: InteractionModelRevision = 1 - [1655797318.632429][6989:6994] CHIP:DMG: } - [1655797318.632465][6989:6994] CHIP:IM: Received status response, status is 0x00 (SUCCESS) disabled: true - label: @@ -118,82 +75,49 @@ tests: message from the TH. The Timed Request Message should contain a timeout value in milliseconds. (Example - 200 milliseconds)" verification: | - Chip-tool as controller , here is the example command to write an attribute you can use - ./chip-tool levelcontrol write on-level 1 1 1 --timedInteractionTimeoutMs 200 - - on the TH (reference all cluster app) you should see - [1655797580.941429][7331:7331] CHIP:DMG: TimedRequestMessage = - [1655797580.941479][7331:7331] CHIP:DMG: { - [1655797580.941561][7331:7331] CHIP:DMG: TimeoutMs = 0xc8, - [1655797580.941609][7331:7331] CHIP:DMG: InteractionModelRevision = 1 - [1655797580.941652][7331:7331] CHIP:DMG: } - [1655797580.941700][7331:7331] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaaaf9f94b20 exchange 47847r - - [1655797580.943440][7331:7331] CHIP:DMG: Handing timed write to IM engine: handler 0xaaaaf9f94b20 exchange 47847r - [1655797580.943482][7331:7331] CHIP:IM: Received Write request - [1655797580.943519][7331:7331] CHIP:DMG: IM WH moving to [Initialized] - [1655797580.943594][7331:7331] CHIP:DMG: WriteRequestMessage = - [1655797580.943641][7331:7331] CHIP:DMG: { - [1655797580.943684][7331:7331] CHIP:DMG: suppressResponse = false, - [1655797580.943733][7331:7331] CHIP:DMG: timedRequest = true, - [1655797580.943779][7331:7331] CHIP:DMG: AttributeDataIBs = - [1655797580.943941][7331:7331] CHIP:DMG: [ - [1655797580.943990][7331:7331] CHIP:DMG: AttributeDataIB = - [1655797580.944045][7331:7331] CHIP:DMG: { - [1655797580.944093][7331:7331] CHIP:DMG: AttributePathIB = - [1655797580.944150][7331:7331] CHIP:DMG: { - [1655797580.944211][7331:7331] CHIP:DMG: Endpoint = 0x1, - [1655797580.944274][7331:7331] CHIP:DMG: Cluster = 0x8, - [1655797580.944335][7331:7331] CHIP:DMG: Attribute = 0x0000_0011, - [1655797580.944392][7331:7331] CHIP:DMG: } - [1655797580.944452][7331:7331] CHIP:DMG: - [1655797580.944513][7331:7331] CHIP:DMG: Data = 1, - [1655797580.944567][7331:7331] CHIP:DMG: }, - [1655797580.944623][7331:7331] CHIP:DMG: - [1655797580.944667][7331:7331] CHIP:DMG: ], - [1655797580.944721][7331:7331] CHIP:DMG: - [1655797580.944766][7331:7331] CHIP:DMG: moreChunkedMessages = false, - [1655797580.944813][7331:7331] CHIP:DMG: InteractionModelRevision = 1 - [1655797580.944855][7331:7331] CHIP:DMG: }, - [1655797580.944986][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0008 e=1 p=o - - - On DUT--- - [1655797580.953617][7000:7005] CHIP:DMG: WriteClient moving to [ResponseRe] - [1655797580.953672][7000:7005] CHIP:DMG: WriteResponseMessage = - [1655797580.953707][7000:7005] CHIP:DMG: { - [1655797580.953738][7000:7005] CHIP:DMG: AttributeStatusIBs = - [1655797580.953782][7000:7005] CHIP:DMG: [ - [1655797580.953817][7000:7005] CHIP:DMG: AttributeStatusIB = - [1655797580.953856][7000:7005] CHIP:DMG: { - [1655797580.953893][7000:7005] CHIP:DMG: AttributePathIB = - [1655797580.953938][7000:7005] CHIP:DMG: { - [1655797580.953983][7000:7005] CHIP:DMG: Endpoint = 0x1, - [1655797580.954032][7000:7005] CHIP:DMG: Cluster = 0x8, - [1655797580.954079][7000:7005] CHIP:DMG: Attribute = 0x0000_0011, - [1655797580.954128][7000:7005] CHIP:DMG: } - [1655797580.954177][7000:7005] CHIP:DMG: - [1655797580.954220][7000:7005] CHIP:DMG: StatusIB = - [1655797580.954263][7000:7005] CHIP:DMG: { - [1655797580.954306][7000:7005] CHIP:DMG: status = 0x00 (SUCCESS), - [1655797580.954351][7000:7005] CHIP:DMG: }, - [1655797580.954394][7000:7005] CHIP:DMG: - [1655797580.954431][7000:7005] CHIP:DMG: }, - [1655797580.954473][7000:7005] CHIP:DMG: - [1655797580.954507][7000:7005] CHIP:DMG: ], - [1655797580.954554][7000:7005] CHIP:DMG: - [1655797580.954589][7000:7005] CHIP:DMG: InteractionModelRevision = 1 - [1655797580.954623][7000:7005] CHIP:DMG: } - [1655797580.954714][7000:7005] CHIP:DMG: WriteClient moving to [AwaitingDe] - - - [1655797580.950146][7000:7005] CHIP:EM: Removed CHIP MessageCounter:266490918 from RetransTable on exchange 47847i - [1655797580.950211][7000:7005] CHIP:DMG: StatusResponseMessage = - [1655797580.950251][7000:7005] CHIP:DMG: { - [1655797580.950287][7000:7005] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655797580.950324][7000:7005] CHIP:DMG: InteractionModelRevision = 1 - [1655797580.950357][7000:7005] CHIP:DMG: } - [1655797580.950393][7000:7005] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + Chip-tool as controller , here is the example command you can use + ./chip-tool onoff write on-time 2 1 1 --timedInteractionTimeoutMs 200 + + Verify that the DUT sent the writerequest message to the TH after the specified timeout value for above command + + + [1657459639.597900][11525:11525] CHIP:EM: Handling via exchange: 17116r, Delegate: 0xaaaae00c1430 + [1657459639.598014][11525:11525] CHIP:DMG: TimedRequestMessage = + [1657459639.598055][11525:11525] CHIP:DMG: { + [1657459639.598091][11525:11525] CHIP:DMG: TimeoutMs = 0xc8, + [1657459639.598147][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657459639.598174][11525:11525] CHIP:DMG: } + [1657459639.598204][11525:11525] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaab1651bac0 exchange 17116r + [1657459639.598282][11525:11525] CHIP:EM: Piggybacking Ack for MessageCounter:161619532 on exchange: 17116r + + [1657459639.599816][11525:11525] CHIP:IM: Received Write request + [1657459639.599844][11525:11525] CHIP:DMG: IM WH moving to [Initialized] + [1657459639.599908][11525:11525] CHIP:DMG: WriteRequestMessage = + [1657459639.599942][11525:11525] CHIP:DMG: { + [1657459639.599973][11525:11525] CHIP:DMG: suppressResponse = false, + [1657459639.600009][11525:11525] CHIP:DMG: timedRequest = true, + [1657459639.600041][11525:11525] CHIP:DMG: AttributeDataIBs = + [1657459639.600081][11525:11525] CHIP:DMG: [ + [1657459639.600114][11525:11525] CHIP:DMG: AttributeDataIB = + [1657459639.600151][11525:11525] CHIP:DMG: { + [1657459639.600185][11525:11525] CHIP:DMG: AttributePathIB = + [1657459639.600231][11525:11525] CHIP:DMG: { + [1657459639.600273][11525:11525] CHIP:DMG: Endpoint = 0x1, + [1657459639.600323][11525:11525] CHIP:DMG: Cluster = 0x6, + [1657459639.600368][11525:11525] CHIP:DMG: Attribute = 0x0000_4001, + [1657459639.600409][11525:11525] CHIP:DMG: } + [1657459639.600452][11525:11525] CHIP:DMG: + [1657459639.600497][11525:11525] CHIP:DMG: Data = 2, + [1657459639.600535][11525:11525] CHIP:DMG: }, + [1657459639.600578][11525:11525] CHIP:DMG: + [1657459639.600610][11525:11525] CHIP:DMG: ], + [1657459639.600648][11525:11525] CHIP:DMG: + [1657459639.600681][11525:11525] CHIP:DMG: moreChunkedMessages = false, + [1657459639.600715][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657459639.600746][11525:11525] CHIP:DMG: }, + [1657459639.600842][11525:11525] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o + [1657459639.600888][11525:11525] CHIP:DMG: AccessControl: allowed + [1657459639.600936][11525:11525] CHIP:DMG: Endpoint 1, Cluster 0x0000_0006 update version to 1979c48 disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml index 64c7fb3d6c2871..f9f13d4e61af05 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_5_2.yaml @@ -13,7 +13,9 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.7.2. [TC-IDM-5.2] Timed Request Action TH to DUT +name: + 3.5.2. [TC-IDM-5.2] Status Response from DUT in response to a Timed Request + Action from TH. config: nodeId: 0x12344321 @@ -25,84 +27,17 @@ tests: "TH sends a Timed Request Message with the timeout value set. (Example - 200 milliseconds)." verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 200 - On TH - [1655798564.111773][7331:7331] CHIP:DMG: TimedRequestMessage = - [1655798564.111822][7331:7331] CHIP:DMG: { - [1655798564.111866][7331:7331] CHIP:DMG: TimeoutMs = 0xc8, - [1655798564.111912][7331:7331] CHIP:DMG: InteractionModelRevision = 1 - [1655798564.111955][7331:7331] CHIP:DMG: } - [1655798564.112003][7331:7331] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaaaf9f93e70 exchange 20627r - - [1655798564.113754][7331:7331] CHIP:DMG: InvokeRequestMessage = - [1655798564.113800][7331:7331] CHIP:DMG: { - [1655798564.113842][7331:7331] CHIP:DMG: suppressResponse = false, - [1655798564.113892][7331:7331] CHIP:DMG: timedRequest = true, - [1655798564.113937][7331:7331] CHIP:DMG: InvokeRequests = - [1655798564.113993][7331:7331] CHIP:DMG: [ - [1655798564.114038][7331:7331] CHIP:DMG: CommandDataIB = - [1655798564.114093][7331:7331] CHIP:DMG: { - [1655798564.114141][7331:7331] CHIP:DMG: CommandPathIB = - [1655798564.114197][7331:7331] CHIP:DMG: { - [1655798564.114259][7331:7331] CHIP:DMG: EndpointId = 0x1, - [1655798564.114323][7331:7331] CHIP:DMG: ClusterId = 0x6, - [1655798564.114387][7331:7331] CHIP:DMG: CommandId = 0x1, - [1655798564.114446][7331:7331] CHIP:DMG: }, - [1655798564.114506][7331:7331] CHIP:DMG: - [1655798564.114558][7331:7331] CHIP:DMG: CommandFields = - [1655798564.114621][7331:7331] CHIP:DMG: { - [1655798564.114677][7331:7331] CHIP:DMG: }, - [1655798564.114731][7331:7331] CHIP:DMG: }, - [1655798564.114785][7331:7331] CHIP:DMG: - [1655798564.114829][7331:7331] CHIP:DMG: ], - [1655798564.114883][7331:7331] CHIP:DMG: - [1655798564.114927][7331:7331] CHIP:DMG: InteractionModelRevision = 1 - [1655798564.114961][7331:7331] CHIP:DMG: }, - [1655798564.115025][7331:7331] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o - - - - On DUT + Verify on TH receives the StatusResponseMessage for the data sent in the above command + [1655798564.112839][7055:7060] CHIP:DMG: StatusResponseMessage = [1655798564.112870][7055:7060] CHIP:DMG: { [1655798564.112898][7055:7060] CHIP:DMG: Status = 0x00 (SUCCESS), [1655798564.112927][7055:7060] CHIP:DMG: InteractionModelRevision = 1 [1655798564.112954][7055:7060] CHIP:DMG: } [1655798564.112983][7055:7060] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - - - [1655798564.116059][7055:7060] CHIP:DMG: InvokeResponseMessage = - [1655798564.116095][7055:7060] CHIP:DMG: { - [1655798564.116130][7055:7060] CHIP:DMG: suppressResponse = false, - [1655798564.116188][7055:7060] CHIP:DMG: InvokeResponseIBs = - [1655798564.116234][7055:7060] CHIP:DMG: [ - [1655798564.116270][7055:7060] CHIP:DMG: InvokeResponseIB = - [1655798564.116322][7055:7060] CHIP:DMG: { - [1655798564.116361][7055:7060] CHIP:DMG: CommandStatusIB = - [1655798564.116406][7055:7060] CHIP:DMG: { - [1655798564.116446][7055:7060] CHIP:DMG: CommandPathIB = - [1655798564.116493][7055:7060] CHIP:DMG: { - [1655798564.116547][7055:7060] CHIP:DMG: EndpointId = 0x1, - [1655798564.116600][7055:7060] CHIP:DMG: ClusterId = 0x6, - [1655798564.116655][7055:7060] CHIP:DMG: CommandId = 0x1, - [1655798564.116707][7055:7060] CHIP:DMG: }, - [1655798564.116761][7055:7060] CHIP:DMG: - [1655798564.116801][7055:7060] CHIP:DMG: StatusIB = - [1655798564.116851][7055:7060] CHIP:DMG: { - [1655798564.116895][7055:7060] CHIP:DMG: status = 0x00 (SUCCESS), - [1655798564.116943][7055:7060] CHIP:DMG: }, - [1655798564.116987][7055:7060] CHIP:DMG: - [1655798564.117030][7055:7060] CHIP:DMG: }, - [1655798564.117079][7055:7060] CHIP:DMG: - [1655798564.117119][7055:7060] CHIP:DMG: }, - [1655798564.117162][7055:7060] CHIP:DMG: - [1655798564.117197][7055:7060] CHIP:DMG: ], - [1655798564.117241][7055:7060] CHIP:DMG: - [1655798564.117271][7055:7060] CHIP:DMG: InteractionModelRevision = 1 - [1655798564.117306][7055:7060] CHIP:DMG: }, - [1655798564.117386][7055:7060] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x0 - [1655798564.117446][7055:7060] CHIP:DMG: ICR moving to [AwaitingDe] disabled: true - label: @@ -111,15 +46,11 @@ tests: response message to be received. Send the Write Request Message to the DUT." verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool levelcontrol write on-level 1 1 1 --timedInteractionTimeoutMs 500 - On TH - [1655798786.127953][7331:7331] CHIP:EM: Handling via exchange: 38682r, Delegate: 0xaaaad9aed418 - [1655798786.128052][7331:7331] CHIP:DMG: TimedRequestMessage = - [1655798786.128103][7331:7331] CHIP:DMG: { - [1655798786.128147][7331:7331] CHIP:DMG: TimeoutMs = 0x1f4, - [1655798786.128194][7331:7331] CHIP:DMG: InteractionModelRevision = 1 - [1655798786.128237][7331:7331] CHIP:DMG: } - [1655798786.128282][7331:7331] CHIP:DMG: Got Timed Request with timeout 500: handler 0xaaaaf9f6ecd0 exchange 38682r + + Verify on TH receives the WriteResponseMessage for the data sent in the above command [1655798786.131890][7065:7070] CHIP:DMG: WriteResponseMessage = [1655798786.131932][7065:7070] CHIP:DMG: { @@ -149,20 +80,6 @@ tests: By sending a ReadRequest that the Write action was performed correctly. - ./chip-tool levelcontrol write on-level 1 1 1 - [1652945083.826161][34821:34826] CHIP:DMG: AttributePathIB = - [1652945083.826181][34821:34826] CHIP:DMG: { - [1652945083.826196][34821:34826] CHIP:DMG: Endpoint = 0x1, - [1652945083.826216][34821:34826] CHIP:DMG: Cluster = 0x8, - [1652945083.826233][34821:34826] CHIP:DMG: Attribute = 0x0000_0011, - [1652945083.826256][34821:34826] CHIP:DMG: } - [1652945083.826281][34821:34826] CHIP:DMG: - [1652945083.826297][34821:34826] CHIP:DMG: StatusIB = - [1652945083.826315][34821:34826] CHIP:DMG: { - [1652945083.826330][34821:34826] CHIP:DMG: status = 0x00 (SUCCESS), - [1652945083.826347][34821:34826] CHIP:DMG: }, - - ./chip-tool levelcontrol read on-level 1 1 [1655799013.466144][7075:7080] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 737039642 [1655799013.466237][7075:7080] CHIP:TOO: on level: 1 @@ -175,11 +92,11 @@ tests: response message to be received. Wait for 5 seconds(Timer has expired) and then send the Invoke Request Message to the DUT." verification: | - here is the example command you can use + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool onoff on 1 1 --repeat-delay-ms 5000 --timedInteractionTimeoutMs 200 - Verify we are getting status response and UNSUPPORTED_ACCESS from TH to DUT for above command + On TH, Verify we are getting status response and UNSUPPORTED_ACCESS from DUT to TH for above command [1649686333.696111][3252:3257] CHIP:DMG: StatusResponseMessage = [1649686333.696178][3252:3257] CHIP:DMG: { @@ -203,18 +120,6 @@ tests: [1649686333.699528][3252:3257] CHIP:DMG: } [1649686333.699585][3252:3257] CHIP:IM: Received status response, status is 0x7e (UNSUPPORTED_ACCESS) [1649686333.699661][3252:3257] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) - - - On DUT-- - - [1653567025.194641][29848:29848] CHIP:EM: Handling via exchange: 9429r, Delegate: 0xaaaac09d1548 - [1653567025.194740][29848:29848] CHIP:DMG: TimedRequestMessage = - [1653567025.194789][29848:29848] CHIP:DMG: { - [1653567025.194832][29848:29848] CHIP:DMG: TimeoutMs = 0xc8, - [1653567025.194876][29848:29848] CHIP:DMG: InteractionModelRevision = 1 - [1653567025.194918][29848:29848] CHIP:DMG: } - [1653567025.194965][29848:29848] CHIP:DMG: Got Timed Request with timeout 200: handler 0xaaaaf627ce40 exchange 9429r - [1653567025.195037][29848:29848] CHIP:EM: Piggybacking Ack for MessageCounter:15941998 on exchange: 9429r disabled: true - label: @@ -223,8 +128,12 @@ tests: response message to be received. Wait for 5 seconds(Timer has expired) and then send the Write Request Message to the DUT." verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. + ./chip-tool modeselect write on-mode 0 1 1 --repeat-delay-ms 1000 --timedInteractionTimeoutMs 500 + On TH, Verify we are getting status response and UNSUPPORTED_ACCESS from DUT to TH for above command + [1654771611.106067][28715:28720] CHIP:DMG: WriteClient moving to [ResponseRe] [1654771611.106112][28715:28720] CHIP:DMG: StatusResponseMessage = [1654771611.106140][28715:28720] CHIP:DMG: { diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml index c77bf818340bfa..dabd2edd4d8ee9 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_1.yaml @@ -13,8 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: - 21.6.1. [TC-IDM-6.1] Events Read Interaction from TH to DUT. [{DUT_Server}] +name: 3.6.1. [TC-IDM-6.1] Events Read Interaction from TH to DUT. [{DUT_Server}] config: nodeId: 0x12344321 @@ -32,6 +31,8 @@ tests: sudo ./chip-tool basic read-event start-up 1 0 + On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. + [1653051591.078855][11664:11669] CHIP:DMG: ReportDataMessage = [1653051591.078885][11664:11669] CHIP:DMG: { [1653051591.078902][11664:11669] CHIP:DMG: EventReportIBs = @@ -81,7 +82,7 @@ tests: In case of chip tool, here is an example command to use ./chip-tool any read-event-by-id 0x0028 0x0FFFFFFFF 1 0 - + On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. [1652420332.235228][6031:6036] CHIP:DMG: ReportDataMessage = [1652420332.235259][6031:6036] CHIP:DMG: { [1652420332.235283][6031:6036] CHIP:DMG: EventReportIBs = @@ -131,6 +132,8 @@ tests: In case of chip tool, here is an example command to use ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0 + + On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. [1651584987.671229][2932:2937] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 [1651584987.671263][2932:2937] CHIP:TOO: Event number: 0 [1651584987.671294][2932:2937] CHIP:TOO: Priority: Critical @@ -175,6 +178,8 @@ tests: sudo ./chip-tool basic read-event start-up 1 0xFFFF + On TH, verify DUT sends Report Data Message with the data for specific event in Read Request Message. + [1653051642.744722][11676:11681] CHIP:DMG: ReportDataMessage = [1653051642.744736][11676:11681] CHIP:DMG: { [1653051642.744745][11676:11681] CHIP:DMG: EventReportIBs = @@ -224,6 +229,8 @@ tests: In case of chip tool, here is an example command to use sudo ./chip-tool basic read-event-by-id 0xFFFFFFFF 1 0xFFFF + On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. + [1653051699.893049][11691:11696] CHIP:DMG: ReportDataMessage = [1653051699.893068][11691:11696] CHIP:DMG: { [1653051699.893079][11691:11696] CHIP:DMG: EventReportIBs = @@ -273,7 +280,7 @@ tests: In case of chip tool, here is an example command to use sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF - + On TH verify DUT sends Report Data Message with the data for specific event in Read Request Message. [1653051769.144914][11706:11711] CHIP:DMG: ReportDataMessage = [1653051769.144939][11706:11711] CHIP:DMG: { [1653051769.144954][11706:11711] CHIP:DMG: EventReportIBs = @@ -410,8 +417,13 @@ tests: verification: | In case of chip tool, here is an example command to use + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 ./chip-tool any read-event-by-id 0x28 0 1 0 + + verify DUT is responsds with UNSUPPORTED_ACCESS for the data sent in the above command + [1653054249.514825][12265:12270] CHIP:DMG: ReportDataMessage = [1653054249.514833][12265:12270] CHIP:DMG: { [1653054249.514840][12265:12270] CHIP:DMG: EventReportIBs = @@ -448,8 +460,14 @@ tests: Wildcard path where reading an event in the path requires a privilege that is not granted for the cluster in the path." verification: | + In case of chip tool, here is an example command to use + + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + On TH verify DUT sends Report Data Message with no entry for that event in EventReports list. + [1653054297.608259][12300:12305] CHIP:DMG: ReportDataMessage = [1653054297.608278][12300:12305] CHIP:DMG: { [1653054297.608292][12300:12305] CHIP:DMG: SuppressResponse = true, @@ -464,7 +482,13 @@ tests: EventMin field set to a number less than what was received in the previous step." verification: | + here is the example command you can use + sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + + + On TH verify that the DUT sends Report Data Message with EventReports + [1655986008.400642][4813:4818] CHIP:DMG: } [1655986008.400859][4813:4818] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 [1655986008.400893][4813:4818] CHIP:TOO: Event number: 0 @@ -494,6 +518,9 @@ tests: [1655986008.402045][4813:4818] CHIP:EM: Sending Standalone Ack for MessageCounter:51662085 on exchange 4386i sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF --event-min 0 + + On TH verify that the DUT sends Report Data Message with EventReports for event numbers higher than the EventMin field. + [1655986113.735628][4843:4848] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 [1655986113.735661][4843:4848] CHIP:TOO: Event number: 0 [1655986113.735690][4843:4848] CHIP:TOO: Priority: Critical @@ -529,9 +556,11 @@ tests: EventMin field set to a number much greater than what was received in the previous step." verification: | - sudo ./chip-tool basic read-event start-up 1 0 --event-min 131073 + In case of chip tool, here is an example command to use + sudo ./chip-tool basic read-event start-up 1 0 --event-min 131073 + On TH verify that the DUT sends Report Data Message with empty EventReports [1650622225.700153][3069:3074] CHIP:DMG: ReportDataMessage = [1650622225.700193][3069:3074] CHIP:DMG: { [1650622225.700227][3069:3074] CHIP:DMG: SuppressResponse = true, @@ -545,7 +574,9 @@ tests: event data. For every chunked data message received, DUT sends a status response." verification: | - tried in doorlock app,I Sent wildcard read-event command from TH to DUT to verify this test-step, + tried in doorlock app, Sent wildcard read-event command from TH to DUT to verify this test-step, + On TH verify that The last chunked message should not receive any status response from the DUT. + ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF The message flow I would expect here is: TH -> DUT ReadRequest diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml index 85fb5c9dda0c47..e1b9e4470d4853 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_2.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 21.6.2. [TC-IDM-6.2] Events Subscribe Interaction from TH to DUT. + 3.6.2. [TC-IDM-6.2] Events Subscribe Interaction from TH to DUT. [{DUT_Server}] config: @@ -29,63 +29,53 @@ tests: specific node that is, [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Specific]." verification: | - In case of chip tool, here is an example command to use - - sudo ./chip-tool basic subscribe-event start-up 20 100 1 0 - on TH - [1655977276.638991][4311:4316] CHIP:DMG: ReportDataMessage = - [1655977276.639038][4311:4316] CHIP:DMG: { - [1655977276.639092][4311:4316] CHIP:DMG: SubscriptionId = 0x64e994d3, - [1655977276.639135][4311:4316] CHIP:DMG: EventReportIBs = - [1655977276.639201][4311:4316] CHIP:DMG: [ - [1655977276.639243][4311:4316] CHIP:DMG: EventReportIB = - [1655977276.639316][4311:4316] CHIP:DMG: { - [1655977276.639360][4311:4316] CHIP:DMG: EventDataIB = - [1655977276.639425][4311:4316] CHIP:DMG: { - [1655977276.639486][4311:4316] CHIP:DMG: EventPath = - [1655977276.639542][4311:4316] CHIP:DMG: { - [1655977276.639613][4311:4316] CHIP:DMG: Endpoint = 0x0, - [1655977276.639684][4311:4316] CHIP:DMG: Cluster = 0x28, - [1655977276.639741][4311:4316] CHIP:DMG: Event = 0x0, - [1655977276.639810][4311:4316] CHIP:DMG: }, - [1655977276.639880][4311:4316] CHIP:DMG: - [1655977276.639933][4311:4316] CHIP:DMG: EventNumber = 0x0, - [1655977276.640009][4311:4316] CHIP:DMG: PriorityLevel = 0x2, - [1655977276.640078][4311:4316] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655977276.640131][4311:4316] CHIP:DMG: EventData = - [1655977276.640198][4311:4316] CHIP:DMG: { - [1655977276.640298][4311:4316] CHIP:DMG: 0x0 = 1, - [1655977276.640368][4311:4316] CHIP:DMG: }, - [1655977276.640419][4311:4316] CHIP:DMG: }, - [1655977276.640490][4311:4316] CHIP:DMG: - [1655977276.640532][4311:4316] CHIP:DMG: }, - [1655977276.640597][4311:4316] CHIP:DMG: - [1655977276.640636][4311:4316] CHIP:DMG: ], - [1655977276.640702][4311:4316] CHIP:DMG: - [1655977276.640757][4311:4316] CHIP:DMG: InteractionModelRevision = 1 - [1655977276.640797][4311:4316] CHIP:DMG: } - [1655977276.641042][4311:4316] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655977276.641086][4311:4316] CHIP:TOO: Event number: 0 - [1655977276.641122][4311:4316] CHIP:TOO: Priority: Critical - [1655977276.641158][4311:4316] CHIP:TOO: Timestamp: 4896714 - [1655977276.641276][4311:4316] CHIP:TOO: StartUp: { - [1655977276.641344][4311:4316] CHIP:TOO: SoftwareVersion: 1 - [1655977276.641385][4311:4316] CHIP:TOO: } - [1655977276.641461][4311:4316] CHIP:DMG: MoveToState ReadClient[0xffff9c006f50]: Moving to [AwaitingSu] - [1655977276.641553][4311:4316] CHIP:EM: Piggybacking Ack for MessageCounter:264495416 on exchange: 5419i - [1655977276.641656][4311:4316] CHIP:IN: Prepared secure message 0xaaaac9574fd8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 5419i with MessageCounter:38634004. - [1655977276.641716][4311:4316] CHIP:IN: Sending encrypted msg 0xaaaac9574fd8 with MessageCounter:38634004 to 0x0000000000000001 (1) at monotonic time: 0000000000FA0882 msec - [1655977276.642731][4311:4316] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:264495417 on exchange 5419i - [1655977276.642784][4311:4316] CHIP:EM: Found matching exchange: 5419i, Delegate: 0xffff9c006f50 - [1655977276.642836][4311:4316] CHIP:EM: Rxd Ack; Removing MessageCounter:38634004 from Retrans Table on exchange 5419i - [1655977276.642875][4311:4316] CHIP:EM: Removed CHIP MessageCounter:38634004 from RetransTable on exchange 5419i - [1655977276.642967][4311:4316] CHIP:DMG: SubscribeResponseMessage = - [1655977276.643030][4311:4316] CHIP:DMG: { - [1655977276.643069][4311:4316] CHIP:DMG: SubscriptionId = 0x64e994d3, - [1655977276.643127][4311:4316] CHIP:DMG: MaxInterval = 0x64, - [1655977276.643168][4311:4316] CHIP:DMG: InteractionModelRevision = 1 - [1655977276.643220][4311:4316] CHIP:DMG: } - [1655977276.643263][4311:4316] CHIP:DMG: Subscription established with SubscriptionID = 0x64e994d3 MinInterval = 20s MaxInterval = 100s Peer = 01:0000000000000001 + chip tool is used as TH and send the below command from TH + + basic subscribe-event start-up 20 100 1 0 + + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + + [1657455811.902338][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733244 from Retrans Table on exchange 33691i + [1657455811.902404][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733244 from RetransTable on exchange 33691i + [1657455811.902528][11635:11640] CHIP:DMG: ReportDataMessage = + [1657455811.902596][11635:11640] CHIP:DMG: { + [1657455811.902660][11635:11640] CHIP:DMG: SubscriptionId = 0x31b1892a, + [1657455811.902725][11635:11640] CHIP:DMG: EventReportIBs = + [1657455811.902810][11635:11640] CHIP:DMG: [ + [1657455811.902872][11635:11640] CHIP:DMG: EventReportIB = + [1657455811.902955][11635:11640] CHIP:DMG: { + [1657455811.903020][11635:11640] CHIP:DMG: EventDataIB = + [1657455811.903101][11635:11640] CHIP:DMG: { + [1657455811.903171][11635:11640] CHIP:DMG: EventPath =[1657455811.903248][11635:11640] CHIP:DMG: { + [1657455811.903327][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657455811.903472][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657455811.903565][11635:11640] CHIP:DMG: Event = 0x0, + [1657455811.903647][11635:11640] CHIP:DMG: }, + [1657455811.903731][11635:11640] CHIP:DMG: + [1657455811.903809][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657455811.903877][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657455811.903942][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657455811.904007][11635:11640] CHIP:DMG: EventData = + [1657455811.904069][11635:11640] CHIP:DMG: { + [1657455811.904124][11635:11640] CHIP:DMG: 0x0 = 1, + [1657455811.904179][11635:11640] CHIP:DMG: }, + [1657455811.904220][11635:11640] CHIP:DMG: }, + [1657455811.904268][11635:11640] CHIP:DMG: + [1657455811.904304][11635:11640] CHIP:DMG: }, + [1657455811.904348][11635:11640] CHIP:DMG: + [1657455811.904382][11635:11640] CHIP:DMG: ], + [1657455811.904426][11635:11640] CHIP:DMG: + [1657455811.904459][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657455811.904492][11635:11640] CHIP:DMG: } + [1657455811.904670][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657455811.904705][11635:11640] CHIP:TOO: Event number: 0 + [1657455811.904737][11635:11640] CHIP:TOO: Priority: Critical + [1657455811.904768][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657455811.904814][11635:11640] CHIP:TOO: StartUp: { + [1657455811.904850][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657455811.904881][11635:11640] CHIP:TOO: } + [1657455811.904950][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [AwaitingSu] + [1657455811.905026][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056068 on exchange: 33691i disabled: true - label: @@ -94,60 +84,54 @@ tests: specific node that is, [Node = Specific, Endpoint = Specific, Cluster = Specific, Event = Wildcard]." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0xFFFFFFFF 100 1000 1 0 - [1655977531.386194][4337:4342] CHIP:DMG: ReportDataMessage = - [1655977531.386222][4337:4342] CHIP:DMG: { - [1655977531.386247][4337:4342] CHIP:DMG: SubscriptionId = 0x317286e5, - [1655977531.386271][4337:4342] CHIP:DMG: EventReportIBs = - [1655977531.386303][4337:4342] CHIP:DMG: [ - [1655977531.386327][4337:4342] CHIP:DMG: EventReportIB = - [1655977531.386360][4337:4342] CHIP:DMG: { - [1655977531.386385][4337:4342] CHIP:DMG: EventDataIB = - [1655977531.386420][4337:4342] CHIP:DMG: { - [1655977531.386449][4337:4342] CHIP:DMG: EventPath = - [1655977531.386482][4337:4342] CHIP:DMG: { - [1655977531.386517][4337:4342] CHIP:DMG: Endpoint = 0x0, - [1655977531.386552][4337:4342] CHIP:DMG: Cluster = 0x28, - [1655977531.386585][4337:4342] CHIP:DMG: Event = 0x0, - [1655977531.386619][4337:4342] CHIP:DMG: }, - [1655977531.386653][4337:4342] CHIP:DMG: - [1655977531.386684][4337:4342] CHIP:DMG: EventNumber = 0x0, - [1655977531.386717][4337:4342] CHIP:DMG: PriorityLevel = 0x2, - [1655977531.386749][4337:4342] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655977531.386780][4337:4342] CHIP:DMG: EventData = - [1655977531.386812][4337:4342] CHIP:DMG: { - [1655977531.386865][4337:4342] CHIP:DMG: 0x0 = 1, - [1655977531.386898][4337:4342] CHIP:DMG: }, - [1655977531.386973][4337:4342] CHIP:DMG: }, - [1655977531.387010][4337:4342] CHIP:DMG: - [1655977531.387037][4337:4342] CHIP:DMG: }, - [1655977531.387067][4337:4342] CHIP:DMG: - [1655977531.387091][4337:4342] CHIP:DMG: ], - [1655977531.387122][4337:4342] CHIP:DMG: - [1655977531.387146][4337:4342] CHIP:DMG: InteractionModelRevision = 1 - [1655977531.387168][4337:4342] CHIP:DMG: } - [1655977531.387299][4337:4342] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655977531.387325][4337:4342] CHIP:TOO: Event number: 0 - [1655977531.387346][4337:4342] CHIP:TOO: Priority: Critical - [1655977531.387368][4337:4342] CHIP:TOO: Timestamp: 4896714 - [1655977531.387435][4337:4342] CHIP:TOO: StartUp: { - [1655977531.387470][4337:4342] CHIP:TOO: SoftwareVersion: 1 - [1655977531.387494][4337:4342] CHIP:TOO: } - [1655977531.387541][4337:4342] CHIP:DMG: MoveToState ReadClient[0xffff68007030]: Moving to [AwaitingSu] - [1655977531.387593][4337:4342] CHIP:EM: Piggybacking Ack for MessageCounter:103226132 on exchange: 14818i - [1655977531.387651][4337:4342] CHIP:IN: Prepared secure message 0xaaaae64957e8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 14818i with MessageCounter:195745808. - [1655977531.387686][4337:4342] CHIP:IN: Sending encrypted msg 0xaaaae64957e8 with MessageCounter:195745808 to 0x0000000000000001 (1) at monotonic time: 0000000000FDEB9C msec - [1655977531.388695][4337:4342] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:103226133 on exchange 14818i - [1655977531.388759][4337:4342] CHIP:EM: Found matching exchange: 14818i, Delegate: 0xffff68007030 - [1655977531.388821][4337:4342] CHIP:EM: Rxd Ack; Removing MessageCounter:195745808 from Retrans Table on exchange 14818i - [1655977531.388871][4337:4342] CHIP:EM: Removed CHIP MessageCounter:195745808 from RetransTable on exchange 14818i - [1655977531.388950][4337:4342] CHIP:DMG: SubscribeResponseMessage = - [1655977531.389004][4337:4342] CHIP:DMG: { - [1655977531.389054][4337:4342] CHIP:DMG: SubscriptionId = 0x317286e5, - [1655977531.389107][4337:4342] CHIP:DMG: MaxInterval = 0x3e8, - [1655977531.389160][4337:4342] CHIP:DMG: InteractionModelRevision = 1 - [1655977531.389208][4337:4342] CHIP:DMG: } - [1655977531.389261][4337:4342] CHIP:DMG: Subscription established with SubscriptionID = 0x317286e5 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0xFFFFFFFF 10 100 1 0 + + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + + + [1657455904.721037][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733247 from RetransTable on exchange 33692i + [1657455904.721132][11635:11640] CHIP:DMG: ReportDataMessage = + [1657455904.721185][11635:11640] CHIP:DMG: { + [1657455904.721231][11635:11640] CHIP:DMG: SubscriptionId = 0xca001943, + [1657455904.721279][11635:11640] CHIP:DMG: EventReportIBs = + [1657455904.721358][11635:11640] CHIP:DMG: [ + [1657455904.721405][11635:11640] CHIP:DMG: EventReportIB = + [1657455904.721487][11635:11640] CHIP:DMG: { + [1657455904.721551][11635:11640] CHIP:DMG: EventDataIB = + [1657455904.721615][11635:11640] CHIP:DMG: { + [1657455904.721685][11635:11640] CHIP:DMG: EventPath = + [1657455904.721747][11635:11640] CHIP:DMG: { + [1657455904.721832][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657455904.721915][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657455904.721980][11635:11640] CHIP:DMG: Event = 0x0, + [1657455904.722056][11635:11640] CHIP:DMG: }, + [1657455904.722136][11635:11640] CHIP:DMG: + [1657455904.722196][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657455904.722273][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657455904.722336][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657455904.722412][11635:11640] CHIP:DMG: EventData = + [1657455904.722486][11635:11640] CHIP:DMG: { + [1657455904.722537][11635:11640] CHIP:DMG: 0x0 = 1, + [1657455904.722598][11635:11640] CHIP:DMG: }, + [1657455904.722640][11635:11640] CHIP:DMG: }, + [1657455904.722704][11635:11640] CHIP:DMG: + [1657455904.722742][11635:11640] CHIP:DMG: }, + [1657455904.722788][11635:11640] CHIP:DMG: + [1657455904.722824][11635:11640] CHIP:DMG: ], + [1657455904.722871][11635:11640] CHIP:DMG: + [1657455904.722908][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657455904.722943][11635:11640] CHIP:DMG: } + [1657455904.723109][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657455904.723146][11635:11640] CHIP:TOO: Event number: 0 + [1657455904.723181][11635:11640] CHIP:TOO: Priority: Critical + [1657455904.723214][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657455904.723262][11635:11640] CHIP:TOO: StartUp: { + [1657455904.723301][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657455904.723335][11635:11640] CHIP:TOO: } + [1657455904.723427][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] + [1657455904.723503][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056070 on exchange: 33692i disabled: true - label: @@ -156,34 +140,105 @@ tests: that is, [Node = Specific, Endpoint = Specific, Cluster = Wildcard, Event = Wildcard]." verification: | - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 20 100 1 0 - - [1655978025.631905][4361:4366] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655978025.631939][4361:4366] CHIP:TOO: Event number: 0 - [1655978025.631968][4361:4366] CHIP:TOO: Priority: Critical - [1655978025.631997][4361:4366] CHIP:TOO: Timestamp: 4896714 - [1655978025.632083][4361:4366] CHIP:TOO: StartUp: { - [1655978025.632126][4361:4366] CHIP:TOO: SoftwareVersion: 1 - [1655978025.632158][4361:4366] CHIP:TOO: } - [1655978025.632299][4361:4366] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 - [1655978025.632330][4361:4366] CHIP:TOO: Event number: 1 - [1655978025.632359][4361:4366] CHIP:TOO: Priority: Info - [1655978025.632388][4361:4366] CHIP:TOO: Timestamp: 4971265 - [1655978025.632450][4361:4366] CHIP:TOO: AccessControlEntryChanged: { - [1655978025.632483][4361:4366] CHIP:TOO: AdminNodeID: null - [1655978025.632513][4361:4366] CHIP:TOO: AdminPasscodeID: 0 - [1655978025.632544][4361:4366] CHIP:TOO: ChangeType: 1 - [1655978025.632573][4361:4366] CHIP:TOO: LatestValue: { - [1655978025.632602][4361:4366] CHIP:TOO: Privilege: 5 - [1655978025.632631][4361:4366] CHIP:TOO: AuthMode: 2 - [1655978025.632668][4361:4366] CHIP:TOO: Subjects: 1 entries - [1655978025.632706][4361:4366] CHIP:TOO: [1]: 112233 - [1655978025.632740][4361:4366] CHIP:TOO: Targets: null - [1655978025.632770][4361:4366] CHIP:TOO: FabricIndex: 1 - [1655978025.632799][4361:4366] CHIP:TOO: } - [1655978025.632829][4361:4366] CHIP:TOO: AdminFabricIndex: 1 - [1655978025.632859][4361:4366] CHIP:TOO: } - [1655978025.632952][4361:4366] CHIP:DMG: MoveToState ReadClient[0xaaaacb9f11e0]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 20 100 1 0 + + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + [1657455981.545783][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733250 from Retrans Table on exchange 33693i + [1657455981.545845][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733250 from RetransTable on exchange 33693i + [1657455981.545995][11635:11640] CHIP:DMG: ReportDataMessage = + [1657455981.546064][11635:11640] CHIP:DMG: { + [1657455981.546126][11635:11640] CHIP:DMG: SubscriptionId = 0xdb3549eb, + [1657455981.546201][11635:11640] CHIP:DMG: EventReportIBs = + [1657455981.546282][11635:11640] CHIP:DMG: [ + [1657455981.546343][11635:11640] CHIP:DMG: EventReportIB = + [1657455981.546435][11635:11640] CHIP:DMG: { + [1657455981.546500][11635:11640] CHIP:DMG: EventDataIB = + [1657455981.546577][11635:11640] CHIP:DMG: { + [1657455981.546652][11635:11640] CHIP:DMG: EventPath = + [1657455981.546733][11635:11640] CHIP:DMG: { + [1657455981.546816][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657455981.546904][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657455981.546990][11635:11640] CHIP:DMG: Event = 0x0, + [1657455981.547164][11635:11640] CHIP:DMG: }, + [1657455981.547256][11635:11640] CHIP:DMG: + [1657455981.547435][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657455981.547526][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657455981.547610][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657455981.547690][11635:11640] CHIP:DMG: EventData = + [1657455981.547770][11635:11640] CHIP:DMG: { + [1657455981.547854][11635:11640] CHIP:DMG: 0x0 = 1, + [1657455981.547939][11635:11640] CHIP:DMG: }, + [1657455981.548016][11635:11640] CHIP:DMG: }, + [1657455981.548102][11635:11640] CHIP:DMG: + [1657455981.548166][11635:11640] CHIP:DMG: }, + [1657455981.548271][11635:11640] CHIP:DMG: + [1657455981.548331][11635:11640] CHIP:DMG: EventReportIB = + [1657455981.548425][11635:11640] CHIP:DMG: { + [1657455981.548488][11635:11640] CHIP:DMG: EventDataIB = + [1657455981.548563][11635:11640] CHIP:DMG: { + [1657455981.548734][11635:11640] CHIP:DMG: EventPath = + [1657455981.548826][11635:11640] CHIP:DMG: { + [1657455981.548911][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657455981.549072][11635:11640] CHIP:DMG: Cluster = 0x1f, + [1657455981.549160][11635:11640] CHIP:DMG: Event = 0x0, + [1657455981.549298][11635:11640] CHIP:DMG: }, + [1657455981.549381][11635:11640] CHIP:DMG: + [1657455981.549513][11635:11640] CHIP:DMG: EventNumber = 0x1, + [1657455981.549606][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657455981.549689][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0xe03, + [1657455981.549776][11635:11640] CHIP:DMG: EventData = + [1657455981.549855][11635:11640] CHIP:DMG: { + [1657455981.549938][11635:11640] CHIP:DMG: 0x1 = NULL + [1657455981.549985][11635:11640] CHIP:DMG: 0x2 = 0, + [1657455981.550023][11635:11640] CHIP:DMG: 0x3 = 1, + [1657455981.550055][11635:11640] CHIP:DMG: 0x4 = + [1657455981.550091][11635:11640] CHIP:DMG: { + [1657455981.550128][11635:11640] CHIP:DMG: 0x1 = 5, + [1657455981.550170][11635:11640] CHIP:DMG: 0x2 = 2, + [1657455981.550207][11635:11640] CHIP:DMG: 0x3 = [ + [1657455981.550269][11635:11640] CHIP:DMG: 112233, + [1657455981.550313][11635:11640] CHIP:DMG: ], + [1657455981.550352][11635:11640] CHIP:DMG: 0x4 = NULL + [1657455981.550388][11635:11640] CHIP:DMG: 0xfe = 1, + [1657455981.550426][11635:11640] CHIP:DMG: }, + [1657455981.550463][11635:11640] CHIP:DMG: 0xfe = 1, + [1657455981.550499][11635:11640] CHIP:DMG: }, + [1657455981.550531][11635:11640] CHIP:DMG: }, + [1657455981.550572][11635:11640] CHIP:DMG: + [1657455981.550599][11635:11640] CHIP:DMG: }, + [1657455981.550637][11635:11640] CHIP:DMG: + [1657455981.550662][11635:11640] CHIP:DMG: ], + [1657455981.550706][11635:11640] CHIP:DMG: + [1657455981.550732][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657455981.550758][11635:11640] CHIP:DMG: } + [1657455981.550900][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657455981.550927][11635:11640] CHIP:TOO: Event number: 0 + [1657455981.550951][11635:11640] CHIP:TOO: Priority: Critical + [1657455981.550975][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657455981.551012][11635:11640] CHIP:TOO: StartUp: { + [1657455981.551041][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657455981.551066][11635:11640] CHIP:TOO: } + [1657455981.551179][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1657455981.551204][11635:11640] CHIP:TOO: Event number: 1 + [1657455981.551228][11635:11640] CHIP:TOO: Priority: Info + [1657455981.551251][11635:11640] CHIP:TOO: Timestamp: 5998690 + [1657455981.551328][11635:11640] CHIP:TOO: AccessControlEntryChanged: { + [1657455981.551356][11635:11640] CHIP:TOO: AdminNodeID: null + [1657455981.551382][11635:11640] CHIP:TOO: AdminPasscodeID: 0 + [1657455981.551435][11635:11640] CHIP:TOO: ChangeType: 1 + [1657455981.551461][11635:11640] CHIP:TOO: LatestValue: { + [1657455981.551486][11635:11640] CHIP:TOO: Privilege: 5 + [1657455981.551510][11635:11640] CHIP:TOO: AuthMode: 2 + [1657455981.551541][11635:11640] CHIP:TOO: Subjects: 1 entries + [1657455981.551572][11635:11640] CHIP:TOO: [1]: 112233 + [1657455981.551600][11635:11640] CHIP:TOO: Targets: null + [1657455981.551625][11635:11640] CHIP:TOO: FabricIndex: 1 + [1657455981.551648][11635:11640] CHIP:TOO: } + [1657455981.551673][11635:11640] CHIP:TOO: AdminFabricIndex: 1 + [1657455981.551697][11635:11640] CHIP:TOO: } + [1657455981.551771][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [AwaitingSu] disabled: true - label: @@ -192,48 +247,50 @@ tests: node that is, [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Specific]." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x00 10 700 1 0xFFFF - - [1655978108.922718][4380:4385] CHIP:DMG: ReportDataMessage = - [1655978108.922755][4380:4385] CHIP:DMG: { - [1655978108.922788][4380:4385] CHIP:DMG: SubscriptionId = 0x6d4c1b90, - [1655978108.922822][4380:4385] CHIP:DMG: EventReportIBs = - [1655978108.922865][4380:4385] CHIP:DMG: [ - [1655978108.922898][4380:4385] CHIP:DMG: EventReportIB = - [1655978108.922980][4380:4385] CHIP:DMG: { - [1655978108.923019][4380:4385] CHIP:DMG: EventDataIB = - [1655978108.923062][4380:4385] CHIP:DMG: { - [1655978108.923102][4380:4385] CHIP:DMG: EventPath = - [1655978108.923145][4380:4385] CHIP:DMG: { - [1655978108.923191][4380:4385] CHIP:DMG: Endpoint = 0x0, - [1655978108.923238][4380:4385] CHIP:DMG: Cluster = 0x28, - [1655978108.923284][4380:4385] CHIP:DMG: Event = 0x0, - [1655978108.923327][4380:4385] CHIP:DMG: }, - [1655978108.923369][4380:4385] CHIP:DMG: - [1655978108.923411][4380:4385] CHIP:DMG: EventNumber = 0x0, - [1655978108.923460][4380:4385] CHIP:DMG: PriorityLevel = 0x2, - [1655978108.923508][4380:4385] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655978108.923551][4380:4385] CHIP:DMG: EventData = - [1655978108.923594][4380:4385] CHIP:DMG: { - [1655978108.923671][4380:4385] CHIP:DMG: 0x0 = 1, - [1655978108.923721][4380:4385] CHIP:DMG: }, - [1655978108.923758][4380:4385] CHIP:DMG: }, - [1655978108.923805][4380:4385] CHIP:DMG: - [1655978108.923839][4380:4385] CHIP:DMG: }, - [1655978108.923883][4380:4385] CHIP:DMG: - [1655978108.923914][4380:4385] CHIP:DMG: ], - [1655978108.923956][4380:4385] CHIP:DMG: - [1655978108.923988][4380:4385] CHIP:DMG: InteractionModelRevision = 1 - [1655978108.924019][4380:4385] CHIP:DMG: } - [1655978108.924188][4380:4385] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655978108.924222][4380:4385] CHIP:TOO: Event number: 0 - [1655978108.924252][4380:4385] CHIP:TOO: Priority: Critical - [1655978108.924281][4380:4385] CHIP:TOO: Timestamp: 4896714 - [1655978108.924367][4380:4385] CHIP:TOO: StartUp: { - [1655978108.924412][4380:4385] CHIP:TOO: SoftwareVersion: 1 - [1655978108.924444][4380:4385] CHIP:TOO: } - [1655978108.924507][4380:4385] CHIP:DMG: MoveToState ReadClient[0xffff7c0040a0]: Moving to [AwaitingSu] - [1655978108.924573][4380:4385] CHIP:EM: Piggybacking Ack for MessageCounter:198149325 on exchange: 7153i + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x00 10 700 1 0xFFFF + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + [1657456063.474971][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733253 from RetransTable on exchange 33694i + [1657456063.475103][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456063.475171][11635:11640] CHIP:DMG: { + [1657456063.475233][11635:11640] CHIP:DMG: SubscriptionId = 0x9878c727, + [1657456063.475297][11635:11640] CHIP:DMG: EventReportIBs = + [1657456063.475376][11635:11640] CHIP:DMG: [ + [1657456063.475497][11635:11640] CHIP:DMG: EventReportIB = + [1657456063.475585][11635:11640] CHIP:DMG: { + [1657456063.475651][11635:11640] CHIP:DMG: EventDataIB = + [1657456063.475730][11635:11640] CHIP:DMG: { + [1657456063.475803][11635:11640] CHIP:DMG: EventPath = + [1657456063.475885][11635:11640] CHIP:DMG: { + [1657456063.475968][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456063.476063][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456063.476148][11635:11640] CHIP:DMG: Event = 0x0, + [1657456063.476221][11635:11640] CHIP:DMG: }, + [1657456063.476305][11635:11640] CHIP:DMG: + [1657456063.476382][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456063.476466][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456063.476549][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456063.476628][11635:11640] CHIP:DMG: EventData = + [1657456063.476710][11635:11640] CHIP:DMG: { + [1657456063.476795][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456063.476880][11635:11640] CHIP:DMG: }, + [1657456063.476961][11635:11640] CHIP:DMG: }, + [1657456063.477047][11635:11640] CHIP:DMG: + [1657456063.477110][11635:11640] CHIP:DMG: }, + [1657456063.477188][11635:11640] CHIP:DMG: + [1657456063.477248][11635:11640] CHIP:DMG: ], + [1657456063.477318][11635:11640] CHIP:DMG: + [1657456063.477379][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456063.477438][11635:11640] CHIP:DMG: } + [1657456063.477704][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456063.477767][11635:11640] CHIP:TOO: Event number: 0 + [1657456063.477823][11635:11640] CHIP:TOO: Priority: Critical + [1657456063.477878][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456063.477957][11635:11640] CHIP:TOO: StartUp: { + [1657456063.478021][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456063.478079][11635:11640] CHIP:TOO: } + [1657456063.478191][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005b60]: Moving to [AwaitingSu] disabled: true - label: @@ -242,47 +299,52 @@ tests: that is, [Node = Specific, Endpoint = Wildcard, Cluster = Specific, Event = Wildcard]." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0xFFFFFFFF 100 1000 1 0xFFFF - - [1655978154.819363][4396:4401] CHIP:DMG: ReportDataMessage = - [1655978154.819402][4396:4401] CHIP:DMG: { - [1655978154.819438][4396:4401] CHIP:DMG: SubscriptionId = 0x35c8f49e, - [1655978154.819474][4396:4401] CHIP:DMG: EventReportIBs = - [1655978154.819520][4396:4401] CHIP:DMG: [ - [1655978154.819557][4396:4401] CHIP:DMG: EventReportIB = - [1655978154.819607][4396:4401] CHIP:DMG: { - [1655978154.819645][4396:4401] CHIP:DMG: EventDataIB = - [1655978154.819697][4396:4401] CHIP:DMG: { - [1655978154.819740][4396:4401] CHIP:DMG: EventPath = - [1655978154.819789][4396:4401] CHIP:DMG: { - [1655978154.819838][4396:4401] CHIP:DMG: Endpoint = 0x0, - [1655978154.819888][4396:4401] CHIP:DMG: Cluster = 0x28, - [1655978154.819939][4396:4401] CHIP:DMG: Event = 0x0, - [1655978154.819991][4396:4401] CHIP:DMG: }, - [1655978154.820044][4396:4401] CHIP:DMG: - [1655978154.820090][4396:4401] CHIP:DMG: EventNumber = 0x0, - [1655978154.820139][4396:4401] CHIP:DMG: PriorityLevel = 0x2, - [1655978154.820187][4396:4401] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655978154.820238][4396:4401] CHIP:DMG: EventData = - [1655978154.820285][4396:4401] CHIP:DMG: { - [1655978154.820362][4396:4401] CHIP:DMG: 0x0 = 1, - [1655978154.820412][4396:4401] CHIP:DMG: }, - [1655978154.820457][4396:4401] CHIP:DMG: }, - [1655978154.820506][4396:4401] CHIP:DMG: - [1655978154.820546][4396:4401] CHIP:DMG: }, - [1655978154.820592][4396:4401] CHIP:DMG: - [1655978154.820627][4396:4401] CHIP:DMG: ], - [1655978154.820673][4396:4401] CHIP:DMG: - [1655978154.820709][4396:4401] CHIP:DMG: InteractionModelRevision = 1 - [1655978154.820743][4396:4401] CHIP:DMG: } - [1655978154.820927][4396:4401] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655978154.820964][4396:4401] CHIP:TOO: Event number: 0 - [1655978154.820997][4396:4401] CHIP:TOO: Priority: Critical - [1655978154.821029][4396:4401] CHIP:TOO: Timestamp: 4896714 - [1655978154.821122][4396:4401] CHIP:TOO: StartUp: { - [1655978154.821170][4396:4401] CHIP:TOO: SoftwareVersion: 1 - [1655978154.821204][4396:4401] CHIP:TOO: } - [1655978154.821272][4396:4401] CHIP:DMG: MoveToState ReadClient[0xffff68004370]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0xFFFFFFFF 10 100 1 0xFFFF + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + [1657456157.932285][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733256 from Retrans Table on exchange 33695i + [1657456157.932327][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733256 from RetransTable on exchange 33695i + [1657456157.932418][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456157.932464][11635:11640] CHIP:DMG: { + [1657456157.932506][11635:11640] CHIP:DMG: SubscriptionId = 0x7cd7475, + [1657456157.932549][11635:11640] CHIP:DMG: EventReportIBs = + [1657456157.932602][11635:11640] CHIP:DMG: [ + [1657456157.932644][11635:11640] CHIP:DMG: EventReportIB = + [1657456157.932701][11635:11640] CHIP:DMG: { + [1657456157.932744][11635:11640] CHIP:DMG: EventDataIB = + [1657456157.932801][11635:11640] CHIP:DMG: { + [1657456157.932850][11635:11640] CHIP:DMG: EventPath = + [1657456157.932910][11635:11640] CHIP:DMG: { + [1657456157.932967][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456157.933030][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456157.933088][11635:11640] CHIP:DMG: Event = 0x0, + [1657456157.933142][11635:11640] CHIP:DMG: }, + [1657456157.933194][11635:11640] CHIP:DMG: + [1657456157.933245][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456157.933302][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456157.933356][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456157.933414][11635:11640] CHIP:DMG: EventData = + [1657456157.933468][11635:11640] CHIP:DMG: { + [1657456157.933524][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456157.933580][11635:11640] CHIP:DMG: }, + [1657456157.933630][11635:11640] CHIP:DMG: }, + [1657456157.933686][11635:11640] CHIP:DMG: + [1657456157.933732][11635:11640] CHIP:DMG: }, + [1657456157.933783][11635:11640] CHIP:DMG: + [1657456157.933822][11635:11640] CHIP:DMG: ], + [1657456157.933874][11635:11640] CHIP:DMG: + [1657456157.933915][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456157.933954][11635:11640] CHIP:DMG: } + [1657456157.934135][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456157.934176][11635:11640] CHIP:TOO: Event number: 0 + [1657456157.934214][11635:11640] CHIP:TOO: Priority: Critical + [1657456157.934250][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456157.934303][11635:11640] CHIP:TOO: StartUp: { + [1657456157.934348][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456157.934385][11635:11640] CHIP:TOO: } + [1657456157.934460][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005970]: Moving to [AwaitingSu] + [1657456157.934539][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056076 on exchange: 33695i disabled: true - label: @@ -291,48 +353,216 @@ tests: is, [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF - - [1655978294.671160][4411:4416] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655978294.671200][4411:4416] CHIP:TOO: Event number: 0 - [1655978294.671233][4411:4416] CHIP:TOO: Priority: Critical - [1655978294.671266][4411:4416] CHIP:TOO: Timestamp: 4896714 - [1655978294.671358][4411:4416] CHIP:TOO: StartUp: { - [1655978294.671406][4411:4416] CHIP:TOO: SoftwareVersion: 1 - [1655978294.671440][4411:4416] CHIP:TOO: } - [1655978294.671595][4411:4416] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 - [1655978294.671630][4411:4416] CHIP:TOO: Event number: 1 - [1655978294.671663][4411:4416] CHIP:TOO: Priority: Info - [1655978294.671695][4411:4416] CHIP:TOO: Timestamp: 4971265 - [1655978294.671763][4411:4416] CHIP:TOO: AccessControlEntryChanged: { - [1655978294.671800][4411:4416] CHIP:TOO: AdminNodeID: null - [1655978294.671835][4411:4416] CHIP:TOO: AdminPasscodeID: 0 - [1655978294.671869][4411:4416] CHIP:TOO: ChangeType: 1 - [1655978294.671902][4411:4416] CHIP:TOO: LatestValue: { - [1655978294.671935][4411:4416] CHIP:TOO: Privilege: 5 - [1655978294.671968][4411:4416] CHIP:TOO: AuthMode: 2 - [1655978294.672007][4411:4416] CHIP:TOO: Subjects: 1 entries - [1655978294.672050][4411:4416] CHIP:TOO: [1]: 112233 - [1655978294.672088][4411:4416] CHIP:TOO: Targets: null - [1655978294.672121][4411:4416] CHIP:TOO: FabricIndex: 1 - [1655978294.672154][4411:4416] CHIP:TOO: } - [1655978294.672187][4411:4416] CHIP:TOO: AdminFabricIndex: 1 - [1655978294.672219][4411:4416] CHIP:TOO: } - [1655978294.672320][4411:4416] CHIP:DMG: MoveToState ReadClient[0xffff94004410]: Moving to [AwaitingSu] - [1655978294.672390][4411:4416] CHIP:EM: Piggybacking Ack for MessageCounter:9582248 on exchange: 63074i - [1655978294.672469][4411:4416] CHIP:IN: Prepared secure message 0xaaaaaf336c48 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 63074i with MessageCounter:265102197. - [1655978294.672521][4411:4416] CHIP:IN: Sending encrypted msg 0xaaaaaf336c48 with MessageCounter:265102197 to 0x0000000000000001 (1) at monotonic time: 0000000001099131 msec - [1655978294.673483][4411:4416] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:9582249 on exchange 63074i - [1655978294.673530][4411:4416] CHIP:EM: Found matching exchange: 63074i, Delegate: 0xffff94004410 - [1655978294.673576][4411:4416] CHIP:EM: Rxd Ack; Removing MessageCounter:265102197 from Retrans Table on exchange 63074i - [1655978294.673611][4411:4416] CHIP:EM: Removed CHIP MessageCounter:265102197 from RetransTable on exchange 63074i - [1655978294.673667][4411:4416] CHIP:DMG: SubscribeResponseMessage = - [1655978294.673706][4411:4416] CHIP:DMG: { - [1655978294.673740][4411:4416] CHIP:DMG: SubscriptionId = 0xb01feb58, - [1655978294.673778][4411:4416] CHIP:DMG: MaxInterval = 0x3e8, - [1655978294.673815][4411:4416] CHIP:DMG: InteractionModelRevision = 1 - [1655978294.673849][4411:4416] CHIP:DMG: } - [1655978294.673887][4411:4416] CHIP:DMG: Subscription established with SubscriptionID = 0xb01feb58 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher and data for events in Subscribe Request Message from DUT + [1657456221.167627][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456221.167698][11635:11640] CHIP:DMG: { + [1657456221.167760][11635:11640] CHIP:DMG: SubscriptionId = 0xbcc84d35, + [1657456221.167857][11635:11640] CHIP:DMG: EventReportIBs = + [1657456221.167944][11635:11640] CHIP:DMG: [ + [1657456221.168006][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.168123][11635:11640] CHIP:DMG: { + [1657456221.168221][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.168333][11635:11640] CHIP:DMG: { + [1657456221.168437][11635:11640] CHIP:DMG: EventPath = + [1657456221.168549][11635:11640] CHIP:DMG: { + [1657456221.168764][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456221.168885][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456221.169002][11635:11640] CHIP:DMG: Event = 0x0, + [1657456221.169111][11635:11640] CHIP:DMG: }, + [1657456221.169225][11635:11640] CHIP:DMG: + [1657456221.169335][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456221.169448][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456221.169560][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456221.169668][11635:11640] CHIP:DMG: EventData = + [1657456221.169780][11635:11640] CHIP:DMG: { + [1657456221.169894][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456221.170008][11635:11640] CHIP:DMG: }, + [1657456221.170115][11635:11640] CHIP:DMG: }, + [1657456221.170231][11635:11640] CHIP:DMG: + [1657456221.170323][11635:11640] CHIP:DMG: }, + [1657456221.170426][11635:11640] CHIP:DMG: + [1657456221.170456][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.170560][11635:11640] CHIP:DMG: { + [1657456221.170598][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.170634][11635:11640] CHIP:DMG: { + [1657456221.170669][11635:11640] CHIP:DMG: EventPath = + [1657456221.170707][11635:11640] CHIP:DMG: { + [1657456221.170745][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456221.170786][11635:11640] CHIP:DMG: Cluster = 0x1f, + [1657456221.170826][11635:11640] CHIP:DMG: Event = 0x0, + [1657456221.170860][11635:11640] CHIP:DMG: }, + [1657456221.170898][11635:11640] CHIP:DMG: + [1657456221.170934][11635:11640] CHIP:DMG: EventNumber = 0x1, + [1657456221.170973][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657456221.171010][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0xe03, + [1657456221.171049][11635:11640] CHIP:DMG: EventData = + [1657456221.171083][11635:11640] CHIP:DMG: { + [1657456221.171123][11635:11640] CHIP:DMG: 0x1 = NULL + [1657456221.171160][11635:11640] CHIP:DMG: 0x2 = 0, + [1657456221.171201][11635:11640] CHIP:DMG: 0x3 = 1, + [1657456221.171238][11635:11640] CHIP:DMG: 0x4 = + [1657456221.171277][11635:11640] CHIP:DMG: { + [1657456221.171318][11635:11640] CHIP:DMG: 0x1 = 5, + [1657456221.171362][11635:11640] CHIP:DMG: 0x2 = 2, + [1657456221.171422][11635:11640] CHIP:DMG: 0x3 = [ + [1657456221.171466][11635:11640] CHIP:DMG: 112233, + [1657456221.171517][11635:11640] CHIP:DMG: ], + [1657456221.171563][11635:11640] CHIP:DMG: 0x4 = NULL + [1657456221.171608][11635:11640] CHIP:DMG: 0xfe = 1, + [1657456221.171650][11635:11640] CHIP:DMG: }, + [1657456221.171694][11635:11640] CHIP:DMG: 0xfe = 1, + [1657456221.171733][11635:11640] CHIP:DMG: }, + [1657456221.171767][11635:11640] CHIP:DMG: }, + [1657456221.171814][11635:11640] CHIP:DMG: + [1657456221.171847][11635:11640] CHIP:DMG: }, + [1657456221.171895][11635:11640] CHIP:DMG: + [1657456221.171923][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.171960][11635:11640] CHIP:DMG: { + [1657456221.171990][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.172029][11635:11640] CHIP:DMG: { + [1657456221.172066][11635:11640] CHIP:DMG: EventPath = + [1657456221.172106][11635:11640] CHIP:DMG: { + [1657456221.172144][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657456221.172188][11635:11640] CHIP:DMG: Cluster = 0x3b, + [1657456221.172230][11635:11640] CHIP:DMG: Event = 0x3, + [1657456221.172268][11635:11640] CHIP:DMG: }, + [1657456221.172306][11635:11640] CHIP:DMG: + [1657456221.172341][11635:11640] CHIP:DMG: EventNumber = 0x2, + [1657456221.172380][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657456221.172420][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0xd2846, + [1657456221.172454][11635:11640] CHIP:DMG: EventData = + [1657456221.172491][11635:11640] CHIP:DMG: { + [1657456221.172533][11635:11640] CHIP:DMG: 0x0 = 10, + [1657456221.172576][11635:11640] CHIP:DMG: }, + [1657456221.172611][11635:11640] CHIP:DMG: }, + [1657456221.172650][11635:11640] CHIP:DMG: + [1657456221.172681][11635:11640] CHIP:DMG: }, + [1657456221.172724][11635:11640] CHIP:DMG: + [1657456221.172752][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.172792][11635:11640] CHIP:DMG: { + [1657456221.172822][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.172856][11635:11640] CHIP:DMG: { + [1657456221.172893][11635:11640] CHIP:DMG: EventPath = + [1657456221.172931][11635:11640] CHIP:DMG: { + [1657456221.172972][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657456221.173012][11635:11640] CHIP:DMG: Cluster = 0x3b, + [1657456221.173055][11635:11640] CHIP:DMG: Event = 0x3, + [1657456221.173092][11635:11640] CHIP:DMG: }, + [1657456221.173131][11635:11640] CHIP:DMG: + [1657456221.173166][11635:11640] CHIP:DMG: EventNumber = 0x3, + [1657456221.173204][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657456221.173242][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0x479ad, + [1657456221.173281][11635:11640] CHIP:DMG: EventData = + [1657456221.173320][11635:11640] CHIP:DMG: { + [1657456221.173360][11635:11640] CHIP:DMG: 0x0 = 10, + [1657456221.173403][11635:11640] CHIP:DMG: }, + [1657456221.173438][11635:11640] CHIP:DMG: }, + [1657456221.173477][11635:11640] CHIP:DMG: + [1657456221.173508][11635:11640] CHIP:DMG: }, + [1657456221.173551][11635:11640] CHIP:DMG: + [1657456221.173579][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.173616][11635:11640] CHIP:DMG: { + [1657456221.173646][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.173680][11635:11640] CHIP:DMG: { + [1657456221.173715][11635:11640] CHIP:DMG: EventPath = + [1657456221.173753][11635:11640] CHIP:DMG: { + [1657456221.173791][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657456221.173835][11635:11640] CHIP:DMG: Cluster = 0x3b, + [1657456221.173873][11635:11640] CHIP:DMG: Event = 0x3, + [1657456221.173911][11635:11640] CHIP:DMG: }, + [1657456221.173950][11635:11640] CHIP:DMG: + [1657456221.173985][11635:11640] CHIP:DMG: EventNumber = 0xc, + [1657456221.174023][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657456221.174064][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0x616ab1, + [1657456221.174101][11635:11640] CHIP:DMG: EventData = + [1657456221.174138][11635:11640] CHIP:DMG: { + [1657456221.174177][11635:11640] CHIP:DMG: 0x0 = 10, + [1657456221.174216][11635:11640] CHIP:DMG: }, + [1657456221.174254][11635:11640] CHIP:DMG: }, + [1657456221.174293][11635:11640] CHIP:DMG: + [1657456221.174324][11635:11640] CHIP:DMG: }, + [1657456221.174366][11635:11640] CHIP:DMG: + [1657456221.174394][11635:11640] CHIP:DMG: EventReportIB = + [1657456221.174432][11635:11640] CHIP:DMG: { + [1657456221.174462][11635:11640] CHIP:DMG: EventDataIB = + [1657456221.174496][11635:11640] CHIP:DMG: { + [1657456221.174533][11635:11640] CHIP:DMG: EventPath = + [1657456221.174573][11635:11640] CHIP:DMG: { + [1657456221.174615][11635:11640] CHIP:DMG: Endpoint = 0x1, + [1657456221.174658][11635:11640] CHIP:DMG: Cluster = 0x3b, + [1657456221.174697][11635:11640] CHIP:DMG: Event = 0x3, + [1657456221.174735][11635:11640] CHIP:DMG: }, + [1657456221.174773][11635:11640] CHIP:DMG: + [1657456221.174808][11635:11640] CHIP:DMG: EventNumber = 0xd, + [1657456221.174846][11635:11640] CHIP:DMG: PriorityLevel = 0x1, + [1657456221.174887][11635:11640] CHIP:DMG: DeltaSystemTimestamp = 0xe1d, + [1657456221.174926][11635:11640] CHIP:DMG: EventData = + [1657456221.174963][11635:11640] CHIP:DMG: { + [1657456221.175002][11635:11640] CHIP:DMG: 0x0 = 10, + [1657456221.175041][11635:11640] CHIP:DMG: }, + [1657456221.175077][11635:11640] CHIP:DMG: }, + [1657456221.175115][11635:11640] CHIP:DMG: + [1657456221.175146][11635:11640] CHIP:DMG: }, + [1657456221.175184][11635:11640] CHIP:DMG: + [1657456221.175211][11635:11640] CHIP:DMG: ], + [1657456221.175279][11635:11640] CHIP:DMG: + [1657456221.175307][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456221.175335][11635:11640] CHIP:DMG: } + [1657456221.175544][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456221.175574][11635:11640] CHIP:TOO: Event number: 0 + [1657456221.175600][11635:11640] CHIP:TOO: Priority: Critical + [1657456221.175626][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456221.175665][11635:11640] CHIP:TOO: StartUp: { + [1657456221.175697][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456221.175723][11635:11640] CHIP:TOO: } + [1657456221.175846][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Event 0x0000_0000 + [1657456221.175873][11635:11640] CHIP:TOO: Event number: 1 + [1657456221.175899][11635:11640] CHIP:TOO: Priority: Info + [1657456221.175924][11635:11640] CHIP:TOO: Timestamp: 5998690 + [1657456221.175980][11635:11640] CHIP:TOO: AccessControlEntryChanged: { + [1657456221.176010][11635:11640] CHIP:TOO: AdminNodeID: null + [1657456221.176038][11635:11640] CHIP:TOO: AdminPasscodeID: 0 + [1657456221.176066][11635:11640] CHIP:TOO: ChangeType: 1 + [1657456221.176092][11635:11640] CHIP:TOO: LatestValue: { + [1657456221.176119][11635:11640] CHIP:TOO: Privilege: 5 + [1657456221.176145][11635:11640] CHIP:TOO: AuthMode: 2 + [1657456221.176177][11635:11640] CHIP:TOO: Subjects: 1 entries + [1657456221.176210][11635:11640] CHIP:TOO: [1]: 112233 + [1657456221.176240][11635:11640] CHIP:TOO: Targets: null + [1657456221.176267][11635:11640] CHIP:TOO: FabricIndex: 1 + [1657456221.176292][11635:11640] CHIP:TOO: } + [1657456221.176318][11635:11640] CHIP:TOO: AdminFabricIndex: 1 + [1657456221.176344][11635:11640] CHIP:TOO: } + [1657456221.176448][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1657456221.176475][11635:11640] CHIP:TOO: Event number: 2 + [1657456221.176501][11635:11640] CHIP:TOO: Priority: Info + [1657456221.176526][11635:11640] CHIP:TOO: Timestamp: 6860968 + [1657456221.176587][11635:11640] CHIP:TOO: ShortRelease: { + [1657456221.176617][11635:11640] CHIP:TOO: PreviousPosition: 10 + [1657456221.176643][11635:11640] CHIP:TOO: } + [1657456221.176740][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1657456221.176767][11635:11640] CHIP:TOO: Event number: 3 + [1657456221.176792][11635:11640] CHIP:TOO: Priority: Info + [1657456221.176817][11635:11640] CHIP:TOO: Timestamp: 7154261 + [1657456221.176848][11635:11640] CHIP:TOO: ShortRelease: { + [1657456221.176876][11635:11640] CHIP:TOO: PreviousPosition: 10 + [1657456221.176902][11635:11640] CHIP:TOO: } + [1657456221.176998][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1657456221.177025][11635:11640] CHIP:TOO: Event number: 12 + [1657456221.177051][11635:11640] CHIP:TOO: Priority: Info + [1657456221.177076][11635:11640] CHIP:TOO: Timestamp: 13538566 + [1657456221.177107][11635:11640] CHIP:TOO: ShortRelease: { + [1657456221.177134][11635:11640] CHIP:TOO: PreviousPosition: 10 + [1657456221.177160][11635:11640] CHIP:TOO: } + [1657456221.177257][11635:11640] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 + [1657456221.177284][11635:11640] CHIP:TOO: Event number: 13 + [1657456221.177310][11635:11640] CHIP:TOO: Priority: Info + [1657456221.177335][11635:11640] CHIP:TOO: Timestamp: 13542179 + [1657456221.177366][11635:11640] CHIP:TOO: ShortRelease: { + [1657456221.177393][11635:11640] CHIP:TOO: PreviousPosition: 10 + [1657456221.177418][11635:11640] CHIP:TOO: } + [1657456221.177534][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94008c70]: Moving to [AwaitingSu] disabled: true - label: @@ -341,53 +571,59 @@ tests: is, [Node = Specific, Endpoint = Wildcard, Cluster = Wildcard, Event = Wildcard]." verification: | - Test step repeated + Repeat the above Test step disabled: true - label: "Activate Event subscription from TH to DUT and trigger the subscribed event on the DUT before minimum interval." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - [1655978403.942817][4421:4426] CHIP:DMG: ReportDataMessage = - [1655978403.942856][4421:4426] CHIP:DMG: { - [1655978403.942888][4421:4426] CHIP:DMG: SubscriptionId = 0xd8a1d921, - [1655978403.942913][4421:4426] CHIP:DMG: EventReportIBs = - [1655978403.943012][4421:4426] CHIP:DMG: [ - [1655978403.943037][4421:4426] CHIP:DMG: EventReportIB = - [1655978403.943070][4421:4426] CHIP:DMG: { - [1655978403.943106][4421:4426] CHIP:DMG: EventDataIB = - [1655978403.943139][4421:4426] CHIP:DMG: { - [1655978403.943176][4421:4426] CHIP:DMG: EventPath = - [1655978403.943218][4421:4426] CHIP:DMG: { - [1655978403.943252][4421:4426] CHIP:DMG: Endpoint = 0x0, - [1655978403.943295][4421:4426] CHIP:DMG: Cluster = 0x28, - [1655978403.943337][4421:4426] CHIP:DMG: Event = 0x0, - [1655978403.943370][4421:4426] CHIP:DMG: }, - [1655978403.943413][4421:4426] CHIP:DMG: - [1655978403.943452][4421:4426] CHIP:DMG: EventNumber = 0x0, - [1655978403.943487][4421:4426] CHIP:DMG: PriorityLevel = 0x2, - [1655978403.943530][4421:4426] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655978403.943571][4421:4426] CHIP:DMG: EventData = - [1655978403.943607][4421:4426] CHIP:DMG: { - [1655978403.943674][4421:4426] CHIP:DMG: 0x0 = 1, - [1655978403.943717][4421:4426] CHIP:DMG: }, - [1655978403.943747][4421:4426] CHIP:DMG: }, - [1655978403.943780][4421:4426] CHIP:DMG: - [1655978403.943815][4421:4426] CHIP:DMG: }, - [1655978403.943847][4421:4426] CHIP:DMG: - [1655978403.943879][4421:4426] CHIP:DMG: ], - [1655978403.943912][4421:4426] CHIP:DMG: - [1655978403.943944][4421:4426] CHIP:DMG: InteractionModelRevision = 1 - [1655978403.943968][4421:4426] CHIP:DMG: } - [1655978403.944242][4421:4426] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655978403.944296][4421:4426] CHIP:TOO: Event number: 0 - [1655978403.944343][4421:4426] CHIP:TOO: Priority: Critical - [1655978403.944389][4421:4426] CHIP:TOO: Timestamp: 4896714 - [1655978403.944531][4421:4426] CHIP:TOO: StartUp: { - [1655978403.944598][4421:4426] CHIP:TOO: SoftwareVersion: 1 - [1655978403.944664][4421:4426] CHIP:TOO: } - [1655978403.944762][4421:4426] CHIP:DMG: MoveToState ReadClient[0xffff94006630]: Moving to [AwaitingSu] + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x000 100 1000 1 0 + + On TH verify that the Report Data Message for event only after the minimum interval has expiredwith SubscriptionId which uniquely identifies this subscription events in Subscribe Request Message from DUT. + [1657456305.446793][11635:11640] CHIP:EM: Rxd Ack; Removing MessageCounter:190733262 from Retrans Table on exchange 33697i + [1657456305.446853][11635:11640] CHIP:EM: Removed CHIP MessageCounter:190733262 from RetransTable on exchange 33697i + [1657456305.446978][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456305.447070][11635:11640] CHIP:DMG: { + [1657456305.447130][11635:11640] CHIP:DMG: SubscriptionId = 0x2d7e6562, + [1657456305.447193][11635:11640] CHIP:DMG: EventReportIBs = + [1657456305.447295][11635:11640] CHIP:DMG: [ + [1657456305.447356][11635:11640] CHIP:DMG: EventReportIB = + [1657456305.447519][11635:11640] CHIP:DMG: { + [1657456305.447607][11635:11640] CHIP:DMG: EventDataIB = + [1657456305.447685][11635:11640] CHIP:DMG: { + [1657456305.447779][11635:11640] CHIP:DMG: EventPath = + [1657456305.447861][11635:11640] CHIP:DMG: { + [1657456305.447966][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456305.448073][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456305.448160][11635:11640] CHIP:DMG: Event = 0x0, + [1657456305.448259][11635:11640] CHIP:DMG: }, + [1657456305.448343][11635:11640] CHIP:DMG: + [1657456305.448442][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456305.448534][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456305.448620][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456305.448710][11635:11640] CHIP:DMG: EventData = + [1657456305.448803][11635:11640] CHIP:DMG: { + [1657456305.448886][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456305.448974][11635:11640] CHIP:DMG: }, + [1657456305.449050][11635:11640] CHIP:DMG: }, + [1657456305.449136][11635:11640] CHIP:DMG: + [1657456305.449206][11635:11640] CHIP:DMG: }, + [1657456305.449409][11635:11640] CHIP:DMG: + [1657456305.449474][11635:11640] CHIP:DMG: ], + [1657456305.449551][11635:11640] CHIP:DMG: + [1657456305.449612][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456305.449662][11635:11640] CHIP:DMG: } + [1657456305.449977][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456305.450059][11635:11640] CHIP:TOO: Event number: 0 + [1657456305.450116][11635:11640] CHIP:TOO: Priority: Critical + [1657456305.450171][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456305.450250][11635:11640] CHIP:TOO: StartUp: { + [1657456305.450334][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456305.450394][11635:11640] CHIP:TOO: } + [1657456305.450519][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94005970]: Moving to [AwaitingSu] disabled: true - label: @@ -396,81 +632,63 @@ tests: is set to True for a particular event path in the EventPathIB in the SubscribeRequestMessage." verification: | - Use interactive mode to verify this + The cluster used in the below command is an example, User can use any supported chip cluster. + basic subscribe-event start-up 30 100 1 0 --is-urgent true - On DUT - [1655979158.361200][1637:1637] CHIP:IM: Received Subscribe request - [1655979158.361388][1637:1637] CHIP:DMG: SubscribeRequestMessage = - [1655979158.361444][1637:1637] CHIP:DMG: { - [1655979158.361512][1637:1637] CHIP:DMG: KeepSubscriptions = false, - [1655979158.361568][1637:1637] CHIP:DMG: MinIntervalFloorSeconds = 0x1e, - [1655979158.361623][1637:1637] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, - [1655979158.361673][1637:1637] CHIP:DMG: EventPathIBs = - [1655979158.361727][1637:1637] CHIP:DMG: [ - [1655979158.361796][1637:1637] CHIP:DMG: EventPath = - [1655979158.361852][1637:1637] CHIP:DMG: { - [1655979158.361928][1637:1637] CHIP:DMG: Endpoint = 0x0, - [1655979158.362016][1637:1637] CHIP:DMG: Cluster = 0x28, - [1655979158.362082][1637:1637] CHIP:DMG: Event = 0x0, - [1655979158.362161][1637:1637] CHIP:DMG: isUrgent = true, - [1655979158.362220][1637:1637] CHIP:DMG: }, - [1655979158.362299][1637:1637] CHIP:DMG: - [1655979158.362350][1637:1637] CHIP:DMG: ], - [1655979158.362425][1637:1637] CHIP:DMG: - [1655979158.362477][1637:1637] CHIP:DMG: isFabricFiltered = true, - [1655979158.362546][1637:1637] CHIP:DMG: InteractionModelRevision = 1 - [1655979158.362638][1637:1637] CHIP:DMG: }, - [1655979158.362788][1637:1637] CHIP:DMG: Final negotiated min/max parameters: Min = 30s, Max = 100s - - - On TH - [1655979158.364976][4496:4501] CHIP:DMG: ReportDataMessage = - [1655979158.365035][4496:4501] CHIP:DMG: { - [1655979158.365087][4496:4501] CHIP:DMG: SubscriptionId = 0x10275693, - [1655979158.365139][4496:4501] CHIP:DMG: EventReportIBs = - [1655979158.365207][4496:4501] CHIP:DMG: [ - [1655979158.365259][4496:4501] CHIP:DMG: EventReportIB = - [1655979158.365331][4496:4501] CHIP:DMG: { - [1655979158.365386][4496:4501] CHIP:DMG: EventDataIB = - [1655979158.365452][4496:4501] CHIP:DMG: { - [1655979158.365514][4496:4501] CHIP:DMG: EventPath = - [1655979158.365584][4496:4501] CHIP:DMG: { - [1655979158.365661][4496:4501] CHIP:DMG: Endpoint = 0x0, - [1655979158.365737][4496:4501] CHIP:DMG: Cluster = 0x28, - [1655979158.365803][4496:4501] CHIP:DMG: Event = 0x0, - [1655979158.365873][4496:4501] CHIP:DMG: }, - [1655979158.365939][4496:4501] CHIP:DMG: - [1655979158.366005][4496:4501] CHIP:DMG: EventNumber = 0x0, - [1655979158.366082][4496:4501] CHIP:DMG: PriorityLevel = 0x2, - [1655979158.366152][4496:4501] CHIP:DMG: SystemTimestamp = 0x4ab7ca, - [1655979158.366221][4496:4501] CHIP:DMG: EventData = - [1655979158.366314][4496:4501] CHIP:DMG: { - [1655979158.366390][4496:4501] CHIP:DMG: 0x0 = 1, - [1655979158.366464][4496:4501] CHIP:DMG: }, - [1655979158.366528][4496:4501] CHIP:DMG: }, - [1655979158.366600][4496:4501] CHIP:DMG: - [1655979158.366654][4496:4501] CHIP:DMG: }, - [1655979158.366721][4496:4501] CHIP:DMG: - [1655979158.366772][4496:4501] CHIP:DMG: ], - [1655979158.366839][4496:4501] CHIP:DMG: - [1655979158.366891][4496:4501] CHIP:DMG: InteractionModelRevision = 1 - [1655979158.367002][4496:4501] CHIP:DMG: } - [1655979158.367266][4496:4501] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1655979158.367320][4496:4501] CHIP:TOO: Event number: 0 - [1655979158.367368][4496:4501] CHIP:TOO: Priority: Critical - [1655979158.367417][4496:4501] CHIP:TOO: Timestamp: 4896714 - [1655979158.367545][4496:4501] CHIP:TOO: StartUp: { - [1655979158.367612][4496:4501] CHIP:TOO: SoftwareVersion: 1 - [1655979158.367662][4496:4501] CHIP:TOO: } - [1655979158.367759][4496:4501] CHIP:DMG: MoveToState ReadClient[0xffff70007140]: Moving to [AwaitingSu] + On TH verify that the Report Data Message for all subscribed events, + [1657456352.516479][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456352.516569][11635:11640] CHIP:DMG: { + [1657456352.516631][11635:11640] CHIP:DMG: SubscriptionId = 0x88b484dc, + [1657456352.516716][11635:11640] CHIP:DMG: EventReportIBs = + [1657456352.516798][11635:11640] CHIP:DMG: [ + [1657456352.516878][11635:11640] CHIP:DMG: EventReportIB = + [1657456352.516970][11635:11640] CHIP:DMG: { + [1657456352.517061][11635:11640] CHIP:DMG: EventDataIB = + [1657456352.517138][11635:11640] CHIP:DMG: { + [1657456352.517234][11635:11640] CHIP:DMG: EventPath = + [1657456352.517316][11635:11640] CHIP:DMG: { + [1657456352.517421][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456352.517530][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456352.517616][11635:11640] CHIP:DMG: Event = 0x0, + [1657456352.517718][11635:11640] CHIP:DMG: }, + [1657456352.517823][11635:11640] CHIP:DMG: + [1657456352.517902][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456352.517987][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456352.518067][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456352.518147][11635:11640] CHIP:DMG: EventData = + [1657456352.518225][11635:11640] CHIP:DMG: { + [1657456352.518308][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456352.518386][11635:11640] CHIP:DMG: }, + [1657456352.518456][11635:11640] CHIP:DMG: }, + [1657456352.518548][11635:11640] CHIP:DMG: + [1657456352.518612][11635:11640] CHIP:DMG: }, + [1657456352.518714][11635:11640] CHIP:DMG: + [1657456352.518775][11635:11640] CHIP:DMG: ], + [1657456352.518872][11635:11640] CHIP:DMG: + [1657456352.518935][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456352.518993][11635:11640] CHIP:DMG: } + [1657456352.519293][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456352.519354][11635:11640] CHIP:TOO: Event number: 0 + [1657456352.519474][11635:11640] CHIP:TOO: Priority: Critical + [1657456352.519531][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456352.519609][11635:11640] CHIP:TOO: StartUp: { + [1657456352.519671][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456352.519752][11635:11640] CHIP:TOO: } + [1657456352.519886][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff940092b0]: Moving to [AwaitingSu] disabled: true - label: "Activate Event subscription from TH to DUT with no change in event triggering attribute values before maximum interval." verification: | - ./chip-tool basic subscribe-event start-up 20 100 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event start-up 20 100 1 0 + + + On TH verify that the Report Data Message from DUT to TH + [1656586853.121700][3433:3438] CHIP:EM: Removed CHIP MessageCounter:63910370 from RetransTable on exchange 37869i [1656586853.121777][3433:3438] CHIP:DMG: ReportDataMessage = [1656586853.121815][3433:3438] CHIP:DMG: { @@ -517,56 +735,93 @@ tests: "With an active Event subscription from TH to DUT, TH sends another Subscribe Request Message to DUT with KeepSubscriptions as False." verification: | - ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - - [1656586584.993544][3416:3421] CHIP:DMG: } - [1656586584.993743][3416:3421] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1656586584.993781][3416:3421] CHIP:TOO: Event number: 0 - [1656586584.993815][3416:3421] CHIP:TOO: Priority: Critical - [1656586584.993851][3416:3421] CHIP:TOO: Timestamp: 570879 - [1656586584.993938][3416:3421] CHIP:TOO: StartUp: { - [1656586584.994000][3416:3421] CHIP:TOO: SoftwareVersion: 1 - [1656586584.994036][3416:3421] CHIP:TOO: } - [1656586584.994105][3416:3421] CHIP:DMG: MoveToState ReadClient[0xffff84005da0]: Moving to [AwaitingSu] - [1656586584.994171][3416:3421] CHIP:EM: Piggybacking Ack for MessageCounter:201398118 on exchange: 37980i - [1656586584.994250][3416:3421] CHIP:IN: Prepared secure message 0xaaaae80fa2a8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 37980i with MessageCounter:65866683. - [1656586584.994302][3416:3421] CHIP:IN: Sending encrypted msg 0xaaaae80fa2a8 with MessageCounter:65866683 to 0x0000000000000001 (1) at monotonic time: 0000000001409EBB msec - [1656586584.995316][3416:3421] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:201398119 on exchange 37980i - [1656586584.995363][3416:3421] CHIP:EM: Found matching exchange: 37980i, Delegate: 0xffff84005da0 - [1656586584.995409][3416:3421] CHIP:EM: Rxd Ack; Removing MessageCounter:65866683 from Retrans Table on exchange 37980i - [1656586584.995444][3416:3421] CHIP:EM: Removed CHIP MessageCounter:65866683 from RetransTable on exchange 37980i - [1656586584.995501][3416:3421] CHIP:DMG: SubscribeResponseMessage = - [1656586584.995541][3416:3421] CHIP:DMG: { - [1656586584.995576][3416:3421] CHIP:DMG: SubscriptionId = 0x2f62924f, - [1656586584.995616][3416:3421] CHIP:DMG: MaxInterval = 0x3e8, - [1656586584.995653][3416:3421] CHIP:DMG: InteractionModelRevision = 1 - [1656586584.995687][3416:3421] CHIP:DMG: } - [1656586584.995724][3416:3421] CHIP:DMG: Subscription established with SubscriptionID = 0x2f62924f MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 - - - ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 --keepSubscriptions 0 - [1656586592.481229][3423:3428] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1656586592.481265][3423:3428] CHIP:TOO: Event number: 0 - [1656586592.481299][3423:3428] CHIP:TOO: Priority: Critical - [1656586592.481331][3423:3428] CHIP:TOO: Timestamp: 570879 - [1656586592.481420][3423:3428] CHIP:TOO: StartUp: { - [1656586592.481483][3423:3428] CHIP:TOO: SoftwareVersion: 1 - [1656586592.481519][3423:3428] CHIP:TOO: } - [1656586592.481588][3423:3428] CHIP:DMG: MoveToState ReadClient[0xffff98002f00]: Moving to [AwaitingSu] - [1656586592.481653][3423:3428] CHIP:EM: Piggybacking Ack for MessageCounter:193147231 on exchange: 54998i - [1656586592.481731][3423:3428] CHIP:IN: Prepared secure message 0xaaaaf7795938 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 54998i with MessageCounter:224157172. - [1656586592.481785][3423:3428] CHIP:IN: Sending encrypted msg 0xaaaaf7795938 with MessageCounter:224157172 to 0x0000000000000001 (1) at monotonic time: 000000000140BBFB msec - [1656586592.483234][3423:3428] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:193147232 on exchange 54998i - [1656586592.483282][3423:3428] CHIP:EM: Found matching exchange: 54998i, Delegate: 0xffff98002f00 - [1656586592.483327][3423:3428] CHIP:EM: Rxd Ack; Removing MessageCounter:224157172 from Retrans Table on exchange 54998i - [1656586592.483361][3423:3428] CHIP:EM: Removed CHIP MessageCounter:224157172 from RetransTable on exchange 54998i - [1656586592.483418][3423:3428] CHIP:DMG: SubscribeResponseMessage = - [1656586592.483456][3423:3428] CHIP:DMG: { - [1656586592.483490][3423:3428] CHIP:DMG: SubscriptionId = 0xc9446e32, - [1656586592.483532][3423:3428] CHIP:DMG: MaxInterval = 0x3e8, - [1656586592.483569][3423:3428] CHIP:DMG: InteractionModelRevision = 1 - [1656586592.483602][3423:3428] CHIP:DMG: } - [1656586592.483639][3423:3428] CHIP:DMG: Subscription established with SubscriptionID = 0xc9446e32 MinInterval = 100s MaxInterval = 1000s Peer = 01:0000000000000001 + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x000 10 500 1 0 + + On TH verify that the Report Data Message any event changes for the second subscribe request sent by the TH with SubscriptionId which uniquely identifies this subscription events in Subscribe Request Message from DUT. + + [1657456542.476859][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456542.476888][11635:11640] CHIP:DMG: { + [1657456542.476914][11635:11640] CHIP:DMG: SubscriptionId = 0xb1ba00da, + [1657456542.476943][11635:11640] CHIP:DMG: EventReportIBs = + [1657456542.476976][11635:11640] CHIP:DMG: [ + [1657456542.477002][11635:11640] CHIP:DMG: EventReportIB = + [1657456542.477035][11635:11640] CHIP:DMG: { + [1657456542.477061][11635:11640] CHIP:DMG: EventDataIB = + [1657456542.477091][11635:11640] CHIP:DMG: { + [1657456542.477119][11635:11640] CHIP:DMG: EventPath = + [1657456542.477149][11635:11640] CHIP:DMG: { + [1657456542.477180][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456542.477215][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456542.477246][11635:11640] CHIP:DMG: Event = 0x0, + [1657456542.477278][11635:11640] CHIP:DMG: }, + [1657456542.477311][11635:11640] CHIP:DMG: + [1657456542.477340][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456542.477372][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456542.477402][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456542.477432][11635:11640] CHIP:DMG: EventData = + [1657456542.477463][11635:11640] CHIP:DMG: { + [1657456542.477495][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456542.477526][11635:11640] CHIP:DMG: }, + [1657456542.477554][11635:11640] CHIP:DMG: }, + [1657456542.477587][11635:11640] CHIP:DMG: + [1657456542.477612][11635:11640] CHIP:DMG: }, + [1657456542.477643][11635:11640] CHIP:DMG: + [1657456542.477666][11635:11640] CHIP:DMG: ], + [1657456542.477698][11635:11640] CHIP:DMG: + [1657456542.477723][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456542.477747][11635:11640] CHIP:DMG: } + [1657456542.477862][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456542.477888][11635:11640] CHIP:TOO: Event number: 0 + [1657456542.477911][11635:11640] CHIP:TOO: Priority: Critical + [1657456542.477931][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456542.477964][11635:11640] CHIP:TOO: StartUp: { + [1657456542.477992][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456542.478012][11635:11640] CHIP:TOO: } + + basic subscribe-event-by-id 0x000 100 1000 1 0 --keepSubscriptions 0 + [1657456699.444604][11635:11640] CHIP:DMG: ReportDataMessage = + [1657456699.444671][11635:11640] CHIP:DMG: { + [1657456699.444728][11635:11640] CHIP:DMG: SubscriptionId = 0x4a1b991b, + [1657456699.444791][11635:11640] CHIP:DMG: EventReportIBs = + [1657456699.444872][11635:11640] CHIP:DMG: [ + [1657456699.444933][11635:11640] CHIP:DMG: EventReportIB = + [1657456699.445025][11635:11640] CHIP:DMG: { + [1657456699.445094][11635:11640] CHIP:DMG: EventDataIB = + [1657456699.445172][11635:11640] CHIP:DMG: { + [1657456699.445247][11635:11640] CHIP:DMG: EventPath = + [1657456699.445327][11635:11640] CHIP:DMG: { + [1657456699.445410][11635:11640] CHIP:DMG: Endpoint = 0x0, + [1657456699.445495][11635:11640] CHIP:DMG: Cluster = 0x28, + [1657456699.445582][11635:11640] CHIP:DMG: Event = 0x0, + [1657456699.445671][11635:11640] CHIP:DMG: }, + [1657456699.445757][11635:11640] CHIP:DMG: + [1657456699.445836][11635:11640] CHIP:DMG: EventNumber = 0x0, + [1657456699.445920][11635:11640] CHIP:DMG: PriorityLevel = 0x2, + [1657456699.446002][11635:11640] CHIP:DMG: SystemTimestamp = 0x5b7a5f, + [1657456699.446081][11635:11640] CHIP:DMG: EventData = + [1657456699.446163][11635:11640] CHIP:DMG: { + [1657456699.446252][11635:11640] CHIP:DMG: 0x0 = 1, + [1657456699.446338][11635:11640] CHIP:DMG: }, + [1657456699.446414][11635:11640] CHIP:DMG: }, + [1657456699.446494][11635:11640] CHIP:DMG: + [1657456699.446681][11635:11640] CHIP:DMG: }, + [1657456699.446770][11635:11640] CHIP:DMG: + [1657456699.446830][11635:11640] CHIP:DMG: ], + [1657456699.446908][11635:11640] CHIP:DMG: + [1657456699.446969][11635:11640] CHIP:DMG: InteractionModelRevision = 1 + [1657456699.447027][11635:11640] CHIP:DMG: } + [1657456699.447294][11635:11640] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 + [1657456699.447355][11635:11640] CHIP:TOO: Event number: 0 + [1657456699.447451][11635:11640] CHIP:TOO: Priority: Critical + [1657456699.447509][11635:11640] CHIP:TOO: Timestamp: 5995103 + [1657456699.447587][11635:11640] CHIP:TOO: StartUp: { + [1657456699.447651][11635:11640] CHIP:TOO: SoftwareVersion: 1 + [1657456699.447699][11635:11640] CHIP:TOO: } + [1657456699.447808][11635:11640] CHIP:DMG: MoveToState ReadClient[0xffff94006d20]: Moving to [AwaitingSu] + [1657456699.447920][11635:11640] CHIP:EM: Piggybacking Ack for MessageCounter:11056089 on exchange: 33701i + [1657456699.448050][11635:11640] CHIP:IN: Prepared secure message 0xffff94001128 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 33701i with MessageCounter:190733276. disabled: true - label: @@ -574,7 +829,11 @@ tests: message to DUT. TH sends Status Response Message with a success Status code." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 20 400 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x000 20 400 1 0 + + On TH verify that the Report Data Message with SubscriptionId which uniquely identifies this subscription on the publisher, Maximuminterval and miinimuminterval in seconds for events in Subscribe Request Message from DUT [1655979596.078821][4557:4562] CHIP:DMG: SubscribeResponseMessage = [1655979596.078861][4557:4562] CHIP:DMG: { @@ -590,7 +849,8 @@ tests: message to DUT + TH sends Status Response Message with an error Status." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test.This test step to be removed from the manual execution. + This is not testable in normal scenario, and needs to be tested as part of Unit test. + This test is not testable. disabled: true - label: @@ -605,9 +865,14 @@ tests: path which requires a privilege that is not granted for the cluster in the path." verification: | - sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. + + To Setup the TH such that there is no accessing fabric, 1st we need to send the below mentioned ACL command + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 + basic subscribe-event-by-id 0x000 100 1000 1 0 + In TH log verify DUT responds with UNSUPPORTED_ACCESS for the data sent in the above command [1653479886.551289][22629:22634] CHIP:DMG: ReportDataMessage = @@ -647,10 +912,15 @@ tests: Wildcard path where reading an event in the path requires a privilege that is not granted for the cluster in the path." verification: | - sudo ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 + chip tool is used as TH and send the below command from TH + + To Setup the TH such that there is no accessing fabric, 1st we need to send below mentioned ACL command + + accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1234], "targets": null}]' 1 0 - sudo ./chip-tool any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF + any subscribe-event-by-id 0xFFFFFFFF 0xFFFFFFFF 100 1000 1 0xFFFF + verify DUT is responsds with Report Data Message with no entry for that event in EventReports list. for the data sent in the above command [1653480007.965861][22654:22659] CHIP:DMG: ReportDataMessage = [1653480007.965882][22654:22659] CHIP:DMG: { @@ -665,7 +935,12 @@ tests: information field matching the node indicated in the path and EventMin field." verification: | - sudo ./chip-tool accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 + The cluster used in the below command is an example, User can use any supported chip cluster. + + On TH, verify that the Report Data Message with EventReports for event numbers higher than the EventMin field and + Verify that the subsequent ReportData actions as part of the subscription include the latest EventNo associated with each node generating new events + + accesscontrol subscribe-event access-control-entry-changed 5 10 1 0 [1655979825.174136][4566:4571] CHIP:DMG: ReportDataMessage = [1655979825.174177][4566:4571] CHIP:DMG: { [1655979825.174213][4566:4571] CHIP:DMG: SubscriptionId = 0xd263227e, @@ -867,10 +1142,12 @@ tests: information field matching the node indicated in the path and the event number is less than the EventMin field." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 --event-min 1 + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x000 100 1000 1 0 --event-min 1 - On TH + On TH verify that the Report Data Message with empty EventReports from DUT [1655980488.281744][4665:4671] CHIP:EM: Removed CHIP MessageCounter:255017723 from RetransTable on exchange 3120i [1655980488.281823][4665:4671] CHIP:DMG: ReportDataMessage = [1655980488.281891][4665:4671] CHIP:DMG: { @@ -885,6 +1162,8 @@ tests: "With an active Event subscription from TH to DUT, change attribute values on DUT to create events multiple times." verification: | + The cluster used in the below command is an example, User can use any supported chip cluster. + Provision DUT and TH. To generate the software fault event, execute the following @@ -892,38 +1171,9 @@ tests: ps -aef|grep all-clusters-app sudo kill -SIGUSR1 - After killing the DUT , you may observe the following log in the DUT - [1656509949.322396][1609:1609] CHIP:IM: Received Subscribe request - [1656509949.322534][1609:1609] CHIP:DMG: SubscribeRequestMessage = - [1656509949.322582][1609:1609] CHIP:DMG: { - [1656509949.322626][1609:1609] CHIP:DMG: KeepSubscriptions = false, - [1656509949.322674][1609:1609] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1656509949.322723][1609:1609] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1656509949.322767][1609:1609] CHIP:DMG: EventPathIBs = - [1656509949.322814][1609:1609] CHIP:DMG: [ - [1656509949.322858][1609:1609] CHIP:DMG: EventPath = - [1656509949.322906][1609:1609] CHIP:DMG: { - [1656509949.322957][1609:1609] CHIP:DMG: Endpoint = 0x0, - [1656509949.323022][1609:1609] CHIP:DMG: Cluster = 0x34, - [1656509949.323085][1609:1609] CHIP:DMG: Event = 0x0, - [1656509949.323142][1609:1609] CHIP:DMG: }, - [1656509949.323197][1609:1609] CHIP:DMG: - [1656509949.323240][1609:1609] CHIP:DMG: ], - [1656509949.323290][1609:1609] CHIP:DMG: - [1656509949.323335][1609:1609] CHIP:DMG: isFabricFiltered = true, - [1656509949.323381][1609:1609] CHIP:DMG: InteractionModelRevision = 1 - [1656509949.323424][1609:1609] CHIP:DMG: }, - [1656509949.323535][1609:1609] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s - - [1656509949.326403][1609:1609] CHIP:DMG: Fetched 14 events - [1656509949.326451][1609:1609] CHIP:DMG: Sending report (payload has 984 bytes)... - - - - - On TH Send the below command - - ./chip-tool softwarediagnostics subscribe-event software-fault 1 0 + + On TH, Verify that each event record is assigned a number that is exactly 1 greater than the last created event record on that Node. by sending the below command + softwarediagnostics subscribe-event software-fault 1 0 [1656509949.252105][1593:1598] CHIP:DMG: InteractionModelRevision = 1 [1656509949.252131][1593:1598] CHIP:DMG: } [1656509949.252482][1593:1598] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 @@ -1055,156 +1305,11 @@ tests: [1656509949.256679][1593:1598] CHIP:DMG: MoveToState ReadClient[0xffff74004470]: Moving to [AwaitingSu] disabled: true - - label: - "With an active Event subscription from TH to DUT, change attribute - values on DUT to create events multiple times. Reboot the DUT, - re-subscribe to events and continue to change attribute values on DUT - to create events multiple times." - verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 - [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical - [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 - [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { - [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 - [1653483303.162661][23514:23519] CHIP:TOO: } - [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to - - sudo ./chip-tool basic write node-label 1 1 0 - [1653483135.231313][23467:23472] CHIP:DMG: WriteClient moving to [ResponseRe] - [1653483135.231352][23467:23472] CHIP:DMG: WriteResponseMessage = - [1653483135.231370][23467:23472] CHIP:DMG: { - [1653483135.231385][23467:23472] CHIP:DMG: AttributeStatusIBs = - [1653483135.231406][23467:23472] CHIP:DMG: [ - [1653483135.231437][23467:23472] CHIP:DMG: AttributeStatusIB = - [1653483135.231465][23467:23472] CHIP:DMG: { - [1653483135.231493][23467:23472] CHIP:DMG: AttributePathIB = - [1653483135.231519][23467:23472] CHIP:DMG: { - [1653483135.231539][23467:23472] CHIP:DMG: Endpoint = 0x0, - [1653483135.231557][23467:23472] CHIP:DMG: Cluster = 0x28, - [1653483135.231576][23467:23472] CHIP:DMG: Attribute = 0x0000_0005, - [1653483135.231593][23467:23472] CHIP:DMG: } - [1653483135.231617][23467:23472] CHIP:DMG: - [1653483135.231634][23467:23472] CHIP:DMG: StatusIB = - [1653483135.231652][23467:23472] CHIP:DMG: { - [1653483135.231670][23467:23472] CHIP:DMG: status = 0x00 (SUCCESS), - [1653483135.231686][23467:23472] CHIP:DMG: }, - [1653483135.231704][23467:23472] CHIP:DMG: - [1653483135.231721][23467:23472] CHIP:DMG: }, - [1653483135.231743][23467:23472] CHIP:DMG: - [1653483135.231758][23467:23472] CHIP:DMG: ], - [1653483135.231781][23467:23472] CHIP:DMG: - [1653483135.231797][23467:23472] CHIP:DMG: InteractionModelRevision = 1 - [1653483135.231811][23467:23472] CHIP:DMG: } - - - To run a reboot test case on raspi, run the app with --KVS flag with a file in local directory and pass that file to the command to launch the app. Steps - - create a file using touch command , something like touch mytest.txt - chmod 777 mytest.txt - launch the app sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt - - if you launch the app with the above commands and provision the app, even when you reboot the app with 'sudo reboot' , next time you launch the app with 'sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt' , you can run read/write attribs and commands without reprovisioning the device - - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 - [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical - [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 - [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { - [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 - [1653483303.162661][23514:23519] CHIP:TOO: } - [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to [AwaitingSu] - [1653483303.162752][23514:23519] CHIP:EM: Piggybacking Ack for MessageCounter:5829866 on exchange: 29648i - [1653483303.162800][23514:23519] CHIP:IN: Prepared secure message 0x55ec87cd50d8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 29648i with MessageCounter:12981466. - [1653483303.162829][23514:23519] CHIP:IN: Sending encrypted msg 0x55ec87cd50d8 with MessageCounter:12981466 to 0x0000000000000001 (1) at monotonic time: 0000000001B803EF msec - [1653483303.167833][23514:23519] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:5829867 on exchange 29648i - [1653483303.167885][23514:23519] CHIP:EM: Found matching exchange: 29648i, Delegate: 0x7f9294003f00 - [1653483303.167922][23514:23519] CHIP:EM: Rxd Ack; Removing MessageCounter:12981466 from Retrans Table on exchange 29648i - [1653483303.167946][23514:23519] CHIP:EM: Removed CHIP MessageCounter:12981466 from RetransTable on exchange 29648i - [1653483303.168007][23514:23519] CHIP:DMG: SubscribeResponseMessage = - [1653483303.168031][23514:23519] CHIP:DMG: { - [1653483303.168050][23514:23519] CHIP:DMG: SubscriptionId = 0xd60dab88, - [1653483303.168070][23514:23519] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1653483303.168089][23514:23519] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1653483303.168111][23514:23519] CHIP:DMG: InteractionModelRevision = 1 - [1653483303.168132][23514:23519] CHIP:DMG: } - disabled: true - - label: "With an active Event subscription from TH to DUT, change attribute values on DUT to create events multiple times. Perform a factory data reset on DUT, re-subscribe to events and continue to change attribute values on DUT to create events multiple times." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 - [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical - [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 - [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { - [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 - [1653483303.162661][23514:23519] CHIP:TOO: } - [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to - - sudo ./chip-tool basic write node-label 1 1 0 - [1653483135.231313][23467:23472] CHIP:DMG: WriteClient moving to [ResponseRe] - [1653483135.231352][23467:23472] CHIP:DMG: WriteResponseMessage = - [1653483135.231370][23467:23472] CHIP:DMG: { - [1653483135.231385][23467:23472] CHIP:DMG: AttributeStatusIBs = - [1653483135.231406][23467:23472] CHIP:DMG: [ - [1653483135.231437][23467:23472] CHIP:DMG: AttributeStatusIB = - [1653483135.231465][23467:23472] CHIP:DMG: { - [1653483135.231493][23467:23472] CHIP:DMG: AttributePathIB = - [1653483135.231519][23467:23472] CHIP:DMG: { - [1653483135.231539][23467:23472] CHIP:DMG: Endpoint = 0x0, - [1653483135.231557][23467:23472] CHIP:DMG: Cluster = 0x28, - [1653483135.231576][23467:23472] CHIP:DMG: Attribute = 0x0000_0005, - [1653483135.231593][23467:23472] CHIP:DMG: } - [1653483135.231617][23467:23472] CHIP:DMG: - [1653483135.231634][23467:23472] CHIP:DMG: StatusIB = - [1653483135.231652][23467:23472] CHIP:DMG: { - [1653483135.231670][23467:23472] CHIP:DMG: status = 0x00 (SUCCESS), - [1653483135.231686][23467:23472] CHIP:DMG: }, - [1653483135.231704][23467:23472] CHIP:DMG: - [1653483135.231721][23467:23472] CHIP:DMG: }, - [1653483135.231743][23467:23472] CHIP:DMG: - [1653483135.231758][23467:23472] CHIP:DMG: ], - [1653483135.231781][23467:23472] CHIP:DMG: - [1653483135.231797][23467:23472] CHIP:DMG: InteractionModelRevision = 1 - [1653483135.231811][23467:23472] CHIP:DMG: } - - - To run a reboot test case on raspi, run the app with --KVS flag with a file in local directory and pass that file to the command to launch the app. Steps - - create a file using touch command , something like touch mytest.txt - chmod 777 mytest.txt - launch the app sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt - - if you launch the app with the above commands and provision the app, even when you reboot the app with 'sudo reboot' , next time you launch the app with 'sudo ./out/all-clusters-app/chip-all-clusters-app --KVS ./mytest.txt' , you can run read/write attribs and commands without reprovisioning the device - - sudo ./chip-tool basic subscribe-event-by-id 0x000 100 1000 1 0 - [1653483303.162541][23514:23519] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 - [1653483303.162559][23514:23519] CHIP:TOO: Event number: 65536 - [1653483303.162570][23514:23519] CHIP:TOO: Priority: Critical - [1653483303.162581][23514:23519] CHIP:TOO: Timestamp: 91655 - [1653483303.162624][23514:23519] CHIP:TOO: StartUp: { - [1653483303.162645][23514:23519] CHIP:TOO: SoftwareVersion: 1 - [1653483303.162661][23514:23519] CHIP:TOO: } - [1653483303.162711][23514:23519] CHIP:DMG: MoveToState ReadClient[0x7f9294003f00]: Moving to [AwaitingSu] - [1653483303.162752][23514:23519] CHIP:EM: Piggybacking Ack for MessageCounter:5829866 on exchange: 29648i - [1653483303.162800][23514:23519] CHIP:IN: Prepared secure message 0x55ec87cd50d8 to 0x0000000000000001 (1) of type 0x1 and protocolId (0, 1) on exchange 29648i with MessageCounter:12981466. - [1653483303.162829][23514:23519] CHIP:IN: Sending encrypted msg 0x55ec87cd50d8 with MessageCounter:12981466 to 0x0000000000000001 (1) at monotonic time: 0000000001B803EF msec - [1653483303.167833][23514:23519] CHIP:EM: Received message of type 0x4 with protocolId (0, 1) and MessageCounter:5829867 on exchange 29648i - [1653483303.167885][23514:23519] CHIP:EM: Found matching exchange: 29648i, Delegate: 0x7f9294003f00 - [1653483303.167922][23514:23519] CHIP:EM: Rxd Ack; Removing MessageCounter:12981466 from Retrans Table on exchange 29648i - [1653483303.167946][23514:23519] CHIP:EM: Removed CHIP MessageCounter:12981466 from RetransTable on exchange 29648i - [1653483303.168007][23514:23519] CHIP:DMG: SubscribeResponseMessage = - [1653483303.168031][23514:23519] CHIP:DMG: { - [1653483303.168050][23514:23519] CHIP:DMG: SubscriptionId = 0xd60dab88, - [1653483303.168070][23514:23519] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1653483303.168089][23514:23519] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1653483303.168111][23514:23519] CHIP:DMG: InteractionModelRevision = 1 - [1653483303.168132][23514:23519] CHIP:DMG: } + https://github.com/CHIP-Specifications/chip-test-plans/issues/1700 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml index 28d17f13f9f2ae..1ce970e0ad4f63 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_3.yaml @@ -13,8 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: - 21.6.3. [TC-IDM-6.3] Events Read Interaction from DUT to TH. [{DUT_Client}] +name: 3.6.3. [TC-IDM-6.3] Events Read Interaction from DUT to TH. [{DUT_Client}] config: nodeId: 0x12344321 @@ -24,15 +23,13 @@ config: tests: - label: "DUT sends Read Request Message to the TH for a supported event." verification: | - In case of chip tool, here is an example command to use - - On TH verify that Read Request Message received has these fields EventRequests, EventFilters, and FabricFiltered. + The cluster used in the below command is an example, User can use any supported chip cluster. sudo ./chip-tool any read-event-by-id 0xFFFFFFFF 0xFFFFFFFF 1 0xFFFF + On TH verify that Read Request Message received has these fields EventRequests, EventFilters, and FabricFiltered. - On TH [1655210591.986723][4218:4223] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Event 0x0000_0000 [1655210591.986748][4218:4223] CHIP:TOO: Event number: 65536 diff --git a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml index 09008ba0d5dd43..1ba94a0351a97c 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_6_4.yaml @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 21.6.4. [TC-IDM-6.4] Events Subscribe Interaction from DUT to TH. + 3.6.4. [TC-IDM-6.4] Events Subscribe Interaction from DUT to TH. [{DUT_Client}] config: @@ -26,52 +26,64 @@ tests: - label: "DUT sends Subscribe Request Message to the TH for a supported event." verification: | - sudo ./chip-tool basic subscribe-event start-up 100 1000 1 0 - [1655981582.711841][1637:1637] CHIP:IM: Received Subscribe request - [1655981582.712024][1637:1637] CHIP:DMG: SubscribeRequestMessage = - [1655981582.712110][1637:1637] CHIP:DMG: { - [1655981582.712167][1637:1637] CHIP:DMG: KeepSubscriptions = false, - [1655981582.712231][1637:1637] CHIP:DMG: MinIntervalFloorSeconds = 0x64, - [1655981582.712316][1637:1637] CHIP:DMG: MaxIntervalCeilingSeconds = 0x3e8, - [1655981582.712375][1637:1637] CHIP:DMG: EventPathIBs = - [1655981582.712458][1637:1637] CHIP:DMG: [ - [1655981582.712516][1637:1637] CHIP:DMG: EventPath = - [1655981582.712601][1637:1637] CHIP:DMG: { - [1655981582.712668][1637:1637] CHIP:DMG: Endpoint = 0x0, - [1655981582.712764][1637:1637] CHIP:DMG: Cluster = 0x28, - [1655981582.712860][1637:1637] CHIP:DMG: Event = 0x0, - [1655981582.712930][1637:1637] CHIP:DMG: }, - [1655981582.713020][1637:1637] CHIP:DMG: - [1655981582.713079][1637:1637] CHIP:DMG: ], - [1655981582.713125][1637:1637] CHIP:DMG: - [1655981582.713149][1637:1637] CHIP:DMG: isFabricFiltered = true, - [1655981582.713182][1637:1637] CHIP:DMG: InteractionModelRevision = 1 - [1655981582.713205][1637:1637] CHIP:DMG: }, - [1655981582.713270][1637:1637] CHIP:DMG: Final negotiated min/max parameters: Min = 100s, Max = 1000s - [1655981582.713359][1637:1637] CHIP:DMG: IM RH moving to [GeneratingReports] + The cluster used in the below command is an example, User can use any supported chip cluster. + basic subscribe-event start-up 10 100 1 0 + + On TH (On the reference app), On reference app verify that the subscription message received has the all fields which mentioned in expected outcome + + colId (0, 1) and MessageCounter:190733237 on exchange 33689r + [1657455555.193832][11525:11525] CHIP:EM: Handling via exchange: 33689r, Delegate: 0xaaaae00c1430 + [1657455555.193912][11525:11525] CHIP:IM: Received Subscribe request + [1657455555.194063][11525:11525] CHIP:IM: Deleting previous subscription from NodeId: 000000000001B669, FabricIndex: 1 + [1657455555.194186][11525:11525] CHIP:DMG: SubscribeRequestMessage = + [1657455555.194252][11525:11525] CHIP:DMG: { + [1657455555.194312][11525:11525] CHIP:DMG: KeepSubscriptions = false, + [1657455555.194395][11525:11525] CHIP:DMG: MinIntervalFloorSeconds = 0xa, + [1657455555.194461][11525:11525] CHIP:DMG: MaxIntervalCeilingSeconds = 0x64, + [1657455555.194522][11525:11525] CHIP:DMG: EventPathIBs = + [1657455555.194586][11525:11525] CHIP:DMG: [ + [1657455555.194646][11525:11525] CHIP:DMG: EventPath = + [1657455555.194708][11525:11525] CHIP:DMG: { + [1657455555.194776][11525:11525] CHIP:DMG: Endpoint = 0x0, + [1657455555.194853][11525:11525] CHIP:DMG: Cluster = 0x28, + [1657455555.194931][11525:11525] CHIP:DMG: Event = 0x0, + [1657455555.195002][11525:11525] CHIP:DMG: }, + [1657455555.195075][11525:11525] CHIP:DMG: + [1657455555.195135][11525:11525] CHIP:DMG: ], + [1657455555.195202][11525:11525] CHIP:DMG: + [1657455555.195263][11525:11525] CHIP:DMG: isFabricFiltered = true, + [1657455555.195325][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657455555.195382][11525:11525] CHIP:DMG: }, + [1657455555.195593][11525:11525] CHIP:DMG: Final negotiated min/max parameters: Min = 10s, Max = 100s + [1657455555.195766][11525:11525] CHIP:DMG: IM RH moving to [GeneratingReports] + [1657455555.195955][11525:11525] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 disabled: true - label: "DUT sends Subscribe Request Message to the TH. TH sends Report Data message to DUT." verification: | - sudo ./chip-tool basic subscribe-event-by-id 0x000 20 400 1 0 - - [1655981705.663905][1637:1637] CHIP:EM: Removed CHIP MessageCounter:153423939 from RetransTable on exchange 36114r - [1655981705.663961][1637:1637] CHIP:DMG: StatusResponseMessage = - [1655981705.663988][1637:1637] CHIP:DMG: { - [1655981705.664011][1637:1637] CHIP:DMG: Status = 0x00 (SUCCESS), - [1655981705.664046][1637:1637] CHIP:DMG: InteractionModelRevision = 1 - [1655981705.664069][1637:1637] CHIP:DMG: } - [1655981705.664104][1637:1637] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1655981705.664150][1637:1637] CHIP:DMG: Refresh Subscribe Sync Timer with max 400 seconds + The cluster used in the below command is an example, User can use any supported chip cluster. + + basic subscribe-event-by-id 0x000 20 400 1 0 + Verify DUT is responsds with status response for the data sent in the above command + On TH (On the reference app) + 6 from Retrans Table on exchange 33690r + [1657455691.695355][11525:11525] CHIP:EM: Removed CHIP MessageCounter:11056066 from RetransTable on exchange 33690r + [1657455691.695430][11525:11525] CHIP:DMG: StatusResponseMessage = + [1657455691.695483][11525:11525] CHIP:DMG: { + [1657455691.695510][11525:11525] CHIP:DMG: Status = 0x00 (SUCCESS), + [1657455691.695549][11525:11525] CHIP:DMG: InteractionModelRevision = 1 + [1657455691.695574][11525:11525] CHIP:DMG: } + [1657455691.695600][11525:11525] CHIP:IM: Received status response, status is 0x00 (SUCCESS) + [1657455691.695643][11525:11525] CHIP:DMG: Refresh Subscribe Sync Timer with max 400 seconds disabled: true - label: "DUT sends Subscribe Request Message to the TH and TH does not respond with Report Data message to DUT." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. his test step to be removed from the manual execution. + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true - label: @@ -79,14 +91,14 @@ tests: message to DUT. DUT sends Status Response Message to the TH. TH does not respond with Subscribe Response message to DUT." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. This test step to be removed from the manual execution. + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true - label: "With an active Event subscription from DUT to TH, TH sends Report Data message to DUT with an inactive SubscriptionId." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test.This test step to be removed from the manual execution. + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true - label: @@ -94,63 +106,5 @@ tests: Data message to DUT after the maximum interval from the last Report Data." verification: | - This is not testable in normal scenario, and needs to be tested as part of Unit test. This test step to be removed from the manual execution. - disabled: true - - - label: - "DUT sends Subscribe Request Message to TH with EventRequests set to a - specific event. Once the subscription is active, reboot the DUT. On - the TH, perform actions to trigger the event. (Trigger it multiple - times). DUT resubscribes to the same event after bootup to the TH." - verification: | - ./chip-tool softwarediagnostics read-event software-fault 1 0 - - [1655375196.291424][35133:35138] CHIP:DMG: SuppressResponse = true, - [1655375196.291478][35133:35138] CHIP:DMG: InteractionModelRevision = 1 - [1655375196.291527][35133:35138] CHIP:DMG: } - [1655375196.291829][35133:35138] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1655375196.291882][35133:35138] CHIP:TOO: Event number: 6 - [1655375196.291931][35133:35138] CHIP:TOO: Priority: Info - [1655375196.291978][35133:35138] CHIP:TOO: Timestamp: 6164894 - [1655375196.292119][35133:35138] CHIP:TOO: SoftwareFault: { - [1655375196.292173][35133:35138] CHIP:TOO: SoftwareFault: { - [1655375196.292235][35133:35138] CHIP:TOO: Id: 2677 - [1655375196.292287][35133:35138] CHIP:TOO: Name: 2677 - [1655375196.292341][35133:35138] CHIP:TOO: FaultRecording: 546875204A756E2031362031303A32363A313420323032320A - [1655375196.292391][35133:35138] CHIP:TOO: } - [1655375196.292438][35133:35138] CHIP:TOO: } - - - Provision DUT and TH. - - To generate the software fault event, execute the following - 1. Get the PID of the DUT & KIll it . - ps -aef|grep all-clusters-app - sudo kill -SIGUSR1 - - After killing the DUT , you may observe the following log in the DUT - - [1655198519.293098][2883:2883] CHIP:ZCL: SoftwareDiagnosticsDelegate: OnSoftwareFaultDetected - [1655198519.293180][2883:2883] CHIP:EVL: LogEvent event number: 0x0000000000010006 priority: 1, endpoint id: 0x0 cluster id: 0x0000_0034 event id: 0x0 Sys timestamp: 0x00000000010DDA64 - - - - On TH Send the below command - - ./chip-tool softwarediagnostics read-event software-fault 1 0 - - [1655375196.291424][35133:35138] CHIP:DMG: SuppressResponse = true, - [1655375196.291478][35133:35138] CHIP:DMG: InteractionModelRevision = 1 - [1655375196.291527][35133:35138] CHIP:DMG: } - [1655375196.291829][35133:35138] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Event 0x0000_0000 - [1655375196.291882][35133:35138] CHIP:TOO: Event number: 6 - [1655375196.291931][35133:35138] CHIP:TOO: Priority: Info - [1655375196.291978][35133:35138] CHIP:TOO: Timestamp: 6164894 - [1655375196.292119][35133:35138] CHIP:TOO: SoftwareFault: { - [1655375196.292173][35133:35138] CHIP:TOO: SoftwareFault: { - [1655375196.292235][35133:35138] CHIP:TOO: Id: 2677 - [1655375196.292287][35133:35138] CHIP:TOO: Name: 2677 - [1655375196.292341][35133:35138] CHIP:TOO: FaultRecording: 546875204A756E2031362031303A32363A313420323032320A - [1655375196.292391][35133:35138] CHIP:TOO: } - [1655375196.292438][35133:35138] CHIP:TOO: } + This is not testable in normal scenario, and needs to be tested as part of Unit test. disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml index 7879dca9757b20..5c8ffe96cbdcfa 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_7_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 21.6.5. [TC-IDM-7.1] Multi Fabric Subscription Test Cases. [{DUT_Server}] +name: 3.6.5. [TC-IDM-7.1] Multi Fabric Subscription Test Cases. [{DUT_Server}] config: nodeId: 0x12344321 @@ -35,75 +35,602 @@ tests: verify on each of these Reference Devices that the appropriate attribute value has been received. + Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) - Below Given a example commands - - ./chip-tool onoff subscribe on-time 100 1000 1 1 - [1656330208.062624][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330208.062654][9924:9924] CHIP:DMG: { - [1656330208.062681][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330208.062712][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330208.062738][9924:9924] CHIP:DMG: } - [1656330208.062765][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330208.062804][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool levelcontrol subscribe on-level 100 1000 1 1 - [1656330387.470712][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330387.470740][9924:9924] CHIP:DMG: { - [1656330387.470765][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330387.470792][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330387.470816][9924:9924] CHIP:DMG: } - [1656330387.470842][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - - - ./chip-tool onoff subscribe start-up-on-off 100 1000 1 1 - [1656330608.134217][9924:9924] CHIP:EM: Removed CHIP MessageCounter:188047438 from RetransTable on exchange 44706r - [1656330608.134265][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330608.134293][9924:9924] CHIP:DMG: { - [1656330608.134319][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330608.134345][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330608.134370][9924:9924] CHIP:DMG: } - [1656330608.134395][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330608.134434][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool levelcontrol subscribe options 100 1000 1 0 - [1656331434.214406][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656331434.214433][9924:9924] CHIP:DMG: { - [1656331434.214456][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656331434.214481][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656331434.214505][9924:9924] CHIP:DMG: } - [1656331434.214529][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656331434.214565][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool basic subscribe location 100 1000 1 0 - [1656331099.398232][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656331099.398259][9924:9924] CHIP:DMG: { - [1656331099.398283][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656331099.398307][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656331099.398330][9924:9924] CHIP:DMG: } - [1656331099.398353][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656331099.398390][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + + on the first reference deice enter: + + onoff subscribe on-time 10 100 1 1 + [1657715218.149357][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715218.149399][5956:5961] CHIP:DMG: { + [1657715218.149432][5956:5961] CHIP:DMG: SubscriptionId = 0xea8e5b3b, + [1657715218.149465][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715218.149504][5956:5961] CHIP:DMG: [ + [1657715218.149535][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715218.149581][5956:5961] CHIP:DMG: { + [1657715218.149619][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715218.149663][5956:5961] CHIP:DMG: { + [1657715218.149711][5956:5961] CHIP:DMG: DataVersion = 0x734a2d83, + [1657715218.149755][5956:5961] CHIP:DMG: AttributePathIB = + [1657715218.149802][5956:5961] CHIP:DMG: { + [1657715218.149849][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715218.149895][5956:5961] CHIP:DMG: Cluster = 0x6, + [1657715218.149942][5956:5961] CHIP:DMG: Attribute = 0x0000_4001, + [1657715218.149983][5956:5961] CHIP:DMG: } + [1657715218.150027][5956:5961] CHIP:DMG: + [1657715218.150075][5956:5961] CHIP:DMG: Data = 0, + [1657715218.150118][5956:5961] CHIP:DMG: }, + [1657715218.150165][5956:5961] CHIP:DMG: + [1657715218.150201][5956:5961] CHIP:DMG: }, + [1657715218.150245][5956:5961] CHIP:DMG: + [1657715218.150275][5956:5961] CHIP:DMG: ], + [1657715218.150313][5956:5961] CHIP:DMG: + [1657715218.150343][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715218.150372][5956:5961] CHIP:DMG: } + [1657715218.150529][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241155 + [1657715218.150599][5956:5961] CHIP:TOO: OnTime: 0 + [1657715218.150646][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008e40]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-level 100 1000 1 1 + [1657715273.668717][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715273.668784][5956:5961] CHIP:DMG: { + [1657715273.668846][5956:5961] CHIP:DMG: SubscriptionId = 0xb6497be6, + [1657715273.668908][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715273.668984][5956:5961] CHIP:DMG: [ + [1657715273.669046][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715273.669126][5956:5961] CHIP:DMG: { + [1657715273.669190][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715273.669261][5956:5961] CHIP:DMG: { + [1657715273.669378][5956:5961] CHIP:DMG: DataVersion = 0x319eeda7, + [1657715273.669460][5956:5961] CHIP:DMG: AttributePathIB = + [1657715273.669540][5956:5961] CHIP:DMG: { + [1657715273.669620][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715273.669706][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715273.669792][5956:5961] CHIP:DMG: Attribute = 0x0000_0011, + [1657715273.669875][5956:5961] CHIP:DMG: } + [1657715273.669961][5956:5961] CHIP:DMG: + [1657715273.670043][5956:5961] CHIP:DMG: Data = NULL + [1657715273.670119][5956:5961] CHIP:DMG: }, + [1657715273.670199][5956:5961] CHIP:DMG: + [1657715273.670267][5956:5961] CHIP:DMG: }, + [1657715273.670341][5956:5961] CHIP:DMG: + [1657715273.670400][5956:5961] CHIP:DMG: ], + [1657715273.670474][5956:5961] CHIP:DMG: + [1657715273.670533][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715273.670591][5956:5961] CHIP:DMG: } + [1657715273.670803][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499111 + [1657715273.670879][5956:5961] CHIP:TOO: on level: null + [1657715273.670967][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008f30]: Moving to [AwaitingSu] + + + onoff subscribe start-up-on-off 100 1000 1 1 + [1657715343.924200][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715343.924269][5956:5961] CHIP:DMG: { + [1657715343.924330][5956:5961] CHIP:DMG: SubscriptionId = 0x9fce63ae, + [1657715343.924392][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715343.924470][5956:5961] CHIP:DMG: [ + [1657715343.924532][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715343.924612][5956:5961] CHIP:DMG: { + [1657715343.924678][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715343.924750][5956:5961] CHIP:DMG: { + [1657715343.924833][5956:5961] CHIP:DMG: DataVersion = 0x734a2d84, + [1657715343.924909][5956:5961] CHIP:DMG: AttributePathIB = + [1657715343.924992][5956:5961] CHIP:DMG: { + [1657715343.925074][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715343.925159][5956:5961] CHIP:DMG: Cluster = 0x6, + [1657715343.925245][5956:5961] CHIP:DMG: Attribute = 0x0000_4003, + [1657715343.925382][5956:5961] CHIP:DMG: } + [1657715343.925470][5956:5961] CHIP:DMG: + [1657715343.925561][5956:5961] CHIP:DMG: Data = NULL + [1657715343.925631][5956:5961] CHIP:DMG: }, + [1657715343.925713][5956:5961] CHIP:DMG: + [1657715343.925776][5956:5961] CHIP:DMG: }, + [1657715343.925851][5956:5961] CHIP:DMG: + [1657715343.925910][5956:5961] CHIP:DMG: ], + [1657715343.925985][5956:5961] CHIP:DMG: + [1657715343.926046][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715343.926104][5956:5961] CHIP:DMG: } + [1657715343.926315][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241156 + [1657715343.926395][5956:5961] CHIP:TOO: StartUpOnOff: null + [1657715343.926485][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008c80]: Moving to [AwaitingSu] + + + + on the 2nd reference deice enter: + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + [1657715407.685574][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715407.685644][5956:5961] CHIP:DMG: { + [1657715407.685705][5956:5961] CHIP:DMG: SubscriptionId = 0x9c90104c, + [1657715407.685767][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715407.685844][5956:5961] CHIP:DMG: [ + [1657715407.685906][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715407.685985][5956:5961] CHIP:DMG: { + [1657715407.686049][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715407.686122][5956:5961] CHIP:DMG: { + [1657715407.686197][5956:5961] CHIP:DMG: DataVersion = 0x319eeda8, + [1657715407.686271][5956:5961] CHIP:DMG: AttributePathIB = + [1657715407.686347][5956:5961] CHIP:DMG: { + [1657715407.686424][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715407.686505][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715407.686586][5956:5961] CHIP:DMG: Attribute = 0x0000_0010, + [1657715407.686661][5956:5961] CHIP:DMG: } + [1657715407.686739][5956:5961] CHIP:DMG: + [1657715407.686817][5956:5961] CHIP:DMG: Data = 0, + [1657715407.686888][5956:5961] CHIP:DMG: }, + [1657715407.686965][5956:5961] CHIP:DMG: + [1657715407.687029][5956:5961] CHIP:DMG: }, + [1657715407.687105][5956:5961] CHIP:DMG: + [1657715407.687164][5956:5961] CHIP:DMG: ], + [1657715407.687238][5956:5961] CHIP:DMG: + [1657715407.687299][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715407.687358][5956:5961] CHIP:DMG: } + [1657715407.687564][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499112 + [1657715407.687645][5956:5961] CHIP:TOO: on off transition time: 0 + [1657715407.687735][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008e40]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657715505.138806][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715505.138881][5956:5961] CHIP:DMG: { + [1657715505.138943][5956:5961] CHIP:DMG: SubscriptionId = 0xd002abb6, + [1657715505.139045][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715505.139128][5956:5961] CHIP:DMG: [ + [1657715505.139190][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715505.139498][5956:5961] CHIP:DMG: { + [1657715505.139600][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715505.139713][5956:5961] CHIP:DMG: { + [1657715505.139824][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc30, + [1657715505.139932][5956:5961] CHIP:DMG: AttributePathIB = + [1657715505.140020][5956:5961] CHIP:DMG: { + [1657715505.140112][5956:5961] CHIP:DMG: Endpoint = 0x0, + [1657715505.140202][5956:5961] CHIP:DMG: Cluster = 0x28, + [1657715505.140289][5956:5961] CHIP:DMG: Attribute = 0x0000_0005, + [1657715505.140370][5956:5961] CHIP:DMG: } + [1657715505.140560][5956:5961] CHIP:DMG: + [1657715505.140657][5956:5961] CHIP:DMG: Data = "", + [1657715505.140741][5956:5961] CHIP:DMG: }, + [1657715505.140825][5956:5961] CHIP:DMG: + [1657715505.140893][5956:5961] CHIP:DMG: }, + [1657715505.140972][5956:5961] CHIP:DMG: + [1657715505.141031][5956:5961] CHIP:DMG: ], + [1657715505.141105][5956:5961] CHIP:DMG: + [1657715505.141165][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715505.141223][5956:5961] CHIP:DMG: } + [1657715505.141471][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674992 + [1657715505.141554][5956:5961] CHIP:TOO: NodeLabel: + [1657715505.141643][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008c80]: Moving to [AwaitingSu] + + + levelcontrol subscribe options 100 1000 1 1 + [1657715610.399441][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715610.399538][5956:5961] CHIP:DMG: { + [1657715610.399602][5956:5961] CHIP:DMG: SubscriptionId = 0x96289376, + [1657715610.399685][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715610.399763][5956:5961] CHIP:DMG: [ + [1657715610.399845][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715610.399928][5956:5961] CHIP:DMG: { + [1657715610.399992][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715610.400094][5956:5961] CHIP:DMG: { + [1657715610.400195][5956:5961] CHIP:DMG: DataVersion = 0x319eedaa, + [1657715610.400285][5956:5961] CHIP:DMG: AttributePathIB = + [1657715610.400385][5956:5961] CHIP:DMG: { + [1657715610.400467][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715610.400583][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715610.400688][5956:5961] CHIP:DMG: Attribute = 0x0000_000F, + [1657715610.400770][5956:5961] CHIP:DMG: } + [1657715610.400873][5956:5961] CHIP:DMG: + [1657715610.400985][5956:5961] CHIP:DMG: Data = 0, + [1657715610.401063][5956:5961] CHIP:DMG: }, + [1657715610.401162][5956:5961] CHIP:DMG: + [1657715610.401226][5956:5961] CHIP:DMG: }, + [1657715610.401356][5956:5961] CHIP:DMG: + [1657715610.401410][5956:5961] CHIP:DMG: ], + [1657715610.401506][5956:5961] CHIP:DMG: + [1657715610.401571][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715610.401629][5956:5961] CHIP:DMG: } + [1657715610.401887][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 832499114 + [1657715610.401968][5956:5961] CHIP:TOO: options: 0 + [1657715610.402081][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94003070]: Moving to [AwaitingSu] + + + + + on the 3rd reference deice enter: + + basic subscribe local-config-disabled 10 100 1 0 + [1657715779.644677][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715779.644720][5956:5961] CHIP:DMG: { + [1657715779.644758][5956:5961] CHIP:DMG: SubscriptionId = 0xe65b5e5, + [1657715779.644795][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715779.644842][5956:5961] CHIP:DMG: [ + [1657715779.644879][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715779.644927][5956:5961] CHIP:DMG: { + [1657715779.644966][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715779.645013][5956:5961] CHIP:DMG: { + [1657715779.645062][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc35, + [1657715779.645114][5956:5961] CHIP:DMG: AttributePathIB = + [1657715779.645165][5956:5961] CHIP:DMG: { + [1657715779.645216][5956:5961] CHIP:DMG: Endpoint = 0x0, + [1657715779.645268][5956:5961] CHIP:DMG: Cluster = 0x28, + [1657715779.645362][5956:5961] CHIP:DMG: Attribute = 0x0000_0010, + [1657715779.645411][5956:5961] CHIP:DMG: } + [1657715779.645464][5956:5961] CHIP:DMG: + [1657715779.645516][5956:5961] CHIP:DMG: Data = false, + [1657715779.645562][5956:5961] CHIP:DMG: }, + [1657715779.645612][5956:5961] CHIP:DMG: + [1657715779.645653][5956:5961] CHIP:DMG: }, + [1657715779.645701][5956:5961] CHIP:DMG: + [1657715779.645740][5956:5961] CHIP:DMG: ], + [1657715779.645785][5956:5961] CHIP:DMG: + [1657715779.645821][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715779.645856][5956:5961] CHIP:DMG: } + [1657715779.645989][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 462674997 + [1657715779.646067][5956:5961] CHIP:TOO: LocalConfigDisabled: FALSE + [1657715779.646124][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94003070]: Moving to [AwaitingSu] + + + + + colorcontrol subscribe start-up-color-temperature-mireds 10 100 1 1 + [1657715983.658378][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715983.658409][5956:5961] CHIP:DMG: { + [1657715983.658434][5956:5961] CHIP:DMG: SubscriptionId = 0x71492e8f, + [1657715983.658460][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715983.658492][5956:5961] CHIP:DMG: [ + [1657715983.658517][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715983.658551][5956:5961] CHIP:DMG: { + [1657715983.658577][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715983.658612][5956:5961] CHIP:DMG: { + [1657715983.658647][5956:5961] CHIP:DMG: DataVersion = 0x30f1c30e, + [1657715983.658683][5956:5961] CHIP:DMG: AttributePathIB = + [1657715983.658718][5956:5961] CHIP:DMG: { + [1657715983.658752][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715983.658794][5956:5961] CHIP:DMG: Cluster = 0x300, + [1657715983.658834][5956:5961] CHIP:DMG: Attribute = 0x0000_4010, + [1657715983.658871][5956:5961] CHIP:DMG: } + [1657715983.658910][5956:5961] CHIP:DMG: + [1657715983.658945][5956:5961] CHIP:DMG: Data = 0, + [1657715983.658976][5956:5961] CHIP:DMG: }, + [1657715983.659011][5956:5961] CHIP:DMG: + [1657715983.659037][5956:5961] CHIP:DMG: }, + [1657715983.659068][5956:5961] CHIP:DMG: + [1657715983.659092][5956:5961] CHIP:DMG: ], + [1657715983.659122][5956:5961] CHIP:DMG: + [1657715983.659147][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715983.659171][5956:5961] CHIP:DMG: } + [1657715983.659266][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_4010 DataVersion: 821150478 + [1657715983.661975][5956:5961] CHIP:TOO: StartUpColorTemperatureMireds: 0 + [1657715983.662048][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94002740]: Moving to [AwaitingSu] + + + + identify subscribe identify-time 10 100 1 1 + [1657716084.847650][5956:5961] CHIP:DMG: ReportDataMessage = + [1657716084.847702][5956:5961] CHIP:DMG: { + [1657716084.847748][5956:5961] CHIP:DMG: SubscriptionId = 0xd5e59a1a, + [1657716084.847795][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657716084.847853][5956:5961] CHIP:DMG: [ + [1657716084.847900][5956:5961] CHIP:DMG: AttributeReportIB = + [1657716084.847965][5956:5961] CHIP:DMG: { + [1657716084.848013][5956:5961] CHIP:DMG: AttributeDataIB = + [1657716084.848071][5956:5961] CHIP:DMG: { + [1657716084.848130][5956:5961] CHIP:DMG: DataVersion = 0xdefea11c, + [1657716084.848194][5956:5961] CHIP:DMG: AttributePathIB = + [1657716084.848257][5956:5961] CHIP:DMG: { + [1657716084.848319][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657716084.848387][5956:5961] CHIP:DMG: Cluster = 0x3, + [1657716084.848459][5956:5961] CHIP:DMG: Attribute = 0x0000_0000, + [1657716084.848525][5956:5961] CHIP:DMG: } + [1657716084.848591][5956:5961] CHIP:DMG: + [1657716084.848655][5956:5961] CHIP:DMG: Data = 0, + [1657716084.848713][5956:5961] CHIP:DMG: }, + [1657716084.848772][5956:5961] CHIP:DMG: + [1657716084.848821][5956:5961] CHIP:DMG: }, + [1657716084.848884][5956:5961] CHIP:DMG: + [1657716084.848930][5956:5961] CHIP:DMG: ], + [1657716084.848986][5956:5961] CHIP:DMG: + [1657716084.849032][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657716084.849075][5956:5961] CHIP:DMG: } + [1657716084.849237][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3741229340 + [1657716084.849338][5956:5961] CHIP:TOO: identify time: 0 + [1657716084.849410][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94003070]: Moving to [AwaitingSu] + + + + + on the first reference deice enter below mentioned commands to change the attribute values + + onoff write on-time 1 1 1 + [1657715232.758666][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715232.758698][5956:5961] CHIP:DMG: { + [1657715232.758724][5956:5961] CHIP:DMG: SubscriptionId = 0xea8e5b3b, + [1657715232.758753][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715232.758782][5956:5961] CHIP:DMG: [ + [1657715232.758803][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715232.758832][5956:5961] CHIP:DMG: { + [1657715232.758854][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715232.758880][5956:5961] CHIP:DMG: { + [1657715232.758911][5956:5961] CHIP:DMG: DataVersion = 0x734a2d84, + [1657715232.758936][5956:5961] CHIP:DMG: AttributePathIB = + [1657715232.758962][5956:5961] CHIP:DMG: { + [1657715232.758989][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715232.759030][5956:5961] CHIP:DMG: Cluster = 0x6, + [1657715232.759071][5956:5961] CHIP:DMG: Attribute = 0x0000_4001, + [1657715232.759104][5956:5961] CHIP:DMG: } + [1657715232.759140][5956:5961] CHIP:DMG: + [1657715232.759174][5956:5961] CHIP:DMG: Data = 1, + [1657715232.759203][5956:5961] CHIP:DMG: }, + [1657715232.759235][5956:5961] CHIP:DMG: + [1657715232.759261][5956:5961] CHIP:DMG: }, + [1657715232.759292][5956:5961] CHIP:DMG: + [1657715232.759317][5956:5961] CHIP:DMG: ], + [1657715232.759348][5956:5961] CHIP:DMG: + [1657715232.759373][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715232.759398][5956:5961] CHIP:DMG: } + [1657715232.759493][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241156 + [1657715232.759530][5956:5961] CHIP:TOO: OnTime: 1 + [1657715232.759576][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xea8e5b3b + + + + levelcontrol write on-level 1 1 1 + [1657715287.200431][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715287.200491][5956:5961] CHIP:DMG: { + [1657715287.200557][5956:5961] CHIP:DMG: SubscriptionId = 0xb6497be6, + [1657715287.200622][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715287.200701][5956:5961] CHIP:DMG: [ + [1657715287.200765][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715287.200848][5956:5961] CHIP:DMG: { + [1657715287.200921][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715287.201012][5956:5961] CHIP:DMG: { + [1657715287.201094][5956:5961] CHIP:DMG: DataVersion = 0x319eeda8, + [1657715287.201180][5956:5961] CHIP:DMG: AttributePathIB = + [1657715287.201263][5956:5961] CHIP:DMG: { + [1657715287.201403][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715287.201501][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715287.201596][5956:5961] CHIP:DMG: Attribute = 0x0000_0011, + [1657715287.201686][5956:5961] CHIP:DMG: } + [1657715287.201889][5956:5961] CHIP:DMG: + [1657715287.201987][5956:5961] CHIP:DMG: Data = 1, + [1657715287.202074][5956:5961] CHIP:DMG: }, + [1657715287.202157][5956:5961] CHIP:DMG: + [1657715287.202221][5956:5961] CHIP:DMG: }, + [1657715287.202296][5956:5961] CHIP:DMG: + [1657715287.202354][5956:5961] CHIP:DMG: ], + [1657715287.202429][5956:5961] CHIP:DMG: + [1657715287.202488][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715287.202546][5956:5961] CHIP:DMG: } + [1657715287.202754][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499112 + [1657715287.202838][5956:5961] CHIP:TOO: on level: 1 + [1657715287.202937][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xb6497be6 Peer = 01:0000000000000001 + + onoff write start-up-on-off 1 1 1 + [1657715357.628508][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715357.628536][5956:5961] CHIP:DMG: { + [1657715357.628561][5956:5961] CHIP:DMG: SubscriptionId = 0x9fce63ae, + [1657715357.628586][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715357.628618][5956:5961] CHIP:DMG: [ + [1657715357.628643][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715357.628676][5956:5961] CHIP:DMG: { + [1657715357.628702][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715357.628735][5956:5961] CHIP:DMG: { + [1657715357.628763][5956:5961] CHIP:DMG: DataVersion = 0x734a2d85, + [1657715357.628791][5956:5961] CHIP:DMG: AttributePathIB = + [1657715357.628822][5956:5961] CHIP:DMG: { + [1657715357.628853][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715357.628882][5956:5961] CHIP:DMG: Cluster = 0x6, + [1657715357.628914][5956:5961] CHIP:DMG: Attribute = 0x0000_4003, + [1657715357.628944][5956:5961] CHIP:DMG: } + [1657715357.628977][5956:5961] CHIP:DMG: + [1657715357.629009][5956:5961] CHIP:DMG: Data = 1, + [1657715357.629037][5956:5961] CHIP:DMG: }, + [1657715357.629068][5956:5961] CHIP:DMG: + [1657715357.629093][5956:5961] CHIP:DMG: }, + [1657715357.629123][5956:5961] CHIP:DMG: + [1657715357.629147][5956:5961] CHIP:DMG: ], + [1657715357.629177][5956:5961] CHIP:DMG: + [1657715357.629201][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715357.629225][5956:5961] CHIP:DMG: } + [1657715357.629340][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657715357.629432][5956:5961] CHIP:TOO: StartUpOnOff: 1 + [1657715357.629480][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x9fce63ae Peer = 01:0000000000000001 + + + on the 2nd reference deice enter below mentioned commands to change the attribute values + any write-by-id 0x0008 0x0010 1 1 1 + [1657715446.002084][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715446.002120][5956:5961] CHIP:DMG: { + [1657715446.002151][5956:5961] CHIP:DMG: SubscriptionId = 0x9c90104c, + [1657715446.002200][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715446.002242][5956:5961] CHIP:DMG: [ + [1657715446.002273][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715446.002332][5956:5961] CHIP:DMG: { + [1657715446.002379][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715446.002434][5956:5961] CHIP:DMG: { + [1657715446.002489][5956:5961] CHIP:DMG: DataVersion = 0x319eeda9, + [1657715446.002542][5956:5961] CHIP:DMG: AttributePathIB = + [1657715446.002598][5956:5961] CHIP:DMG: { + [1657715446.002654][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715446.002703][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715446.002752][5956:5961] CHIP:DMG: Attribute = 0x0000_0010, + [1657715446.002795][5956:5961] CHIP:DMG: } + [1657715446.002838][5956:5961] CHIP:DMG: + [1657715446.002881][5956:5961] CHIP:DMG: Data = 1, + [1657715446.002921][5956:5961] CHIP:DMG: }, + [1657715446.002963][5956:5961] CHIP:DMG: + [1657715446.002996][5956:5961] CHIP:DMG: }, + [1657715446.003039][5956:5961] CHIP:DMG: + [1657715446.003069][5956:5961] CHIP:DMG: ], + [1657715446.003107][5956:5961] CHIP:DMG: + [1657715446.003138][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715446.003169][5956:5961] CHIP:DMG: } + [1657715446.003278][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499113 + [1657715446.003322][5956:5961] CHIP:TOO: on off transition time: 1 + [1657715446.003375][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x9c90104c Peer = 01:0000000000000001 + + basic write node-label 1 1 0 + [1657715530.832949][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715530.832977][5956:5961] CHIP:DMG: { + [1657715530.833000][5956:5961] CHIP:DMG: SubscriptionId = 0xfd355fe5, + [1657715530.833024][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715530.833063][5956:5961] CHIP:DMG: [ + [1657715530.833091][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715530.833133][5956:5961] CHIP:DMG: { + [1657715530.833165][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715530.833205][5956:5961] CHIP:DMG: { + [1657715530.833243][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc31, + [1657715530.833279][5956:5961] CHIP:DMG: AttributePathIB = + [1657715530.833342][5956:5961] CHIP:DMG: { + [1657715530.833382][5956:5961] CHIP:DMG: Endpoint = 0x0, + [1657715530.833422][5956:5961] CHIP:DMG: Cluster = 0x28, + [1657715530.833466][5956:5961] CHIP:DMG: Attribute = 0x0000_0005, + [1657715530.833505][5956:5961] CHIP:DMG: } + [1657715530.833546][5956:5961] CHIP:DMG: + [1657715530.833587][5956:5961] CHIP:DMG: Data = "1", + [1657715530.833623][5956:5961] CHIP:DMG: }, + [1657715530.833662][5956:5961] CHIP:DMG: + [1657715530.833693][5956:5961] CHIP:DMG: }, + [1657715530.833730][5956:5961] CHIP:DMG: + [1657715530.833760][5956:5961] CHIP:DMG: ], + [1657715530.833794][5956:5961] CHIP:DMG: + [1657715530.833822][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715530.833851][5956:5961] CHIP:DMG: } + [1657715530.833959][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674993 + [1657715530.833999][5956:5961] CHIP:TOO: NodeLabel: 1 + [1657715530.834171][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xfd355fe5 Peer = 01:0000000000000001 + + + + levelcontrol write options 1 1 1 + [1657715624.029906][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715624.029977][5956:5961] CHIP:DMG: { + [1657715624.030039][5956:5961] CHIP:DMG: SubscriptionId = 0x96289376, + [1657715624.030101][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715624.030179][5956:5961] CHIP:DMG: [ + [1657715624.030241][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715624.030321][5956:5961] CHIP:DMG: { + [1657715624.030377][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715624.030438][5956:5961] CHIP:DMG: { + [1657715624.030501][5956:5961] CHIP:DMG: DataVersion = 0x319eedab, + [1657715624.030580][5956:5961] CHIP:DMG: AttributePathIB = + [1657715624.030673][5956:5961] CHIP:DMG: { + [1657715624.030757][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715624.030843][5956:5961] CHIP:DMG: Cluster = 0x8, + [1657715624.030937][5956:5961] CHIP:DMG: Attribute = 0x0000_000F, + [1657715624.031017][5956:5961] CHIP:DMG: } + [1657715624.031103][5956:5961] CHIP:DMG: + [1657715624.031177][5956:5961] CHIP:DMG: Data = 1, + [1657715624.031214][5956:5961] CHIP:DMG: }, + [1657715624.031252][5956:5961] CHIP:DMG: + [1657715624.031339][5956:5961] CHIP:DMG: }, + [1657715624.031378][5956:5961] CHIP:DMG: + [1657715624.031406][5956:5961] CHIP:DMG: ], + [1657715624.031438][5956:5961] CHIP:DMG: + [1657715624.031461][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715624.031484][5956:5961] CHIP:DMG: } + [1657715624.031584][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_000F DataVersion: 832499115 + [1657715624.031621][5956:5961] CHIP:TOO: options: 1 + [1657715624.031667][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x96289376 Peer = 01:0000000000000001 + + + on the 3rd reference deice enter below mentioned commands to change the attribute values + basic write local-config-disabled 1 1 0 + [1657715793.400009][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715793.400035][5956:5961] CHIP:DMG: { + [1657715793.400059][5956:5961] CHIP:DMG: SubscriptionId = 0xe65b5e5, + [1657715793.400083][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715793.400114][5956:5961] CHIP:DMG: [ + [1657715793.400138][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715793.400170][5956:5961] CHIP:DMG: { + [1657715793.400195][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715793.400223][5956:5961] CHIP:DMG: { + [1657715793.400252][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657715793.400280][5956:5961] CHIP:DMG: AttributePathIB = + [1657715793.400310][5956:5961] CHIP:DMG: { + [1657715793.400340][5956:5961] CHIP:DMG: Endpoint = 0x0, + [1657715793.400372][5956:5961] CHIP:DMG: Cluster = 0x28, + [1657715793.400403][5956:5961] CHIP:DMG: Attribute = 0x0000_0010, + [1657715793.400432][5956:5961] CHIP:DMG: } + [1657715793.400464][5956:5961] CHIP:DMG: + [1657715793.400495][5956:5961] CHIP:DMG: Data = true, + [1657715793.400522][5956:5961] CHIP:DMG: }, + [1657715793.400553][5956:5961] CHIP:DMG: + [1657715793.400578][5956:5961] CHIP:DMG: }, + [1657715793.400607][5956:5961] CHIP:DMG: + [1657715793.400630][5956:5961] CHIP:DMG: ], + [1657715793.400659][5956:5961] CHIP:DMG: + [1657715793.400681][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715793.400703][5956:5961] CHIP:DMG: } + [1657715793.400800][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0010 DataVersion: 462674998 + [1657715793.400834][5956:5961] CHIP:TOO: LocalConfigDisabled: TRUE + [1657715793.400875][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x0e65b5e5 Peer = 01:0000000000000001 + + + colorcontrol write start-up-color-temperature-mireds 1 1 1 + [1657715994.727404][5956:5961] CHIP:DMG: ReportDataMessage = + [1657715994.727477][5956:5961] CHIP:DMG: { + [1657715994.727539][5956:5961] CHIP:DMG: SubscriptionId = 0x71492e8f, + [1657715994.727600][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657715994.727676][5956:5961] CHIP:DMG: [ + [1657715994.727737][5956:5961] CHIP:DMG: AttributeReportIB = + [1657715994.727815][5956:5961] CHIP:DMG: { + [1657715994.727878][5956:5961] CHIP:DMG: AttributeDataIB = + [1657715994.727977][5956:5961] CHIP:DMG: { + [1657715994.728062][5956:5961] CHIP:DMG: DataVersion = 0x30f1c30f, + [1657715994.728141][5956:5961] CHIP:DMG: AttributePathIB = + [1657715994.728224][5956:5961] CHIP:DMG: { + [1657715994.728309][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657715994.728398][5956:5961] CHIP:DMG: Cluster = 0x300, + [1657715994.728486][5956:5961] CHIP:DMG: Attribute = 0x0000_4010, + [1657715994.728574][5956:5961] CHIP:DMG: } + [1657715994.728777][5956:5961] CHIP:DMG: + [1657715994.728874][5956:5961] CHIP:DMG: Data = 1, + [1657715994.728952][5956:5961] CHIP:DMG: }, + [1657715994.729042][5956:5961] CHIP:DMG: + [1657715994.729110][5956:5961] CHIP:DMG: }, + [1657715994.729185][5956:5961] CHIP:DMG: + [1657715994.729246][5956:5961] CHIP:DMG: ], + [1657715994.729383][5956:5961] CHIP:DMG: + [1657715994.729445][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657715994.729504][5956:5961] CHIP:DMG: } + [1657715994.729713][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_4010 DataVersion: 821150479 + [1657715994.729796][5956:5961] CHIP:TOO: StartUpColorTemperatureMireds: 1 + [1657715994.729895][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x71492e8f Peer = 01:0000000000000001 + + + identify write identify-time 1 1 1 + [1657716094.853203][5956:5961] CHIP:DMG: ReportDataMessage = + [1657716094.853245][5956:5961] CHIP:DMG: { + [1657716094.853364][5956:5961] CHIP:DMG: SubscriptionId = 0xd5e59a1a, + [1657716094.853415][5956:5961] CHIP:DMG: AttributeReportIBs = + [1657716094.853517][5956:5961] CHIP:DMG: [ + [1657716094.853578][5956:5961] CHIP:DMG: AttributeReportIB = + [1657716094.853658][5956:5961] CHIP:DMG: { + [1657716094.853743][5956:5961] CHIP:DMG: AttributeDataIB = + [1657716094.853825][5956:5961] CHIP:DMG: { + [1657716094.853905][5956:5961] CHIP:DMG: DataVersion = 0xdefea11d, + [1657716094.854010][5956:5961] CHIP:DMG: AttributePathIB = + [1657716094.854093][5956:5961] CHIP:DMG: { + [1657716094.854197][5956:5961] CHIP:DMG: Endpoint = 0x1, + [1657716094.854307][5956:5961] CHIP:DMG: Cluster = 0x3, + [1657716094.854394][5956:5961] CHIP:DMG: Attribute = 0x0000_0000, + [1657716094.854495][5956:5961] CHIP:DMG: } + [1657716094.854599][5956:5961] CHIP:DMG: + [1657716094.854685][5956:5961] CHIP:DMG: Data = 1, + [1657716094.854789][5956:5961] CHIP:DMG: }, + [1657716094.854891][5956:5961] CHIP:DMG: + [1657716094.854960][5956:5961] CHIP:DMG: }, + [1657716094.855035][5956:5961] CHIP:DMG: + [1657716094.855094][5956:5961] CHIP:DMG: ], + [1657716094.855168][5956:5961] CHIP:DMG: + [1657716094.855227][5956:5961] CHIP:DMG: InteractionModelRevision = 1 + [1657716094.855284][5956:5961] CHIP:DMG: } + [1657716094.855493][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3741229341 + [1657716094.855573][5956:5961] CHIP:TOO: identify time: 1 + [1657716094.855675][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xd5e59a1a Peer = 01:0000000000000001 disabled: true - label: @@ -115,64 +642,336 @@ tests: Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes. and in The subscription request from RD1 should contain 4 paths, Verify that the subscriptions from RD2, RD3, RD4 and RD5 are not affected. - Below Given a example commands - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool onoff subscribe on-time 100 1000 1 1 - [1656330208.062624][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330208.062654][9924:9924] CHIP:DMG: { - [1656330208.062681][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330208.062712][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330208.062738][9924:9924] CHIP:DMG: } - [1656330208.062765][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330208.062804][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool levelcontrol subscribe on-level 100 1000 1 1 - [1656330387.470712][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330387.470740][9924:9924] CHIP:DMG: { - [1656330387.470765][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330387.470792][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330387.470816][9924:9924] CHIP:DMG: } - [1656330387.470842][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - - - ./chip-tool onoff subscribe start-up-on-off 100 1000 1 1 - [1656330608.134217][9924:9924] CHIP:EM: Removed CHIP MessageCounter:188047438 from RetransTable on exchange 44706r - [1656330608.134265][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330608.134293][9924:9924] CHIP:DMG: { - [1656330608.134319][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330608.134345][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330608.134370][9924:9924] CHIP:DMG: } - [1656330608.134395][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330608.134434][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) + + + on the first reference deice enter: + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + + [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716563.242475][6034:6039] CHIP:DMG: { + [1657716563.242507][6034:6039] CHIP:DMG: SubscriptionId = 0xebc26cc4, + [1657716563.242538][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716563.242577][6034:6039] CHIP:DMG: [ + [1657716563.242607][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716563.242648][6034:6039] CHIP:DMG: { + [1657716563.242680][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716563.242721][6034:6039] CHIP:DMG: { + [1657716563.242762][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716563.242801][6034:6039] CHIP:DMG: AttributePathIB = + [1657716563.242842][6034:6039] CHIP:DMG: { + [1657716563.242883][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716563.242928][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716563.242971][6034:6039] CHIP:DMG: Attribute = 0x0000_0010, + [1657716563.243012][6034:6039] CHIP:DMG: } + [1657716563.243056][6034:6039] CHIP:DMG: + [1657716563.243100][6034:6039] CHIP:DMG: Data = 1, + [1657716563.243138][6034:6039] CHIP:DMG: }, + [1657716563.243179][6034:6039] CHIP:DMG: + [1657716563.243213][6034:6039] CHIP:DMG: }, + [1657716563.243251][6034:6039] CHIP:DMG: + [1657716563.243280][6034:6039] CHIP:DMG: ], + [1657716563.243318][6034:6039] CHIP:DMG: + [1657716563.243348][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716563.243377][6034:6039] CHIP:DMG: } + [1657716563.243531][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499115 + [1657716563.243601][6034:6039] CHIP:TOO: on off transition time: 1 + [1657716563.243648][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716599.928585][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716599.928652][6034:6039] CHIP:DMG: { + [1657716599.928825][6034:6039] CHIP:DMG: SubscriptionId = 0x3d9f1c1, + [1657716599.928890][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716599.928968][6034:6039] CHIP:DMG: [ + [1657716599.929029][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716599.929122][6034:6039] CHIP:DMG: { + [1657716599.929192][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716599.929278][6034:6039] CHIP:DMG: { + [1657716599.929399][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716599.929476][6034:6039] CHIP:DMG: AttributePathIB = + [1657716599.929687][6034:6039] CHIP:DMG: { + [1657716599.929774][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716599.929861][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716599.929949][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716599.930031][6034:6039] CHIP:DMG: } + [1657716599.930115][6034:6039] CHIP:DMG: + [1657716599.930285][6034:6039] CHIP:DMG: Data = "1", + [1657716599.930370][6034:6039] CHIP:DMG: }, + [1657716599.930454][6034:6039] CHIP:DMG: + [1657716599.930578][6034:6039] CHIP:DMG: }, + [1657716599.930660][6034:6039] CHIP:DMG: + [1657716599.930720][6034:6039] CHIP:DMG: ], + [1657716599.930796][6034:6039] CHIP:DMG: + [1657716599.930856][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716599.930914][6034:6039] CHIP:DMG: } + [1657716599.931131][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716599.931326][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716599.931420][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + onoff subscribe on-time 10 100 1 1 + [1657716634.400468][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716634.400499][6034:6039] CHIP:DMG: { + [1657716634.400525][6034:6039] CHIP:DMG: SubscriptionId = 0xf9b815a2, + [1657716634.400551][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716634.400585][6034:6039] CHIP:DMG: [ + [1657716634.400610][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716634.400647][6034:6039] CHIP:DMG: { + [1657716634.400674][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716634.400705][6034:6039] CHIP:DMG: { + [1657716634.400739][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716634.400775][6034:6039] CHIP:DMG: AttributePathIB = + [1657716634.400809][6034:6039] CHIP:DMG: { + [1657716634.400847][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716634.400883][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716634.400920][6034:6039] CHIP:DMG: Attribute = 0x0000_4001, + [1657716634.400950][6034:6039] CHIP:DMG: } + [1657716634.400987][6034:6039] CHIP:DMG: + [1657716634.401024][6034:6039] CHIP:DMG: Data = 1, + [1657716634.401058][6034:6039] CHIP:DMG: }, + [1657716634.401092][6034:6039] CHIP:DMG: + [1657716634.401117][6034:6039] CHIP:DMG: }, + [1657716634.401148][6034:6039] CHIP:DMG: + [1657716634.401172][6034:6039] CHIP:DMG: ], + [1657716634.401202][6034:6039] CHIP:DMG: + [1657716634.401227][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716634.401250][6034:6039] CHIP:DMG: } + [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 + [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 + [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-level 10 100 1 1 + [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716667.237515][6034:6039] CHIP:DMG: { + [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, + [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716667.237738][6034:6039] CHIP:DMG: [ + [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716667.237819][6034:6039] CHIP:DMG: { + [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716667.237897][6034:6039] CHIP:DMG: { + [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = + [1657716667.238044][6034:6039] CHIP:DMG: { + [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657716667.238244][6034:6039] CHIP:DMG: } + [1657716667.238294][6034:6039] CHIP:DMG: + [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, + [1657716667.238391][6034:6039] CHIP:DMG: }, + [1657716667.238437][6034:6039] CHIP:DMG: + [1657716667.238467][6034:6039] CHIP:DMG: }, + [1657716667.238509][6034:6039] CHIP:DMG: + [1657716667.238535][6034:6039] CHIP:DMG: ], + [1657716667.238567][6034:6039] CHIP:DMG: + [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716667.238614][6034:6039] CHIP:DMG: } + [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 + [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 + [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + + on the 2nd reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716703.322836][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716703.322895][6034:6039] CHIP:DMG: { + [1657716703.322947][6034:6039] CHIP:DMG: SubscriptionId = 0x8962f8b4, + [1657716703.323010][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716703.323080][6034:6039] CHIP:DMG: [ + [1657716703.323133][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716703.323217][6034:6039] CHIP:DMG: { + [1657716703.323280][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716703.323341][6034:6039] CHIP:DMG: { + [1657716703.323396][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716703.323449][6034:6039] CHIP:DMG: AttributePathIB = + [1657716703.323519][6034:6039] CHIP:DMG: { + [1657716703.323591][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716703.323671][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716703.323759][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716703.323835][6034:6039] CHIP:DMG: } + [1657716703.323909][6034:6039] CHIP:DMG: + [1657716703.323981][6034:6039] CHIP:DMG: Data = 1, + [1657716703.324047][6034:6039] CHIP:DMG: }, + [1657716703.324113][6034:6039] CHIP:DMG: + [1657716703.324170][6034:6039] CHIP:DMG: }, + [1657716703.324238][6034:6039] CHIP:DMG: + [1657716703.324289][6034:6039] CHIP:DMG: ], + [1657716703.324352][6034:6039] CHIP:DMG: + [1657716703.324403][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716703.324457][6034:6039] CHIP:DMG: } + [1657716703.324785][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716703.324904][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716703.324985][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716743.523056][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716743.523131][6034:6039] CHIP:DMG: { + [1657716743.523178][6034:6039] CHIP:DMG: SubscriptionId = 0xc3b3c364, + [1657716743.523240][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716743.523302][6034:6039] CHIP:DMG: [ + [1657716743.523362][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716743.523433][6034:6039] CHIP:DMG: { + [1657716743.523499][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716743.523555][6034:6039] CHIP:DMG: { + [1657716743.523627][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716743.523682][6034:6039] CHIP:DMG: AttributePathIB = + [1657716743.523738][6034:6039] CHIP:DMG: { + [1657716743.523812][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716743.523873][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716743.523934][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716743.523990][6034:6039] CHIP:DMG: } + [1657716743.524050][6034:6039] CHIP:DMG: + [1657716743.524111][6034:6039] CHIP:DMG: Data = "1", + [1657716743.524164][6034:6039] CHIP:DMG: }, + [1657716743.524223][6034:6039] CHIP:DMG: + [1657716743.524271][6034:6039] CHIP:DMG: }, + [1657716743.524328][6034:6039] CHIP:DMG: + [1657716743.524372][6034:6039] CHIP:DMG: ], + [1657716743.524430][6034:6039] CHIP:DMG: + [1657716743.524475][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716743.524518][6034:6039] CHIP:DMG: } + [1657716743.524683][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716743.524745][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716743.524813][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-transition-time 10 100 1 1 + [1657716911.280884][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716911.280957][6034:6039] CHIP:DMG: { + [1657716911.281018][6034:6039] CHIP:DMG: SubscriptionId = 0x1a544eea, + [1657716911.281080][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716911.281157][6034:6039] CHIP:DMG: [ + [1657716911.281217][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716911.281338][6034:6039] CHIP:DMG: { + [1657716911.281408][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716911.281487][6034:6039] CHIP:DMG: { + [1657716911.281570][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716911.281649][6034:6039] CHIP:DMG: AttributePathIB = + [1657716911.281723][6034:6039] CHIP:DMG: { + [1657716911.281813][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716911.281892][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716911.281978][6034:6039] CHIP:DMG: Attribute = 0x0000_0012, + [1657716911.282059][6034:6039] CHIP:DMG: } + [1657716911.282145][6034:6039] CHIP:DMG: + [1657716911.282236][6034:6039] CHIP:DMG: Data = 0, + [1657716911.282311][6034:6039] CHIP:DMG: }, + [1657716911.282392][6034:6039] CHIP:DMG: + [1657716911.282459][6034:6039] CHIP:DMG: }, + [1657716911.282534][6034:6039] CHIP:DMG: + [1657716911.282593][6034:6039] CHIP:DMG: ], + [1657716911.282667][6034:6039] CHIP:DMG: + [1657716911.282727][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716911.282786][6034:6039] CHIP:DMG: } + [1657716911.282995][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0012 DataVersion: 832499115 + [1657716911.283082][6034:6039] CHIP:TOO: on transition time: 0 + [1657716911.283172][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + + on the 3rd reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716965.736576][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313969 from RetransTable on exchange 50225i + [1657716965.736639][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716965.736669][6034:6039] CHIP:DMG: { + [1657716965.736695][6034:6039] CHIP:DMG: SubscriptionId = 0x5a6ddc07, + [1657716965.736741][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716965.736777][6034:6039] CHIP:DMG: [ + [1657716965.736802][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716965.736848][6034:6039] CHIP:DMG: { + [1657716965.736887][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716965.736932][6034:6039] CHIP:DMG: { + [1657716965.736978][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716965.737021][6034:6039] CHIP:DMG: AttributePathIB = + [1657716965.737067][6034:6039] CHIP:DMG: { + [1657716965.737113][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716965.737159][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716965.737207][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716965.737251][6034:6039] CHIP:DMG: } + [1657716965.737346][6034:6039] CHIP:DMG: + [1657716965.737396][6034:6039] CHIP:DMG: Data = 1, + [1657716965.737438][6034:6039] CHIP:DMG: }, + [1657716965.737484][6034:6039] CHIP:DMG: + [1657716965.737521][6034:6039] CHIP:DMG: }, + [1657716965.737563][6034:6039] CHIP:DMG: + [1657716965.737589][6034:6039] CHIP:DMG: ], + [1657716965.737620][6034:6039] CHIP:DMG: + [1657716965.737645][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716965.737679][6034:6039] CHIP:DMG: } + [1657716965.737779][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716965.737827][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716965.737867][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + basic subscribe reachable 10 100 1 0 + [1657717032.547326][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313975 from RetransTable on exchange 50227i + [1657717032.547406][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717032.547470][6034:6039] CHIP:DMG: { + [1657717032.547507][6034:6039] CHIP:DMG: SubscriptionId = 0x242f7180, + [1657717032.547560][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717032.547607][6034:6039] CHIP:DMG: [ + [1657717032.547644][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717032.547696][6034:6039] CHIP:DMG: { + [1657717032.547734][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717032.547779][6034:6039] CHIP:DMG: { + [1657717032.547829][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657717032.547876][6034:6039] CHIP:DMG: AttributePathIB = + [1657717032.547925][6034:6039] CHIP:DMG: { + [1657717032.547974][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657717032.548027][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657717032.548077][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657717032.548124][6034:6039] CHIP:DMG: } + [1657717032.548175][6034:6039] CHIP:DMG: + [1657717032.548225][6034:6039] CHIP:DMG: Data = true, + [1657717032.548272][6034:6039] CHIP:DMG: }, + [1657717032.548321][6034:6039] CHIP:DMG: + [1657717032.548358][6034:6039] CHIP:DMG: }, + [1657717032.548403][6034:6039] CHIP:DMG: + [1657717032.548438][6034:6039] CHIP:DMG: ], + [1657717032.548482][6034:6039] CHIP:DMG: + [1657717032.548518][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717032.548553][6034:6039] CHIP:DMG: } + [1657717032.548686][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0011 DataVersion: 462674998 + [1657717032.548795][6034:6039] CHIP:TOO: Reachable: TRUE + [1657717032.548850][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + onoff subscribe off-wait-time 10 100 1 1 + [1657717085.996867][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717085.996895][6034:6039] CHIP:DMG: { + [1657717085.996920][6034:6039] CHIP:DMG: SubscriptionId = 0xbe7eee69, + [1657717085.996945][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717085.996977][6034:6039] CHIP:DMG: [ + [1657717085.997002][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717085.997035][6034:6039] CHIP:DMG: { + [1657717085.997060][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717085.997089][6034:6039] CHIP:DMG: { + [1657717085.997122][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717085.997153][6034:6039] CHIP:DMG: AttributePathIB = + [1657717085.997187][6034:6039] CHIP:DMG: { + [1657717085.997220][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717085.997258][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717085.997317][6034:6039] CHIP:DMG: Attribute = 0x0000_4002, + [1657717085.997367][6034:6039] CHIP:DMG: } + [1657717085.997404][6034:6039] CHIP:DMG: + [1657717085.997440][6034:6039] CHIP:DMG: Data = 0, + [1657717085.997471][6034:6039] CHIP:DMG: }, + [1657717085.997504][6034:6039] CHIP:DMG: + [1657717085.997531][6034:6039] CHIP:DMG: }, + [1657717085.997561][6034:6039] CHIP:DMG: + [1657717085.997585][6034:6039] CHIP:DMG: ], + [1657717085.997615][6034:6039] CHIP:DMG: + [1657717085.997640][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717085.997663][6034:6039] CHIP:DMG: } + [1657717085.997757][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 1934241157 + [1657717085.997793][6034:6039] CHIP:TOO: OffWaitTime: 0 + [1657717085.997830][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] disabled: true - label: @@ -187,74 +986,438 @@ tests: from RD1 should contain 6 paths, Verify that the subscriptions from RD2, RD3, RD4 and RD5 are not affected. - Below Given a example commands - ./chip-tool onoff subscribe on-time 100 1000 1 1 - [1656330208.062624][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330208.062654][9924:9924] CHIP:DMG: { - [1656330208.062681][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330208.062712][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330208.062738][9924:9924] CHIP:DMG: } - [1656330208.062765][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330208.062804][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool levelcontrol subscribe on-level 100 1000 1 1 - [1656330387.470712][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330387.470740][9924:9924] CHIP:DMG: { - [1656330387.470765][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330387.470792][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330387.470816][9924:9924] CHIP:DMG: } - [1656330387.470842][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - - - ./chip-tool onoff subscribe start-up-on-off 100 1000 1 1 - [1656330608.134217][9924:9924] CHIP:EM: Removed CHIP MessageCounter:188047438 from RetransTable on exchange 44706r - [1656330608.134265][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330608.134293][9924:9924] CHIP:DMG: { - [1656330608.134319][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330608.134345][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330608.134370][9924:9924] CHIP:DMG: } - [1656330608.134395][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330608.134434][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool any subscribe-by-id 0x0008 0x0010 100 1000 1 1 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - - ./chip-tool basic subscribe node-label 100 1000 1 0 - [1656330747.137973][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656330747.138003][9924:9924] CHIP:DMG: { - [1656330747.138031][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656330747.138059][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656330747.138085][9924:9924] CHIP:DMG: } - [1656330747.138112][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656330747.138152][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - ./chip-tool levelcontrol subscribe options 100 1000 1 0 - [1656331434.214406][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656331434.214433][9924:9924] CHIP:DMG: { - [1656331434.214456][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656331434.214481][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656331434.214505][9924:9924] CHIP:DMG: } - [1656331434.214529][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656331434.214565][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds - - - ./chip-tool basic subscribe location 100 1000 1 0 - [1656331099.398232][9924:9924] CHIP:DMG: StatusResponseMessage = - [1656331099.398259][9924:9924] CHIP:DMG: { - [1656331099.398283][9924:9924] CHIP:DMG: Status = 0x00 (SUCCESS), - [1656331099.398307][9924:9924] CHIP:DMG: InteractionModelRevision = 1 - [1656331099.398330][9924:9924] CHIP:DMG: } - [1656331099.398353][9924:9924] CHIP:IM: Received status response, status is 0x00 (SUCCESS) - [1656331099.398390][9924:9924] CHIP:DMG: Refresh Subscribe Sync Timer with max 1000 seconds + Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) + + on the first reference deice enter: + + + on the first reference deice enter: + + levelcontrol subscribe min-level 10 100 1 1 + [1657717758.176398][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717758.176466][6034:6039] CHIP:DMG: { + [1657717758.176545][6034:6039] CHIP:DMG: SubscriptionId = 0xbf960b6c, + [1657717758.176619][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717758.176698][6034:6039] CHIP:DMG: [ + [1657717758.176750][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717758.176818][6034:6039] CHIP:DMG: { + [1657717758.176872][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717758.176959][6034:6039] CHIP:DMG: { + [1657717758.177034][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657717758.177136][6034:6039] CHIP:DMG: AttributePathIB = + [1657717758.177206][6034:6039] CHIP:DMG: { + [1657717758.177269][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717758.177377][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657717758.177429][6034:6039] CHIP:DMG: Attribute = 0x0000_0002, + [1657717758.177488][6034:6039] CHIP:DMG: } + [1657717758.177551][6034:6039] CHIP:DMG: + [1657717758.177600][6034:6039] CHIP:DMG: Data = 1, + [1657717758.177655][6034:6039] CHIP:DMG: }, + [1657717758.177716][6034:6039] CHIP:DMG: + [1657717758.177755][6034:6039] CHIP:DMG: }, + [1657717758.177813][6034:6039] CHIP:DMG: + [1657717758.177850][6034:6039] CHIP:DMG: ], + [1657717758.177896][6034:6039] CHIP:DMG: + [1657717758.177933][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717758.177969][6034:6039] CHIP:DMG: } + [1657717758.178105][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0002 DataVersion: 832499115 + [1657717758.178156][6034:6039] CHIP:TOO: min level: 1 + [1657717758.178215][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + + onoff subscribe global-scene-control 10 100 1 1 + [1657717721.303602][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717721.303670][6034:6039] CHIP:DMG: { + [1657717721.303730][6034:6039] CHIP:DMG: SubscriptionId = 0x2b768ffd, + [1657717721.303791][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717721.303867][6034:6039] CHIP:DMG: [ + [1657717721.303928][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717721.304007][6034:6039] CHIP:DMG: { + [1657717721.304071][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717721.304149][6034:6039] CHIP:DMG: { + [1657717721.304225][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717721.304297][6034:6039] CHIP:DMG: AttributePathIB = + [1657717721.304372][6034:6039] CHIP:DMG: { + [1657717721.304454][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717721.304542][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717721.304628][6034:6039] CHIP:DMG: Attribute = 0x0000_4000, + [1657717721.304711][6034:6039] CHIP:DMG: } + [1657717721.304797][6034:6039] CHIP:DMG: + [1657717721.304881][6034:6039] CHIP:DMG: Data = true, + [1657717721.304958][6034:6039] CHIP:DMG: }, + [1657717721.305039][6034:6039] CHIP:DMG: + [1657717721.305102][6034:6039] CHIP:DMG: }, + [1657717721.305178][6034:6039] CHIP:DMG: + [1657717721.305238][6034:6039] CHIP:DMG: ], + [1657717721.305348][6034:6039] CHIP:DMG: + [1657717721.305412][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717721.305470][6034:6039] CHIP:DMG: } + [1657717721.305679][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4000 DataVersion: 1934241157 + [1657717721.305761][6034:6039] CHIP:TOO: GlobalSceneControl: TRUE + [1657717721.305849][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + temperaturemeasurement subscribe tolerance 10 100 1 1 + [1657717893.368431][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717893.368514][6034:6039] CHIP:DMG: { + [1657717893.368562][6034:6039] CHIP:DMG: SubscriptionId = 0x87e778d7, + [1657717893.368649][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717893.368744][6034:6039] CHIP:DMG: [ + [1657717893.368837][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717893.368943][6034:6039] CHIP:DMG: { + [1657717893.369046][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717893.369138][6034:6039] CHIP:DMG: { + [1657717893.369231][6034:6039] CHIP:DMG: DataVersion = 0x8ca282b3, + [1657717893.369359][6034:6039] CHIP:DMG: AttributePathIB = + [1657717893.369461][6034:6039] CHIP:DMG: { + [1657717893.369563][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717893.369674][6034:6039] CHIP:DMG: Cluster = 0x402, + [1657717893.369786][6034:6039] CHIP:DMG: Attribute = 0x0000_0003, + [1657717893.369896][6034:6039] CHIP:DMG: } + [1657717893.370000][6034:6039] CHIP:DMG: + [1657717893.370094][6034:6039] CHIP:DMG: Data = 0, + [1657717893.370192][6034:6039] CHIP:DMG: }, + [1657717893.370284][6034:6039] CHIP:DMG: + [1657717893.370359][6034:6039] CHIP:DMG: }, + [1657717893.370439][6034:6039] CHIP:DMG: + [1657717893.370504][6034:6039] CHIP:DMG: ], + [1657717893.370575][6034:6039] CHIP:DMG: + [1657717893.370630][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717893.370699][6034:6039] CHIP:DMG: } + [1657717893.370819][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0003 DataVersion: 2359460531 + [1657717893.370888][6034:6039] CHIP:TOO: Tolerance: 0 + [1657717893.370929][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + + + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + + [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716563.242475][6034:6039] CHIP:DMG: { + [1657716563.242507][6034:6039] CHIP:DMG: SubscriptionId = 0xebc26cc4, + [1657716563.242538][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716563.242577][6034:6039] CHIP:DMG: [ + [1657716563.242607][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716563.242648][6034:6039] CHIP:DMG: { + [1657716563.242680][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716563.242721][6034:6039] CHIP:DMG: { + [1657716563.242762][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716563.242801][6034:6039] CHIP:DMG: AttributePathIB = + [1657716563.242842][6034:6039] CHIP:DMG: { + [1657716563.242883][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716563.242928][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716563.242971][6034:6039] CHIP:DMG: Attribute = 0x0000_0010, + [1657716563.243012][6034:6039] CHIP:DMG: } + [1657716563.243056][6034:6039] CHIP:DMG: + [1657716563.243100][6034:6039] CHIP:DMG: Data = 1, + [1657716563.243138][6034:6039] CHIP:DMG: }, + [1657716563.243179][6034:6039] CHIP:DMG: + [1657716563.243213][6034:6039] CHIP:DMG: }, + [1657716563.243251][6034:6039] CHIP:DMG: + [1657716563.243280][6034:6039] CHIP:DMG: ], + [1657716563.243318][6034:6039] CHIP:DMG: + [1657716563.243348][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716563.243377][6034:6039] CHIP:DMG: } + [1657716563.243531][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499115 + [1657716563.243601][6034:6039] CHIP:TOO: on off transition time: 1 + [1657716563.243648][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716599.928585][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716599.928652][6034:6039] CHIP:DMG: { + [1657716599.928825][6034:6039] CHIP:DMG: SubscriptionId = 0x3d9f1c1, + [1657716599.928890][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716599.928968][6034:6039] CHIP:DMG: [ + [1657716599.929029][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716599.929122][6034:6039] CHIP:DMG: { + [1657716599.929192][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716599.929278][6034:6039] CHIP:DMG: { + [1657716599.929399][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716599.929476][6034:6039] CHIP:DMG: AttributePathIB = + [1657716599.929687][6034:6039] CHIP:DMG: { + [1657716599.929774][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716599.929861][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716599.929949][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716599.930031][6034:6039] CHIP:DMG: } + [1657716599.930115][6034:6039] CHIP:DMG: + [1657716599.930285][6034:6039] CHIP:DMG: Data = "1", + [1657716599.930370][6034:6039] CHIP:DMG: }, + [1657716599.930454][6034:6039] CHIP:DMG: + [1657716599.930578][6034:6039] CHIP:DMG: }, + [1657716599.930660][6034:6039] CHIP:DMG: + [1657716599.930720][6034:6039] CHIP:DMG: ], + [1657716599.930796][6034:6039] CHIP:DMG: + [1657716599.930856][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716599.930914][6034:6039] CHIP:DMG: } + [1657716599.931131][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716599.931326][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716599.931420][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + onoff subscribe on-time 10 100 1 1 + [1657716634.400468][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716634.400499][6034:6039] CHIP:DMG: { + [1657716634.400525][6034:6039] CHIP:DMG: SubscriptionId = 0xf9b815a2, + [1657716634.400551][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716634.400585][6034:6039] CHIP:DMG: [ + [1657716634.400610][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716634.400647][6034:6039] CHIP:DMG: { + [1657716634.400674][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716634.400705][6034:6039] CHIP:DMG: { + [1657716634.400739][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716634.400775][6034:6039] CHIP:DMG: AttributePathIB = + [1657716634.400809][6034:6039] CHIP:DMG: { + [1657716634.400847][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716634.400883][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716634.400920][6034:6039] CHIP:DMG: Attribute = 0x0000_4001, + [1657716634.400950][6034:6039] CHIP:DMG: } + [1657716634.400987][6034:6039] CHIP:DMG: + [1657716634.401024][6034:6039] CHIP:DMG: Data = 1, + [1657716634.401058][6034:6039] CHIP:DMG: }, + [1657716634.401092][6034:6039] CHIP:DMG: + [1657716634.401117][6034:6039] CHIP:DMG: }, + [1657716634.401148][6034:6039] CHIP:DMG: + [1657716634.401172][6034:6039] CHIP:DMG: ], + [1657716634.401202][6034:6039] CHIP:DMG: + [1657716634.401227][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716634.401250][6034:6039] CHIP:DMG: } + [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 + [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 + [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-level 10 100 1 1 + [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716667.237515][6034:6039] CHIP:DMG: { + [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, + [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716667.237738][6034:6039] CHIP:DMG: [ + [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716667.237819][6034:6039] CHIP:DMG: { + [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716667.237897][6034:6039] CHIP:DMG: { + [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = + [1657716667.238044][6034:6039] CHIP:DMG: { + [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657716667.238244][6034:6039] CHIP:DMG: } + [1657716667.238294][6034:6039] CHIP:DMG: + [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, + [1657716667.238391][6034:6039] CHIP:DMG: }, + [1657716667.238437][6034:6039] CHIP:DMG: + [1657716667.238467][6034:6039] CHIP:DMG: }, + [1657716667.238509][6034:6039] CHIP:DMG: + [1657716667.238535][6034:6039] CHIP:DMG: ], + [1657716667.238567][6034:6039] CHIP:DMG: + [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716667.238614][6034:6039] CHIP:DMG: } + [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 + [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 + [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + + on the 2nd reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716703.322836][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716703.322895][6034:6039] CHIP:DMG: { + [1657716703.322947][6034:6039] CHIP:DMG: SubscriptionId = 0x8962f8b4, + [1657716703.323010][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716703.323080][6034:6039] CHIP:DMG: [ + [1657716703.323133][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716703.323217][6034:6039] CHIP:DMG: { + [1657716703.323280][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716703.323341][6034:6039] CHIP:DMG: { + [1657716703.323396][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716703.323449][6034:6039] CHIP:DMG: AttributePathIB = + [1657716703.323519][6034:6039] CHIP:DMG: { + [1657716703.323591][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716703.323671][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716703.323759][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716703.323835][6034:6039] CHIP:DMG: } + [1657716703.323909][6034:6039] CHIP:DMG: + [1657716703.323981][6034:6039] CHIP:DMG: Data = 1, + [1657716703.324047][6034:6039] CHIP:DMG: }, + [1657716703.324113][6034:6039] CHIP:DMG: + [1657716703.324170][6034:6039] CHIP:DMG: }, + [1657716703.324238][6034:6039] CHIP:DMG: + [1657716703.324289][6034:6039] CHIP:DMG: ], + [1657716703.324352][6034:6039] CHIP:DMG: + [1657716703.324403][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716703.324457][6034:6039] CHIP:DMG: } + [1657716703.324785][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716703.324904][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716703.324985][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716743.523056][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716743.523131][6034:6039] CHIP:DMG: { + [1657716743.523178][6034:6039] CHIP:DMG: SubscriptionId = 0xc3b3c364, + [1657716743.523240][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716743.523302][6034:6039] CHIP:DMG: [ + [1657716743.523362][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716743.523433][6034:6039] CHIP:DMG: { + [1657716743.523499][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716743.523555][6034:6039] CHIP:DMG: { + [1657716743.523627][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716743.523682][6034:6039] CHIP:DMG: AttributePathIB = + [1657716743.523738][6034:6039] CHIP:DMG: { + [1657716743.523812][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716743.523873][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716743.523934][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716743.523990][6034:6039] CHIP:DMG: } + [1657716743.524050][6034:6039] CHIP:DMG: + [1657716743.524111][6034:6039] CHIP:DMG: Data = "1", + [1657716743.524164][6034:6039] CHIP:DMG: }, + [1657716743.524223][6034:6039] CHIP:DMG: + [1657716743.524271][6034:6039] CHIP:DMG: }, + [1657716743.524328][6034:6039] CHIP:DMG: + [1657716743.524372][6034:6039] CHIP:DMG: ], + [1657716743.524430][6034:6039] CHIP:DMG: + [1657716743.524475][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716743.524518][6034:6039] CHIP:DMG: } + [1657716743.524683][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716743.524745][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716743.524813][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-transition-time 10 100 1 1 + [1657716911.280884][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716911.280957][6034:6039] CHIP:DMG: { + [1657716911.281018][6034:6039] CHIP:DMG: SubscriptionId = 0x1a544eea, + [1657716911.281080][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716911.281157][6034:6039] CHIP:DMG: [ + [1657716911.281217][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716911.281338][6034:6039] CHIP:DMG: { + [1657716911.281408][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716911.281487][6034:6039] CHIP:DMG: { + [1657716911.281570][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716911.281649][6034:6039] CHIP:DMG: AttributePathIB = + [1657716911.281723][6034:6039] CHIP:DMG: { + [1657716911.281813][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716911.281892][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716911.281978][6034:6039] CHIP:DMG: Attribute = 0x0000_0012, + [1657716911.282059][6034:6039] CHIP:DMG: } + [1657716911.282145][6034:6039] CHIP:DMG: + [1657716911.282236][6034:6039] CHIP:DMG: Data = 0, + [1657716911.282311][6034:6039] CHIP:DMG: }, + [1657716911.282392][6034:6039] CHIP:DMG: + [1657716911.282459][6034:6039] CHIP:DMG: }, + [1657716911.282534][6034:6039] CHIP:DMG: + [1657716911.282593][6034:6039] CHIP:DMG: ], + [1657716911.282667][6034:6039] CHIP:DMG: + [1657716911.282727][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716911.282786][6034:6039] CHIP:DMG: } + [1657716911.282995][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0012 DataVersion: 832499115 + [1657716911.283082][6034:6039] CHIP:TOO: on transition time: 0 + [1657716911.283172][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + + on the 3rd reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716965.736576][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313969 from RetransTable on exchange 50225i + [1657716965.736639][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716965.736669][6034:6039] CHIP:DMG: { + [1657716965.736695][6034:6039] CHIP:DMG: SubscriptionId = 0x5a6ddc07, + [1657716965.736741][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716965.736777][6034:6039] CHIP:DMG: [ + [1657716965.736802][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716965.736848][6034:6039] CHIP:DMG: { + [1657716965.736887][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716965.736932][6034:6039] CHIP:DMG: { + [1657716965.736978][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716965.737021][6034:6039] CHIP:DMG: AttributePathIB = + [1657716965.737067][6034:6039] CHIP:DMG: { + [1657716965.737113][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716965.737159][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716965.737207][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716965.737251][6034:6039] CHIP:DMG: } + [1657716965.737346][6034:6039] CHIP:DMG: + [1657716965.737396][6034:6039] CHIP:DMG: Data = 1, + [1657716965.737438][6034:6039] CHIP:DMG: }, + [1657716965.737484][6034:6039] CHIP:DMG: + [1657716965.737521][6034:6039] CHIP:DMG: }, + [1657716965.737563][6034:6039] CHIP:DMG: + [1657716965.737589][6034:6039] CHIP:DMG: ], + [1657716965.737620][6034:6039] CHIP:DMG: + [1657716965.737645][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716965.737679][6034:6039] CHIP:DMG: } + [1657716965.737779][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716965.737827][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716965.737867][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + basic subscribe reachable 10 100 1 0 + [1657717032.547326][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313975 from RetransTable on exchange 50227i + [1657717032.547406][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717032.547470][6034:6039] CHIP:DMG: { + [1657717032.547507][6034:6039] CHIP:DMG: SubscriptionId = 0x242f7180, + [1657717032.547560][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717032.547607][6034:6039] CHIP:DMG: [ + [1657717032.547644][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717032.547696][6034:6039] CHIP:DMG: { + [1657717032.547734][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717032.547779][6034:6039] CHIP:DMG: { + [1657717032.547829][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657717032.547876][6034:6039] CHIP:DMG: AttributePathIB = + [1657717032.547925][6034:6039] CHIP:DMG: { + [1657717032.547974][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657717032.548027][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657717032.548077][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657717032.548124][6034:6039] CHIP:DMG: } + [1657717032.548175][6034:6039] CHIP:DMG: + [1657717032.548225][6034:6039] CHIP:DMG: Data = true, + [1657717032.548272][6034:6039] CHIP:DMG: }, + [1657717032.548321][6034:6039] CHIP:DMG: + [1657717032.548358][6034:6039] CHIP:DMG: }, + [1657717032.548403][6034:6039] CHIP:DMG: + [1657717032.548438][6034:6039] CHIP:DMG: ], + [1657717032.548482][6034:6039] CHIP:DMG: + [1657717032.548518][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717032.548553][6034:6039] CHIP:DMG: } + [1657717032.548686][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0011 DataVersion: 462674998 + [1657717032.548795][6034:6039] CHIP:TOO: Reachable: TRUE + [1657717032.548850][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + onoff subscribe off-wait-time 10 100 1 1 + [1657717085.996867][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717085.996895][6034:6039] CHIP:DMG: { + [1657717085.996920][6034:6039] CHIP:DMG: SubscriptionId = 0xbe7eee69, + [1657717085.996945][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717085.996977][6034:6039] CHIP:DMG: [ + [1657717085.997002][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717085.997035][6034:6039] CHIP:DMG: { + [1657717085.997060][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717085.997089][6034:6039] CHIP:DMG: { + [1657717085.997122][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717085.997153][6034:6039] CHIP:DMG: AttributePathIB = + [1657717085.997187][6034:6039] CHIP:DMG: { + [1657717085.997220][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717085.997258][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717085.997317][6034:6039] CHIP:DMG: Attribute = 0x0000_4002, + [1657717085.997367][6034:6039] CHIP:DMG: } + [1657717085.997404][6034:6039] CHIP:DMG: + [1657717085.997440][6034:6039] CHIP:DMG: Data = 0, + [1657717085.997471][6034:6039] CHIP:DMG: }, + [1657717085.997504][6034:6039] CHIP:DMG: + [1657717085.997531][6034:6039] CHIP:DMG: }, + [1657717085.997561][6034:6039] CHIP:DMG: + [1657717085.997585][6034:6039] CHIP:DMG: ], + [1657717085.997615][6034:6039] CHIP:DMG: + [1657717085.997640][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717085.997663][6034:6039] CHIP:DMG: } + [1657717085.997757][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 1934241157 + [1657717085.997793][6034:6039] CHIP:TOO: OffWaitTime: 0 + [1657717085.997830][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] disabled: true - label: @@ -264,5 +1427,668 @@ tests: Subscription Requests are activated, send a Subscribe request messages having 3 different paths from RD1A to the DUT." verification: | - Waiting For Test-Plan author for more input. Verification step upadte is in progress + Send 3 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT + and verify all the subscription requests are succes, then send a Subscribe request messages having 3 different paths from RD1A to the DUT. + + + Example commands given below are using 3 reference device (User can use 5 reference device and send the below command in from each reference device) + + on the 1st reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716965.736576][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313969 from RetransTable on exchange 50225i + [1657716965.736639][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716965.736669][6034:6039] CHIP:DMG: { + [1657716965.736695][6034:6039] CHIP:DMG: SubscriptionId = 0x5a6ddc07, + [1657716965.736741][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716965.736777][6034:6039] CHIP:DMG: [ + [1657716965.736802][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716965.736848][6034:6039] CHIP:DMG: { + [1657716965.736887][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716965.736932][6034:6039] CHIP:DMG: { + [1657716965.736978][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716965.737021][6034:6039] CHIP:DMG: AttributePathIB = + [1657716965.737067][6034:6039] CHIP:DMG: { + [1657716965.737113][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716965.737159][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716965.737207][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716965.737251][6034:6039] CHIP:DMG: } + [1657716965.737346][6034:6039] CHIP:DMG: + [1657716965.737396][6034:6039] CHIP:DMG: Data = 1, + [1657716965.737438][6034:6039] CHIP:DMG: }, + [1657716965.737484][6034:6039] CHIP:DMG: + [1657716965.737521][6034:6039] CHIP:DMG: }, + [1657716965.737563][6034:6039] CHIP:DMG: + [1657716965.737589][6034:6039] CHIP:DMG: ], + [1657716965.737620][6034:6039] CHIP:DMG: + [1657716965.737645][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716965.737679][6034:6039] CHIP:DMG: } + [1657716965.737779][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716965.737827][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716965.737867][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + basic subscribe reachable 10 100 1 0 + [1657717032.547326][6034:6039] CHIP:EM: Removed CHIP MessageCounter:12313975 from RetransTable on exchange 50227i + [1657717032.547406][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717032.547470][6034:6039] CHIP:DMG: { + [1657717032.547507][6034:6039] CHIP:DMG: SubscriptionId = 0x242f7180, + [1657717032.547560][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717032.547607][6034:6039] CHIP:DMG: [ + [1657717032.547644][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717032.547696][6034:6039] CHIP:DMG: { + [1657717032.547734][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717032.547779][6034:6039] CHIP:DMG: { + [1657717032.547829][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657717032.547876][6034:6039] CHIP:DMG: AttributePathIB = + [1657717032.547925][6034:6039] CHIP:DMG: { + [1657717032.547974][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657717032.548027][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657717032.548077][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657717032.548124][6034:6039] CHIP:DMG: } + [1657717032.548175][6034:6039] CHIP:DMG: + [1657717032.548225][6034:6039] CHIP:DMG: Data = true, + [1657717032.548272][6034:6039] CHIP:DMG: }, + [1657717032.548321][6034:6039] CHIP:DMG: + [1657717032.548358][6034:6039] CHIP:DMG: }, + [1657717032.548403][6034:6039] CHIP:DMG: + [1657717032.548438][6034:6039] CHIP:DMG: ], + [1657717032.548482][6034:6039] CHIP:DMG: + [1657717032.548518][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717032.548553][6034:6039] CHIP:DMG: } + [1657717032.548686][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0011 DataVersion: 462674998 + [1657717032.548795][6034:6039] CHIP:TOO: Reachable: TRUE + [1657717032.548850][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + onoff subscribe off-wait-time 10 100 1 1 + [1657717085.996867][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717085.996895][6034:6039] CHIP:DMG: { + [1657717085.996920][6034:6039] CHIP:DMG: SubscriptionId = 0xbe7eee69, + [1657717085.996945][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717085.996977][6034:6039] CHIP:DMG: [ + [1657717085.997002][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717085.997035][6034:6039] CHIP:DMG: { + [1657717085.997060][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717085.997089][6034:6039] CHIP:DMG: { + [1657717085.997122][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717085.997153][6034:6039] CHIP:DMG: AttributePathIB = + [1657717085.997187][6034:6039] CHIP:DMG: { + [1657717085.997220][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717085.997258][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717085.997317][6034:6039] CHIP:DMG: Attribute = 0x0000_4002, + [1657717085.997367][6034:6039] CHIP:DMG: } + [1657717085.997404][6034:6039] CHIP:DMG: + [1657717085.997440][6034:6039] CHIP:DMG: Data = 0, + [1657717085.997471][6034:6039] CHIP:DMG: }, + [1657717085.997504][6034:6039] CHIP:DMG: + [1657717085.997531][6034:6039] CHIP:DMG: }, + [1657717085.997561][6034:6039] CHIP:DMG: + [1657717085.997585][6034:6039] CHIP:DMG: ], + [1657717085.997615][6034:6039] CHIP:DMG: + [1657717085.997640][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717085.997663][6034:6039] CHIP:DMG: } + [1657717085.997757][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4002 DataVersion: 1934241157 + [1657717085.997793][6034:6039] CHIP:TOO: OffWaitTime: 0 + [1657717085.997830][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + + on the 2nd reference deice enter: + onoff subscribe start-up-on-off 10 100 1 1 + [1657716703.322836][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716703.322895][6034:6039] CHIP:DMG: { + [1657716703.322947][6034:6039] CHIP:DMG: SubscriptionId = 0x8962f8b4, + [1657716703.323010][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716703.323080][6034:6039] CHIP:DMG: [ + [1657716703.323133][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716703.323217][6034:6039] CHIP:DMG: { + [1657716703.323280][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716703.323341][6034:6039] CHIP:DMG: { + [1657716703.323396][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716703.323449][6034:6039] CHIP:DMG: AttributePathIB = + [1657716703.323519][6034:6039] CHIP:DMG: { + [1657716703.323591][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716703.323671][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716703.323759][6034:6039] CHIP:DMG: Attribute = 0x0000_4003, + [1657716703.323835][6034:6039] CHIP:DMG: } + [1657716703.323909][6034:6039] CHIP:DMG: + [1657716703.323981][6034:6039] CHIP:DMG: Data = 1, + [1657716703.324047][6034:6039] CHIP:DMG: }, + [1657716703.324113][6034:6039] CHIP:DMG: + [1657716703.324170][6034:6039] CHIP:DMG: }, + [1657716703.324238][6034:6039] CHIP:DMG: + [1657716703.324289][6034:6039] CHIP:DMG: ], + [1657716703.324352][6034:6039] CHIP:DMG: + [1657716703.324403][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716703.324457][6034:6039] CHIP:DMG: } + [1657716703.324785][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 + [1657716703.324904][6034:6039] CHIP:TOO: StartUpOnOff: 1 + [1657716703.324985][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716743.523056][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716743.523131][6034:6039] CHIP:DMG: { + [1657716743.523178][6034:6039] CHIP:DMG: SubscriptionId = 0xc3b3c364, + [1657716743.523240][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716743.523302][6034:6039] CHIP:DMG: [ + [1657716743.523362][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716743.523433][6034:6039] CHIP:DMG: { + [1657716743.523499][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716743.523555][6034:6039] CHIP:DMG: { + [1657716743.523627][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716743.523682][6034:6039] CHIP:DMG: AttributePathIB = + [1657716743.523738][6034:6039] CHIP:DMG: { + [1657716743.523812][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716743.523873][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716743.523934][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716743.523990][6034:6039] CHIP:DMG: } + [1657716743.524050][6034:6039] CHIP:DMG: + [1657716743.524111][6034:6039] CHIP:DMG: Data = "1", + [1657716743.524164][6034:6039] CHIP:DMG: }, + [1657716743.524223][6034:6039] CHIP:DMG: + [1657716743.524271][6034:6039] CHIP:DMG: }, + [1657716743.524328][6034:6039] CHIP:DMG: + [1657716743.524372][6034:6039] CHIP:DMG: ], + [1657716743.524430][6034:6039] CHIP:DMG: + [1657716743.524475][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716743.524518][6034:6039] CHIP:DMG: } + [1657716743.524683][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716743.524745][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716743.524813][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-transition-time 10 100 1 1 + [1657716911.280884][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716911.280957][6034:6039] CHIP:DMG: { + [1657716911.281018][6034:6039] CHIP:DMG: SubscriptionId = 0x1a544eea, + [1657716911.281080][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716911.281157][6034:6039] CHIP:DMG: [ + [1657716911.281217][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716911.281338][6034:6039] CHIP:DMG: { + [1657716911.281408][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716911.281487][6034:6039] CHIP:DMG: { + on the first reference deice enter: + + levelcontrol subscribe min-level 10 100 1 1 + [1657717758.176398][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717758.176466][6034:6039] CHIP:DMG: { + [1657717758.176545][6034:6039] CHIP:DMG: SubscriptionId = 0xbf960b6c, + [1657717758.176619][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717758.176698][6034:6039] CHIP:DMG: [ + [1657717758.176750][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717758.176818][6034:6039] CHIP:DMG: { + [1657717758.176872][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717758.176959][6034:6039] CHIP:DMG: { + [1657717758.177034][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657717758.177136][6034:6039] CHIP:DMG: AttributePathIB = + [1657717758.177206][6034:6039] CHIP:DMG: { + [1657717758.177269][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717758.177377][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657717758.177429][6034:6039] CHIP:DMG: Attribute = 0x0000_0002, + [1657717758.177488][6034:6039] CHIP:DMG: } + [1657717758.177551][6034:6039] CHIP:DMG: + [1657717758.177600][6034:6039] CHIP:DMG: Data = 1, + [1657717758.177655][6034:6039] CHIP:DMG: }, + [1657717758.177716][6034:6039] CHIP:DMG: + [1657717758.177755][6034:6039] CHIP:DMG: }, + [1657717758.177813][6034:6039] CHIP:DMG: + [1657717758.177850][6034:6039] CHIP:DMG: ], + [1657717758.177896][6034:6039] CHIP:DMG: + [1657717758.177933][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717758.177969][6034:6039] CHIP:DMG: } + [1657717758.178105][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0002 DataVersion: 832499115 + [1657717758.178156][6034:6039] CHIP:TOO: min level: 1 + [1657717758.178215][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + + onoff subscribe global-scene-control 10 100 1 1 + [1657717721.303602][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717721.303670][6034:6039] CHIP:DMG: { + [1657717721.303730][6034:6039] CHIP:DMG: SubscriptionId = 0x2b768ffd, + [1657717721.303791][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717721.303867][6034:6039] CHIP:DMG: [ + [1657717721.303928][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717721.304007][6034:6039] CHIP:DMG: { + [1657717721.304071][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717721.304149][6034:6039] CHIP:DMG: { + [1657717721.304225][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717721.304297][6034:6039] CHIP:DMG: AttributePathIB = + [1657717721.304372][6034:6039] CHIP:DMG: { + [1657717721.304454][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717721.304542][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717721.304628][6034:6039] CHIP:DMG: Attribute = 0x0000_4000, + [1657717721.304711][6034:6039] CHIP:DMG: } + [1657717721.304797][6034:6039] CHIP:DMG: + [1657717721.304881][6034:6039] CHIP:DMG: Data = true, + [1657717721.304958][6034:6039] CHIP:DMG: }, + [1657717721.305039][6034:6039] CHIP:DMG: + [1657717721.305102][6034:6039] CHIP:DMG: }, + [1657717721.305178][6034:6039] CHIP:DMG: + [1657717721.305238][6034:6039] CHIP:DMG: ], + [1657717721.305348][6034:6039] CHIP:DMG: + [1657717721.305412][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717721.305470][6034:6039] CHIP:DMG: } + [1657717721.305679][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4000 DataVersion: 1934241157 + [1657717721.305761][6034:6039] CHIP:TOO: GlobalSceneControl: TRUE + [1657717721.305849][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + temperaturemeasurement subscribe tolerance 10 100 1 1 + [1657717893.368431][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717893.368514][6034:6039] CHIP:DMG: { + [1657717893.368562][6034:6039] CHIP:DMG: SubscriptionId = 0x87e778d7, + [1657717893.368649][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717893.368744][6034:6039] CHIP:DMG: [ + [1657717893.368837][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717893.368943][6034:6039] CHIP:DMG: { + [1657717893.369046][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717893.369138][6034:6039] CHIP:DMG: { + [1657717893.369231][6034:6039] CHIP:DMG: DataVersion = 0x8ca282b3, + [1657717893.369359][6034:6039] CHIP:DMG: AttributePathIB = + [1657717893.369461][6034:6039] CHIP:DMG: { + [1657717893.369563][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717893.369674][6034:6039] CHIP:DMG: Cluster = 0x402, + [1657717893.369786][6034:6039] CHIP:DMG: Attribute = 0x0000_0003, + [1657717893.369896][6034:6039] CHIP:DMG: } + [1657717893.370000][6034:6039] CHIP:DMG: + [1657717893.370094][6034:6039] CHIP:DMG: Data = 0, + [1657717893.370192][6034:6039] CHIP:DMG: }, + [1657717893.370284][6034:6039] CHIP:DMG: + [1657717893.370359][6034:6039] CHIP:DMG: }, + [1657717893.370439][6034:6039] CHIP:DMG: + [1657717893.370504][6034:6039] CHIP:DMG: ], + [1657717893.370575][6034:6039] CHIP:DMG: + [1657717893.370630][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717893.370699][6034:6039] CHIP:DMG: } + [1657717893.370819][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0003 DataVersion: 2359460531 + [1657717893.370888][6034:6039] CHIP:TOO: Tolerance: 0 + [1657717893.370929][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + + + + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + + [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716563.242475][6034:6039] CHIP:DMG: { + [1657716563.242507][6034:6039] CHIP:DMG: SubscriptionId = 0xebc26cc4, + [1657716563.242538][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716563.242577][6034:6039] CHIP:DMG: [ + [1657716563.242607][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716563.242648][6034:6039] CHIP:DMG: { + [1657716563.242680][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716563.242721][6034:6039] CHIP:DMG: { + [1657716563.242762][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716563.242801][6034:6039] CHIP:DMG: AttributePathIB = + [1657716563.242842][6034:6039] CHIP:DMG: { + [1657716563.242883][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716563.242928][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716563.242971][6034:6039] CHIP:DMG: Attribute = 0x0000_0010, + [1657716563.243012][6034:6039] CHIP:DMG: } + [1657716563.243056][6034:6039] CHIP:DMG: + [1657716563.243100][6034:6039] CHIP:DMG: Data = 1, + [1657716563.243138][6034:6039] CHIP:DMG: }, + [1657716563.243179][6034:6039] CHIP:DMG: + [1657716563.243213][6034:6039] CHIP:DMG: }, + [1657716563.243251][6034:6039] CHIP:DMG: + [1657716563.243280][6034:6039] CHIP:DMG: ], + [1657716563.243318][6034:6039] CHIP:DMG: + [1657716563.243348][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716563.243377][6034:6039] CHIP:DMG: } + [1657716563.243531][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499115 + [1657716563.243601][6034:6039] CHIP:TOO: on off transition time: 1 + [1657716563.243648][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716599.928585][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716599.928652][6034:6039] CHIP:DMG: { + [1657716599.928825][6034:6039] CHIP:DMG: SubscriptionId = 0x3d9f1c1, + [1657716599.928890][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716599.928968][6034:6039] CHIP:DMG: [ + [1657716599.929029][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716599.929122][6034:6039] CHIP:DMG: { + [1657716599.929192][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716599.929278][6034:6039] CHIP:DMG: { + [1657716599.929399][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716599.929476][6034:6039] CHIP:DMG: AttributePathIB = + [1657716599.929687][6034:6039] CHIP:DMG: { + [1657716599.929774][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716599.929861][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716599.929949][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716599.930031][6034:6039] CHIP:DMG: } + [1657716599.930115][6034:6039] CHIP:DMG: + [1657716599.930285][6034:6039] CHIP:DMG: Data = "1", + [1657716599.930370][6034:6039] CHIP:DMG: }, + [1657716599.930454][6034:6039] CHIP:DMG: + [1657716599.930578][6034:6039] CHIP:DMG: }, + [1657716599.930660][6034:6039] CHIP:DMG: + [1657716599.930720][6034:6039] CHIP:DMG: ], + [1657716599.930796][6034:6039] CHIP:DMG: + [1657716599.930856][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716599.930914][6034:6039] CHIP:DMG: } + [1657716599.931131][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716599.931326][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716599.931420][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + onoff subscribe on-time 10 100 1 1 + [1657716634.400468][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716634.400499][6034:6039] CHIP:DMG: { + [1657716634.400525][6034:6039] CHIP:DMG: SubscriptionId = 0xf9b815a2, + [1657716634.400551][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716634.400585][6034:6039] CHIP:DMG: [ + [1657716634.400610][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716634.400647][6034:6039] CHIP:DMG: { + [1657716634.400674][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716634.400705][6034:6039] CHIP:DMG: { + [1657716634.400739][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716634.400775][6034:6039] CHIP:DMG: AttributePathIB = + [1657716634.400809][6034:6039] CHIP:DMG: { + [1657716634.400847][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716634.400883][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716634.400920][6034:6039] CHIP:DMG: Attribute = 0x0000_4001, + [1657716634.400950][6034:6039] CHIP:DMG: } + [1657716634.400987][6034:6039] CHIP:DMG: + [1657716634.401024][6034:6039] CHIP:DMG: Data = 1, + [1657716634.401058][6034:6039] CHIP:DMG: }, + [1657716634.401092][6034:6039] CHIP:DMG: + [1657716634.401117][6034:6039] CHIP:DMG: }, + [1657716634.401148][6034:6039] CHIP:DMG: + [1657716634.401172][6034:6039] CHIP:DMG: ], + [1657716634.401202][6034:6039] CHIP:DMG: + [1657716634.401227][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716634.401250][6034:6039] CHIP:DMG: } + [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 + [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 + [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-level 10 100 1 1 + [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716667.237515][6034:6039] CHIP:DMG: { + [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, + [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716667.237738][6034:6039] CHIP:DMG: [ + [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716667.237819][6034:6039] CHIP:DMG: { + [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716667.237897][6034:6039] CHIP:DMG: { + [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = + [1657716667.238044][6034:6039] CHIP:DMG: { + [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657716667.238244][6034:6039] CHIP:DMG: } + [1657716667.238294][6034:6039] CHIP:DMG: + [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, + [1657716667.238391][6034:6039] CHIP:DMG: }, + [1657716667.238437][6034:6039] CHIP:DMG: + [1657716667.238467][6034:6039] CHIP:DMG: }, + [1657716667.238509][6034:6039] CHIP:DMG: + [1657716667.238535][6034:6039] CHIP:DMG: ], + [1657716667.238567][6034:6039] CHIP:DMG: + [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716667.238614][6034:6039] CHIP:DMG: } + [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 + [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 + [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + [1657716911.281570][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716911.281649][6034:6039] CHIP:DMG: AttributePathIB = + [1657716911.281723][6034:6039] CHIP:DMG: { + [1657716911.281813][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716911.281892][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716911.281978][6034:6039] CHIP:DMG: Attribute = 0x0000_0012, + [1657716911.282059][6034:6039] CHIP:DMG: } + [1657716911.282145][6034:6039] CHIP:DMG: + [1657716911.282236][6034:6039] CHIP:DMG: Data = 0, + [1657716911.282311][6034:6039] CHIP:DMG: }, + [1657716911.282392][6034:6039] CHIP:DMG: + [1657716911.282459][6034:6039] CHIP:DMG: }, + [1657716911.282534][6034:6039] CHIP:DMG: + [1657716911.282593][6034:6039] CHIP:DMG: ], + [1657716911.282667][6034:6039] CHIP:DMG: + [1657716911.282727][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716911.282786][6034:6039] CHIP:DMG: } + [1657716911.282995][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0012 DataVersion: 832499115 + [1657716911.283082][6034:6039] CHIP:TOO: on transition time: 0 + [1657716911.283172][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + + + on the 3rd reference deice enter: + + levelcontrol subscribe min-level 10 100 1 1 + [1657717758.176398][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717758.176466][6034:6039] CHIP:DMG: { + [1657717758.176545][6034:6039] CHIP:DMG: SubscriptionId = 0xbf960b6c, + [1657717758.176619][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717758.176698][6034:6039] CHIP:DMG: [ + [1657717758.176750][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717758.176818][6034:6039] CHIP:DMG: { + [1657717758.176872][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717758.176959][6034:6039] CHIP:DMG: { + [1657717758.177034][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657717758.177136][6034:6039] CHIP:DMG: AttributePathIB = + [1657717758.177206][6034:6039] CHIP:DMG: { + [1657717758.177269][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717758.177377][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657717758.177429][6034:6039] CHIP:DMG: Attribute = 0x0000_0002, + [1657717758.177488][6034:6039] CHIP:DMG: } + [1657717758.177551][6034:6039] CHIP:DMG: + [1657717758.177600][6034:6039] CHIP:DMG: Data = 1, + [1657717758.177655][6034:6039] CHIP:DMG: }, + [1657717758.177716][6034:6039] CHIP:DMG: + [1657717758.177755][6034:6039] CHIP:DMG: }, + [1657717758.177813][6034:6039] CHIP:DMG: + [1657717758.177850][6034:6039] CHIP:DMG: ], + [1657717758.177896][6034:6039] CHIP:DMG: + [1657717758.177933][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717758.177969][6034:6039] CHIP:DMG: } + [1657717758.178105][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0002 DataVersion: 832499115 + [1657717758.178156][6034:6039] CHIP:TOO: min level: 1 + [1657717758.178215][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c004100]: Moving to [AwaitingSu] + + + + onoff subscribe global-scene-control 10 100 1 1 + [1657717721.303602][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717721.303670][6034:6039] CHIP:DMG: { + [1657717721.303730][6034:6039] CHIP:DMG: SubscriptionId = 0x2b768ffd, + [1657717721.303791][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717721.303867][6034:6039] CHIP:DMG: [ + [1657717721.303928][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717721.304007][6034:6039] CHIP:DMG: { + [1657717721.304071][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717721.304149][6034:6039] CHIP:DMG: { + [1657717721.304225][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657717721.304297][6034:6039] CHIP:DMG: AttributePathIB = + [1657717721.304372][6034:6039] CHIP:DMG: { + [1657717721.304454][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717721.304542][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657717721.304628][6034:6039] CHIP:DMG: Attribute = 0x0000_4000, + [1657717721.304711][6034:6039] CHIP:DMG: } + [1657717721.304797][6034:6039] CHIP:DMG: + [1657717721.304881][6034:6039] CHIP:DMG: Data = true, + [1657717721.304958][6034:6039] CHIP:DMG: }, + [1657717721.305039][6034:6039] CHIP:DMG: + [1657717721.305102][6034:6039] CHIP:DMG: }, + [1657717721.305178][6034:6039] CHIP:DMG: + [1657717721.305238][6034:6039] CHIP:DMG: ], + [1657717721.305348][6034:6039] CHIP:DMG: + [1657717721.305412][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717721.305470][6034:6039] CHIP:DMG: } + [1657717721.305679][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4000 DataVersion: 1934241157 + [1657717721.305761][6034:6039] CHIP:TOO: GlobalSceneControl: TRUE + [1657717721.305849][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + temperaturemeasurement subscribe tolerance 10 100 1 1 + [1657717893.368431][6034:6039] CHIP:DMG: ReportDataMessage = + [1657717893.368514][6034:6039] CHIP:DMG: { + [1657717893.368562][6034:6039] CHIP:DMG: SubscriptionId = 0x87e778d7, + [1657717893.368649][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657717893.368744][6034:6039] CHIP:DMG: [ + [1657717893.368837][6034:6039] CHIP:DMG: AttributeReportIB = + [1657717893.368943][6034:6039] CHIP:DMG: { + [1657717893.369046][6034:6039] CHIP:DMG: AttributeDataIB = + [1657717893.369138][6034:6039] CHIP:DMG: { + [1657717893.369231][6034:6039] CHIP:DMG: DataVersion = 0x8ca282b3, + [1657717893.369359][6034:6039] CHIP:DMG: AttributePathIB = + [1657717893.369461][6034:6039] CHIP:DMG: { + [1657717893.369563][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657717893.369674][6034:6039] CHIP:DMG: Cluster = 0x402, + [1657717893.369786][6034:6039] CHIP:DMG: Attribute = 0x0000_0003, + [1657717893.369896][6034:6039] CHIP:DMG: } + [1657717893.370000][6034:6039] CHIP:DMG: + [1657717893.370094][6034:6039] CHIP:DMG: Data = 0, + [1657717893.370192][6034:6039] CHIP:DMG: }, + [1657717893.370284][6034:6039] CHIP:DMG: + [1657717893.370359][6034:6039] CHIP:DMG: }, + [1657717893.370439][6034:6039] CHIP:DMG: + [1657717893.370504][6034:6039] CHIP:DMG: ], + [1657717893.370575][6034:6039] CHIP:DMG: + [1657717893.370630][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657717893.370699][6034:6039] CHIP:DMG: } + [1657717893.370819][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0003 DataVersion: 2359460531 + [1657717893.370888][6034:6039] CHIP:TOO: Tolerance: 0 + [1657717893.370929][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] + + + + + After all above mentioned subscription are activated send below mentioned command in 1st reference device + any subscribe-by-id 0x0008 0x0010 10 100 1 1 + + [1657716563.242433][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716563.242475][6034:6039] CHIP:DMG: { + [1657716563.242507][6034:6039] CHIP:DMG: SubscriptionId = 0xebc26cc4, + [1657716563.242538][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716563.242577][6034:6039] CHIP:DMG: [ + [1657716563.242607][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716563.242648][6034:6039] CHIP:DMG: { + [1657716563.242680][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716563.242721][6034:6039] CHIP:DMG: { + [1657716563.242762][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716563.242801][6034:6039] CHIP:DMG: AttributePathIB = + [1657716563.242842][6034:6039] CHIP:DMG: { + [1657716563.242883][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716563.242928][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716563.242971][6034:6039] CHIP:DMG: Attribute = 0x0000_0010, + [1657716563.243012][6034:6039] CHIP:DMG: } + [1657716563.243056][6034:6039] CHIP:DMG: + [1657716563.243100][6034:6039] CHIP:DMG: Data = 1, + [1657716563.243138][6034:6039] CHIP:DMG: }, + [1657716563.243179][6034:6039] CHIP:DMG: + [1657716563.243213][6034:6039] CHIP:DMG: }, + [1657716563.243251][6034:6039] CHIP:DMG: + [1657716563.243280][6034:6039] CHIP:DMG: ], + [1657716563.243318][6034:6039] CHIP:DMG: + [1657716563.243348][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716563.243377][6034:6039] CHIP:DMG: } + [1657716563.243531][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0010 DataVersion: 832499115 + [1657716563.243601][6034:6039] CHIP:TOO: on off transition time: 1 + [1657716563.243648][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008e30]: Moving to [AwaitingSu] + + + + basic subscribe node-label 10 100 1 0 + [1657716599.928585][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716599.928652][6034:6039] CHIP:DMG: { + [1657716599.928825][6034:6039] CHIP:DMG: SubscriptionId = 0x3d9f1c1, + [1657716599.928890][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716599.928968][6034:6039] CHIP:DMG: [ + [1657716599.929029][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716599.929122][6034:6039] CHIP:DMG: { + [1657716599.929192][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716599.929278][6034:6039] CHIP:DMG: { + [1657716599.929399][6034:6039] CHIP:DMG: DataVersion = 0x1b93dc36, + [1657716599.929476][6034:6039] CHIP:DMG: AttributePathIB = + [1657716599.929687][6034:6039] CHIP:DMG: { + [1657716599.929774][6034:6039] CHIP:DMG: Endpoint = 0x0, + [1657716599.929861][6034:6039] CHIP:DMG: Cluster = 0x28, + [1657716599.929949][6034:6039] CHIP:DMG: Attribute = 0x0000_0005, + [1657716599.930031][6034:6039] CHIP:DMG: } + [1657716599.930115][6034:6039] CHIP:DMG: + [1657716599.930285][6034:6039] CHIP:DMG: Data = "1", + [1657716599.930370][6034:6039] CHIP:DMG: }, + [1657716599.930454][6034:6039] CHIP:DMG: + [1657716599.930578][6034:6039] CHIP:DMG: }, + [1657716599.930660][6034:6039] CHIP:DMG: + [1657716599.930720][6034:6039] CHIP:DMG: ], + [1657716599.930796][6034:6039] CHIP:DMG: + [1657716599.930856][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716599.930914][6034:6039] CHIP:DMG: } + [1657716599.931131][6034:6039] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674998 + [1657716599.931326][6034:6039] CHIP:TOO: NodeLabel: 1 + [1657716599.931420][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008f20]: Moving to [AwaitingSu] + + onoff subscribe on-time 10 100 1 1 + [1657716634.400468][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716634.400499][6034:6039] CHIP:DMG: { + [1657716634.400525][6034:6039] CHIP:DMG: SubscriptionId = 0xf9b815a2, + [1657716634.400551][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716634.400585][6034:6039] CHIP:DMG: [ + [1657716634.400610][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716634.400647][6034:6039] CHIP:DMG: { + [1657716634.400674][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716634.400705][6034:6039] CHIP:DMG: { + [1657716634.400739][6034:6039] CHIP:DMG: DataVersion = 0x734a2d85, + [1657716634.400775][6034:6039] CHIP:DMG: AttributePathIB = + [1657716634.400809][6034:6039] CHIP:DMG: { + [1657716634.400847][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716634.400883][6034:6039] CHIP:DMG: Cluster = 0x6, + [1657716634.400920][6034:6039] CHIP:DMG: Attribute = 0x0000_4001, + [1657716634.400950][6034:6039] CHIP:DMG: } + [1657716634.400987][6034:6039] CHIP:DMG: + [1657716634.401024][6034:6039] CHIP:DMG: Data = 1, + [1657716634.401058][6034:6039] CHIP:DMG: }, + [1657716634.401092][6034:6039] CHIP:DMG: + [1657716634.401117][6034:6039] CHIP:DMG: }, + [1657716634.401148][6034:6039] CHIP:DMG: + [1657716634.401172][6034:6039] CHIP:DMG: ], + [1657716634.401202][6034:6039] CHIP:DMG: + [1657716634.401227][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716634.401250][6034:6039] CHIP:DMG: } + [1657716634.401383][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241157 + [1657716634.401428][6034:6039] CHIP:TOO: OnTime: 1 + [1657716634.401466][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c008c70]: Moving to [AwaitingSu] + + + levelcontrol subscribe on-level 10 100 1 1 + [1657716667.237484][6034:6039] CHIP:DMG: ReportDataMessage = + [1657716667.237515][6034:6039] CHIP:DMG: { + [1657716667.237541][6034:6039] CHIP:DMG: SubscriptionId = 0xe457240d, + [1657716667.237571][6034:6039] CHIP:DMG: AttributeReportIBs = + [1657716667.237738][6034:6039] CHIP:DMG: [ + [1657716667.237768][6034:6039] CHIP:DMG: AttributeReportIB = + [1657716667.237819][6034:6039] CHIP:DMG: { + [1657716667.237850][6034:6039] CHIP:DMG: AttributeDataIB = + [1657716667.237897][6034:6039] CHIP:DMG: { + [1657716667.237944][6034:6039] CHIP:DMG: DataVersion = 0x319eedab, + [1657716667.237993][6034:6039] CHIP:DMG: AttributePathIB = + [1657716667.238044][6034:6039] CHIP:DMG: { + [1657716667.238094][6034:6039] CHIP:DMG: Endpoint = 0x1, + [1657716667.238145][6034:6039] CHIP:DMG: Cluster = 0x8, + [1657716667.238196][6034:6039] CHIP:DMG: Attribute = 0x0000_0011, + [1657716667.238244][6034:6039] CHIP:DMG: } + [1657716667.238294][6034:6039] CHIP:DMG: + [1657716667.238345][6034:6039] CHIP:DMG: Data = 1, + [1657716667.238391][6034:6039] CHIP:DMG: }, + [1657716667.238437][6034:6039] CHIP:DMG: + [1657716667.238467][6034:6039] CHIP:DMG: }, + [1657716667.238509][6034:6039] CHIP:DMG: + [1657716667.238535][6034:6039] CHIP:DMG: ], + [1657716667.238567][6034:6039] CHIP:DMG: + [1657716667.238591][6034:6039] CHIP:DMG: InteractionModelRevision = 1 + [1657716667.238614][6034:6039] CHIP:DMG: } + [1657716667.238709][6034:6039] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499115 + [1657716667.238752][6034:6039] CHIP:TOO: on level: 1 + [1657716667.238790][6034:6039] CHIP:DMG: MoveToState ReadClient[0xffff8c0092b0]: Moving to [AwaitingSu] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml b/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml index 72f1e113958272..9e2fed69ccd143 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_8_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 20.6.6. [TC-IDM-8.1] Fabric scoped Test Cases. DUT as the server. +name: 3.6.6. [TC-IDM-8.1] Fabric scoped Test Cases. [{DUT_Server}] config: nodeId: 0x12344321 @@ -26,7 +26,49 @@ tests: attribute, which is a fabric scoped list, from the DUT. Fabric filtered should be set to false." verification: | - Verify that the number of entries returned by the DUT for both the reads are same. Verify that the response to RC1 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. Verify that the response to RC2 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. + ./chip-tool accesscontrol read acl 1 0 --fabric-filtered 0 + + [1657779742.905642][2620:2625] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 + [1657779742.905736][2620:2625] CHIP:TOO: ACL: 2 entries + [1657779742.905794][2620:2625] CHIP:TOO: [1]: { + [1657779742.905845][2620:2625] CHIP:TOO: Privilege: 5 + [1657779742.905877][2620:2625] CHIP:TOO: AuthMode: 2 + [1657779742.905913][2620:2625] CHIP:TOO: Subjects: 1 entries + [1657779742.905952][2620:2625] CHIP:TOO: [1]: 112233 + [1657779742.905986][2620:2625] CHIP:TOO: Targets: null + [1657779742.906017][2620:2625] CHIP:TOO: FabricIndex: 1 + [1657779742.906047][2620:2625] CHIP:TOO: } + [1657779742.906083][2620:2625] CHIP:TOO: [2]: { + [1657779742.906114][2620:2625] CHIP:TOO: Privilege: 0 + [1657779742.906144][2620:2625] CHIP:TOO: AuthMode: 0 + [1657779742.906174][2620:2625] CHIP:TOO: Subjects: null + [1657779742.906203][2620:2625] CHIP:TOO: Targets: null + [1657779742.906233][2620:2625] CHIP:TOO: FabricIndex: 2 + [1657779742.906262][2620:2625] CHIP:TOO: } + [1657779742.906365][2620:2625] CHIP:EM: Sending Standalone Ack for MessageCounter:156304177 on exchange 7994i + + + + ./chip-tool accesscontrol read acl 2 0 --fabric-filtered 0 + + [1657777306.528148][2474:2479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 3942609879 + [1657777306.529101][2474:2479] CHIP:TOO: ACL: 2 entries + [1657777306.529144][2474:2479] CHIP:TOO: [1]: { + [1657777306.531412][2474:2479] CHIP:TOO: Privilege: 0 + [1657777306.531449][2474:2479] CHIP:TOO: AuthMode: 0 + [1657777306.531476][2474:2479] CHIP:TOO: Subjects: null + [1657777306.531502][2474:2479] CHIP:TOO: Targets: null + [1657777306.531527][2474:2479] CHIP:TOO: FabricIndex: 1 + [1657777306.531551][2474:2479] CHIP:TOO: } + [1657777306.531596][2474:2479] CHIP:TOO: [2]: { + [1657777306.531623][2474:2479] CHIP:TOO: Privilege: 5 + [1657777306.531647][2474:2479] CHIP:TOO: AuthMode: 2 + [1657777306.531675][2474:2479] CHIP:TOO: Subjects: 1 entries + [1657777306.531708][2474:2479] CHIP:TOO: [1]: 112233 + [1657777306.531736][2474:2479] CHIP:TOO: Targets: null + [1657777306.531761][2474:2479] CHIP:TOO: FabricIndex: 2 + [1657777306.531785][2474:2479] CHIP:TOO: } + [1657777306.531885][2474:2479] CHIP:EM: Sending Standalone Ack for MessageCounter:98574249 on exchange 20274i disabled: true - label: @@ -38,18 +80,247 @@ tests: fabric-filtered Read Request Message from each of RC1 and RC2 to read the fabric scoped list from the DUT." verification: | - Verify that the data received from DUT after the second read request from RC2 is same as the data received after the first read request from RC2. Verify that the data received from the DUT after the second read request from RC1 has the correct modifications to the data. + ./chip-tool accesscontrol read acl 1 0 --commissioner-name beta + + [1657781757.866389][2878:2883] CHIP:DMG: } + [1657781757.866649][2878:2883] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 + [1657781757.866722][2878:2883] CHIP:TOO: ACL: 1 entries + [1657781757.866769][2878:2883] CHIP:TOO: [1]: { + [1657781757.866809][2878:2883] CHIP:TOO: Privilege: 5 + [1657781757.866832][2878:2883] CHIP:TOO: AuthMode: 2 + [1657781757.866859][2878:2883] CHIP:TOO: Subjects: 1 entries + [1657781757.866887][2878:2883] CHIP:TOO: [1]: 112233 + [1657781757.866913][2878:2883] CHIP:TOO: Targets: null + [1657781757.866935][2878:2883] CHIP:TOO: FabricIndex: 1 + [1657781757.866958][2878:2883] CHIP:TOO: } + [1657781757.867038][2878:2883] CHIP:EM: Sending Standalone Ack for MessageCounter:31035884 on exchange 64038i + + + ./chip-tool accesscontrol read acl 2 0 --commissioner-name gamma + [1657781810.474993][2821:2826] CHIP:DMG: } + [1657781810.475304][2821:2826] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182590 + [1657781810.475389][2821:2826] CHIP:TOO: ACL: 1 entries + [1657781810.475442][2821:2826] CHIP:TOO: [1]: { + [1657781810.475488][2821:2826] CHIP:TOO: Privilege: 5 + [1657781810.475517][2821:2826] CHIP:TOO: AuthMode: 2 + [1657781810.475549][2821:2826] CHIP:TOO: Subjects: 1 entries + [1657781810.475583][2821:2826] CHIP:TOO: [1]: 112233 + [1657781810.475614][2821:2826] CHIP:TOO: Targets: null + [1657781810.475643][2821:2826] CHIP:TOO: FabricIndex: 2 + [1657781810.475670][2821:2826] CHIP:TOO: } + [1657781810.475763][2821:2826] CHIP:EM: Sending Standalone Ack for MessageCounter:227198602 on exchange 37948i + + + ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets":[{ "cluster": 3, "endpoint": 1, "deviceType": null }]}]' 1 0 --commissioner-name beta + [1657782547.448455][2974:2979] CHIP:DMG: WriteResponseMessage = + [1657782547.448486][2974:2979] CHIP:DMG: { + [1657782547.448513][2974:2979] CHIP:DMG: AttributeStatusIBs = + [1657782547.448551][2974:2979] CHIP:DMG: [ + [1657782547.448581][2974:2979] CHIP:DMG: AttributeStatusIB = + [1657782547.448619][2974:2979] CHIP:DMG: { + [1657782547.448651][2974:2979] CHIP:DMG: AttributePathIB = + [1657782547.448690][2974:2979] CHIP:DMG: { + [1657782547.448730][2974:2979] CHIP:DMG: Endpoint = 0x0, + [1657782547.448776][2974:2979] CHIP:DMG: Cluster = 0x1f, + [1657782547.448818][2974:2979] CHIP:DMG: Attribute = 0x0000_0000, + [1657782547.448857][2974:2979] CHIP:DMG: } + [1657782547.448899][2974:2979] CHIP:DMG: + [1657782547.448941][2974:2979] CHIP:DMG: StatusIB = + [1657782547.448980][2974:2979] CHIP:DMG: { + [1657782547.449018][2974:2979] CHIP:DMG: status = 0x00 (SUCCESS), + [1657782547.449061][2974:2979] CHIP:DMG: }, + [1657782547.449100][2974:2979] CHIP:DMG: + [1657782547.449134][2974:2979] CHIP:DMG: }, + [1657782547.449178][2974:2979] CHIP:DMG: + [1657782547.449208][2974:2979] CHIP:DMG: AttributeStatusIB = + [1657782547.449244][2974:2979] CHIP:DMG: { + [1657782547.449278][2974:2979] CHIP:DMG: AttributePathIB = + [1657782547.449316][2974:2979] CHIP:DMG: { + [1657782547.449356][2974:2979] CHIP:DMG: Endpoint = 0x0, + [1657782547.449397][2974:2979] CHIP:DMG: Cluster = 0x1f, + [1657782547.449439][2974:2979] CHIP:DMG: Attribute = 0x0000_0000, + [1657782547.449483][2974:2979] CHIP:DMG: ListIndex = Null, + [1657782547.449525][2974:2979] CHIP:DMG: } + [1657782547.449568][2974:2979] CHIP:DMG: + [1657782547.449642][2974:2979] CHIP:DMG: StatusIB = + [1657782547.449687][2974:2979] CHIP:DMG: { + [1657782547.449727][2974:2979] CHIP:DMG: status = 0x00 (SUCCESS), + [1657782547.449766][2974:2979] CHIP:DMG: }, + [1657782547.449805][2974:2979] CHIP:DMG: + [1657782547.449838][2974:2979] CHIP:DMG: }, + [1657782547.449878][2974:2979] CHIP:DMG: + [1657782547.449907][2974:2979] CHIP:DMG: ], + [1657782547.449948][2974:2979] CHIP:DMG: + [1657782547.449978][2974:2979] CHIP:DMG: InteractionModelRevision = 1 + [1657782547.450006][2974:2979] CHIP:DMG: } + [1657782547.450127][2974:2979] CHIP:DMG: WriteClient moving to [AwaitingDe] + + + + + + + ./chip-tool accesscontrol read acl 2 0 --fabric-filtered 0 --commissioner-name gamma + + [1657782203.827787][2957:2962] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 4140182592 + [1657782203.827866][2957:2962] CHIP:TOO: ACL: 2 entries + [1657782203.827914][2957:2962] CHIP:TOO: [1]: { + [1657782203.827956][2957:2962] CHIP:TOO: Privilege: 5 + [1657782203.827982][2957:2962] CHIP:TOO: AuthMode: 2 + [1657782203.828011][2957:2962] CHIP:TOO: Subjects: 1 entries + [1657782203.828042][2957:2962] CHIP:TOO: [1]: 112233 + [1657782203.828070][2957:2962] CHIP:TOO: Targets: null + [1657782203.828095][2957:2962] CHIP:TOO: FabricIndex: 1 + [1657782203.828115][2957:2962] CHIP:TOO: } + [1657782203.828140][2957:2962] CHIP:TOO: [2]: { + [1657782203.828159][2957:2962] CHIP:TOO: Privilege: 0 + [1657782203.828178][2957:2962] CHIP:TOO: AuthMode: 0 + [1657782203.828198][2957:2962] CHIP:TOO: Subjects: null + [1657782203.828216][2957:2962] CHIP:TOO: Targets: null + [1657782203.828235][2957:2962] CHIP:TOO: FabricIndex: 2 + [1657782203.828253][2957:2962] CHIP:TOO: } + [1657782203.828346][2957:2962] CHIP:EM: Sending Standalone Ack for MessageCounter:211465645 on exchange 51184i + + + ./chip-tool accesscontrol read acl 1 0 --commissioner-name beta + [1657782688.737945][2996:3001] CHIP:DMG: SuppressResponse = true, + [1657782688.737974][2996:3001] CHIP:DMG: InteractionModelRevision = 1 + [1657782688.737999][2996:3001] CHIP:DMG: } + [1657782688.738108][2996:3001] CHIP:TOO: Response Failure: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) + [1657782688.738197][2996:3001] CHIP:EM: Sending Standalone Ack for MessageCounter:110177776 on exchange 22939i disabled: true - label: - "Send a Read Request Message to the DUT from RC1 and RC2 to read the - fabric scoped list 'Fabrics' from OperationalCredentialsCluster. + 'Send a Read Request Message to the DUT from RC1 and RC2 to read the + fabric scoped list "Fabrics" from OperationalCredentialsCluster. Fabric filtered should be set to false. RC1 sends an Invoke command(UpdateFabricLabel) to update the label of its fabric. Send a non-filtered Read Request Message from RC1 and RC2 to read the fabric - scoped list from the DUT." + scoped list from the DUT.' verification: | - Verify that the label only for the fabric on which RC1 and DUT are present is updated. Verify that the label for the other fabric RC2 is on is not modified. + ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 --commissioner-name beta + [1657780124.975404][2664:2669] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 1307873919 + [1657780124.975642][2664:2669] CHIP:TOO: Fabrics: 2 entries + [1657780124.975710][2664:2669] CHIP:TOO: [1]: { + [1657780124.975747][2664:2669] CHIP:TOO: RootPublicKey: 04100A4370AD71A180C267C29E364FC595A24A0D3CC2EC1A0595B2319E8E65D0BC1C7B62EBB0D91F7207CE306A094EAD0084A8A9359FC568D1279BDD275701F0ED + [1657780124.975791][2664:2669] CHIP:TOO: VendorId: 65521 + [1657780124.975829][2664:2669] CHIP:TOO: FabricId: 2 + [1657780124.975854][2664:2669] CHIP:TOO: NodeId: 1 + [1657780124.975891][2664:2669] CHIP:TOO: Label: + [1657780124.975916][2664:2669] CHIP:TOO: FabricIndex: 1 + [1657780124.975940][2664:2669] CHIP:TOO: } + [1657780124.975985][2664:2669] CHIP:TOO: [2]: { + [1657780124.976026][2664:2669] CHIP:TOO: RootPublicKey: 04BC41C77289C6CCE2752CA88DFE1C1A0EB3742B31A32D32C7185CAE22CC0665889702E82706F952524618EFC34A5462A08B793C5AC3C5B45E55598AD362975FFC + [1657780124.976053][2664:2669] CHIP:TOO: VendorId: 65521 + [1657780124.976088][2664:2669] CHIP:TOO: FabricId: 3 + [1657780124.976112][2664:2669] CHIP:TOO: NodeId: 2 + [1657780124.976135][2664:2669] CHIP:TOO: Label: + [1657780124.976217][2664:2669] CHIP:TOO: FabricIndex: 2 + [1657780124.976242][2664:2669] CHIP:TOO: } + [1657780124.976356][2664:2669] CHIP:EM: Sending Standalone Ack for MessageCounter:266273154 on exchange 62310i + + ./chip-tool operationalcredentials read fabrics 2 0 --fabric-filtered 0 --commissioner-name gamma + [1657780154.150519][2728:2733] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 1307873919 + [1657780154.150627][2728:2733] CHIP:TOO: Fabrics: 2 entries + [1657780154.150694][2728:2733] CHIP:TOO: [1]: { + [1657780154.150734][2728:2733] CHIP:TOO: RootPublicKey: 04100A4370AD71A180C267C29E364FC595A24A0D3CC2EC1A0595B2319E8E65D0BC1C7B62EBB0D91F7207CE306A094EAD0084A8A9359FC568D1279BDD275701F0ED + [1657780154.150782][2728:2733] CHIP:TOO: VendorId: 65521 + [1657780154.150826][2728:2733] CHIP:TOO: FabricId: 2 + [1657780154.150855][2728:2733] CHIP:TOO: NodeId: 1 + [1657780154.150882][2728:2733] CHIP:TOO: Label: + [1657780154.150910][2728:2733] CHIP:TOO: FabricIndex: 1 + [1657780154.150937][2728:2733] CHIP:TOO: } + [1657780154.150977][2728:2733] CHIP:TOO: [2]: { + [1657780154.151011][2728:2733] CHIP:TOO: RootPublicKey: 04BC41C77289C6CCE2752CA88DFE1C1A0EB3742B31A32D32C7185CAE22CC0665889702E82706F952524618EFC34A5462A08B793C5AC3C5B45E55598AD362975FFC + [1657780154.151041][2728:2733] CHIP:TOO: VendorId: 65521 + [1657780154.151069][2728:2733] CHIP:TOO: FabricId: 3 + [1657780154.151096][2728:2733] CHIP:TOO: NodeId: 2 + [1657780154.151122][2728:2733] CHIP:TOO: Label: + [1657780154.151149][2728:2733] CHIP:TOO: FabricIndex: 2 + [1657780154.151176][2728:2733] CHIP:TOO: } + [1657780154.151277][2728:2733] CHIP:EM: Sending Standalone Ack for MessageCounter:218603951 on exchange 21910i + + + + + + ./chip-tool operationalcredentials update-fabric-label 1 1 0 --commissioner-name beta + [1657780486.902409][2687:2692] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1657780486.902474][2687:2692] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1657780486.902544][2687:2692] CHIP:TOO: NOCResponse: { + [1657780486.902612][2687:2692] CHIP:TOO: statusCode: 0 + [1657780486.902649][2687:2692] CHIP:TOO: fabricIndex: 1 + [1657780486.902684][2687:2692] CHIP:TOO: } + [1657780486.902736][2687:2692] CHIP:DMG: ICR moving to [AwaitingDe] + [1657780486.902804][2687:2692] CHIP:EM: Sending Standalone Ack for MessageCounter:243850872 on exchange 45753i + + + ./chip-tool operationalcredentials update-fabric-label 2 2 0 --commissioner-name beta + [1657780486.902409][2687:2692] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1657780486.902474][2687:2692] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1657780486.902544][2687:2692] CHIP:TOO: NOCResponse: { + [1657780486.902612][2687:2692] CHIP:TOO: statusCode: 0 + [1657780486.902649][2687:2692] CHIP:TOO: fabricIndex: 2 + [1657780486.902684][2687:2692] CHIP:TOO: } + [1657780486.902736][2687:2692] CHIP:DMG: ICR moving to [AwaitingDe] + [1657780486.902804][2687:2692] CHIP:EM: Sending Standalone Ack for MessageCounter:243850872 on exchange 45753i + + + + ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0 --commissioner-name beta + [1657780552.471227][2696:2701] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 1307873920 + [1657780552.471361][2696:2701] CHIP:TOO: Fabrics: 2 entries + [1657780552.471450][2696:2701] CHIP:TOO: [1]: { + [1657780552.471503][2696:2701] CHIP:TOO: RootPublicKey: 04100A4370AD71A180C267C29E364FC595A24A0D3CC2EC1A0595B2319E8E65D0BC1C7B62EBB0D91F7207CE306A094EAD0084A8A9359FC568D1279BDD275701F0ED + [1657780552.471566][2696:2701] CHIP:TOO: VendorId: 65521 + [1657780552.471605][2696:2701] CHIP:TOO: FabricId: 2 + [1657780552.471642][2696:2701] CHIP:TOO: NodeId: 1 + [1657780552.471679][2696:2701] CHIP:TOO: Label: 2 + [1657780552.471715][2696:2701] CHIP:TOO: FabricIndex: 1 + [1657780552.471752][2696:2701] CHIP:TOO: } + [1657780552.471805][2696:2701] CHIP:TOO: [2]: { + [1657780552.471850][2696:2701] CHIP:TOO: RootPublicKey: 04BC41C77289C6CCE2752CA88DFE1C1A0EB3742B31A32D32C7185CAE22CC0665889702E82706F952524618EFC34A5462A08B793C5AC3C5B45E55598AD362975FFC + [1657780552.471891][2696:2701] CHIP:TOO: VendorId: 65521 + [1657780552.471928][2696:2701] CHIP:TOO: FabricId: 3 + [1657780552.471965][2696:2701] CHIP:TOO: NodeId: 2 + [1657780552.472001][2696:2701] CHIP:TOO: Label: + [1657780552.472037][2696:2701] CHIP:TOO: FabricIndex: 2 + [1657780552.472073][2696:2701] CHIP:TOO: } + [1657780552.472199][2696:2701] CHIP:EM: Sending Standalone Ack for MessageCounter:2814032 on exchange 31449i + + + ./chip-tool operationalcredentials update-fabric-label 1 2 0 --commissioner-name gamma + [1657780809.365523][2771:2776] CHIP:DMG: }, + [1657780809.365603][2771:2776] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1657780809.365661][2771:2776] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1657780809.365727][2771:2776] CHIP:TOO: NOCResponse: { + [1657780809.365787][2771:2776] CHIP:TOO: statusCode: 0 + [1657780809.365822][2771:2776] CHIP:TOO: fabricIndex: 2 + [1657780809.365853][2771:2776] CHIP:TOO: } + [1657780809.365902][2771:2776] CHIP:DMG: ICR moving to [AwaitingDe] + [1657780809.365966][2771:2776] CHIP:EM: Sending Standalone Ack for MessageCounter:102825987 on exchange 28163i + + + ./chip-tool operationalcredentials read fabrics 2 0 --fabric-filtered 0 --commissioner-name gamma + [1657780904.261593][2741:2746] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 1307873922 + [1657780904.261701][2741:2746] CHIP:TOO: Fabrics: 2 entries + [1657780904.261761][2741:2746] CHIP:TOO: [1]: { + [1657780904.261797][2741:2746] CHIP:TOO: RootPublicKey: 04100A4370AD71A180C267C29E364FC595A24A0D3CC2EC1A0595B2319E8E65D0BC1C7B62EBB0D91F7207CE306A094EAD0084A8A9359FC568D1279BDD275701F0ED + [1657780904.261840][2741:2746] CHIP:TOO: VendorId: 65521 + [1657780904.261865][2741:2746] CHIP:TOO: FabricId: 2 + [1657780904.261889][2741:2746] CHIP:TOO: NodeId: 1 + [1657780904.261913][2741:2746] CHIP:TOO: Label: 2 + [1657780904.261937][2741:2746] CHIP:TOO: FabricIndex: 1 + [1657780904.261960][2741:2746] CHIP:TOO: } + [1657780904.261994][2741:2746] CHIP:TOO: [2]: { + [1657780904.262023][2741:2746] CHIP:TOO: RootPublicKey: 04BC41C77289C6CCE2752CA88DFE1C1A0EB3742B31A32D32C7185CAE22CC0665889702E82706F952524618EFC34A5462A08B793C5AC3C5B45E55598AD362975FFC + [1657780904.262049][2741:2746] CHIP:TOO: VendorId: 65521 + [1657780904.262073][2741:2746] CHIP:TOO: FabricId: 3 + [1657780904.262096][2741:2746] CHIP:TOO: NodeId: 2 + [1657780904.262119][2741:2746] CHIP:TOO: Label: 1 + [1657780904.262141][2741:2746] CHIP:TOO: FabricIndex: 2 + [1657780904.262164][2741:2746] CHIP:TOO: } + [1657780904.262252][2741:2746] CHIP:EM: Sending Standalone Ack for MessageCounter:203207506 on exchange 27504i disabled: true - label: @@ -59,7 +330,7 @@ tests: whose value is a list of structs which contain some fabric-sensitive data. Modify attribute1 on the DUT." verification: | - Verify that the DUT sends a response to RC1 and RC2 with the modified attribute values. Verify that the response to RC1 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. Verify that the response to RC2 does not contain fabric sensitive data belonging to the other fabric. The fabric sensitive fields in the entries belonging to the other fabric should either be null or contain default values. + disabled: true - label: @@ -68,7 +339,7 @@ tests: same Event1 which is fabric sensitive. Trigger Event1 on DUT on the fabric where RC1 is present." verification: | - Verify that the DUT sends a response to RC1 and not RC2. + disabled: true - label: @@ -76,7 +347,7 @@ tests: path where an event in the path is fabric-sensitive and the associated fabric does not match the accessing fabric." verification: | - Verify that the DUT sends a Report Data Message with no entry for that event in EventReports list. + disabled: true - label: @@ -84,5 +355,5 @@ tests: where an event in the path is fabric-sensitive and the associated fabric does not match the accessing fabric." verification: | - Verify that the DUT sends a Report Data Message with no entry for that event in EventReports list. + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml index e514db944cae6a..9d49bf8beaf9f1 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 70.2.2. [TC-ILL-2.2] Primary functionality with server as DUT +name: 71.2.2. [TC-ILL-2.2] Primary Functionality with Server as DUT config: nodeId: 0x12344321 @@ -21,17 +21,21 @@ config: endpoint: 0 tests: - - label: "Commission DUT to TH" + - label: + "Commission DUT to TH (can be skipped if done in a preceding test)." verification: | disabled: true - label: - "Test Harness Client reads MinMeasuredValue and MaxMeasuredValue from - Server DUT" + "Test Harness Client reads MinMeasuredValue attribute and + MaxMeasuredValue attribute from DUT." PICS: ILL.S.A0001 && ILL.S.A0002 verification: | - ./chip-tool illuminancemeasurement read min-measured-value 1 1 + Verify in TH Log + + + ./chip-tool illuminancemeasurement read min-measured-value 1 1 [1650881571.375482][2777:2782] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0001 DataVersion: 1034665079 [1650881571.375596][2777:2782] CHIP:TOO: MinMeasuredValue: 1 @@ -47,7 +51,7 @@ tests: currently we can't do this test-step in chip-tool disabled: true - - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" + - label: "After a few seconds, TH reads MeasuredValue attribute from DUT." PICS: ILL.S.A0000 verification: | ./chip-tool illuminancemeasurement read measured-value 1 1 @@ -58,7 +62,7 @@ tests: currently we can't do this test-step in chip-tool disabled: true - - label: "After a few seconds, TH reads MeasuredValue attribute from DUT" + - label: "After a few seconds, TH reads MeasuredValue attribute from DUT." PICS: ILL.S.A0000 verification: | ./chip-tool illuminancemeasurement read measured-value 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml b/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml index 666ea673a9aa6c..7ee4901867da50 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_3_1.yaml @@ -25,107 +25,50 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | - sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 - [1650881870.648217][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881870.648243][15089:15089] CHIP:DMG: { - [1650881870.648265][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881870.648292][15089:15089] CHIP:DMG: [ - [1650881870.648317][15089:15089] CHIP:DMG: AttributePathIB = - [1650881870.648349][15089:15089] CHIP:DMG: { - [1650881870.648378][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881870.648411][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881870.648443][15089:15089] CHIP:DMG: Attribute = 0x0000_0001, - [1650881870.648473][15089:15089] CHIP:DMG: } - [1650881870.648503][15089:15089] CHIP:DMG: - [1650881870.648530][15089:15089] CHIP:DMG: ], - [1650881870.648559][15089:15089] CHIP:DMG: - [1650881870.648586][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881870.648611][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881870.648635][15089:15089] CHIP:DMG: }, + verify on Reference app receives the right response for the data sent in the above commands + Verify in TH all-clusters-app log - sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1 - [1650881904.422393][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881904.422420][15089:15089] CHIP:DMG: { - [1650881904.422443][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881904.422469][15089:15089] CHIP:DMG: [ - [1650881904.422494][15089:15089] CHIP:DMG: AttributePathIB = - [1650881904.422529][15089:15089] CHIP:DMG: { - [1650881904.422557][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881904.422590][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881904.422622][15089:15089] CHIP:DMG: Attribute = 0x0000_0002, - [1650881904.422651][15089:15089] CHIP:DMG: } - [1650881904.422681][15089:15089] CHIP:DMG: - [1650881904.422708][15089:15089] CHIP:DMG: ], - [1650881904.422737][15089:15089] CHIP:DMG: - [1650881904.422765][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881904.422790][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881904.422814][15089:15089] CHIP:DMG: }, + sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 + [1657175568.648126][4333:4338] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0001 DataVersion: 891386989 + [1657175568.648195][4333:4338] CHIP:TOO: MinMeasuredValue: 1 + [1657175568.648282][4333:4338] CHIP:EM: Sending Standalone Ack for MessageCounter:69575282 on exchange 26638i + sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1 + [1657175591.550983][4340:4345] CHIP:DMG: } + [1657175591.551117][4340:4345] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0002 DataVersion: 891386989 + [1657175591.551181][4340:4345] CHIP:TOO: MaxMeasuredValue: 65534 + [1657175591.551268][4340:4345] CHIP:EM: Sending Standalone Ack for MessageCounter:169065797 on exchange 26197i sudo ./chip-tool illuminancemeasurement read measured-value 1 1 - [1650881935.486624][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881935.486650][15089:15089] CHIP:DMG: { - [1650881935.486673][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881935.486700][15089:15089] CHIP:DMG: [ - [1650881935.486725][15089:15089] CHIP:DMG: AttributePathIB = - [1650881935.486760][15089:15089] CHIP:DMG: { - [1650881935.486792][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881935.486831][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881935.486864][15089:15089] CHIP:DMG: Attribute = 0x0000_0000, - [1650881935.486898][15089:15089] CHIP:DMG: } - [1650881935.486927][15089:15089] CHIP:DMG: - [1650881935.486955][15089:15089] CHIP:DMG: ], - [1650881935.486985][15089:15089] CHIP:DMG: - [1650881935.487012][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881935.487038][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881935.487063][15089:15089] CHIP:DMG: }, + [1657175536.880440][4326:4331] CHIP:DMG: } + [1657175536.880678][4326:4331] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0000 DataVersion: 891386989 + [1657175536.883792][4326:4331] CHIP:TOO: MeasuredValue: 0 + [1657175536.883934][4326:4331] CHIP:EM: Sending Standalone Ack for MessageCounter:262171904 on exchange 9006i disabled: true - label: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - sudo ./chip-tool illuminancemeasurement read tolerance 1 1 - - [1650881967.161929][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881967.161956][15089:15089] CHIP:DMG: { - [1650881967.161979][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881967.162005][15089:15089] CHIP:DMG: [ - [1650881967.162030][15089:15089] CHIP:DMG: AttributePathIB = - [1650881967.162065][15089:15089] CHIP:DMG: { - [1650881967.162094][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881967.162127][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881967.162159][15089:15089] CHIP:DMG: Attribute = 0x0000_0003, - [1650881967.162187][15089:15089] CHIP:DMG: } - [1650881967.162216][15089:15089] CHIP:DMG: - [1650881967.162243][15089:15089] CHIP:DMG: ], - [1650881967.162272][15089:15089] CHIP:DMG: - [1650881967.162299][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881967.162324][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881967.162348][15089:15089] CHIP:DMG: }, + verify on Reference app receives the right response for the data sent in the above commands + + Verify in TH all-clusters-app log + + ./chip-tool illuminancemeasurement read tolerance 1 1 + [1657175695.088331][4349:4354] CHIP:DMG: } + [1657175695.088479][4349:4354] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0003 DataVersion: 891386989 + [1657175695.088540][4349:4354] CHIP:TOO: Tolerance: 0 + [1657175695.088624][4349:4354] CHIP:EM: Sending Standalone Ack for MessageCounter:263371247 on exchange 59872i + ./chip-tool illuminancemeasurement read light-sensor-type 1 1 + [1657175720.644987][4357:4362] CHIP:DMG: } + [1657175720.645166][4357:4362] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0004 DataVersion: 891386989 + [1657175720.645232][4357:4362] CHIP:TOO: LightSensorType: null + [1657175720.645342][4357:4362] CHIP:EM: Sending Standalone Ack for MessageCounter:146392428 on exchange 31713i - [1654746690.817524][2398:2398] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:101071918 on exchange 33460r - [1654746690.817593][2398:2398] CHIP:EM: Handling via exchange: 33460r, Delegate: 0xaaaae03b3458 - [1654746690.817663][2398:2398] CHIP:IM: Received Read request - [1654746690.817746][2398:2398] CHIP:DMG: ReadRequestMessage = - [1654746690.817794][2398:2398] CHIP:DMG: { - [1654746690.817835][2398:2398] CHIP:DMG: AttributePathIBs = - [1654746690.817883][2398:2398] CHIP:DMG: [ - [1654746690.817927][2398:2398] CHIP:DMG: AttributePathIB = - [1654746690.817987][2398:2398] CHIP:DMG: { - [1654746690.818040][2398:2398] CHIP:DMG: Endpoint = 0x1, - [1654746690.818097][2398:2398] CHIP:DMG: Cluster = 0x400, - [1654746690.818155][2398:2398] CHIP:DMG: Attribute = 0x0000_0004, - [1654746690.818210][2398:2398] CHIP:DMG: } - [1654746690.818262][2398:2398] CHIP:DMG: - [1654746690.818309][2398:2398] CHIP:DMG: ], - [1654746690.818360][2398:2398] CHIP:DMG: - [1654746690.818409][2398:2398] CHIP:DMG: isFabricFiltered = true, - [1654746690.818455][2398:2398] CHIP:DMG: InteractionModelRevision = 1 - [1654746690.818498][2398:2398] CHIP:DMG: }, + as per Spec, when we read LightSensorType attribute we can get null value as default disabled: true - label: @@ -148,6 +91,10 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | + verify on Reference app receives the right response for the data sent in the above commands + + Verify in TH all-clusters-app log + ./chip-tool illuminancemeasurement read attribute-list 1 1 [1654244881165] [91524:4000266] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_FFFB DataVersion: 3952837688 [1654244881165] [91524:4000266] CHIP: [TOO] AttributeList: 8 entries @@ -160,68 +107,30 @@ tests: [1654244881165] [91524:4000266] CHIP: [TOO] [7]: 65532 [1654244881165] [91524:4000266] CHIP: [TOO] [8]: 65533 - "sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 - [1650881870.648217][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881870.648243][15089:15089] CHIP:DMG: { - [1650881870.648265][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881870.648292][15089:15089] CHIP:DMG: [ - [1650881870.648317][15089:15089] CHIP:DMG: AttributePathIB = - [1650881870.648349][15089:15089] CHIP:DMG: { - [1650881870.648378][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881870.648411][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881870.648443][15089:15089] CHIP:DMG: Attribute = 0x0000_0001, - [1650881870.648473][15089:15089] CHIP:DMG: } - [1650881870.648503][15089:15089] CHIP:DMG: - [1650881870.648530][15089:15089] CHIP:DMG: ], - [1650881870.648559][15089:15089] CHIP:DMG: - [1650881870.648586][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881870.648611][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881870.648635][15089:15089] CHIP:DMG: }, - + sudo ./chip-tool illuminancemeasurement read min-measured-value 1 1 + [1657175568.648126][4333:4338] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0001 DataVersion: 891386989 + [1657175568.648195][4333:4338] CHIP:TOO: MinMeasuredValue: 1 + [1657175568.648282][4333:4338] CHIP:EM: Sending Standalone Ack for MessageCounter:69575282 on exchange 26638i sudo ./chip-tool illuminancemeasurement read max-measured-value 1 1 - [1650881904.422393][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881904.422420][15089:15089] CHIP:DMG: { - [1650881904.422443][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881904.422469][15089:15089] CHIP:DMG: [ - [1650881904.422494][15089:15089] CHIP:DMG: AttributePathIB = - [1650881904.422529][15089:15089] CHIP:DMG: { - [1650881904.422557][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881904.422590][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881904.422622][15089:15089] CHIP:DMG: Attribute = 0x0000_0002, - [1650881904.422651][15089:15089] CHIP:DMG: } - [1650881904.422681][15089:15089] CHIP:DMG: - [1650881904.422708][15089:15089] CHIP:DMG: ], - [1650881904.422737][15089:15089] CHIP:DMG: - [1650881904.422765][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881904.422790][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881904.422814][15089:15089] CHIP:DMG: }, - + [1657175591.550983][4340:4345] CHIP:DMG: } + [1657175591.551117][4340:4345] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0002 DataVersion: 891386989 + [1657175591.551181][4340:4345] CHIP:TOO: MaxMeasuredValue: 65534 + [1657175591.551268][4340:4345] CHIP:EM: Sending Standalone Ack for MessageCounter:169065797 on exchange 26197i sudo ./chip-tool illuminancemeasurement read measured-value 1 1 - [1650881935.486624][15089:15089] CHIP:DMG: ReadRequestMessage = - [1650881935.486650][15089:15089] CHIP:DMG: { - [1650881935.486673][15089:15089] CHIP:DMG: AttributePathIBs = - [1650881935.486700][15089:15089] CHIP:DMG: [ - [1650881935.486725][15089:15089] CHIP:DMG: AttributePathIB = - [1650881935.486760][15089:15089] CHIP:DMG: { - [1650881935.486792][15089:15089] CHIP:DMG: Endpoint = 0x1, - [1650881935.486831][15089:15089] CHIP:DMG: Cluster = 0x400, - [1650881935.486864][15089:15089] CHIP:DMG: Attribute = 0x0000_0000, - [1650881935.486898][15089:15089] CHIP:DMG: } - [1650881935.486927][15089:15089] CHIP:DMG: - [1650881935.486955][15089:15089] CHIP:DMG: ], - [1650881935.486985][15089:15089] CHIP:DMG: - [1650881935.487012][15089:15089] CHIP:DMG: isFabricFiltered = true, - [1650881935.487038][15089:15089] CHIP:DMG: InteractionModelRevision = 1 - [1650881935.487063][15089:15089] CHIP:DMG: }," + [1657175536.880440][4326:4331] CHIP:DMG: } + [1657175536.880678][4326:4331] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_0000 DataVersion: 891386989 + [1657175536.883792][4326:4331] CHIP:TOO: MeasuredValue: 0 + [1657175536.883934][4326:4331] CHIP:EM: Sending Standalone Ack for MessageCounter:262171904 on exchange 9006i" disabled: true - label: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - ./chip-tool illuminancemeasurement read tolerance 1 1 + Verify in TH all-clusters-app log + ./chip-tool illuminancemeasurement read tolerance 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) ./chip-tool illuminancemeasurement read light-sensor-type 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_I_3_1.yaml b/src/app/tests/suites/certification/Test_TC_I_3_1.yaml index e1c91f79f51c9a..6f7373b461ca3e 100644 --- a/src/app/tests/suites/certification/Test_TC_I_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 58.3.1. [TC-I-3.1] Attributes with Client as DUT +name: 59.3.1. [TC-I-3.1] Attributes with Client as DUT config: nodeId: 0x12344321 @@ -25,6 +25,10 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + + Verify in TH all-clusters-app log + ./chip-tool identify read identify-time 1 1 [1648015371.159715][2506:2506] CHIP:IM: Received Read request @@ -76,6 +80,10 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + + Verify in TH all-clusters-app log + On TestHarnes (all-cluster-app) a received write request looks like this (f.e identify-time (id 0) value 60): ./chip-tool identify write identify-time 1 1 1 [1646012277.591912][33190:33190] CHIP:IM: Received Write request @@ -119,6 +127,10 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | + verify on Reference app receives the right response for the data sent in the above commands + + Verify in TH all-clusters-app log + ./chip-tool identify read attribute-list 1 1 [1654242827039] [91286:3990827] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFB DataVersion: 2002457420 @@ -131,6 +143,13 @@ tests: [1654242827040] [91286:3990827] CHIP: [TOO] [6]: 65532 [1654242827040] [91286:3990827] CHIP: [TOO] [7]: 65533 + ./chip-tool identify read feature-map 1 1 + + [1656477452568] [49420:5728891] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFC DataVersion: 2109194160 + [1656477452569] [49420:5728891] CHIP: [TOO] FeatureMap: 0 + + + "./chip-tool identify read identify-time 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_I_3_2.yaml b/src/app/tests/suites/certification/Test_TC_I_3_2.yaml index d1cd451bcf39b4..d54b8da50e3b4a 100644 --- a/src/app/tests/suites/certification/Test_TC_I_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 58.3.2. [TC-I-3.2] Functionality with Client as DUT +name: 59.3.2. [TC-I-3.2] Functionality with Client as DUT config: nodeId: 0x12344321 @@ -28,6 +28,8 @@ tests: PICS: I.C.C00.Tx verification: | On TestHarnes (all-cluster-app) a received Identify command with f.e. 60 as IdentifyTime looks like this: + Verify in TH all-clusters-app log + ./chip-tool identify identify 60 1 1 [1646010972.583498][33190:33190] CHIP:EM: Handling via exchange: 60250r, Delegate: 0xaaaace1730c8 [1646010972.583578][33190:33190] CHIP:DMG: InvokeRequestMessage = @@ -62,7 +64,7 @@ tests: - label: "DUT issues an IdentifyQuery command to the Test Harness. Note: - IdentifyQuery is not supported by Matter" + IdentifyQuery is not supported by Matter." PICS: I.C.C01.Tx verification: | IdentifyQuery is not supported by Matter @@ -74,6 +76,9 @@ tests: PICS: I.C.C00.Tx verification: | On TestHarnes (all-cluster-app) a received Identify command with an IdentifyTime of 0 looks like this: + + Verify in TH all-clusters-app log + ./chip-tool identify identify 0 1 1 [1646011311.206353][33190:33190] CHIP:EM: Handling via exchange: 12024r, Delegate: 0xaaaace1730c8 [1646011311.206436][33190:33190] CHIP:DMG: InvokeRequestMessage = @@ -109,10 +114,13 @@ tests: - label: "DUT sends a TriggerEffect command to the Test Harness, with any - supported EffectIdentifier argument and EffectVariant set to 0 ." + supported EffectIdentifier argument and EffectVariant set to 0." PICS: I.C.C40.Tx verification: | On TestHarnes (all-cluster-app) a received Identify command with f.e. 1 as EffectIdentifier looks like this: + + Verify in TH all-clusters-app log + ./chip-tool identify trigger-effect 0 0 1 1 [1646011549.034604][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:3605482 on exchange 36067r [1646011549.034646][33190:33190] CHIP:EM: Handling via exchange: 36067r, Delegate: 0xaaaace1730c8 diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml index 692fe3177e1217..20b2c0eee07a59 100644 --- a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml @@ -28,6 +28,8 @@ tests: - label: "TH reads from the DUT the (0xFFFD) ClusterRevision attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read cluster-revision 1 0 @@ -41,6 +43,8 @@ tests: - label: "TH reads from the DUT the (0xFFFC) FeatureMap attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read feature-map 1 0 @@ -51,6 +55,8 @@ tests: - label: "TH reads from the DUT the (0xFFFB) AttributeList attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read attribute-list 1 0 [1653462309.061114][29477:29482] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFB DataVersion: 2352052086 @@ -72,6 +78,8 @@ tests: - label: "TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read accepted-command-list 1 0 @@ -85,6 +93,8 @@ tests: - label: "TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read generated-command-list 1 0 diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml index 94c05aca8a8a68..12baf83eeb97db 100644 --- a/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LCFG_2_1.yaml @@ -26,6 +26,8 @@ tests: - label: "TH reads SupportedLocales attribute from DUT" PICS: LCFG.S.A0001 verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read supported-locales 1 0 [1651129546.170573][174082:174087] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_0002 DataVersion: 3111654481 @@ -42,14 +44,18 @@ tests: - label: 'TH writes "xx-XX" to SupportedLocales attribute' verification: | - ./chip-tool any write-by-id 0x002B 1 xx-XX 1 0 - [1653996674.832226][7281:7286] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1653996674.832300][7281:7286] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) - [1653996674.832411][7281:7286] CHIP:EM: Sending Standalone Ack for MessageCounter:12567655 on exchange 10797i + Verify in TH Log + + ./chip-tool any write-by-id 0x002B 1 xx-XX 1 0 + [1653996674.832226][7281:7286] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1653996674.832300][7281:7286] CHIP:TOO: Response Failure: IM Error 0x00000588: General error: 0x88 (UNSUPPORTED_WRITE) + [1653996674.832411][7281:7286] CHIP:EM: Sending Standalone Ack for MessageCounter:12567655 on exchange 10797i disabled: true - label: "TH reads SupportedLocales attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read supported-locales 1 0 [1645772065.848431][3762:3767] CHIP:TOO: SupportedLocales: 8 entries [1645772065.850249][3762:3767] CHIP:TOO: [1]: en-US @@ -66,6 +72,8 @@ tests: - label: "TH reads ActiveLocale Attribute from the DUT" PICS: LCFG.S.A0000 verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read active-locale 1 0 @@ -80,6 +88,8 @@ tests: "TH writes new string not present in SupportedLocale attribute to ActiveLocale Attribute." verification: | + Verify in TH Log + ./chip-tool localizationconfiguration write active-locale fw-GB 1 0 @@ -116,6 +126,8 @@ tests: "TH writes new string present in SupportedLocale attribute to ActiveLocale Attribute" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration write active-locale fr-FR 1 0 [1651035259.959116][2776:2781] CHIP:DMG: StatusIB = @@ -134,6 +146,8 @@ tests: - label: "TH Reads ActiveLocale" verification: | + Verify in TH Log + ./chip-tool localizationconfiguration read active-locale 1 0 [1645772597.252904][3816:3821] CHIP:DMG: diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_3_1.yaml index 32bd74b78906d3..5c4179cc230481 100644 --- a/src/app/tests/suites/certification/Test_TC_LCFG_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LCFG_3_1.yaml @@ -27,26 +27,18 @@ tests: PICS: LCFG.C.A0001 verification: | ./chip-tool localizationconfiguration read supported-locales 1 0 + verify on Reference app receives the right response for the data sent in the above commands - [1651227647.876273][2825:2825] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:15793025 on exchange 646r - [1651227647.876333][2825:2825] CHIP:EM: Handling via exchange: 646r, Delegate: 0xaaaae659a088 - [1651227647.876468][2825:2825] CHIP:IM: Received Read request - [1651227647.876540][2825:2825] CHIP:DMG: ReadRequestMessage = - [1651227647.876583][2825:2825] CHIP:DMG: { - [1651227647.876617][2825:2825] CHIP:DMG: AttributePathIBs = - [1651227647.876660][2825:2825] CHIP:DMG: [ - [1651227647.876699][2825:2825] CHIP:DMG: AttributePathIB = - [1651227647.876754][2825:2825] CHIP:DMG: { - [1651227647.876801][2825:2825] CHIP:DMG: Endpoint = 0x0, - [1651227647.876854][2825:2825] CHIP:DMG: Cluster = 0x2b, - [1651227647.876906][2825:2825] CHIP:DMG: Attribute = 0x0000_0002, - [1651227647.876954][2825:2825] CHIP:DMG: } - [1651227647.877002][2825:2825] CHIP:DMG: - [1651227647.877046][2825:2825] CHIP:DMG: ], - [1651227647.877091][2825:2825] CHIP:DMG: - [1651227647.877134][2825:2825] CHIP:DMG: isFabricFiltered = true, - [1651227647.877175][2825:2825] CHIP:DMG: InteractionModelRevision = 1 - [1651227647.877214][2825:2825] CHIP:DMG: }, + [1657111931.771994][5357:5363] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_0001 DataVersion: 3168433155 + [1657111931.772105][5357:5363] CHIP:TOO: SupportedLocales: 8 entries + [1657111931.772175][5357:5363] CHIP:TOO: [1]: en-US + [1657111931.772220][5357:5363] CHIP:TOO: [2]: de-DE + [1657111931.772262][5357:5363] CHIP:TOO: [3]: fr-FR + [1657111931.772303][5357:5363] CHIP:TOO: [4]: en-GB + [1657111931.772344][5357:5363] CHIP:TOO: [5]: es-ES + [1657111931.772385][5357:5363] CHIP:TOO: [6]: zh-CN + [1657111931.772426][5357:5363] CHIP:TOO: [7]: it-IT + [1657111931.772466][5357:5363] CHIP:TOO: [8]: ja-JP disabled: true - label: "DUT reads ActiveLocale attribute from the TH" @@ -54,32 +46,8 @@ tests: verification: | ./chip-tool localizationconfiguration read active-locale 1 0 - [1651564394.279517][8392:8397] CHIP:DMG: ReportDataMessage = - [1651564394.279566][8392:8397] CHIP:DMG: { - [1651564394.279606][8392:8397] CHIP:DMG: AttributeReportIBs = - [1651564394.279662][8392:8397] CHIP:DMG: [ - [1651564394.279706][8392:8397] CHIP:DMG: AttributeReportIB = - [1651564394.279771][8392:8397] CHIP:DMG: { - [1651564394.279821][8392:8397] CHIP:DMG: AttributeDataIB = - [1651564394.279884][8392:8397] CHIP:DMG: { - [1651564394.279944][8392:8397] CHIP:DMG: DataVersion = 0x66e5e842, - [1651564394.280008][8392:8397] CHIP:DMG: AttributePathIB = - [1651564394.280069][8392:8397] CHIP:DMG: { - [1651564394.280176][8392:8397] CHIP:DMG: Endpoint = 0x0, - [1651564394.280245][8392:8397] CHIP:DMG: Cluster = 0x2b, - [1651564394.280314][8392:8397] CHIP:DMG: Attribute = 0x0000_0001, - [1651564394.280376][8392:8397] CHIP:DMG: } - [1651564394.280440][8392:8397] CHIP:DMG: - [1651564394.280509][8392:8397] CHIP:DMG: Data = "en-US", - [1651564394.280574][8392:8397] CHIP:DMG: }, - [1651564394.280641][8392:8397] CHIP:DMG: - [1651564394.280691][8392:8397] CHIP:DMG: }, - [1651564394.280750][8392:8397] CHIP:DMG: - [1651564394.280797][8392:8397] CHIP:DMG: ], - [1651564394.280853][8392:8397] CHIP:DMG: - [1651564394.280898][8392:8397] CHIP:DMG: SuppressResponse = true, - [1651564394.280944][8392:8397] CHIP:DMG: InteractionModelRevision = 1 - [1651564394.280986][8392:8397] CHIP:DMG: } + verify on Reference app receives the right response for the data sent in the above commands + [1651564394.281211][8392:8397] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_0001 DataVersion: 1726343234 [1651564394.281289][8392:8397] CHIP:TOO: ActiveLocale: en-US disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml index df644fa0e4fb30..89ef7500f882a3 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_1.yaml @@ -23,6 +23,8 @@ config: tests: - label: "DUT reads from the TH the (0xFFFD) ClusterRevision attribute" verification: | + Verify in TH all-clusters-app + ./chip-tool timeformatlocalization read cluster-revision 1 0 [1651185991606] [10988:109915] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3316530441 @@ -31,6 +33,8 @@ tests: - label: "DUT reads from the TH the (0xFFFC) FeatureMap attribute" verification: | + Verify in TH all-clusters-app + ./chip-tool timeformatlocalization read feature-map 1 0 [1653379129.497852][7509:7514] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFC DataVersion: 724978222 [1653379129.497936][7509:7514] CHIP:TOO: FeatureMap: 0 @@ -38,6 +42,8 @@ tests: - label: "DUT reads from the TH the (0xFFFB) AttributeList attribute" verification: | + Verify in TH all-clusters-app + ./chip-tool timeformatlocalization read attribute-list 1 0 [1653999139.214139][7477:7482] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFB DataVersion: 3201720795 [1653999139.214208][7477:7482] CHIP:TOO: AttributeList: 8 entries @@ -59,6 +65,8 @@ tests: - label: "DUT reads from the TH the (0xFFF9) AcceptedCommandList attribute" verification: | + Verify in TH all-clusters-app + ./chip-tool timeformatlocalization read accepted-command-list 1 0 [1651186189564] [11076:112595] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF9 DataVersion: 3316530441 [1651186189564] [11076:112595] CHIP: [TOO] AcceptedCommandList: 0 entries @@ -66,6 +74,8 @@ tests: - label: "DUT reads from the TH the (0xFFF8) GeneratedCommandList attribute" verification: | + Verify in TH all-clusters-app + ./chip-tool timeformatlocalization read generated-command-list 1 0 [1651191789962] [13591:180646] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF8 DataVersion: 3316530441 [1651191789963] [13591:180646] CHIP: [TOO] GeneratedCommandList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml index 08d2e589bd186d..f51f52db956c96 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 109.1.2. [TC-LTIME-1.2] Global Attributes [DUT as Server] +name: 4.1.2. [TC-LTIME-1.2] Global Attributes [DUT as Server] config: nodeId: 0x12344321 @@ -21,8 +21,15 @@ config: endpoint: 0 tests: + - label: "Commission TH to DUT" + verification: | + + disabled: true + - label: "TH reads from the DUT the (0xFFFD) ClusterRevision attribute" verification: | + Verify in TH log: + ./chip-tool timeformatlocalization read cluster-revision 1 0 [1651185991606] [10988:109915] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 3316530441 @@ -31,6 +38,8 @@ tests: - label: "TH reads from the DUT the (0xFFFC) FeatureMap attribute" verification: | + Verify in TH log: + ./chip-tool timeformatlocalization read feature-map 1 0 [1653400472.682259][11385:11390] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFC DataVersion: 4156010624 @@ -40,16 +49,20 @@ tests: - label: "TH reads from the DUT the (0xFFFB) AttributeList attribute" verification: | + Verify in TH log: + ./chip-tool timeformatlocalization read attribute-list 1 0 - [1651186148313] [11054:111653] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFB DataVersion: 3316530441 - [1651186148314] [11054:111653] CHIP: [TOO] AttributeList: 7 entries - [1651186148314] [11054:111653] CHIP: [TOO] [1]: 0 - [1651186148314] [11054:111653] CHIP: [TOO] [2]: 1 - [1651186148314] [11054:111653] CHIP: [TOO] [3]: 2 - [1651186148314] [11054:111653] CHIP: [TOO] [4]: 65528 - [1651186148314] [11054:111653] CHIP: [TOO] [5]: 65529 - [1651186148314] [11054:111653] CHIP: [TOO] [6]: 65531 - [1651186148314] [11054:111653] CHIP: [TOO] [7]: 65533 + [1653999139.214139][7477:7482] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFB DataVersion: 3201720795 + [1653999139.214208][7477:7482] CHIP:TOO: AttributeList: 8 entries + [1653999139.214241][7477:7482] CHIP:TOO: [1]: 0 + [1653999139.214267][7477:7482] CHIP:TOO: [2]: 1 + [1653999139.214293][7477:7482] CHIP:TOO: [3]: 2 + [1653999139.214320][7477:7482] CHIP:TOO: [4]: 65528 + [1653999139.214345][7477:7482] CHIP:TOO: [5]: 65529 + [1653999139.214371][7477:7482] CHIP:TOO: [6]: 65531 + [1653999139.214397][7477:7482] CHIP:TOO: [7]: 65532 + [1653999139.214422][7477:7482] CHIP:TOO: [8]: 65533 + [1653999139.214522][7477:7482] CHIP:EM: Sending Standalone Ack for MessageCounter:5643805 on exchange 4737i disabled: true - label: "TH reads from the DUT the (0xFFFA) EventList attribute" @@ -59,6 +72,8 @@ tests: - label: "TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute" verification: | + Verify in TH log: + ./chip-tool timeformatlocalization read accepted-command-list 1 0 [1651186189564] [11076:112595] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF9 DataVersion: 3316530441 [1651186189564] [11076:112595] CHIP: [TOO] AcceptedCommandList: 0 entries @@ -66,6 +81,8 @@ tests: - label: "TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute" verification: | + Verify in TH log: + ./chip-tool timeformatlocalization read generated-command-list 1 0 [1651191789962] [13591:180646] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFF8 DataVersion: 3316530441 [1651191789963] [13591:180646] CHIP: [TOO] GeneratedCommandList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml index 594085a6390cd0..9463ccca25630f 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_2_1.yaml @@ -26,108 +26,98 @@ tests: - label: "DUT reads HourFormat attribute from TH" PICS: LTIME.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read hour-format 1 0 - [1651194182.833570][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194182.833598][4306:4306] CHIP:DMG: { - [1651194182.833620][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194182.833654][4306:4306] CHIP:DMG: [ - [1651194182.833679][4306:4306] CHIP:DMG: AttributePathIB = - [1651194182.833704][4306:4306] CHIP:DMG: { - [1651194182.833736][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194182.833774][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194182.833806][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651194182.833837][4306:4306] CHIP:DMG: } - [1651194182.833869][4306:4306] CHIP:DMG: - [1651194182.833901][4306:4306] CHIP:DMG: ], - [1651194182.833929][4306:4306] CHIP:DMG: - [1651194182.833959][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194182.833985][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194182.834010][4306:4306] CHIP:DMG: }, + + [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152 + [1657106866.828763][4891:4896] CHIP:TOO: HourFormat: 0 disabled: true - label: "If (LTIME.C.A0000.12HR) DUT writes 0 to HourFormat attribute" PICS: LTIME.C.A0000.12HR verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write hour-format 0 1 0 - [1651192743.617047][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651192743.617082][4306:4306] CHIP:DMG: { - [1651192743.617114][4306:4306] CHIP:DMG: suppressResponse = false, - [1651192743.617149][4306:4306] CHIP:DMG: timedRequest = false, - [1651192743.617183][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651192743.617223][4306:4306] CHIP:DMG: [ - [1651192743.617256][4306:4306] CHIP:DMG: AttributeDataIB = - [1651192743.617304][4306:4306] CHIP:DMG: { - [1651192743.617342][4306:4306] CHIP:DMG: AttributePathIB = - [1651192743.617385][4306:4306] CHIP:DMG: { - [1651192743.617429][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651192743.617475][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651192743.617517][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651192743.617551][4306:4306] CHIP:DMG: } - [1651192743.617594][4306:4306] CHIP:DMG: - [1651192743.617639][4306:4306] CHIP:DMG: Data = 0, - [1651192743.617682][4306:4306] CHIP:DMG: }, - [1651192743.617722][4306:4306] CHIP:DMG: - [1651192743.617755][4306:4306] CHIP:DMG: ], - [1651192743.617795][4306:4306] CHIP:DMG: - [1651192743.617829][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651192743.617863][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651192743.617894][4306:4306] CHIP:DMG: }, + + [1657106893.878113][4897:4902] CHIP:DMG: WriteResponseMessage = + [1657106893.878138][4897:4902] CHIP:DMG: { + [1657106893.878161][4897:4902] CHIP:DMG: AttributeStatusIBs = + [1657106893.878213][4897:4902] CHIP:DMG: [ + [1657106893.878241][4897:4902] CHIP:DMG: AttributeStatusIB = + [1657106893.878277][4897:4902] CHIP:DMG: { + [1657106893.878306][4897:4902] CHIP:DMG: AttributePathIB = + [1657106893.878343][4897:4902] CHIP:DMG: { + [1657106893.878391][4897:4902] CHIP:DMG: Endpoint = 0x0, + [1657106893.878430][4897:4902] CHIP:DMG: Cluster = 0x2c, + [1657106893.878466][4897:4902] CHIP:DMG: Attribute = 0x0000_0000, + [1657106893.878501][4897:4902] CHIP:DMG: } + [1657106893.878537][4897:4902] CHIP:DMG: + [1657106893.878568][4897:4902] CHIP:DMG: StatusIB = + [1657106893.878599][4897:4902] CHIP:DMG: { + [1657106893.878630][4897:4902] CHIP:DMG: status = 0x00 (SUCCESS), + [1657106893.878661][4897:4902] CHIP:DMG: }, + [1657106893.878692][4897:4902] CHIP:DMG: + [1657106893.878717][4897:4902] CHIP:DMG: }, + [1657106893.878746][4897:4902] CHIP:DMG: + [1657106893.878769][4897:4902] CHIP:DMG: ], + [1657106893.878798][4897:4902] CHIP:DMG: + [1657106893.878822][4897:4902] CHIP:DMG: InteractionModelRevision = 1 + [1657106893.878844][4897:4902] CHIP:DMG: } + [1657106893.878914][4897:4902] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads HourFormat attribute" PICS: LTIME.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read hour-format 1 0 - [1651194182.833570][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194182.833598][4306:4306] CHIP:DMG: { - [1651194182.833620][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194182.833654][4306:4306] CHIP:DMG: [ - [1651194182.833679][4306:4306] CHIP:DMG: AttributePathIB = - [1651194182.833704][4306:4306] CHIP:DMG: { - [1651194182.833736][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194182.833774][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194182.833806][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651194182.833837][4306:4306] CHIP:DMG: } - [1651194182.833869][4306:4306] CHIP:DMG: - [1651194182.833901][4306:4306] CHIP:DMG: ], - [1651194182.833929][4306:4306] CHIP:DMG: - [1651194182.833959][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194182.833985][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194182.834010][4306:4306] CHIP:DMG: }, + + [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152 + [1657106866.828763][4891:4896] CHIP:TOO: HourFormat: 0 disabled: true - label: "If (LTIME.C.A0000.24HR) DUT writes 1 to HourFormat attribute" PICS: LTIME.C.A0000.24HR verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write hour-format 1 1 0 - [1651193043.068804][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651193043.068854][4306:4306] CHIP:DMG: { - [1651193043.068881][4306:4306] CHIP:DMG: suppressResponse = false, - [1651193043.068909][4306:4306] CHIP:DMG: timedRequest = false, - [1651193043.068934][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651193043.068964][4306:4306] CHIP:DMG: [ - [1651193043.068989][4306:4306] CHIP:DMG: AttributeDataIB = - [1651193043.069021][4306:4306] CHIP:DMG: { - [1651193043.069050][4306:4306] CHIP:DMG: AttributePathIB = - [1651193043.069087][4306:4306] CHIP:DMG: { - [1651193043.069124][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651193043.069163][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651193043.069200][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651193043.069231][4306:4306] CHIP:DMG: } - [1651193043.069264][4306:4306] CHIP:DMG: - [1651193043.069300][4306:4306] CHIP:DMG: Data = 1, - [1651193043.069335][4306:4306] CHIP:DMG: }, - [1651193043.069367][4306:4306] CHIP:DMG: - [1651193043.069391][4306:4306] CHIP:DMG: ], - [1651193043.069421][4306:4306] CHIP:DMG: - [1651193043.069447][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651193043.069472][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651193043.069495][4306:4306] CHIP:DMG: }, + + [1657106989.102102][4907:4912] CHIP:DMG: WriteResponseMessage = + [1657106989.102137][4907:4912] CHIP:DMG: { + [1657106989.102178][4907:4912] CHIP:DMG: AttributeStatusIBs = + [1657106989.102220][4907:4912] CHIP:DMG: [ + [1657106989.102263][4907:4912] CHIP:DMG: AttributeStatusIB = + [1657106989.102304][4907:4912] CHIP:DMG: { + [1657106989.102350][4907:4912] CHIP:DMG: AttributePathIB = + [1657106989.102450][4907:4912] CHIP:DMG: { + [1657106989.102494][4907:4912] CHIP:DMG: Endpoint = 0x0, + [1657106989.102554][4907:4912] CHIP:DMG: Cluster = 0x2c, + [1657106989.102611][4907:4912] CHIP:DMG: Attribute = 0x0000_0000, + [1657106989.102658][4907:4912] CHIP:DMG: } + [1657106989.102718][4907:4912] CHIP:DMG: + [1657106989.102768][4907:4912] CHIP:DMG: StatusIB = + [1657106989.102810][4907:4912] CHIP:DMG: { + [1657106989.102865][4907:4912] CHIP:DMG: status = 0x00 (SUCCESS), + [1657106989.102907][4907:4912] CHIP:DMG: }, + [1657106989.102960][4907:4912] CHIP:DMG: + [1657106989.103008][4907:4912] CHIP:DMG: }, + [1657106989.103049][4907:4912] CHIP:DMG: + [1657106989.103091][4907:4912] CHIP:DMG: ], + [1657106989.103132][4907:4912] CHIP:DMG: + [1657106989.103174][4907:4912] CHIP:DMG: InteractionModelRevision = 1 + [1657106989.103206][4907:4912] CHIP:DMG: } + [1657106989.103306][4907:4912] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads HourFormat attribute" PICS: LTIME.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read hour-format 1 0 [1654605170.332304][7266:7271] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3185003975 [1654605170.332388][7266:7271] CHIP:TOO: HourFormat: 1 @@ -137,45 +127,35 @@ tests: - label: "DUT reads ActiveCalendarType attribute from DUT" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194266.987675][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194266.987702][4306:4306] CHIP:DMG: { - [1651194266.987725][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194266.987752][4306:4306] CHIP:DMG: [ - [1651194266.987776][4306:4306] CHIP:DMG: AttributePathIB = - [1651194266.987831][4306:4306] CHIP:DMG: { - [1651194266.987863][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194266.987895][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194266.987927][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194266.987962][4306:4306] CHIP:DMG: } - [1651194266.987992][4306:4306] CHIP:DMG: - [1651194266.988025][4306:4306] CHIP:DMG: ], - [1651194266.988054][4306:4306] CHIP:DMG: - [1651194266.988082][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194266.988108][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194266.988131][4306:4306] CHIP:DMG: }, + + [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 + [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 0 disabled: true - label: "DUT reads SupportedCalendarTypes attribute from DUT" PICS: LTIME.C.A0002 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read supported-calendar-types 1 0 - [1651194334.847912][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194334.847958][4306:4306] CHIP:DMG: { - [1651194334.848009][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194334.848086][4306:4306] CHIP:DMG: [ - [1651194334.848133][4306:4306] CHIP:DMG: AttributePathIB = - [1651194334.848222][4306:4306] CHIP:DMG: { - [1651194334.848271][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194334.848325][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194334.848399][4306:4306] CHIP:DMG: Attribute = 0x0000_0002, - [1651194334.848460][4306:4306] CHIP:DMG: } - [1651194334.848504][4306:4306] CHIP:DMG: - [1651194334.848580][4306:4306] CHIP:DMG: ], - [1651194334.848646][4306:4306] CHIP:DMG: - [1651194334.848761][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194334.848897][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194334.848952][4306:4306] CHIP:DMG: }, + + [1657107056.982007][4924:4929] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 2232855154 + [1657107056.982095][4924:4929] CHIP:TOO: SupportedCalendarTypes: 12 entries + [1657107056.982148][4924:4929] CHIP:TOO: [1]: 0 + [1657107056.982181][4924:4929] CHIP:TOO: [2]: 1 + [1657107056.982211][4924:4929] CHIP:TOO: [3]: 2 + [1657107056.982241][4924:4929] CHIP:TOO: [4]: 3 + [1657107056.982270][4924:4929] CHIP:TOO: [5]: 4 + [1657107056.982299][4924:4929] CHIP:TOO: [6]: 5 + [1657107056.982329][4924:4929] CHIP:TOO: [7]: 6 + [1657107056.982358][4924:4929] CHIP:TOO: [8]: 8 + [1657107056.982402][4924:4929] CHIP:TOO: [9]: 9 + [1657107056.982434][4924:4929] CHIP:TOO: [10]: 10 + [1657107056.982464][4924:4929] CHIP:TOO: [11]: 11 + [1657107056.982494][4924:4929] CHIP:TOO: [12]: 7 disabled: true - label: @@ -183,53 +163,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 0 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 0, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107074.760869][4932:4937] CHIP:DMG: WriteResponseMessage = + [1657107074.760897][4932:4937] CHIP:DMG: { + [1657107074.760919][4932:4937] CHIP:DMG: AttributeStatusIBs = + [1657107074.760950][4932:4937] CHIP:DMG: [ + [1657107074.760975][4932:4937] CHIP:DMG: AttributeStatusIB = + [1657107074.761009][4932:4937] CHIP:DMG: { + [1657107074.761035][4932:4937] CHIP:DMG: AttributePathIB = + [1657107074.761068][4932:4937] CHIP:DMG: { + [1657107074.761102][4932:4937] CHIP:DMG: Endpoint = 0x0, + [1657107074.761137][4932:4937] CHIP:DMG: Cluster = 0x2c, + [1657107074.761171][4932:4937] CHIP:DMG: Attribute = 0x0000_0001, + [1657107074.761203][4932:4937] CHIP:DMG: } + [1657107074.761239][4932:4937] CHIP:DMG: + [1657107074.761270][4932:4937] CHIP:DMG: StatusIB = + [1657107074.761302][4932:4937] CHIP:DMG: { + [1657107074.761334][4932:4937] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107074.761366][4932:4937] CHIP:DMG: }, + [1657107074.761397][4932:4937] CHIP:DMG: + [1657107074.761422][4932:4937] CHIP:DMG: }, + [1657107074.761452][4932:4937] CHIP:DMG: + [1657107074.761475][4932:4937] CHIP:DMG: ], + [1657107074.761504][4932:4937] CHIP:DMG: + [1657107074.761528][4932:4937] CHIP:DMG: InteractionModelRevision = 1 + [1657107074.761551][4932:4937] CHIP:DMG: } + [1657107074.761621][4932:4937] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 + [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 0 disabled: true - label: @@ -237,53 +210,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 1 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 1, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107238.274764][4949:4954] CHIP:DMG: WriteResponseMessage = + [1657107238.274795][4949:4954] CHIP:DMG: { + [1657107238.274822][4949:4954] CHIP:DMG: AttributeStatusIBs = + [1657107238.274860][4949:4954] CHIP:DMG: [ + [1657107238.274890][4949:4954] CHIP:DMG: AttributeStatusIB = + [1657107238.274931][4949:4954] CHIP:DMG: { + [1657107238.274967][4949:4954] CHIP:DMG: AttributePathIB = + [1657107238.275007][4949:4954] CHIP:DMG: { + [1657107238.275046][4949:4954] CHIP:DMG: Endpoint = 0x0, + [1657107238.275087][4949:4954] CHIP:DMG: Cluster = 0x2c, + [1657107238.275128][4949:4954] CHIP:DMG: Attribute = 0x0000_0001, + [1657107238.275167][4949:4954] CHIP:DMG: } + [1657107238.275211][4949:4954] CHIP:DMG: + [1657107238.275248][4949:4954] CHIP:DMG: StatusIB = + [1657107238.275285][4949:4954] CHIP:DMG: { + [1657107238.275325][4949:4954] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107238.275363][4949:4954] CHIP:DMG: }, + [1657107238.275401][4949:4954] CHIP:DMG: + [1657107238.275435][4949:4954] CHIP:DMG: }, + [1657107238.275473][4949:4954] CHIP:DMG: + [1657107238.275503][4949:4954] CHIP:DMG: ], + [1657107238.275539][4949:4954] CHIP:DMG: + [1657107238.275568][4949:4954] CHIP:DMG: InteractionModelRevision = 1 + [1657107238.275597][4949:4954] CHIP:DMG: } + [1657107238.275676][4949:4954] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154 + [1657107039.005112][4917:4922] CHIP:TOO: ActiveCalendarType: 1 disabled: true - label: @@ -291,53 +257,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 2 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 2, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107378.279674][4960:4965] CHIP:DMG: WriteResponseMessage = + [1657107378.279720][4960:4965] CHIP:DMG: { + [1657107378.279751][4960:4965] CHIP:DMG: AttributeStatusIBs = + [1657107378.279803][4960:4965] CHIP:DMG: [ + [1657107378.279838][4960:4965] CHIP:DMG: AttributeStatusIB = + [1657107378.279885][4960:4965] CHIP:DMG: { + [1657107378.279921][4960:4965] CHIP:DMG: AttributePathIB = + [1657107378.279972][4960:4965] CHIP:DMG: { + [1657107378.280019][4960:4965] CHIP:DMG: Endpoint = 0x0, + [1657107378.280076][4960:4965] CHIP:DMG: Cluster = 0x2c, + [1657107378.280133][4960:4965] CHIP:DMG: Attribute = 0x0000_0001, + [1657107378.280176][4960:4965] CHIP:DMG: } + [1657107378.280235][4960:4965] CHIP:DMG: + [1657107378.280285][4960:4965] CHIP:DMG: StatusIB = + [1657107378.280328][4960:4965] CHIP:DMG: { + [1657107378.280381][4960:4965] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107378.280426][4960:4965] CHIP:DMG: }, + [1657107378.280479][4960:4965] CHIP:DMG: + [1657107378.280526][4960:4965] CHIP:DMG: }, + [1657107378.280567][4960:4965] CHIP:DMG: + [1657107378.280609][4960:4965] CHIP:DMG: ], + [1657107378.280649][4960:4965] CHIP:DMG: + [1657107378.280691][4960:4965] CHIP:DMG: InteractionModelRevision = 1 + [1657107378.280724][4960:4965] CHIP:DMG: } + [1657107378.280825][4960:4965] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107404.774339][4968:4973] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855157 + [1657107404.774453][4968:4973] CHIP:TOO: ActiveCalendarType: 2 disabled: true - label: @@ -345,53 +304,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 3 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 3, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107432.589832][4975:4980] CHIP:DMG: WriteResponseMessage = + [1657107432.589869][4975:4980] CHIP:DMG: { + [1657107432.589901][4975:4980] CHIP:DMG: AttributeStatusIBs = + [1657107432.589946][4975:4980] CHIP:DMG: [ + [1657107432.589982][4975:4980] CHIP:DMG: AttributeStatusIB = + [1657107432.590031][4975:4980] CHIP:DMG: { + [1657107432.590070][4975:4980] CHIP:DMG: AttributePathIB = + [1657107432.590116][4975:4980] CHIP:DMG: { + [1657107432.590162][4975:4980] CHIP:DMG: Endpoint = 0x0, + [1657107432.590212][4975:4980] CHIP:DMG: Cluster = 0x2c, + [1657107432.590262][4975:4980] CHIP:DMG: Attribute = 0x0000_0001, + [1657107432.590308][4975:4980] CHIP:DMG: } + [1657107432.590359][4975:4980] CHIP:DMG: + [1657107432.590454][4975:4980] CHIP:DMG: StatusIB = + [1657107432.590502][4975:4980] CHIP:DMG: { + [1657107432.590547][4975:4980] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107432.590594][4975:4980] CHIP:DMG: }, + [1657107432.590639][4975:4980] CHIP:DMG: + [1657107432.590677][4975:4980] CHIP:DMG: }, + [1657107432.590720][4975:4980] CHIP:DMG: + [1657107432.590756][4975:4980] CHIP:DMG: ], + [1657107432.590799][4975:4980] CHIP:DMG: + [1657107432.590835][4975:4980] CHIP:DMG: InteractionModelRevision = 1 + [1657107432.590869][4975:4980] CHIP:DMG: } + [1657107432.590963][4975:4980] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107452.389424][4983:4988] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855158 + [1657107452.389490][4983:4988] CHIP:TOO: ActiveCalendarType: 3 disabled: true - label: @@ -399,53 +351,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 4 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 4, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107472.754436][4990:4996] CHIP:DMG: WriteResponseMessage = + [1657107472.754462][4990:4996] CHIP:DMG: { + [1657107472.754485][4990:4996] CHIP:DMG: AttributeStatusIBs = + [1657107472.754515][4990:4996] CHIP:DMG: [ + [1657107472.754539][4990:4996] CHIP:DMG: AttributeStatusIB = + [1657107472.754567][4990:4996] CHIP:DMG: { + [1657107472.754593][4990:4996] CHIP:DMG: AttributePathIB = + [1657107472.754625][4990:4996] CHIP:DMG: { + [1657107472.754658][4990:4996] CHIP:DMG: Endpoint = 0x0, + [1657107472.754691][4990:4996] CHIP:DMG: Cluster = 0x2c, + [1657107472.754723][4990:4996] CHIP:DMG: Attribute = 0x0000_0001, + [1657107472.754754][4990:4996] CHIP:DMG: } + [1657107472.754788][4990:4996] CHIP:DMG: + [1657107472.754817][4990:4996] CHIP:DMG: StatusIB = + [1657107472.754848][4990:4996] CHIP:DMG: { + [1657107472.754878][4990:4996] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107472.754911][4990:4996] CHIP:DMG: }, + [1657107472.754941][4990:4996] CHIP:DMG: + [1657107472.754966][4990:4996] CHIP:DMG: }, + [1657107472.754994][4990:4996] CHIP:DMG: + [1657107472.755018][4990:4996] CHIP:DMG: ], + [1657107472.755046][4990:4996] CHIP:DMG: + [1657107472.755070][4990:4996] CHIP:DMG: InteractionModelRevision = 1 + [1657107472.755092][4990:4996] CHIP:DMG: } + [1657107472.755159][4990:4996] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107496.925134][4997:5002] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855159 + [1657107496.925199][4997:5002] CHIP:TOO: ActiveCalendarType: 4 disabled: true - label: @@ -453,53 +398,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 5 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 5, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107518.977989][5005:5010] CHIP:DMG: WriteResponseMessage = + [1657107518.978030][5005:5010] CHIP:DMG: { + [1657107518.978065][5005:5010] CHIP:DMG: AttributeStatusIBs = + [1657107518.978115][5005:5010] CHIP:DMG: [ + [1657107518.978155][5005:5010] CHIP:DMG: AttributeStatusIB = + [1657107518.978199][5005:5010] CHIP:DMG: { + [1657107518.978242][5005:5010] CHIP:DMG: AttributePathIB = + [1657107518.978294][5005:5010] CHIP:DMG: { + [1657107518.978346][5005:5010] CHIP:DMG: Endpoint = 0x0, + [1657107518.978439][5005:5010] CHIP:DMG: Cluster = 0x2c, + [1657107518.978496][5005:5010] CHIP:DMG: Attribute = 0x0000_0001, + [1657107518.978547][5005:5010] CHIP:DMG: } + [1657107518.978604][5005:5010] CHIP:DMG: + [1657107518.978654][5005:5010] CHIP:DMG: StatusIB = + [1657107518.978705][5005:5010] CHIP:DMG: { + [1657107518.978754][5005:5010] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107518.978805][5005:5010] CHIP:DMG: }, + [1657107518.978856][5005:5010] CHIP:DMG: + [1657107518.978897][5005:5010] CHIP:DMG: }, + [1657107518.978944][5005:5010] CHIP:DMG: + [1657107518.978984][5005:5010] CHIP:DMG: ], + [1657107518.979030][5005:5010] CHIP:DMG: + [1657107518.979069][5005:5010] CHIP:DMG: InteractionModelRevision = 1 + [1657107518.979107][5005:5010] CHIP:DMG: } + [1657107518.979214][5005:5010] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107552.874504][5011:5016] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855160 + [1657107552.874572][5011:5016] CHIP:TOO: ActiveCalendarType: 5 disabled: true - label: @@ -507,53 +445,47 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + + ./chip-tool timeformatlocalization write active-calendar-type 6 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 6, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107711.004508][5030:5035] CHIP:DMG: WriteResponseMessage = + [1657107711.004535][5030:5035] CHIP:DMG: { + [1657107711.004565][5030:5035] CHIP:DMG: AttributeStatusIBs = + [1657107711.004599][5030:5035] CHIP:DMG: [ + [1657107711.004633][5030:5035] CHIP:DMG: AttributeStatusIB = + [1657107711.004660][5030:5035] CHIP:DMG: { + [1657107711.004695][5030:5035] CHIP:DMG: AttributePathIB = + [1657107711.004736][5030:5035] CHIP:DMG: { + [1657107711.004769][5030:5035] CHIP:DMG: Endpoint = 0x0, + [1657107711.004812][5030:5035] CHIP:DMG: Cluster = 0x2c, + [1657107711.004857][5030:5035] CHIP:DMG: Attribute = 0x0000_0001, + [1657107711.004892][5030:5035] CHIP:DMG: } + [1657107711.004937][5030:5035] CHIP:DMG: + [1657107711.004978][5030:5035] CHIP:DMG: StatusIB = + [1657107711.005012][5030:5035] CHIP:DMG: { + [1657107711.005053][5030:5035] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107711.005095][5030:5035] CHIP:DMG: }, + [1657107711.005127][5030:5035] CHIP:DMG: + [1657107711.005162][5030:5035] CHIP:DMG: }, + [1657107711.005194][5030:5035] CHIP:DMG: + [1657107711.005227][5030:5035] CHIP:DMG: ], + [1657107711.005257][5030:5035] CHIP:DMG: + [1657107711.005288][5030:5035] CHIP:DMG: InteractionModelRevision = 1 + [1657107711.005312][5030:5035] CHIP:DMG: } + [1657107711.005384][5030:5035] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107808.981214][5042:5047] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855162 + [1657107808.981291][5042:5047] CHIP:TOO: ActiveCalendarType: 6 disabled: true - label: @@ -561,53 +493,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 7 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 7, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107845.528814][5048:5053] CHIP:DMG: WriteResponseMessage = + [1657107845.528843][5048:5053] CHIP:DMG: { + [1657107845.528869][5048:5053] CHIP:DMG: AttributeStatusIBs = + [1657107845.528905][5048:5053] CHIP:DMG: [ + [1657107845.528933][5048:5053] CHIP:DMG: AttributeStatusIB = + [1657107845.528968][5048:5053] CHIP:DMG: { + [1657107845.528998][5048:5053] CHIP:DMG: AttributePathIB = + [1657107845.529033][5048:5053] CHIP:DMG: { + [1657107845.529069][5048:5053] CHIP:DMG: Endpoint = 0x0, + [1657107845.529107][5048:5053] CHIP:DMG: Cluster = 0x2c, + [1657107845.529144][5048:5053] CHIP:DMG: Attribute = 0x0000_0001, + [1657107845.529183][5048:5053] CHIP:DMG: } + [1657107845.529223][5048:5053] CHIP:DMG: + [1657107845.529256][5048:5053] CHIP:DMG: StatusIB = + [1657107845.529293][5048:5053] CHIP:DMG: { + [1657107845.529328][5048:5053] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107845.529367][5048:5053] CHIP:DMG: }, + [1657107845.529401][5048:5053] CHIP:DMG: + [1657107845.529432][5048:5053] CHIP:DMG: }, + [1657107845.529465][5048:5053] CHIP:DMG: + [1657107845.529493][5048:5053] CHIP:DMG: ], + [1657107845.529526][5048:5053] CHIP:DMG: + [1657107845.529553][5048:5053] CHIP:DMG: InteractionModelRevision = 1 + [1657107845.529580][5048:5053] CHIP:DMG: } + [1657107845.529656][5048:5053] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107867.321473][5055:5060] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855163 + [1657107867.321550][5055:5060] CHIP:TOO: ActiveCalendarType: 7 disabled: true - label: @@ -615,53 +540,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 8 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 8, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107895.609252][5062:5067] CHIP:DMG: WriteResponseMessage = + [1657107895.609278][5062:5067] CHIP:DMG: { + [1657107895.609310][5062:5067] CHIP:DMG: AttributeStatusIBs = + [1657107895.609341][5062:5067] CHIP:DMG: [ + [1657107895.609374][5062:5067] CHIP:DMG: AttributeStatusIB = + [1657107895.609405][5062:5067] CHIP:DMG: { + [1657107895.609440][5062:5067] CHIP:DMG: AttributePathIB = + [1657107895.609479][5062:5067] CHIP:DMG: { + [1657107895.609514][5062:5067] CHIP:DMG: Endpoint = 0x0, + [1657107895.609555][5062:5067] CHIP:DMG: Cluster = 0x2c, + [1657107895.609598][5062:5067] CHIP:DMG: Attribute = 0x0000_0001, + [1657107895.609633][5062:5067] CHIP:DMG: } + [1657107895.609679][5062:5067] CHIP:DMG: + [1657107895.609720][5062:5067] CHIP:DMG: StatusIB = + [1657107895.609752][5062:5067] CHIP:DMG: { + [1657107895.609791][5062:5067] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107895.609833][5062:5067] CHIP:DMG: }, + [1657107895.609865][5062:5067] CHIP:DMG: + [1657107895.609899][5062:5067] CHIP:DMG: }, + [1657107895.609930][5062:5067] CHIP:DMG: + [1657107895.609962][5062:5067] CHIP:DMG: ], + [1657107895.609992][5062:5067] CHIP:DMG: + [1657107895.610025][5062:5067] CHIP:DMG: InteractionModelRevision = 1 + [1657107895.610048][5062:5067] CHIP:DMG: } + [1657107895.610133][5062:5067] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107912.560322][5068:5073] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855164 + [1657107912.560397][5068:5073] CHIP:TOO: ActiveCalendarType: 8 disabled: true - label: @@ -669,53 +587,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 9 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 9, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107930.629239][5076:5081] CHIP:DMG: WriteResponseMessage = + [1657107930.629265][5076:5081] CHIP:DMG: { + [1657107930.629287][5076:5081] CHIP:DMG: AttributeStatusIBs = + [1657107930.629317][5076:5081] CHIP:DMG: [ + [1657107930.629341][5076:5081] CHIP:DMG: AttributeStatusIB = + [1657107930.629368][5076:5081] CHIP:DMG: { + [1657107930.629394][5076:5081] CHIP:DMG: AttributePathIB = + [1657107930.629430][5076:5081] CHIP:DMG: { + [1657107930.629462][5076:5081] CHIP:DMG: Endpoint = 0x0, + [1657107930.629498][5076:5081] CHIP:DMG: Cluster = 0x2c, + [1657107930.629532][5076:5081] CHIP:DMG: Attribute = 0x0000_0001, + [1657107930.629563][5076:5081] CHIP:DMG: } + [1657107930.629597][5076:5081] CHIP:DMG: + [1657107930.629626][5076:5081] CHIP:DMG: StatusIB = + [1657107930.629658][5076:5081] CHIP:DMG: { + [1657107930.629689][5076:5081] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107930.629723][5076:5081] CHIP:DMG: }, + [1657107930.629753][5076:5081] CHIP:DMG: + [1657107930.629780][5076:5081] CHIP:DMG: }, + [1657107930.629808][5076:5081] CHIP:DMG: + [1657107930.629832][5076:5081] CHIP:DMG: ], + [1657107930.629861][5076:5081] CHIP:DMG: + [1657107930.629885][5076:5081] CHIP:DMG: InteractionModelRevision = 1 + [1657107930.629908][5076:5081] CHIP:DMG: } + [1657107930.629976][5076:5081] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107951.056785][5082:5087] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855165 + [1657107951.056861][5082:5087] CHIP:TOO: ActiveCalendarType: 9 disabled: true - label: @@ -723,53 +634,46 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 10 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 10, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657107969.768286][5090:5095] CHIP:DMG: WriteResponseMessage = + [1657107969.768313][5090:5095] CHIP:DMG: { + [1657107969.768336][5090:5095] CHIP:DMG: AttributeStatusIBs = + [1657107969.768367][5090:5095] CHIP:DMG: [ + [1657107969.768392][5090:5095] CHIP:DMG: AttributeStatusIB = + [1657107969.768420][5090:5095] CHIP:DMG: { + [1657107969.768445][5090:5095] CHIP:DMG: AttributePathIB = + [1657107969.768482][5090:5095] CHIP:DMG: { + [1657107969.768516][5090:5095] CHIP:DMG: Endpoint = 0x0, + [1657107969.768554][5090:5095] CHIP:DMG: Cluster = 0x2c, + [1657107969.768593][5090:5095] CHIP:DMG: Attribute = 0x0000_0001, + [1657107969.768628][5090:5095] CHIP:DMG: } + [1657107969.768663][5090:5095] CHIP:DMG: + [1657107969.768693][5090:5095] CHIP:DMG: StatusIB = + [1657107969.768725][5090:5095] CHIP:DMG: { + [1657107969.768757][5090:5095] CHIP:DMG: status = 0x00 (SUCCESS), + [1657107969.768789][5090:5095] CHIP:DMG: }, + [1657107969.768819][5090:5095] CHIP:DMG: + [1657107969.768845][5090:5095] CHIP:DMG: }, + [1657107969.768874][5090:5095] CHIP:DMG: + [1657107969.768897][5090:5095] CHIP:DMG: ], + [1657107969.768926][5090:5095] CHIP:DMG: + [1657107969.768950][5090:5095] CHIP:DMG: InteractionModelRevision = 1 + [1657107969.768973][5090:5095] CHIP:DMG: } + [1657107969.769041][5090:5095] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657107989.893985][5097:5102] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855166 + [1657107989.894063][5097:5102] CHIP:TOO: ActiveCalendarType: 10 disabled: true - label: @@ -777,51 +681,44 @@ tests: attribute" PICS: LTIME.C.A0002.SCT verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization write active-calendar-type 11 1 0 - [1651194449.331014][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651194449.331042][4306:4306] CHIP:DMG: { - [1651194449.331077][4306:4306] CHIP:DMG: suppressResponse = false, - [1651194449.331106][4306:4306] CHIP:DMG: timedRequest = false, - [1651194449.331133][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651194449.331174][4306:4306] CHIP:DMG: [ - [1651194449.331201][4306:4306] CHIP:DMG: AttributeDataIB = - [1651194449.331250][4306:4306] CHIP:DMG: { - [1651194449.331279][4306:4306] CHIP:DMG: AttributePathIB = - [1651194449.331320][4306:4306] CHIP:DMG: { - [1651194449.331355][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194449.331402][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194449.331438][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194449.331479][4306:4306] CHIP:DMG: } - [1651194449.331524][4306:4306] CHIP:DMG: - [1651194449.331560][4306:4306] CHIP:DMG: Data = 11, - [1651194449.331604][4306:4306] CHIP:DMG: }, - [1651194449.331638][4306:4306] CHIP:DMG: - [1651194449.331674][4306:4306] CHIP:DMG: ], - [1651194449.331705][4306:4306] CHIP:DMG: - [1651194449.331742][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651194449.331770][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194449.331804][4306:4306] CHIP:DMG: }, + [1657108006.545369][5103:5108] CHIP:DMG: WriteResponseMessage = + [1657108006.545394][5103:5108] CHIP:DMG: { + [1657108006.545416][5103:5108] CHIP:DMG: AttributeStatusIBs = + [1657108006.545446][5103:5108] CHIP:DMG: [ + [1657108006.545470][5103:5108] CHIP:DMG: AttributeStatusIB = + [1657108006.545498][5103:5108] CHIP:DMG: { + [1657108006.545523][5103:5108] CHIP:DMG: AttributePathIB = + [1657108006.545557][5103:5108] CHIP:DMG: { + [1657108006.545589][5103:5108] CHIP:DMG: Endpoint = 0x0, + [1657108006.545621][5103:5108] CHIP:DMG: Cluster = 0x2c, + [1657108006.545652][5103:5108] CHIP:DMG: Attribute = 0x0000_0001, + [1657108006.545682][5103:5108] CHIP:DMG: } + [1657108006.545717][5103:5108] CHIP:DMG: + [1657108006.545750][5103:5108] CHIP:DMG: StatusIB = + [1657108006.545783][5103:5108] CHIP:DMG: { + [1657108006.545814][5103:5108] CHIP:DMG: status = 0x00 (SUCCESS), + [1657108006.545845][5103:5108] CHIP:DMG: }, + [1657108006.545875][5103:5108] CHIP:DMG: + [1657108006.545900][5103:5108] CHIP:DMG: }, + [1657108006.545929][5103:5108] CHIP:DMG: + [1657108006.545952][5103:5108] CHIP:DMG: ], + [1657108006.545981][5103:5108] CHIP:DMG: + [1657108006.546004][5103:5108] CHIP:DMG: InteractionModelRevision = 1 + [1657108006.546027][5103:5108] CHIP:DMG: } + [1657108006.546092][5103:5108] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads ActiveCalendarType attribute" PICS: LTIME.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool timeformatlocalization read active-calendar-type 1 0 - [1651194544.718348][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651194544.718378][4306:4306] CHIP:DMG: { - [1651194544.718403][4306:4306] CHIP:DMG: AttributePathIBs = - [1651194544.718447][4306:4306] CHIP:DMG: [ - [1651194544.718476][4306:4306] CHIP:DMG: AttributePathIB = - [1651194544.718521][4306:4306] CHIP:DMG: { - [1651194544.718563][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651194544.718607][4306:4306] CHIP:DMG: Cluster = 0x2c, - [1651194544.718654][4306:4306] CHIP:DMG: Attribute = 0x0000_0001, - [1651194544.718689][4306:4306] CHIP:DMG: } - [1651194544.718735][4306:4306] CHIP:DMG: - [1651194544.718767][4306:4306] CHIP:DMG: ], - [1651194544.718812][4306:4306] CHIP:DMG: - [1651194544.718844][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651194544.718884][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651194544.718911][4306:4306] CHIP:DMG: }, + + [1657108026.518564][5111:5116] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855167 + [1657108026.518640][5111:5116] CHIP:TOO: ActiveCalendarType: 11 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_3_1.yaml index b75218d3a496c5..d514efa49894be 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_3_1.yaml @@ -703,11 +703,69 @@ tests: - label: "TH writes 50 to ActiveCalendarType attribute" PICS: LTIME.S.A0001 verification: | - Verify the write request shows 0x87 (Constraint Error) + Verify in TH log: + + ./chip-tool timeformatlocalization write active-calendar-type 50 1 0 + + [1656934134.261135][6359:6364] CHIP:DMG: WriteResponseMessage = + [1656934134.261172][6359:6364] CHIP:DMG: { + [1656934134.261204][6359:6364] CHIP:DMG: AttributeStatusIBs = + [1656934134.261248][6359:6364] CHIP:DMG: [ + [1656934134.261284][6359:6364] CHIP:DMG: AttributeStatusIB = + [1656934134.261334][6359:6364] CHIP:DMG: { + [1656934134.261375][6359:6364] CHIP:DMG: AttributePathIB = + [1656934134.261421][6359:6364] CHIP:DMG: { + [1656934134.261470][6359:6364] CHIP:DMG: Endpoint = 0x0, + [1656934134.261517][6359:6364] CHIP:DMG: Cluster = 0x2c, + [1656934134.261565][6359:6364] CHIP:DMG: Attribute = 0x0000_0001, + [1656934134.261609][6359:6364] CHIP:DMG: } + [1656934134.261660][6359:6364] CHIP:DMG: + [1656934134.261703][6359:6364] CHIP:DMG: StatusIB = + [1656934134.261749][6359:6364] CHIP:DMG: { + [1656934134.261795][6359:6364] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), + [1656934134.261840][6359:6364] CHIP:DMG: }, + [1656934134.261884][6359:6364] CHIP:DMG: + [1656934134.261924][6359:6364] CHIP:DMG: }, + [1656934134.261967][6359:6364] CHIP:DMG: + [1656934134.262001][6359:6364] CHIP:DMG: ], + [1656934134.262043][6359:6364] CHIP:DMG: + [1656934134.262078][6359:6364] CHIP:DMG: InteractionModelRevision = 1 + [1656934134.262113][6359:6364] CHIP:DMG: } + [1656934134.262208][6359:6364] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "TH writes 5 to HourFormat attribute" - PICS: LTIME.S.A0001 + PICS: LTIME.S.A0000 verification: | - Verify the write request shows 0x87 (Constraint Error) + Verify in TH log: + + ./chip-tool timeformatlocalization write hour-format 5 1 0 + + [1656934321.910991][6387:6392] CHIP:DMG: WriteResponseMessage = + [1656934321.911025][6387:6392] CHIP:DMG: { + [1656934321.911054][6387:6392] CHIP:DMG: AttributeStatusIBs = + [1656934321.911096][6387:6392] CHIP:DMG: [ + [1656934321.911129][6387:6392] CHIP:DMG: AttributeStatusIB = + [1656934321.911165][6387:6392] CHIP:DMG: { + [1656934321.911200][6387:6392] CHIP:DMG: AttributePathIB = + [1656934321.911242][6387:6392] CHIP:DMG: { + [1656934321.911285][6387:6392] CHIP:DMG: Endpoint = 0x0, + [1656934321.911330][6387:6392] CHIP:DMG: Cluster = 0x2c, + [1656934321.911375][6387:6392] CHIP:DMG: Attribute = 0x0000_0000, + [1656934321.911417][6387:6392] CHIP:DMG: } + [1656934321.911463][6387:6392] CHIP:DMG: + [1656934321.911503][6387:6392] CHIP:DMG: StatusIB = + [1656934321.911574][6387:6392] CHIP:DMG: { + [1656934321.911618][6387:6392] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), + [1656934321.911658][6387:6392] CHIP:DMG: }, + [1656934321.911699][6387:6392] CHIP:DMG: + [1656934321.911733][6387:6392] CHIP:DMG: }, + [1656934321.911772][6387:6392] CHIP:DMG: + [1656934321.911804][6387:6392] CHIP:DMG: ], + [1656934321.911842][6387:6392] CHIP:DMG: + [1656934321.911875][6387:6392] CHIP:DMG: InteractionModelRevision = 1 + [1656934321.911906][6387:6392] CHIP:DMG: } + [1656934321.911992][6387:6392] CHIP:DMG: WriteClient moving to [AwaitingDe] + [1656934321.912033][6387:6392] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) + [1656934321.912104][6387:6392] CHIP:EM: Sending Standalone Ack for MessageCounter:9709501 on exchange 15031i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_1_1.yaml index b7f89ba8232272..a585af1e715784 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_1_1.yaml @@ -28,6 +28,8 @@ tests: - label: "DUT reads from the TH the(0xFFFD) ClusterRevision attribute" verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read cluster-revision 1 0 [1651186310867] [11123:114108] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 486381485 [1651186310867] [11123:114108] CHIP: [TOO] ClusterRevision: 1 @@ -35,6 +37,8 @@ tests: - label: "DUT reads from the TH the(0xFFFC) FeatureMap attribute" verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read feature-map 1 0 [1651186357789] [11140:114768] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFC DataVersion: 486381485 [1651186357789] [11140:114768] CHIP: [TOO] FeatureMap: 1 @@ -42,6 +46,8 @@ tests: - label: "DUT reads from the TH the(0xFFFB) AttributeList attribute" verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read attribute-list 1 0 [1652335691.917681][3124:3129] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFB DataVersion: 3157629909 [1652335691.917762][3124:3129] CHIP:TOO: AttributeList: 6 entries @@ -60,6 +66,8 @@ tests: - label: "DUT reads from the TH the(0xFFF9) AcceptedCommandList attribute" verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read accepted-command-list 1 0 [1651186469211] [11184:116328] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFF9 DataVersion: 486381485 @@ -68,6 +76,8 @@ tests: - label: "DUT reads from the TH the(0xFFF8) GeneratedCommandList attribute" verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read generated-command-list 1 0 [1651191485645] [13481:177154] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFF8 DataVersion: 486381492 [1651191485646] [13481:177154] CHIP: [TOO] GeneratedCommandList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml index 5158bfadc48861..8bdbdeed1fa6ce 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml @@ -23,6 +23,8 @@ config: tests: - label: "TH reads from the DUT the (0xFFFD) ClusterRevision attribute" verification: | + Verify in TH log + ./chip-tool unitlocalization read cluster-revision 1 0 [1651186310867] [11123:114108] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 486381485 [1651186310867] [11123:114108] CHIP: [TOO] ClusterRevision: 1 @@ -30,6 +32,8 @@ tests: - label: "TH reads from the DUT the (0xFFFC) FeatureMap attribute" verification: | + Verify in TH log + ./chip-tool unitlocalization read feature-map 1 0 [1651186357789] [11140:114768] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFC DataVersion: 486381485 [1651186357789] [11140:114768] CHIP: [TOO] FeatureMap: 1 @@ -37,6 +41,8 @@ tests: - label: "TH reads from the DUT the (0xFFFB) AttributeList attribute" verification: | + Verify in TH log + ./chip-tool unitlocalization read attribute-list 1 0 [1652335691.917681][3124:3129] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFB DataVersion: 3157629909 [1652335691.917762][3124:3129] CHIP:TOO: AttributeList: 6 entries @@ -55,6 +61,8 @@ tests: - label: "TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute" verification: | + Verify in TH log + ./chip-tool unitlocalization read accepted-command-list 1 0 [1651186469211] [11184:116328] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFF9 DataVersion: 486381485 @@ -63,6 +71,8 @@ tests: - label: "TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute" verification: | + Verify in TH log: + ./chip-tool unitlocalization read generated-command-list 1 0 [1651191485645] [13481:177154] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFF8 DataVersion: 486381492 [1651191485646] [13481:177154] CHIP: [TOO] GeneratedCommandList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml index 2ed402c003ad6d..74ef77e3b0d6ba 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_2_1.yaml @@ -26,177 +26,143 @@ tests: - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read temperature-unit 1 0 - [1651195354.966370][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651195354.966398][4306:4306] CHIP:DMG: { - [1651195354.966420][4306:4306] CHIP:DMG: AttributePathIBs = - [1651195354.966446][4306:4306] CHIP:DMG: [ - [1651195354.966508][4306:4306] CHIP:DMG: AttributePathIB = - [1651195354.966544][4306:4306] CHIP:DMG: { - [1651195354.966574][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651195354.966626][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651195354.966657][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651195354.966685][4306:4306] CHIP:DMG: } - [1651195354.966714][4306:4306] CHIP:DMG: - [1651195354.966766][4306:4306] CHIP:DMG: ], - [1651195354.966799][4306:4306] CHIP:DMG: - [1651195354.966845][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651195354.966872][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651195354.966896][4306:4306] CHIP:DMG: }, + + [1657108071.586424][5119:5124] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031415 + [1657108071.586491][5119:5124] CHIP:TOO: TemperatureUnit: 0 disabled: true - label: "DUT writes 0 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Fahrenheit verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization write temperature-unit 0 1 0 - [1651186603.330367][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651186603.330394][4306:4306] CHIP:DMG: { - [1651186603.330482][4306:4306] CHIP:DMG: suppressResponse = false, - [1651186603.330515][4306:4306] CHIP:DMG: timedRequest = false, - [1651186603.330542][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651186603.330574][4306:4306] CHIP:DMG: [ - [1651186603.330601][4306:4306] CHIP:DMG: AttributeDataIB = - [1651186603.330631][4306:4306] CHIP:DMG: { - [1651186603.330662][4306:4306] CHIP:DMG: AttributePathIB = - [1651186603.330691][4306:4306] CHIP:DMG: { - [1651186603.330725][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651186603.330762][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651186603.330797][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651186603.330829][4306:4306] CHIP:DMG: } - [1651186603.330863][4306:4306] CHIP:DMG: - [1651186603.330899][4306:4306] CHIP:DMG: Data = 0, - [1651186603.330932][4306:4306] CHIP:DMG: }, - [1651186603.330963][4306:4306] CHIP:DMG: - [1651186603.330989][4306:4306] CHIP:DMG: ], - [1651186603.331020][4306:4306] CHIP:DMG: - [1651186603.331047][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651186603.331074][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651186603.331099][4306:4306] CHIP:DMG: }, + [1657108113.524411][5127:5132] CHIP:DMG: WriteResponseMessage = + [1657108113.524437][5127:5132] CHIP:DMG: { + [1657108113.524460][5127:5132] CHIP:DMG: AttributeStatusIBs = + [1657108113.524497][5127:5132] CHIP:DMG: [ + [1657108113.524521][5127:5132] CHIP:DMG: AttributeStatusIB = + [1657108113.524551][5127:5132] CHIP:DMG: { + [1657108113.524579][5127:5132] CHIP:DMG: AttributePathIB = + [1657108113.524610][5127:5132] CHIP:DMG: { + [1657108113.524645][5127:5132] CHIP:DMG: Endpoint = 0x0, + [1657108113.524678][5127:5132] CHIP:DMG: Cluster = 0x2d, + [1657108113.524708][5127:5132] CHIP:DMG: Attribute = 0x0000_0000, + [1657108113.524739][5127:5132] CHIP:DMG: } + [1657108113.524771][5127:5132] CHIP:DMG: + [1657108113.524800][5127:5132] CHIP:DMG: StatusIB = + [1657108113.524831][5127:5132] CHIP:DMG: { + [1657108113.524862][5127:5132] CHIP:DMG: status = 0x00 (SUCCESS), + [1657108113.524895][5127:5132] CHIP:DMG: }, + [1657108113.524924][5127:5132] CHIP:DMG: + [1657108113.524951][5127:5132] CHIP:DMG: }, + [1657108113.524981][5127:5132] CHIP:DMG: + [1657108113.525005][5127:5132] CHIP:DMG: ], + [1657108113.525034][5127:5132] CHIP:DMG: + [1657108113.525058][5127:5132] CHIP:DMG: InteractionModelRevision = 1 + [1657108113.525081][5127:5132] CHIP:DMG: } + [1657108113.525148][5127:5132] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read temperature-unit 1 0 - [1651195354.966370][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651195354.966398][4306:4306] CHIP:DMG: { - [1651195354.966420][4306:4306] CHIP:DMG: AttributePathIBs = - [1651195354.966446][4306:4306] CHIP:DMG: [ - [1651195354.966508][4306:4306] CHIP:DMG: AttributePathIB = - [1651195354.966544][4306:4306] CHIP:DMG: { - [1651195354.966574][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651195354.966626][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651195354.966657][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651195354.966685][4306:4306] CHIP:DMG: } - [1651195354.966714][4306:4306] CHIP:DMG: - [1651195354.966766][4306:4306] CHIP:DMG: ], - [1651195354.966799][4306:4306] CHIP:DMG: - [1651195354.966845][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651195354.966872][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651195354.966896][4306:4306] CHIP:DMG: }, + + [1657108071.586424][5119:5124] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031415 + [1657108071.586491][5119:5124] CHIP:TOO: TemperatureUnit: 0 disabled: true - label: "DUT writes 1 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Celsius verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization write temperature-unit 1 1 0 - [1651190221.098512][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651190221.098539][4306:4306] CHIP:DMG: { - [1651190221.098563][4306:4306] CHIP:DMG: suppressResponse = false, - [1651190221.098590][4306:4306] CHIP:DMG: timedRequest = false, - [1651190221.098615][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651190221.098645][4306:4306] CHIP:DMG: [ - [1651190221.098671][4306:4306] CHIP:DMG: AttributeDataIB = - [1651190221.098743][4306:4306] CHIP:DMG: { - [1651190221.098806][4306:4306] CHIP:DMG: AttributePathIB = - [1651190221.098838][4306:4306] CHIP:DMG: { - [1651190221.098872][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651190221.098903][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651190221.098940][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651190221.099043][4306:4306] CHIP:DMG: } - [1651190221.099080][4306:4306] CHIP:DMG: - [1651190221.099117][4306:4306] CHIP:DMG: Data = 1, - [1651190221.099202][4306:4306] CHIP:DMG: }, - [1651190221.099271][4306:4306] CHIP:DMG: - [1651190221.099296][4306:4306] CHIP:DMG: ], - [1651190221.099326][4306:4306] CHIP:DMG: - [1651190221.099352][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651190221.099378][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651190221.099448][4306:4306] CHIP:DMG: }, - [1651190221.099532][4306:4306] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_002D e=0 p=o - [1651190221.099596][4306:4306] CHIP:DMG: AccessControl: allowed + + [1657108163.429166][5149:5154] CHIP:DMG: WriteResponseMessage = + [1657108163.429205][5149:5154] CHIP:DMG: { + [1657108163.429228][5149:5154] CHIP:DMG: AttributeStatusIBs = + [1657108163.429259][5149:5154] CHIP:DMG: [ + [1657108163.429283][5149:5154] CHIP:DMG: AttributeStatusIB = + [1657108163.429310][5149:5154] CHIP:DMG: { + [1657108163.429335][5149:5154] CHIP:DMG: AttributePathIB = + [1657108163.429374][5149:5154] CHIP:DMG: { + [1657108163.429405][5149:5154] CHIP:DMG: Endpoint = 0x0, + [1657108163.429441][5149:5154] CHIP:DMG: Cluster = 0x2d, + [1657108163.429474][5149:5154] CHIP:DMG: Attribute = 0x0000_0000, + [1657108163.429505][5149:5154] CHIP:DMG: } + [1657108163.429539][5149:5154] CHIP:DMG: + [1657108163.429572][5149:5154] CHIP:DMG: StatusIB = + [1657108163.429606][5149:5154] CHIP:DMG: { + [1657108163.429637][5149:5154] CHIP:DMG: status = 0x00 (SUCCESS), + [1657108163.429671][5149:5154] CHIP:DMG: }, + [1657108163.429702][5149:5154] CHIP:DMG: + [1657108163.429728][5149:5154] CHIP:DMG: }, + [1657108163.429759][5149:5154] CHIP:DMG: + [1657108163.429782][5149:5154] CHIP:DMG: ], + [1657108163.429811][5149:5154] CHIP:DMG: + [1657108163.429834][5149:5154] CHIP:DMG: InteractionModelRevision = 1 + [1657108163.429857][5149:5154] CHIP:DMG: } + [1657108163.429923][5149:5154] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read temperature-unit 1 0 - [1651195354.966370][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651195354.966398][4306:4306] CHIP:DMG: { - [1651195354.966420][4306:4306] CHIP:DMG: AttributePathIBs = - [1651195354.966446][4306:4306] CHIP:DMG: [ - [1651195354.966508][4306:4306] CHIP:DMG: AttributePathIB = - [1651195354.966544][4306:4306] CHIP:DMG: { - [1651195354.966574][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651195354.966626][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651195354.966657][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651195354.966685][4306:4306] CHIP:DMG: } - [1651195354.966714][4306:4306] CHIP:DMG: - [1651195354.966766][4306:4306] CHIP:DMG: ], - [1651195354.966799][4306:4306] CHIP:DMG: - [1651195354.966845][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651195354.966872][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651195354.966896][4306:4306] CHIP:DMG: }, + [1657108230.188723][5156:5161] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031418 + [1657108230.188792][5156:5161] CHIP:TOO: TemperatureUnit: 1 disabled: true - label: "DUT writes 2 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Kelvin verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool unitlocalization write temperature-unit 2 1 0 - [1651190829.683764][4306:4306] CHIP:DMG: WriteRequestMessage = - [1651190829.683792][4306:4306] CHIP:DMG: { - [1651190829.683827][4306:4306] CHIP:DMG: suppressResponse = false, - [1651190829.683884][4306:4306] CHIP:DMG: timedRequest = false, - [1651190829.683921][4306:4306] CHIP:DMG: AttributeDataIBs = - [1651190829.683956][4306:4306] CHIP:DMG: [ - [1651190829.683991][4306:4306] CHIP:DMG: AttributeDataIB = - [1651190829.684017][4306:4306] CHIP:DMG: { - [1651190829.684045][4306:4306] CHIP:DMG: AttributePathIB = - [1651190829.684083][4306:4306] CHIP:DMG: { - [1651190829.684124][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651190829.684163][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651190829.684209][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651190829.684238][4306:4306] CHIP:DMG: } - [1651190829.684289][4306:4306] CHIP:DMG: - [1651190829.684335][4306:4306] CHIP:DMG: Data = 2, - [1651190829.684371][4306:4306] CHIP:DMG: }, - [1651190829.684410][4306:4306] CHIP:DMG: - [1651190829.684435][4306:4306] CHIP:DMG: ], - [1651190829.684474][4306:4306] CHIP:DMG: - [1651190829.684501][4306:4306] CHIP:DMG: moreChunkedMessages = false, - [1651190829.684535][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651190829.684556][4306:4306] CHIP:DMG: }, + + [1657108163.429166][5149:5154] CHIP:DMG: WriteResponseMessage = + [1657108163.429205][5149:5154] CHIP:DMG: { + [1657108163.429228][5149:5154] CHIP:DMG: AttributeStatusIBs = + [1657108163.429259][5149:5154] CHIP:DMG: [ + [1657108163.429283][5149:5154] CHIP:DMG: AttributeStatusIB = + [1657108163.429310][5149:5154] CHIP:DMG: { + [1657108163.429335][5149:5154] CHIP:DMG: AttributePathIB = + [1657108163.429374][5149:5154] CHIP:DMG: { + [1657108163.429405][5149:5154] CHIP:DMG: Endpoint = 0x0, + [1657108163.429441][5149:5154] CHIP:DMG: Cluster = 0x2d, + [1657108163.429474][5149:5154] CHIP:DMG: Attribute = 0x0000_0000, + [1657108163.429505][5149:5154] CHIP:DMG: } + [1657108163.429539][5149:5154] CHIP:DMG: + [1657108163.429572][5149:5154] CHIP:DMG: StatusIB = + [1657108163.429606][5149:5154] CHIP:DMG: { + [1657108163.429637][5149:5154] CHIP:DMG: status = 0x00 (SUCCESS), + [1657108163.429671][5149:5154] CHIP:DMG: }, + [1657108163.429702][5149:5154] CHIP:DMG: + [1657108163.429728][5149:5154] CHIP:DMG: }, + [1657108163.429759][5149:5154] CHIP:DMG: + [1657108163.429782][5149:5154] CHIP:DMG: ], + [1657108163.429811][5149:5154] CHIP:DMG: + [1657108163.429834][5149:5154] CHIP:DMG: InteractionModelRevision = 1 + [1657108163.429857][5149:5154] CHIP:DMG: } + [1657108163.429923][5149:5154] CHIP:DMG: WriteClient moving to [AwaitingDe] disabled: true - label: "DUT reads TemperatureUnit attribute from TH" PICS: LUNIT.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool unitlocalization read temperature-unit 1 0 - [1651195354.966370][4306:4306] CHIP:DMG: ReadRequestMessage = - [1651195354.966398][4306:4306] CHIP:DMG: { - [1651195354.966420][4306:4306] CHIP:DMG: AttributePathIBs = - [1651195354.966446][4306:4306] CHIP:DMG: [ - [1651195354.966508][4306:4306] CHIP:DMG: AttributePathIB = - [1651195354.966544][4306:4306] CHIP:DMG: { - [1651195354.966574][4306:4306] CHIP:DMG: Endpoint = 0x0, - [1651195354.966626][4306:4306] CHIP:DMG: Cluster = 0x2d, - [1651195354.966657][4306:4306] CHIP:DMG: Attribute = 0x0000_0000, - [1651195354.966685][4306:4306] CHIP:DMG: } - [1651195354.966714][4306:4306] CHIP:DMG: - [1651195354.966766][4306:4306] CHIP:DMG: ], - [1651195354.966799][4306:4306] CHIP:DMG: - [1651195354.966845][4306:4306] CHIP:DMG: isFabricFiltered = true, - [1651195354.966872][4306:4306] CHIP:DMG: InteractionModelRevision = 1 - [1651195354.966896][4306:4306] CHIP:DMG: }, + + [1657108230.188723][5156:5161] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 4164031418 + [1657108230.188792][5156:5161] CHIP:TOO: TemperatureUnit: 2 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_3_1.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_3_1.yaml index f2384877cfa903..47280cb67e371c 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_3_1.yaml @@ -26,6 +26,8 @@ tests: - label: "TH reads TemperatureUnit attribute from DUT" PICS: LUNIT.S.A0000 verification: | + Verify in TH log: + ./chip-tool unitlocalization read temperature-unit 1 0 [1651186538224] [11210:117238] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 486381485 [1651186538224] [11210:117238] CHIP: [TOO] TemperatureUnit: 0 @@ -34,6 +36,8 @@ tests: - label: "TH writes 0 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Fahrenheit verification: | + Verify in TH log: + ./chip-tool unitlocalization write temperature-unit 0 1 0 [1651191017267] [13215:170815] CHIP: [DMG] WriteResponseMessage = [1651191017267] [13215:170815] CHIP: [DMG] { @@ -63,6 +67,8 @@ tests: - label: "TH reads TemperatureUnit attribute" PICS: LUNIT.C.A0000 verification: | + Verify in TH log: + ./chip-tool unitlocalization read temperature-unit 1 0 [1651190135534] [12868:159849] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 486381486 [1651190135534] [12868:159849] CHIP: [TOO] TemperatureUnit: 0 @@ -71,6 +77,8 @@ tests: - label: "TH writes 1 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Celsius verification: | + Verify in TH log: + ./chip-tool unitlocalization write temperature-unit 1 1 0 [1651190221003] [12900:161139] CHIP: [DMG] WriteResponseMessage = @@ -102,6 +110,8 @@ tests: - label: "TH reads TemperatureUnit attribute" PICS: LUNIT.C.A0000 verification: | + Verify in TH log: + ./chip-tool unitlocalization read temperature-unit 1 0 [1651190800434] [13122:167909] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 486381489 [1651190800434] [13122:167909] CHIP: [TOO] TemperatureUnit: 1 @@ -110,6 +120,8 @@ tests: - label: "TH writes 2 to TemperatureUnit attribute" PICS: LUNIT.C.A0000.Kelvin verification: | + Verify in TH log: + ./chip-tool unitlocalization write temperature-unit 2 1 0 [1651190829573] [13133:168303] CHIP: [DMG] WriteResponseMessage = [1651190829573] [13133:168303] CHIP: [DMG] { @@ -140,6 +152,8 @@ tests: - label: "TH reads TemperatureUnit attribute" PICS: LUNIT.C.A0000 verification: | + Verify in TH log: + ./chip-tool unitlocalization read temperature-unit 1 0 [1651190908005] [13164:169492] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_0000 DataVersion: 486381490 [1651190908005] [13164:169492] CHIP: [TOO] TemperatureUnit: 2 @@ -148,5 +162,7 @@ tests: - label: "TH writes 5 to TemperatureUnit attribute" PICS: LUNIT.C.A0000 verification: | + Verify in TH log: + Verify that the write request fails with 0x87 (Constraint Error) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml index 1b8c01451278f0..dc4029e0f6f023 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml @@ -94,7 +94,7 @@ tests: arguments: values: - name: "ms" - value: 9000 + value: 10000 - label: "Reads CurrentLevel attribute from DUT" PICS: LVL.S.C01.Rsp && LVL.S.A0000 && LVL.S.A0003 diff --git a/src/app/tests/suites/certification/Test_TC_LVL_7_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_7_1.yaml index ef2c3ef2ebc868..96fcf152d4f1a8 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_7_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_7_1.yaml @@ -26,7 +26,9 @@ tests: - label: "TH reads the MinLevel attribute from the DUT" PICS: LVL.S.A0002 verification: | - ./chip-tool levelcontrol read min-level 1 1 + Verify in TH Log + + ./chip-tool levelcontrol read min-level 1 1 [1654065563.003862][10039:10044] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0002 DataVersion: 540248549 [1654065563.003916][10039:10044] CHIP:TOO: min level: 0 @@ -36,6 +38,8 @@ tests: - label: "TH reads the MaxLevel attribute from the DUT" PICS: LVL.S.A0003 verification: | + Verify in TH Log + ./chip-tool levelcontrol read max-level 1 1 @@ -51,6 +55,8 @@ tests: 0x0000 (move immediately)." PICS: LVL.S.C04.Rsp verification: | + Verify in TH Log + ./chip-tool levelcontrol move-to-level-with-on-off 253 0 1 1 [1654065833.084144][10181:10186] CHIP:DMG: InvokeResponseMessage = @@ -88,6 +94,8 @@ tests: - label: "TH reads CurrentLevel attribute from DUT" PICS: LVL.S.C04.Rsp && LVL.S.A0000 verification: | + Verify in TH Log + ./chip-tool levelcontrol read current-level 1 1 [1654065859.401140][10188:10193] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0000 DataVersion: 540248551 @@ -98,6 +106,9 @@ tests: - label: "TH reads the CurrentFrequency attribute." PICS: LVL.S.A0004 verification: | + Verify in TH Log + + ./chip-tool levelcontrol read current-frequency 1 1 [1654065889.927185][10196:10201] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0004 DataVersion: 540248551 @@ -108,7 +119,9 @@ tests: - label: "TH reads the MinFrequency attribute." PICS: LVL.S.A0005 verification: | - ./chip-tool levelcontrol read min-frequency 1 1 + Verify in TH Log + + ./chip-tool levelcontrol read min-frequency 1 1 [1654066011.412756][10228:10233] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0005 DataVersion: 540248551 [1654066011.412814][10228:10233] CHIP:TOO: min frequency: 0 @@ -118,7 +131,9 @@ tests: - label: "TH reads the MaxFrequency attribute." PICS: LVL.S.A0006 verification: | - ./chip-tool levelcontrol read max-frequency 1 1 + Verify in TH Log + + ./chip-tool levelcontrol read max-frequency 1 1 [1654066035.586373][10241:10246] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0006 DataVersion: 540248551 [1654066035.586435][10241:10246] CHIP:TOO: max frequency: 0 @@ -131,6 +146,8 @@ tests: fmax" PICS: LVL.S.C08.Rsp verification: | + Optional command based on Feature support + Frequency feature for level control cluster is not supporting in chip-tool disabled: true @@ -145,6 +162,8 @@ tests: field set to fmax + 1" PICS: LVL.S.C08.Rsp verification: | + Optional command based on Feature support + Frequency feature for level control cluster is not supporting in chip-tool disabled: true @@ -159,6 +178,8 @@ tests: field set to fmin - 1" PICS: LVL.S.C08.Rsp verification: | + Optional command based on Feature support + Frequency feature for level control cluster is not supporting in chip-tool disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_LVL_8_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_8_1.yaml index c81ffdb55d6f59..cf632ce29c50de 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_8_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_8_1.yaml @@ -25,6 +25,8 @@ tests: "TH prompts the operator to make the DUT send one or more supported commands from the Level Control cluster" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool levelcontrol move-to-level-with-on-off 1 0 1 1 [1653376388.152776][6857:6862] CHIP:DMG: StatusIB = diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml index 7841da4cef9249..742d629ede6792 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_2.yaml @@ -29,71 +29,25 @@ tests: - label: "DUT reads from the TH the (0x0000) Occupancy attribute" PICS: OCC.C.A0000 verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read occupancy 1 1 - DUT: + Verify in TH all-clusters-app log [1648461864.548948][9281:9286] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 3082917122 [1648461864.549008][9281:9286] CHIP:TOO: occupancy: 0 - - TH: - - [1651145623.970719][2336:2336] CHIP:IM: Received Read request - [1651145623.970774][2336:2336] CHIP:DMG: ReadRequestMessage = - [1651145623.970800][2336:2336] CHIP:DMG: { - [1651145623.970821][2336:2336] CHIP:DMG: AttributePathIBs = - [1651145623.970847][2336:2336] CHIP:DMG: [ - [1651145623.970871][2336:2336] CHIP:DMG: AttributePathIB = - [1651145623.970902][2336:2336] CHIP:DMG: { - [1651145623.970931][2336:2336] CHIP:DMG: Endpoint = 0x1, - [1651145623.970964][2336:2336] CHIP:DMG: Cluster = 0x406, - [1651145623.970998][2336:2336] CHIP:DMG: Attribute = 0x0000_0000, - [1651145623.971030][2336:2336] CHIP:DMG: } - [1651145623.971060][2336:2336] CHIP:DMG: - [1651145623.971087][2336:2336] CHIP:DMG: ], - [1651145623.971138][2336:2336] CHIP:DMG: - [1651145623.971166][2336:2336] CHIP:DMG: isFabricFiltered = true, - [1651145623.971191][2336:2336] CHIP:DMG: InteractionModelRevision = 1 - [1651145623.971214][2336:2336] CHIP:DMG: }, - [1651145623.971285][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] - [1651145623.971367][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - [1651145623.971394][2336:2336] CHIP:DMG: Cluster 406, Attribute 0 is dirty - [1651145623.971415][2336:2336] CHIP:DMG: Reading attribute: Cluster=0x0000_0406 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) - [1651145623.971445][2336:2336] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0406 e=1 p=v - [1651145623.971480][2336:2336] CHIP:DMG: AccessControl: allowed disabled: true - - label: "TH reads from the DUT the (0x0001) OccupancySensorType attribute" + - label: "DUT reads from the TH the (0x0001) OccupancySensorType attribute" PICS: OCC.C.A0001 verification: | - ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool occupancysensing read occupancy-sensor-type 1 1 - DUT: + Verify in TH all-clusters-app log [1648461870.566809][9287:9292] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3082917122 [1648461870.566882][9287:9292] CHIP:TOO: occupancy sensor type: 0 - - TH: - - [1651145797.858621][2336:2336] CHIP:IM: Received Read request - [1651145797.858677][2336:2336] CHIP:DMG: ReadRequestMessage = - [1651145797.858703][2336:2336] CHIP:DMG: { - [1651145797.858725][2336:2336] CHIP:DMG: AttributePathIBs = - [1651145797.858753][2336:2336] CHIP:DMG: [ - [1651145797.858777][2336:2336] CHIP:DMG: AttributePathIB = - [1651145797.858808][2336:2336] CHIP:DMG: { - [1651145797.858838][2336:2336] CHIP:DMG: Endpoint = 0x1, - [1651145797.858869][2336:2336] CHIP:DMG: Cluster = 0x406, - [1651145797.858900][2336:2336] CHIP:DMG: Attribute = 0x0000_0001, - [1651145797.858929][2336:2336] CHIP:DMG: } - [1651145797.858958][2336:2336] CHIP:DMG: - [1651145797.858985][2336:2336] CHIP:DMG: ], - [1651145797.859015][2336:2336] CHIP:DMG: - [1651145797.859040][2336:2336] CHIP:DMG: isFabricFiltered = true, - [1651145797.859065][2336:2336] CHIP:DMG: InteractionModelRevision = 1 - [1651145797.859088][2336:2336] CHIP:DMG: }, - [1651145797.859186][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] - [1651145797.859273][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 disabled: true - label: @@ -101,35 +55,14 @@ tests: attribute" PICS: OCC.C.A0002 verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read occupancy-sensor-type-bitmap 1 1 - DUT: + Verify in TH all-clusters-app log + [1648461876.157687][9293:9298] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002 DataVersion: 3082917122 [1648461876.157778][9293:9298] CHIP:TOO: occupancy sensor type bitmap: 1 - - TH: - - [1651145985.006057][2336:2336] CHIP:EM: Handling via exchange: 48378r, Delegate: 0xaaaaaf5c5098 - [1651145985.006150][2336:2336] CHIP:IM: Received Read request - [1651145985.006231][2336:2336] CHIP:DMG: ReadRequestMessage = - [1651145985.006259][2336:2336] CHIP:DMG: { - [1651145985.006282][2336:2336] CHIP:DMG: AttributePathIBs = - [1651145985.006336][2336:2336] CHIP:DMG: [ - [1651145985.006395][2336:2336] CHIP:DMG: AttributePathIB = - [1651145985.006509][2336:2336] CHIP:DMG: { - [1651145985.006544][2336:2336] CHIP:DMG: Endpoint = 0x1, - [1651145985.006580][2336:2336] CHIP:DMG: Cluster = 0x406, - [1651145985.006616][2336:2336] CHIP:DMG: Attribute = 0x0000_0002, - [1651145985.006643][2336:2336] CHIP:DMG: } - [1651145985.006672][2336:2336] CHIP:DMG: - [1651145985.006694][2336:2336] CHIP:DMG: ], - [1651145985.006719][2336:2336] CHIP:DMG: - [1651145985.006744][2336:2336] CHIP:DMG: isFabricFiltered = true, - [1651145985.006769][2336:2336] CHIP:DMG: InteractionModelRevision = 1 - [1651145985.006793][2336:2336] CHIP:DMG: }, - [1651145985.006860][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] - [1651145985.006952][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 disabled: true - label: @@ -137,7 +70,13 @@ tests: optional attribute, if PIR sensor" PICS: OCC.C.A0010 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read pir-occupied-to-unoccupied-delay 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -146,75 +85,123 @@ tests: optional attribute, if PIR sensor" PICS: OCC.C.A0011 verification: | - ./chip-tool occupancysensing read pir-unoccupied-to-occupied-delay 1 1 + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool occupancysensing read pir-unoccupied-to-occupied-delay 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0011) PIRUnoccupiedToOccupiedThreshold + "DUT reads from the TH the (0x0012) PIRUnoccupiedToOccupiedThreshold optional attribute, if PIR sensor" PICS: OCC.C.A0012 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read pir-unoccupied-to-occupied-threshold 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0010) + "DUT reads from the TH the (0x0020) UltrasonicOccupiedToUnoccupiedDelay optional attribute, if ultrasonic sensor" PICS: OCC.C.A0020 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read ultrasonic-occupied-to-unoccupied-delay 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0011) + "DUT reads from the TH the (0x0021) UltrasonicUnoccupiedToOccupiedDelay optional attribute, if ultrasonic sensor" PICS: OCC.C.A0021 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read ultrasonic-unoccupied-to-occupied-delay 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0011) + "DUT reads from the TH the (0x0022) UltrasonicUnoccupiedToOccupiedThreshold optional attribute, if ultrasonic sensor" PICS: OCC.C.A0022 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read ultrasonic-unoccupied-to-occupied-threshold 1 1 + + Verify in TH all-clusters-app log + General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0010) + "DUT reads from the TH the (0x0030) PhysicalContactOccupiedToUnoccupiedDelay optional attribute, if Physical Contact sensor" PICS: OCC.C.A0030 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read physical-contact-occupied-to-unoccupied-delay 1 1 + + Verify in TH all-clusters-app log General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0011) + "DUT reads from the TH the (0x0031) PhysicalContactUnoccupiedToOccupiedDelay optional attribute, if Physical Contact sensor" PICS: OCC.C.A0031 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read physical-contact-unoccupied-to-occupied-delay 1 1 + + Verify in TH all-clusters-app log General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: - "DUT reads from the TH the (0x0011) + "DUT reads from the TH the (0x0032) PhysicalContactUnoccupiedToOccupiedThreshold optional attribute, if Physical Contact sensor" PICS: OCC.C.A0032 verification: | + This is an Optional attribute, so its not compulsory to get the expected outcome + + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read physical-contact-unoccupied-to-occupied-threshold 1 1 + + Verify in TH all-clusters-app log General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml index 5b97b4f2da56ef..31fe11b01b04d3 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_3.yaml @@ -33,6 +33,8 @@ tests: verification: | ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + Verify on the TH Log: + [1648461912.765825][9300:9306] CHIP:DMG: } [1648461912.766013][9300:9306] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3082917122 [1648461912.766089][9300:9306] CHIP:TOO: occupancy sensor type: 0 @@ -43,7 +45,8 @@ tests: verification: | ./chip-tool occupancysensing read occupancy-sensor-type-bitmap 1 1 + Verify on the TH Log: + [1648461918.499009][9307:9312] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002 DataVersion: 3082917122 [1648461918.499082][9307:9312] CHIP:TOO: occupancy sensor type bitmap: 1 - [1648461918.499192][9307:9312] CHIP:EM: Sending Standalone Ack for MessageCounter:14798084 on exchange 49320i disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml index aab2f74c041c97..ec846ae96aed26 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_2_4.yaml @@ -31,8 +31,11 @@ tests: - label: "DUT reads OccupancySensorType attribute from TH" PICS: OCC.C.A0001 verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read occupancy-sensor-type 1 1 + Verify in TH all-clusters-app log + [1648461912.765825][9300:9306] CHIP:DMG: } [1648461912.766013][9300:9306] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0001 DataVersion: 3082917122 [1648461912.766089][9300:9306] CHIP:TOO: occupancy sensor type: 0 @@ -42,8 +45,11 @@ tests: - label: "DUT reads OccupancySensorTypeBitmap attribute from TH" PICS: OCC.C.A0002 verification: | + verify on Reference app receives the right response for the data sent in the below commands ./chip-tool occupancysensing read occupancy-sensor-type-bitmap 1 1 + Verify in TH all-clusters-app log + [1648461918.499009][9307:9312] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0002 DataVersion: 3082917122 [1648461918.499082][9307:9312] CHIP:TOO: occupancy sensor type bitmap: 1 [1648461918.499192][9307:9312] CHIP:EM: Sending Standalone Ack for MessageCounter:14798084 on exchange 49320i diff --git a/src/app/tests/suites/certification/Test_TC_OCC_3_2.yaml b/src/app/tests/suites/certification/Test_TC_OCC_3_2.yaml index 490f4373385776..a4db8a4b7e940e 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_3_2.yaml @@ -29,25 +29,13 @@ tests: - label: "DUT reads Occupancy attribute from TH" PICS: OCC.C.A0000 verification: | - ./chip-tool occupancysensing read occupancy 1 1 + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool occupancysensing read occupancy 1 1 - [1646207231.401268][2190:2190] CHIP:DMG: ReadRequestMessage = - [1646207231.401302][2190:2190] CHIP:DMG: { - [1646207231.401330][2190:2190] CHIP:DMG: AttributePathIBs = - [1646207231.401370][2190:2190] CHIP:DMG: [ - [1646207231.401402][2190:2190] CHIP:DMG: AttributePathIB = - [1646207231.401459][2190:2190] CHIP:DMG: { - [1646207231.401514][2190:2190] CHIP:DMG: Endpoint = 0x1, - [1646207231.401554][2190:2190] CHIP:DMG: Cluster = 0x406, - [1646207231.401597][2190:2190] CHIP:DMG: Attribute = 0x0000_0000, - [1646207231.401635][2190:2190] CHIP:DMG: } - [1646207231.401672][2190:2190] CHIP:DMG: - [1646207231.401705][2190:2190] CHIP:DMG: ], - [1646207231.401739][2190:2190] CHIP:DMG: - [1646207231.401771][2190:2190] CHIP:DMG: isFabricFiltered = false, - [1646207231.401803][2190:2190] CHIP:DMG: InteractionModelRevision = 1 - [1646207231.401832][2190:2190] CHIP:DMG: }, - [1646207231.401908][2190:2190] CHIP:DMG: IM RH moving to [GeneratingReports] + Verify in TH all-clusters-app log + + [1648461864.548948][9281:9286] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 3082917122 + [1648461864.549008][9281:9286] CHIP:TOO: occupancy: 0 disabled: true - label: "Operate on TH to change the occupancy status" @@ -59,23 +47,11 @@ tests: - label: "after a few seconds, DUT reads Occupancy attribute from TH" PICS: OCC.C.A0000 verification: | - ./chip-tool occupancysensing read occupancy 1 1 + verify on Reference app receives the right response for the data sent in the below commands + ./chip-tool occupancysensing read occupancy 1 1 + + Verify in TH all-clusters-app log - [1646207231.401268][2190:2190] CHIP:DMG: ReadRequestMessage = - [1646207231.401302][2190:2190] CHIP:DMG: { - [1646207231.401330][2190:2190] CHIP:DMG: AttributePathIBs = - [1646207231.401370][2190:2190] CHIP:DMG: [ - [1646207231.401402][2190:2190] CHIP:DMG: AttributePathIB = - [1646207231.401459][2190:2190] CHIP:DMG: { - [1646207231.401514][2190:2190] CHIP:DMG: Endpoint = 0x1, - [1646207231.401554][2190:2190] CHIP:DMG: Cluster = 0x406, - [1646207231.401597][2190:2190] CHIP:DMG: Attribute = 0x0000_0000, - [1646207231.401635][2190:2190] CHIP:DMG: } - [1646207231.401672][2190:2190] CHIP:DMG: - [1646207231.401705][2190:2190] CHIP:DMG: ], - [1646207231.401739][2190:2190] CHIP:DMG: - [1646207231.401771][2190:2190] CHIP:DMG: isFabricFiltered = false, - [1646207231.401803][2190:2190] CHIP:DMG: InteractionModelRevision = 1 - [1646207231.401832][2190:2190] CHIP:DMG: }, - [1646207231.401908][2190:2190] CHIP:DMG: IM RH moving to [GeneratingReports] + [1648461864.548948][9281:9286] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0406 Attribute 0x0000_0000 DataVersion: 3082917122 + [1648461864.549008][9281:9286] CHIP:TOO: occupancy: 1 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OO_3_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_3_1.yaml index d5684a566b51a8..483769219a5a56 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.3.1. [TC-OO-3.1] Attributes with client as DUT +name: 4.3.1. [TC-OO-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -22,78 +22,385 @@ config: tests: - label: - "DUT reads all supported mandatory attributes from TH once at a time - in a manufacturer specific order" + "DUT reads all supported mandatory attributes from TH one at a time in + a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received read of OnOff (id 0) looks like this: - - [1646100811.596736][33190:33190] CHIP:IM: Received Read request - [1646100811.596807][33190:33190] CHIP:DMG: ReadRequestMessage = - [1646100811.596833][33190:33190] CHIP:DMG: { - [1646100811.596855][33190:33190] CHIP:DMG: AttributePathIBs = - [1646100811.596888][33190:33190] CHIP:DMG: [ - [1646100811.596912][33190:33190] CHIP:DMG: AttributePathIB = - [1646100811.596955][33190:33190] CHIP:DMG: { - [1646100811.596985][33190:33190] CHIP:DMG: Endpoint = 0x1, - [1646100811.597019][33190:33190] CHIP:DMG: Cluster = 0x6, - [1646100811.597062][33190:33190] CHIP:DMG: Attribute = 0x0000_0000, - [1646100811.597094][33190:33190] CHIP:DMG: } - [1646100811.597169][33190:33190] CHIP:DMG: - [1646100811.597209][33190:33190] CHIP:DMG: ], - [1646100811.597237][33190:33190] CHIP:DMG: - [1646100811.597272][33190:33190] CHIP:DMG: isFabricFiltered = false, - [1646100811.597297][33190:33190] CHIP:DMG: InteractionModelRevision = 1 - [1646100811.597320][33190:33190] CHIP:DMG: }, - [1646100811.597401][33190:33190] CHIP:DMG: IM RH moving to [GeneratingReports] - [1646100811.598115][33190:33190] CHIP:DMG: Cluster 6, Attribute 0 is dirty - [1646100811.598165][33190:33190] CHIP:DMG: Reading attribute: Cluster=0x0000_0006 Endpoint=1 AttributeId=0x0000_0000 (expanded=0) - [1646100811.598196][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=v + verify on Reference app receives the right response for the data sent in the below commands + + ./chip-tool onoff read on-off 1 1 + + Verify in TH all-clusters-app log + + [1650535426.653349][3678:3678] CHIP:IM: Received Read request + [1650535426.653451][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535426.653511][3678:3678] CHIP:DMG: { + [1650535426.653565][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535426.653629][3678:3678] CHIP:DMG: [ + [1650535426.653688][3678:3678] CHIP:DMG: AttributePathIB = + [1650535426.653762][3678:3678] CHIP:DMG: { + [1650535426.653832][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535426.653904][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535426.653980][3678:3678] CHIP:DMG: Attribute = 0x0000_0000, + [1650535426.654060][3678:3678] CHIP:DMG: } + [1650535426.654136][3678:3678] CHIP:DMG: + [1650535426.654199][3678:3678] CHIP:DMG: ], + [1650535426.654268][3678:3678] CHIP:DMG: + [1650535426.654331][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535426.654395][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535426.654455][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read global-scene-control 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535491.289766][3678:3678] CHIP:IM: Received Read request + [1650535491.289857][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535491.289911][3678:3678] CHIP:DMG: { + [1650535491.289957][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535491.290013][3678:3678] CHIP:DMG: [ + [1650535491.290064][3678:3678] CHIP:DMG: AttributePathIB = + [1650535491.290128][3678:3678] CHIP:DMG: { + [1650535491.290187][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535491.290254][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535491.290321][3678:3678] CHIP:DMG: Attribute = 0x0000_4000, + [1650535491.290382][3678:3678] CHIP:DMG: } + [1650535491.290447][3678:3678] CHIP:DMG: + [1650535491.290504][3678:3678] CHIP:DMG: ], + [1650535491.290564][3678:3678] CHIP:DMG: + [1650535491.290618][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535491.290673][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535491.290722][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read on-time 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535552.255428][3678:3678] CHIP:IM: Received Read request + [1650535552.255491][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535552.255526][3678:3678] CHIP:DMG: { + [1650535552.255573][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535552.255610][3678:3678] CHIP:DMG: [ + [1650535552.255653][3678:3678] CHIP:DMG: AttributePathIB = + [1650535552.255695][3678:3678] CHIP:DMG: { + [1650535552.255748][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535552.255793][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535552.255849][3678:3678] CHIP:DMG: Attribute = 0x0000_4001, + [1650535552.255903][3678:3678] CHIP:DMG: } + [1650535552.255945][3678:3678] CHIP:DMG: + [1650535552.255994][3678:3678] CHIP:DMG: ], + [1650535552.256077][3678:3678] CHIP:DMG: + [1650535552.256113][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535552.256160][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535552.256192][3678:3678] CHIP:DMG: }, + + + ./chip-tool onoff read off-wait-time 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535606.512822][3678:3678] CHIP:IM: Received Read request + [1650535606.512929][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535606.512993][3678:3678] CHIP:DMG: { + [1650535606.513095][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535606.513164][3678:3678] CHIP:DMG: [ + [1650535606.513225][3678:3678] CHIP:DMG: AttributePathIB = + [1650535606.513297][3678:3678] CHIP:DMG: { + [1650535606.513366][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535606.513442][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535606.513527][3678:3678] CHIP:DMG: Attribute = 0x0000_4002, + [1650535606.513601][3678:3678] CHIP:DMG: } + [1650535606.513677][3678:3678] CHIP:DMG: + [1650535606.513735][3678:3678] CHIP:DMG: ], + [1650535606.513805][3678:3678] CHIP:DMG: + [1650535606.513869][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535606.513931][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535606.513990][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read start-up-on-off 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535667.846050][3678:3678] CHIP:IM: Received Read request + [1650535667.846118][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535667.846156][3678:3678] CHIP:DMG: { + [1650535667.846189][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535667.846229][3678:3678] CHIP:DMG: [ + [1650535667.846265][3678:3678] CHIP:DMG: AttributePathIB = + [1650535667.846428][3678:3678] CHIP:DMG: { + [1650535667.846473][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535667.846521][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535667.846569][3678:3678] CHIP:DMG: Attribute = 0x0000_4003, + [1650535667.846613][3678:3678] CHIP:DMG: } + [1650535667.846655][3678:3678] CHIP:DMG: + [1650535667.846695][3678:3678] CHIP:DMG: ], + [1650535667.846738][3678:3678] CHIP:DMG: + [1650535667.846776][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535667.846814][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535667.846849][3678:3678] CHIP:DMG: }, disabled: true - label: - "DUT reads all supported optional attributes from TH once at a time in + "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - see above + This cluster doesn't have any optional attribute disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" + verification: | + On TestHarnes (all-cluster-app) a received write request looks like this + + + + ./chip-tool onoff write on-time 1 1 1 + + Verify in TH all-clusters-app log + + [1650536057.105214][3678:3678] CHIP:DMG: WriteRequestMessage = + [1650536057.105276][3678:3678] CHIP:DMG: { + [1650536057.105332][3678:3678] CHIP:DMG: suppressResponse = false, + [1650536057.105396][3678:3678] CHIP:DMG: timedRequest = false, + [1650536057.105456][3678:3678] CHIP:DMG: AttributeDataIBs = + [1650536057.105530][3678:3678] CHIP:DMG: [ + [1650536057.105590][3678:3678] CHIP:DMG: AttributeDataIB = + [1650536057.105664][3678:3678] CHIP:DMG: { + [1650536057.105733][3678:3678] CHIP:DMG: AttributePathIB = + [1650536057.105809][3678:3678] CHIP:DMG: { + [1650536057.105894][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650536057.105983][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650536057.106065][3678:3678] CHIP:DMG: Attribute = 0x0000_4001, + [1650536057.106143][3678:3678] CHIP:DMG: } + [1650536057.106222][3678:3678] CHIP:DMG: + [1650536057.106307][3678:3678] CHIP:DMG: Data = 1, + [1650536057.106391][3678:3678] CHIP:DMG: }, + [1650536057.106465][3678:3678] CHIP:DMG: + [1650536057.106497][3678:3678] CHIP:DMG: ], + [1650536057.106537][3678:3678] CHIP:DMG: + [1650536057.106570][3678:3678] CHIP:DMG: moreChunkedMessages = false, + [1650536057.106610][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650536057.106642][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff write off-wait-time 22 1 1 + + Verify in TH all-clusters-app log + + [1650536319.716722][3678:3678] CHIP:IM: Received Write request + [1650536319.716777][3678:3678] CHIP:DMG: IM WH moving to [Initialized] + [1650536319.716881][3678:3678] CHIP:DMG: WriteRequestMessage = + [1650536319.716942][3678:3678] CHIP:DMG: { + [1650536319.717000][3678:3678] CHIP:DMG: suppressResponse = false, + [1650536319.717108][3678:3678] CHIP:DMG: timedRequest = false, + [1650536319.717170][3678:3678] CHIP:DMG: AttributeDataIBs = + [1650536319.717243][3678:3678] CHIP:DMG: [ + [1650536319.717303][3678:3678] CHIP:DMG: AttributeDataIB = + [1650536319.717375][3678:3678] CHIP:DMG: { + [1650536319.717442][3678:3678] CHIP:DMG: AttributePathIB = + [1650536319.717516][3678:3678] CHIP:DMG: { + [1650536319.717593][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650536319.717681][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650536319.717768][3678:3678] CHIP:DMG: Attribute = 0x0000_4002, + [1650536319.717851][3678:3678] CHIP:DMG: } + [1650536319.717938][3678:3678] CHIP:DMG: + [1650536319.718017][3678:3678] CHIP:DMG: Data = 22, + [1650536319.718085][3678:3678] CHIP:DMG: }, + [1650536319.718149][3678:3678] CHIP:DMG: + [1650536319.718192][3678:3678] CHIP:DMG: ], + + + + ./chip-tool onoff write start-up-on-off 60 1 1 + + Verify in TH all-clusters-app log + + [1650536431.411044][3678:3678] CHIP:DMG: WriteRequestMessage = + [1650536431.411090][3678:3678] CHIP:DMG: { + [1650536431.411132][3678:3678] CHIP:DMG: suppressResponse = false, + [1650536431.411180][3678:3678] CHIP:DMG: timedRequest = false, + [1650536431.411224][3678:3678] CHIP:DMG: AttributeDataIBs = + [1650536431.411278][3678:3678] CHIP:DMG: [ + [1650536431.411323][3678:3678] CHIP:DMG: AttributeDataIB = + [1650536431.411386][3678:3678] CHIP:DMG: { + [1650536431.411434][3678:3678] CHIP:DMG: AttributePathIB = + [1650536431.411490][3678:3678] CHIP:DMG: { + [1650536431.411551][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650536431.411617][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650536431.411683][3678:3678] CHIP:DMG: Attribute = 0x0000_4003, + [1650536431.411741][3678:3678] CHIP:DMG: } + [1650536431.411799][3678:3678] CHIP:DMG: + [1650536431.411863][3678:3678] CHIP:DMG: Data = 60, + [1650536431.411919][3678:3678] CHIP:DMG: }, + [1650536431.411972][3678:3678] CHIP:DMG: + [1650536431.412015][3678:3678] CHIP:DMG: ], + [1650536431.412068][3678:3678] CHIP:DMG: + [1650536431.412113][3678:3678] CHIP:DMG: moreChunkedMessages = false, + [1650536431.412165][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650536431.412214][3678:3678] CHIP:DMG: }, + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific order" + verification: | + This cluster doesn't have any optional attributes + disabled: true + + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server-side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH again" + verification: | + verify on Reference app receives the right response for the data sent in the below commands + + + + + ./chip-tool onoff read attribute-list 1 1 + + Verify in TH all-clusters-app log + + [1654242750470] [91276:3990451] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFB DataVersion: 2879590817 + [1654242750471] [91276:3990451] CHIP: [TOO] AttributeList: 6 entries + [1654242750471] [91276:3990451] CHIP: [TOO] [1]: 0 + [1654242750471] [91276:3990451] CHIP: [TOO] [2]: 65528 + [1654242750471] [91276:3990451] CHIP: [TOO] [3]: 65529 + [1654242750471] [91276:3990451] CHIP: [TOO] [4]: 65531 + [1654242750471] [91276:3990451] CHIP: [TOO] [5]: 65532 + [1654242750471] [91276:3990451] CHIP: [TOO] [6]: 65533 + + + ./chip-tool onoff read on-off 1 1 + + Verify in TH all-clusters-app log + + [1650535426.653349][3678:3678] CHIP:IM: Received Read request + [1650535426.653451][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535426.653511][3678:3678] CHIP:DMG: { + [1650535426.653565][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535426.653629][3678:3678] CHIP:DMG: [ + [1650535426.653688][3678:3678] CHIP:DMG: AttributePathIB = + [1650535426.653762][3678:3678] CHIP:DMG: { + [1650535426.653832][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535426.653904][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535426.653980][3678:3678] CHIP:DMG: Attribute = 0x0000_0000, + [1650535426.654060][3678:3678] CHIP:DMG: } + [1650535426.654136][3678:3678] CHIP:DMG: + [1650535426.654199][3678:3678] CHIP:DMG: ], + [1650535426.654268][3678:3678] CHIP:DMG: + [1650535426.654331][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535426.654395][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535426.654455][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read global-scene-control 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535491.289766][3678:3678] CHIP:IM: Received Read request + [1650535491.289857][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535491.289911][3678:3678] CHIP:DMG: { + [1650535491.289957][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535491.290013][3678:3678] CHIP:DMG: [ + [1650535491.290064][3678:3678] CHIP:DMG: AttributePathIB = + [1650535491.290128][3678:3678] CHIP:DMG: { + [1650535491.290187][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535491.290254][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535491.290321][3678:3678] CHIP:DMG: Attribute = 0x0000_4000, + [1650535491.290382][3678:3678] CHIP:DMG: } + [1650535491.290447][3678:3678] CHIP:DMG: + [1650535491.290504][3678:3678] CHIP:DMG: ], + [1650535491.290564][3678:3678] CHIP:DMG: + [1650535491.290618][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535491.290673][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535491.290722][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read on-time 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535552.255428][3678:3678] CHIP:IM: Received Read request + [1650535552.255491][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535552.255526][3678:3678] CHIP:DMG: { + [1650535552.255573][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535552.255610][3678:3678] CHIP:DMG: [ + [1650535552.255653][3678:3678] CHIP:DMG: AttributePathIB = + [1650535552.255695][3678:3678] CHIP:DMG: { + [1650535552.255748][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535552.255793][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535552.255849][3678:3678] CHIP:DMG: Attribute = 0x0000_4001, + [1650535552.255903][3678:3678] CHIP:DMG: } + [1650535552.255945][3678:3678] CHIP:DMG: + [1650535552.255994][3678:3678] CHIP:DMG: ], + [1650535552.256077][3678:3678] CHIP:DMG: + [1650535552.256113][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535552.256160][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535552.256192][3678:3678] CHIP:DMG: }, + + + ./chip-tool onoff read off-wait-time 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535606.512822][3678:3678] CHIP:IM: Received Read request + [1650535606.512929][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535606.512993][3678:3678] CHIP:DMG: { + [1650535606.513095][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535606.513164][3678:3678] CHIP:DMG: [ + [1650535606.513225][3678:3678] CHIP:DMG: AttributePathIB = + [1650535606.513297][3678:3678] CHIP:DMG: { + [1650535606.513366][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535606.513442][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535606.513527][3678:3678] CHIP:DMG: Attribute = 0x0000_4002, + [1650535606.513601][3678:3678] CHIP:DMG: } + [1650535606.513677][3678:3678] CHIP:DMG: + [1650535606.513735][3678:3678] CHIP:DMG: ], + [1650535606.513805][3678:3678] CHIP:DMG: + [1650535606.513869][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535606.513931][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535606.513990][3678:3678] CHIP:DMG: }, + + ./chip-tool onoff read start-up-on-off 1 1 + + Verify in TH all-clusters-app log + + [...] + [1650535667.846050][3678:3678] CHIP:IM: Received Read request + [1650535667.846118][3678:3678] CHIP:DMG: ReadRequestMessage = + [1650535667.846156][3678:3678] CHIP:DMG: { + [1650535667.846189][3678:3678] CHIP:DMG: AttributePathIBs = + [1650535667.846229][3678:3678] CHIP:DMG: [ + [1650535667.846265][3678:3678] CHIP:DMG: AttributePathIB = + [1650535667.846428][3678:3678] CHIP:DMG: { + [1650535667.846473][3678:3678] CHIP:DMG: Endpoint = 0x1, + [1650535667.846521][3678:3678] CHIP:DMG: Cluster = 0x6, + [1650535667.846569][3678:3678] CHIP:DMG: Attribute = 0x0000_4003, + [1650535667.846613][3678:3678] CHIP:DMG: } + [1650535667.846655][3678:3678] CHIP:DMG: + [1650535667.846695][3678:3678] CHIP:DMG: ], + [1650535667.846738][3678:3678] CHIP:DMG: + [1650535667.846776][3678:3678] CHIP:DMG: isFabricFiltered = true, + [1650535667.846814][3678:3678] CHIP:DMG: InteractionModelRevision = 1 + [1650535667.846849][3678:3678] CHIP:DMG: }," + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received write request looks like this (f.e OnTime (id 16385) value 60): - - [1646100983.669189][33190:33190] CHIP:IM: Received Write request - [1646100983.669246][33190:33190] CHIP:DMG: IM WH moving to [Initialized] - [1646100983.669312][33190:33190] CHIP:DMG: WriteRequestMessage = - [1646100983.669345][33190:33190] CHIP:DMG: { - [1646100983.669372][33190:33190] CHIP:DMG: timedRequest = false, - [1646100983.669400][33190:33190] CHIP:DMG: AttributeDataIBs = - [1646100983.669455][33190:33190] CHIP:DMG: [ - [1646100983.669483][33190:33190] CHIP:DMG: AttributeDataIB = - [1646100983.669527][33190:33190] CHIP:DMG: { - [1646100983.669560][33190:33190] CHIP:DMG: AttributePathIB = - [1646100983.669606][33190:33190] CHIP:DMG: { - [1646100983.669644][33190:33190] CHIP:DMG: Endpoint = 0x1, - [1646100983.669694][33190:33190] CHIP:DMG: Cluster = 0x6, - [1646100983.669741][33190:33190] CHIP:DMG: Attribute = 0x0000_4001, - [1646100983.669777][33190:33190] CHIP:DMG: } - [1646100983.669824][33190:33190] CHIP:DMG: - [1646100983.669875][33190:33190] CHIP:DMG: Data = 60, - [1646100983.669916][33190:33190] CHIP:DMG: }, - [1646100983.669960][33190:33190] CHIP:DMG: - [1646100983.669987][33190:33190] CHIP:DMG: ], - [1646100983.670031][33190:33190] CHIP:DMG: - [1646100983.670060][33190:33190] CHIP:DMG: moreChunkedMessages = false, - [1646100983.670098][33190:33190] CHIP:DMG: InteractionModelRevision = 1 - [1646100983.670125][33190:33190] CHIP:DMG: }, - [1646100983.670234][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0006 e=1 p=o - [1646100983.670301][33190:33190] CHIP:DMG: Endpoint 1, Cluster 0x0000_0006 update version to 6ba329dc + This cluster doesn't have any optional attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on - the TH once at a time in a manufacturer specific order" + the TH one at a time in a manufacturer specific order" verification: | - see above + This cluster doesn't have any optional attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OO_3_2.yaml b/src/app/tests/suites/certification/Test_TC_OO_3_2.yaml index 94da14b81684c2..d541845b6e3d5e 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_3_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.3.2. [TC-OO-3.2] Functionality with client as DUT +name: 4.3.2. [TC-OO-3.2] Functionality with client as DUT config: nodeId: 0x12344321 @@ -28,6 +28,9 @@ tests: ./chip-tool onoff off 1 1 + + Verify in TH all-clusters-app log + [1650537121.464763][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650537121.464818][3678:3678] CHIP:DMG: { [1650537121.464866][3678:3678] CHIP:DMG: suppressResponse = false, @@ -66,6 +69,9 @@ tests: ./chip-tool onoff on 1 1 + + Verify in TH all-clusters-app log + [1650537309.217556][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650537309.217647][3678:3678] CHIP:DMG: { [1650537309.217706][3678:3678] CHIP:DMG: suppressResponse = false, @@ -104,6 +110,9 @@ tests: ./chip-tool onoff toggle 1 1 + + Verify in TH all-clusters-app log + [1650537502.260837][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650537502.260877][3678:3678] CHIP:DMG: { [1650537502.260911][3678:3678] CHIP:DMG: suppressResponse = false, @@ -141,6 +150,10 @@ tests: verification: | On TestHarnes (all-cluster-app) a received OffWithEffect command with f.e. 1 for EffectIdentifier and 0 for EffectVariant looks like this: ./chip-tool onoff off-with-effect 1 2 1 1 + + + Verify in TH all-clusters-app log + [1650538107.639049][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650538107.639115][3678:3678] CHIP:DMG: { [1650538107.639154][3678:3678] CHIP:DMG: suppressResponse = false, @@ -188,6 +201,9 @@ tests: ./chip-tool onoff on-with-recall-global-scene 1 1 + + Verify in TH all-clusters-app log + [1650537790.690122][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650537790.690188][3678:3678] CHIP:DMG: { [1650537790.690244][3678:3678] CHIP:DMG: suppressResponse = false, @@ -229,6 +245,9 @@ tests: ./chip-tool onoff on-with-timed-off 0 120 5 1 1 + + Verify in TH all-clusters-app log + [1650538315.673606][3678:3678] CHIP:DMG: InvokeRequestMessage = [1650538315.673697][3678:3678] CHIP:DMG: { [1650538315.673755][3678:3678] CHIP:DMG: suppressResponse = false, diff --git a/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml index af7af8d67ba797..5a147663c98a11 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_3_1.yaml @@ -25,8 +25,12 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pumpconfigurationandcontrol read max-pressure 1 1 + Verify in TH all-clusters-app log + [1651148412.273866][2336:2336] CHIP:IM: Received Read request [1651148412.273922][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148412.273950][2336:2336] CHIP:DMG: { @@ -48,6 +52,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read max-speed 1 1 + Verify in TH all-clusters-app log + [1651148440.471321][2336:2336] CHIP:IM: Received Read request [1651148440.471389][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148440.471416][2336:2336] CHIP:DMG: { @@ -70,6 +76,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read max-flow 1 1 + Verify in TH all-clusters-app log + [1651148472.518933][2336:2336] CHIP:IM: Received Read request [1651148472.518993][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148472.519023][2336:2336] CHIP:DMG: { @@ -92,6 +100,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read effective-operation-mode 1 1 + Verify in TH all-clusters-app log + [1651570515.206834][9246:9246] CHIP:IM: Received Read request [1651570515.206917][9246:9246] CHIP:DMG: ReadRequestMessage = [1651570515.206966][9246:9246] CHIP:DMG: { @@ -112,6 +122,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read effective-control-mode 1 1 + Verify in TH all-clusters-app log + [1651570975.559213][9246:9246] CHIP:IM: Received Read request [1651570975.559268][9246:9246] CHIP:DMG: ReadRequestMessage = [1651570975.559295][9246:9246] CHIP:DMG: { @@ -129,6 +141,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read capacity 1 1 + Verify in TH all-clusters-app log + [1651571009.295069][9246:9246] CHIP:IM: Received Read request [1651571009.295158][9246:9246] CHIP:DMG: ReadRequestMessage = [1651571009.295203][9246:9246] CHIP:DMG: { @@ -146,6 +160,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read operation-mode 1 1 + Verify in TH all-clusters-app log + [1651571334.617100][9337:9337] CHIP:IM: Received Read request [1651571334.617155][9337:9337] CHIP:DMG: ReadRequestMessage = [1651571334.617181][9337:9337] CHIP:DMG: { @@ -166,7 +182,11 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - "./chip-tool pumpconfigurationandcontrol read min-const-pressure 1 1 + verify on Reference app receives the right response for the data sent in the above commands + + ./chip-tool pumpconfigurationandcontrol read min-const-pressure 1 1 + + Verify in TH all-clusters-app log [1651148507.711384][2336:2336] CHIP:IM: Received Read request [1651148507.711452][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -188,7 +208,9 @@ tests: [1651148507.712016][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] [1651148507.712119][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" - "./chip-tool pumpconfigurationandcontrol read max-const-pressure 1 1 + ./chip-tool pumpconfigurationandcontrol read max-const-pressure 1 1 + + Verify in TH all-clusters-app log [1651148537.336390][2336:2336] CHIP:IM: Received Read request [1651148537.336445][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -210,7 +232,9 @@ tests: [1651148537.337002][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] [1651148537.337095][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" - "./chip-tool pumpconfigurationandcontrol read min-comp-pressure 1 1 + ./chip-tool pumpconfigurationandcontrol read min-comp-pressure 1 1 + + Verify in TH all-clusters-app log [1651148566.361843][2336:2336] CHIP:IM: Received Read request [1651148566.361897][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -228,8 +252,11 @@ tests: [1651148566.362201][2336:2336] CHIP:DMG: [1651148566.362226][2336:2336] CHIP:DMG: isFabricFiltered = true, [1651148566.362251][2336:2336] CHIP:DMG: InteractionModelRevision = 1 - [1651148566.362274][2336:2336] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read max-comp-pressure 1 1 + [1651148566.362274][2336:2336] CHIP:DMG: } + + ./chip-tool pumpconfigurationandcontrol read max-comp-pressure 1 1 + + Verify in TH all-clusters-app log [1651148595.417817][2336:2336] CHIP:IM: Received Read request [1651148595.417901][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -250,7 +277,10 @@ tests: [1651148595.418528][2336:2336] CHIP:DMG: }, [1651148595.418660][2336:2336] CHIP:DMG: IM RH moving to [GeneratingReports] [1651148595.418781][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0" - "./chip-tool pumpconfigurationandcontrol read min-const-speed 1 1 + + ./chip-tool pumpconfigurationandcontrol read min-const-speed 1 1 + + Verify in TH all-clusters-app log [1651148626.823098][2336:2336] CHIP:IM: Received Read request [1651148626.823201][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -269,7 +299,10 @@ tests: [1651148626.823623][2336:2336] CHIP:DMG: isFabricFiltered = true, [1651148626.823652][2336:2336] CHIP:DMG: InteractionModelRevision = 1 [1651148626.823678][2336:2336] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read max-const-speed 1 1 + + ./chip-tool pumpconfigurationandcontrol read max-const-speed 1 1 + + Verify in TH all-clusters-app log [1651564124.345958][8748:8748] CHIP:IM: Received Read request [1651564124.346033][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -289,7 +322,10 @@ tests: [1651564124.346787][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564124.346826][8748:8748] CHIP:DMG: }, [1651564124.346941][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" - "./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + + ./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + + Verify in TH all-clusters-app log [1651564163.319315][8748:8748] CHIP:IM: Received Read request [1651564163.319399][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -311,7 +347,9 @@ tests: [1651564163.320291][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" - "./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + ./chip-tool pumpconfigurationandcontrol read min-const-flow 1 1 + + Verify in TH all-clusters-app log [1651564163.319315][8748:8748] CHIP:IM: Received Read request [1651564163.319399][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -331,7 +369,10 @@ tests: [1651564163.320122][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564163.320165][8748:8748] CHIP:DMG: }, [1651564163.320291][8748:8748] CHIP:DMG: IM RH moving to [GeneratingReports]" - "./chip-tool pumpconfigurationandcontrol read max-const-flow 1 1 + + ./chip-tool pumpconfigurationandcontrol read max-const-flow 1 1 + + Verify in TH all-clusters-app log [1651564281.857728][8748:8748] CHIP:IM: Received Read request [1651564281.857784][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -350,7 +391,10 @@ tests: [1651564281.858157][8748:8748] CHIP:DMG: isFabricFiltered = true, [1651564281.858183][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564281.858206][8748:8748] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read min-const-temp 1 1 + + ./chip-tool pumpconfigurationandcontrol read min-const-temp 1 1 + + Verify in TH all-clusters-app log [1651564317.488333][8748:8748] CHIP:IM: Received Read request [1651564317.488417][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -369,8 +413,10 @@ tests: [1651564317.489011][8748:8748] CHIP:DMG: isFabricFiltered = true, [1651564317.489038][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564317.489063][8748:8748] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read max-const-temp 1 1 + ./chip-tool pumpconfigurationandcontrol read max-const-temp 1 1 + + Verify in TH all-clusters-app log [1651564350.267434][8748:8748] CHIP:IM: Received Read request [1651564350.267489][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -389,7 +435,10 @@ tests: [1651564350.267945][8748:8748] CHIP:DMG: isFabricFiltered = true, [1651564350.267970][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564350.268092][8748:8748] CHIP:DMG: }," - " ./chip-tool pumpconfigurationandcontrol read pump-status 1 1 + + ./chip-tool pumpconfigurationandcontrol read pump-status 1 1 + + Verify in TH all-clusters-app log [1651564415.272861][8748:8748] CHIP:IM: Received Read request [1651564415.272946][8748:8748] CHIP:DMG: ReadRequestMessage = @@ -409,7 +458,9 @@ tests: [1651564415.273562][8748:8748] CHIP:DMG: InteractionModelRevision = 1 [1651564415.273600][8748:8748] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read speed 1 1 + ./chip-tool pumpconfigurationandcontrol read speed 1 1 + + Verify in TH all-clusters-app log [1651571041.252491][9246:9246] CHIP:IM: Received Read request [1651571041.252548][9246:9246] CHIP:DMG: ReadRequestMessage = @@ -429,7 +480,10 @@ tests: [1651571041.253016][9246:9246] CHIP:DMG: InteractionModelRevision = 1 [1651571041.253049][9246:9246] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read lifetime-running-hours 1 1 + ./chip-tool pumpconfigurationandcontrol read lifetime-running-hours 1 1 + + Verify in TH all-clusters-app log + [1651571194.810592][9337:9337] CHIP:IM: Received Read request [1651571194.810647][9337:9337] CHIP:DMG: ReadRequestMessage = [1651571194.810673][9337:9337] CHIP:DMG: { @@ -447,7 +501,10 @@ tests: [1651571194.811005][9337:9337] CHIP:DMG: isFabricFiltered = true, [1651571194.811030][9337:9337] CHIP:DMG: InteractionModelRevision = 1 [1651571194.811053][9337:9337] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read power 1 1 + + ./chip-tool pumpconfigurationandcontrol read power 1 1 + + Verify in TH all-clusters-app log [1651571264.121840][9337:9337] CHIP:IM: Received Read request [1651571264.121896][9337:9337] CHIP:DMG: ReadRequestMessage = @@ -466,7 +523,10 @@ tests: [1651571264.122418][9337:9337] CHIP:DMG: isFabricFiltered = true, [1651571264.122444][9337:9337] CHIP:DMG: InteractionModelRevision = 1 [1651571264.122468][9337:9337] CHIP:DMG: }," - " ./chip-tool pumpconfigurationandcontrol read lifetime-energy-consumed 1 1 + + ./chip-tool pumpconfigurationandcontrol read lifetime-energy-consumed 1 1 + + Verify in TH all-clusters-app log [1651571293.017448][9337:9337] CHIP:IM: Received Read request [1651571293.017534][9337:9337] CHIP:DMG: ReadRequestMessage = @@ -486,7 +546,9 @@ tests: [1651571293.018304][9337:9337] CHIP:DMG: InteractionModelRevision = 1 [1651571293.018348][9337:9337] CHIP:DMG: }," - "./chip-tool pumpconfigurationandcontrol read control-mode 1 1 + ./chip-tool pumpconfigurationandcontrol read control-mode 1 1 + + Verify in TH all-clusters-app log [1651571369.365807][9337:9337] CHIP:IM: Received Read request [1651571369.365907][9337:9337] CHIP:DMG: ReadRequestMessage = @@ -511,8 +573,12 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pumpconfigurationandcontrol write operation-mode 0 1 1 + Verify in TH all-clusters-app log + [1652858465.008652][2107:2107] CHIP:IM: Received Write request [1652858465.008695][2107:2107] CHIP:DMG: IM WH moving to [Initialized] [1652858465.008858][2107:2107] CHIP:DMG: WriteRequestMessage = @@ -546,8 +612,11 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pumpconfigurationandcontrol write control-mode 0 1 1 + Verify in TH all-clusters-app log [1652858653.083434][2107:2107] CHIP:IM: Received Write request [1652858653.083469][2107:2107] CHIP:DMG: IM WH moving to [Initialized] @@ -580,6 +649,8 @@ tests: ./chip-tool pumpconfigurationandcontrol write lifetime-running-hours 1 1 1 + Verify in TH all-clusters-app log + [1652858777.844427][2107:2107] CHIP:IM: Received Write request [1652858777.844450][2107:2107] CHIP:DMG: IM WH moving to [Initialized] [1652858777.844508][2107:2107] CHIP:DMG: WriteRequestMessage = @@ -611,6 +682,7 @@ tests: ./chip-tool pumpconfigurationandcontrol write lifetime-energy-consumed 1 1 1 + Verify in TH all-clusters-app log [1652858844.149759][2107:2107] CHIP:IM: Received Write request [1652858844.149801][2107:2107] CHIP:DMG: IM WH moving to [Initialized] @@ -648,7 +720,12 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | - ./chip-tool pumpconfigurationandcontrol read attribute-list 1 1 + verify on Reference app receives the right response for the data sent in the above commands + + ./chip-tool pumpconfigurationandcontrol read attribute-list 1 1 + + Verify in TH all-clusters-app log + [1654247307401] [91803:4011207] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFFB DataVersion: 3055704159 [1654247307401] [91803:4011207] CHIP: [TOO] AttributeList: 12 entries [1654247307401] [91803:4011207] CHIP: [TOO] [1]: 0 @@ -666,12 +743,17 @@ tests: ./chip-tool pumpconfigurationandcontrol read feature-map 1 1 + + Verify in TH all-clusters-app log + [1656478569086] [49565:5734437] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFFC DataVersion: 1816685251 [1656478569086] [49565:5734437] CHIP: [TOO] FeatureMap: 0 - "./chip-tool pumpconfigurationandcontrol read max-pressure 1 1 + ./chip-tool pumpconfigurationandcontrol read max-pressure 1 1 + + Verify in TH all-clusters-app log [1651148412.273866][2336:2336] CHIP:IM: Received Read request [1651148412.273922][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -694,6 +776,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read max-speed 1 1 + Verify in TH all-clusters-app log + [1651148440.471321][2336:2336] CHIP:IM: Received Read request [1651148440.471389][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148440.471416][2336:2336] CHIP:DMG: { @@ -716,6 +800,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read max-flow 1 1 + Verify in TH all-clusters-app log + [1651148472.518933][2336:2336] CHIP:IM: Received Read request [1651148472.518993][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148472.519023][2336:2336] CHIP:DMG: { @@ -738,6 +824,9 @@ tests: ./chip-tool pumpconfigurationandcontrol read effective-operation-mode 1 1 + Verify in TH all-clusters-app log + + [1651570515.206834][9246:9246] CHIP:IM: Received Read request [1651570515.206917][9246:9246] CHIP:DMG: ReadRequestMessage = [1651570515.206966][9246:9246] CHIP:DMG: { @@ -758,6 +847,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read effective-control-mode 1 1 + Verify in TH all-clusters-app log + [1651570975.559213][9246:9246] CHIP:IM: Received Read request [1651570975.559268][9246:9246] CHIP:DMG: ReadRequestMessage = [1651570975.559295][9246:9246] CHIP:DMG: { @@ -775,6 +866,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read capacity 1 1 + Verify in TH all-clusters-app log + [1651571009.295069][9246:9246] CHIP:IM: Received Read request [1651571009.295158][9246:9246] CHIP:DMG: ReadRequestMessage = [1651571009.295203][9246:9246] CHIP:DMG: { @@ -792,6 +885,8 @@ tests: ./chip-tool pumpconfigurationandcontrol read operation-mode 1 1 + Verify in TH all-clusters-app log + [1651571334.617100][9337:9337] CHIP:IM: Received Read request [1651571334.617155][9337:9337] CHIP:DMG: ReadRequestMessage = [1651571334.617181][9337:9337] CHIP:DMG: { @@ -812,6 +907,8 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + "./chip-tool pumpconfigurationandcontrol read min-const-pressure 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) @@ -869,6 +966,8 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pumpconfigurationandcontrol write control-mode 0 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) diff --git a/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml index 22762869d02923..bd31326c1ab703 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_2_2.yaml @@ -29,6 +29,8 @@ tests: - label: "TH reads from the DUT the MeasuredValue attribute" PICS: PRS.S.A0000 verification: | + Verify on the TH Log: + ./chip-tool pressuremeasurement read measured-value 1 1 CHIP:TOO: MeasuredValue: 0 diff --git a/src/app/tests/suites/certification/Test_TC_PRS_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PRS_3_1.yaml index c098a8ef348a77..bce7b2039dd7e5 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_3_1.yaml @@ -25,8 +25,12 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pressuremeasurement read measured-value 1 1 + Verify in TH all-clusters-app log + [1653992317.047323][2347:2347] CHIP:IM: Received Read request [1653992317.047382][2347:2347] CHIP:DMG: ReadRequestMessage = [1653992317.047457][2347:2347] CHIP:DMG: { @@ -47,6 +51,9 @@ tests: [1653992317.047995][2347:2347] CHIP:DMG: IM RH moving to [GeneratingReports] ./chip-tool pressuremeasurement read min-measured-value 1 1 + + Verify in TH all-clusters-app log + [1653992385.759474][2347:2347] CHIP:IM: Received Read request [1653992385.759533][2347:2347] CHIP:DMG: ReadRequestMessage = [1653992385.759561][2347:2347] CHIP:DMG: { @@ -68,6 +75,8 @@ tests: ./chip-tool pressuremeasurement read max-measured-value 1 1 + Verify in TH all-clusters-app log + [1653992415.580348][2347:2347] CHIP:IM: Received Read request [1653992415.580414][2347:2347] CHIP:DMG: ReadRequestMessage = [1653992415.580442][2347:2347] CHIP:DMG: { @@ -91,7 +100,7 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - NOT IMPLEMENTED + OPTIONAL ATTRIBUTES ARE NOT IMPLEMENTED IN SDK ./chip-tool pressuremeasurement read tolerance 1 1 ./chip-tool pressuremeasurement read scaled-value 1 1 @@ -105,14 +114,14 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true - label: @@ -121,7 +130,12 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | - ./chip-tool pressuremeasurement read attribute-list 1 1 + verify on Reference app receives the right response for the data sent in the above + + ./chip-tool pressuremeasurement read attribute-list 1 1 + + Verify in TH all-clusters-app log + [1654246805586] [91746:4008896] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_FFFB DataVersion: 2053900777 [1654246805586] [91746:4008896] CHIP: [TOO] AttributeList: 8 entries [1654246805586] [91746:4008896] CHIP: [TOO] [1]: 0 @@ -134,7 +148,9 @@ tests: [1654246805586] [91746:4008896] CHIP: [TOO] [8]: 65533 - " ./chip-tool pressuremeasurement read measured-value 1 1 + ./chip-tool pressuremeasurement read measured-value 1 1 + + Verify in TH all-clusters-app log [1653992317.047323][2347:2347] CHIP:IM: Received Read request [1653992317.047382][2347:2347] CHIP:DMG: ReadRequestMessage = @@ -156,6 +172,9 @@ tests: [1653992317.047995][2347:2347] CHIP:DMG: IM RH moving to [GeneratingReports] ./chip-tool pressuremeasurement read min-measured-value 1 1 + + Verify in TH all-clusters-app log + [1653992385.759474][2347:2347] CHIP:IM: Received Read request [1653992385.759533][2347:2347] CHIP:DMG: ReadRequestMessage = [1653992385.759561][2347:2347] CHIP:DMG: { @@ -177,6 +196,8 @@ tests: ./chip-tool pressuremeasurement read max-measured-value 1 1 + Verify in TH all-clusters-app log + [1653992415.580348][2347:2347] CHIP:IM: Received Read request [1653992415.580414][2347:2347] CHIP:DMG: ReadRequestMessage = [1653992415.580442][2347:2347] CHIP:DMG: { @@ -200,6 +221,8 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool pressuremeasurement read tolerance 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) @@ -223,5 +246,5 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml index eb18fe9d4fb60f..21ab11e47b7438 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_2_1.yaml @@ -29,6 +29,8 @@ tests: - label: "TH reads the Sources attribute from the DUT" PICS: PSCFG.S.A0000 verification: | + Verify on the TH Log: + ./chip-tool powersourceconfiguration read sources 1 0 The response should look like this: diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_2_2.yaml index 34b7266e9b7707..e0c0fbc739a130 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 64.2.2. [TC-PSCFG-2.2] Primary functionality with server as DUT +name: 65.2.2. [TC-PSCFG-2.2] Primary functionality with server as DUT config: nodeId: 0x12344321 @@ -31,6 +31,8 @@ tests: verification: | ./chip-tool powersourceconfiguration read sources 1 0 + Verify on the TH Log: + [...] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_0000DataVersion: 502821112 CHIP:TOO: Sources: 3 entries @@ -39,17 +41,14 @@ tests: CHIP:TOO: [3]: 0 disabled: true - - label: "For each enpoint number (eNr) in this list do" - verification: | - - disabled: true - - label: "TH reads the Order attribute from Power Source Cluster at Enpoint[eNr] of the DUT" verification: | ./chip-tool powersource read order 1 1 + Verify on the TH Log: + [...] [1653564242.694964][36231:36236] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_0001 DataVersion: 4212858705 [1653564242.695038][36231:36236] CHIP:TOO: Order: 2 diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml index f5e850c2918589..4de228e8aee55c 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 64.3.1. [TC-PSCFG-3.1] Attributes with client as DUT +name: 65.3.1. [TC-PSCFG-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -29,6 +29,8 @@ tests: ./chip-tool powersourceconfiguration read sources 1 0 + Verify in TH all-clusters-app log + [1650881032.387446][2715:2715] CHIP:IM: Received Read request [1650881032.387500][2715:2715] CHIP:DMG: ReadRequestMessage = [1650881032.387527][2715:2715] CHIP:DMG: { @@ -56,19 +58,82 @@ tests: "DUT reads all supported optional attributes from TH once at a time in a manufacturer specific order" verification: | - No optional attributes + This cluster doesn't have any optional attribute + disabled: true + + - label: + "DUT writes a suitable value to all supported mandatory attributes on + the TH once at a time in a manufacturer specific order" + verification: | + This cluster doesn't have any writable attributes + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH once at a time in a manufacturer specific order" + verification: | + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on the TH once at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH once at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes + disabled: true + + - label: + "Configure TH such that it implements mandatory and none of the + optional attributes of the server- side of the cluster, and that it + also reflects this in global attributes such as FeatureMap and + AttributeList. Commission DUT to TH aga" + verification: | + On TestHarnes (all-cluster-app) a received read of the Sources attribute (id 0) looks like this: + + ./chip-tool powersourceconfiguration read sources 1 0 + + Verify in TH all-clusters-app log + + [1650881032.387446][2715:2715] CHIP:IM: Received Read request + [1650881032.387500][2715:2715] CHIP:DMG: ReadRequestMessage = + [1650881032.387527][2715:2715] CHIP:DMG: { + [1650881032.387549][2715:2715] CHIP:DMG: AttributePathIBs = + [1650881032.387578][2715:2715] CHIP:DMG: [ + [1650881032.387602][2715:2715] CHIP:DMG: AttributePathIB = + [1650881032.387629][2715:2715] CHIP:DMG: { + [1650881032.387657][2715:2715] CHIP:DMG: Endpoint = 0x0, + [1650881032.387690][2715:2715] CHIP:DMG: Cluster = 0x2e, + [1650881032.387722][2715:2715] CHIP:DMG: Attribute = 0x0000_0000, + [1650881032.387750][2715:2715] CHIP:DMG: } + [1650881032.387781][2715:2715] CHIP:DMG: + [1650881032.387807][2715:2715] CHIP:DMG: ], + [1650881032.387836][2715:2715] CHIP:DMG: + [1650881032.387862][2715:2715] CHIP:DMG: isFabricFiltered = true, + [1650881032.387887][2715:2715] CHIP:DMG: InteractionModelRevision = 1 + [1650881032.387910][2715:2715] CHIP:DMG: }, + [1650881032.387979][2715:2715] CHIP:DMG: IM RH moving to [GeneratingReports] + [1650881032.388058][2715:2715] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 + [1650881032.388087][2715:2715] CHIP:DMG: Cluster 2e, Attribute 0 is dirty + [1650881032.388109][2715:2715] CHIP:DMG: Reading attribute: Cluster=0x0000_002E Endpoint=0 AttributeId=0x0000_0000 (expanded=0) + disabled: true + + - label: + "DUT reads all supported optional attributes from TH one at a time in + a manufacturer specific orde" + verification: | + This cluster doesn't have any optional attribute + disabled: true + + - label: + "DUT writes a suitable value to all supported optional attributes on + the TH one at a time in a manufacturer specific orde" + verification: | + This cluster doesn't have any writable attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml b/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml index a6306b71cf6fc5..9f673a75324e70 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_2_2.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 62.2.2. [TC-PS-2.2] Event reporting with server as DUT +name: 62.2.1. [TC-PS-2.1] Attributes with server as DUT config: nodeId: 0x12344321 @@ -33,8 +33,9 @@ tests: disabled: true - label: "TH reads the ActiveWiredFaults attribute from the DUT" - PICS: PS.S.A000a verification: | + Optional attribute so its not compulsory to get the expected outcome + ./chip-tool powersource read active-wired-faults 1 1 @@ -48,6 +49,8 @@ tests: powersource subscribe-event-by-id 120 3600 1 1 + Verify on the TH Log: + [1651671151.484803][6266:6266] CHIP:DMG: SubscribeRequestMessage = [1651671151.484857][6266:6266] CHIP:DMG: { [1651671151.484907][6266:6266] CHIP:DMG: KeepSubscriptions = false, @@ -71,7 +74,6 @@ tests: disabled: true - label: "Bring the DUT into a wired fault state." - PICS: PS.S.E00 verification: | DUT ACTION REQUIRED disabled: true @@ -79,8 +81,11 @@ tests: - label: "TH reads the ActiveWiredFaults attribute from the DUT" PICS: PS.S.A000a verification: | + Optional attribute so its not compulsory to get the expected outcome + ./chip-tool powersource read active-wired-faults 1 1 + Verify on the TH Log: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -98,11 +103,13 @@ tests: disabled: true - label: "TH reads the ActiveBatFaults attribute from the DUT" - PICS: PS.S.A0012 verification: | - ./apps/chip-tool powersource read active-battery-faults 12345 1 + Optional attribute so its not compulsory to get the expected outcome + + ./chip-tool powersource read active-battery-faults 12345 1 + Verify on the TH Log: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -112,6 +119,8 @@ tests: ./chip-tool interactive start powersource subscribe-event-by-id 0 100 1 1 + + Verify on the TH Log: SubscribeRequestMessage = [1651667556.522349][6266:6266] CHIP:DMG: { [1651667556.522399][6266:6266] CHIP:DMG: KeepSubscriptions = false, @@ -135,7 +144,6 @@ tests: disabled: true - label: "Bring the DUT into a battery fault state." - PICS: PS.S.E01 verification: | DUT ACTION REQUIRED disabled: true @@ -143,8 +151,11 @@ tests: - label: "TH reads the ActiveBatFaults attribute from the DUT" PICS: PS.S.A0012 verification: | + Optional attribute so its not compulsory to get the expected outcome + ./chip-tool powersource read active-battery-faults 1 1 + Verify on the TH Log: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -161,10 +172,12 @@ tests: disabled: true - label: "TH reads the ActiveBatChargeFaults attribute from the DUT" - PICS: PS.S.A001e verification: | + Optional attribute so its not compulsory to get the expected outcome + ./chip-tool powersource read active-battery-charge-faults 1 1 + Verify on the TH Log: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -175,6 +188,7 @@ tests: powersource subscribe-event-by-id 1 100 1000 1 1 + Verify on the TH Log: [1651671068.817350][6266:6266] CHIP:IM: Received Subscribe request [1651671068.817489][6266:6266] CHIP:DMG: SubscribeRequestMessage = [1651671068.817529][6266:6266] CHIP:DMG: { @@ -199,7 +213,6 @@ tests: disabled: true - label: "Bring the DUT into a charge fault state." - PICS: PS.S.E02 verification: | DUT ACTION REQUIRED disabled: true @@ -207,8 +220,10 @@ tests: - label: "TH reads the ActiveBatChargeFaults attribute from the DUT" PICS: PS.S.A001e verification: | - ./apps/chip-tool powersource read active-battery-charge-faults 1 1 + Optional attribute so its not compulsory to get the expected outcome + ./chip-tool powersource read active-battery-charge-faults 1 1 + Verify on the TH Log: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_PS_3_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_3_1.yaml index b73bb666c964a3..2199704bb700d9 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_3_1.yaml @@ -26,8 +26,11 @@ tests: a manufacturer specific order" verification: | On TestHarnes (all-cluster-app) a received read of Staus attribute (id 0) looks like this: + ./chip-tool powersource read status 1 1 + Verify in TH all-clusters-app log + [1646155382.977445][33190:33190] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:685127 on exchange 16568r [1646155382.977534][33190:33190] CHIP:EM: Handling via exchange: 16568r, Delegate: 0xaaaace1730c8 @@ -55,6 +58,9 @@ tests: [1646010346.974150][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=v ./chip-tool powersource read order 1 1 + + Verify in TH all-clusters-app log + [1653395573.862606][19412:19412] CHIP:IM: Received Read request [1653395573.862690][19412:19412] CHIP:DMG: ReadRequestMessage = [1653395573.862739][19412:19412] CHIP:DMG: { @@ -77,6 +83,8 @@ tests: ./chip-tool powersource read description 1 1 + Verify in TH all-clusters-app log + CHIP:IM: Received Read request [1653395620.020314][19412:19412] CHIP:DMG: ReadRequestMessage = [1653395620.020364][19412:19412] CHIP:DMG: { @@ -101,21 +109,21 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - No optional attribute is implemented + This cluster doesn't have any optional attribute disabled: true - label: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true - label: @@ -127,6 +135,7 @@ tests: "On TestHarnes (all-cluster-app) a received read of Staus attribute (id 0) looks like this: ./chip-tool powersource read status 1 1 + Verify in TH all-clusters-app log [1646155382.977445][33190:33190] CHIP:EM: Received message of type 0x2 with protocolId (0, 1) and MessageCounter:685127 on exchange 16568r [1646155382.977534][33190:33190] CHIP:EM: Handling via exchange: 16568r, Delegate: 0xaaaace1730c8 @@ -154,6 +163,9 @@ tests: [1646010346.974150][33190:33190] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0003 e=1 p=v ./chip-tool powersource read order 1 1 + + Verify in TH all-clusters-app log + [1653395573.862606][19412:19412] CHIP:IM: Received Read request [1653395573.862690][19412:19412] CHIP:DMG: ReadRequestMessage = [1653395573.862739][19412:19412] CHIP:DMG: { @@ -176,6 +188,8 @@ tests: ./chip-tool powersource read description 1 1 + Verify in TH all-clusters-app log + CHIP:IM: Received Read request [1653395620.020314][19412:19412] CHIP:DMG: ReadRequestMessage = [1653395620.020364][19412:19412] CHIP:DMG: { @@ -200,12 +214,12 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | - No optional attribute is implemented + This cluster doesn't have any optional attribute disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - No writable attributes + This cluster doesn't have any writable attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_RH_3_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_3_1.yaml index 9cfc684645278e..2715a09a5dbe55 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_3_1.yaml @@ -27,8 +27,10 @@ tests: verification: | On TestHarnes (all-cluster-app) a received read of MeasuredValue (id 0) looks like this: - ./chip-tool relativehumiditymeasurement read measured-value 1 1 + + ./chip-tool relativehumiditymeasurement read measured-value 1 1 + Verify in TH all-clusters-app log [1651147639.252032][2336:2336] CHIP:IM: Received Read request [1651147639.252086][2336:2336] CHIP:DMG: ReadRequestMessage = [1651147639.252136][2336:2336] CHIP:DMG: { @@ -50,7 +52,7 @@ tests: [1651147639.252925][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 ./chip-tool relativehumiditymeasurement read min-measured-value 1 1 - + Verify in TH all-clusters-app log 1651147834.075387][2336:2336] CHIP:IM: Received Read request [1651147834.075454][2336:2336] CHIP:DMG: ReadRequestMessage = [1651147834.075481][2336:2336] CHIP:DMG: { @@ -72,7 +74,7 @@ tests: [1651147834.076111][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 ./chip-tool relativehumiditymeasurement read max-measured-value 1 1 - + Verify in TH all-clusters-app log [1651147902.966904][2336:2336] CHIP:IM: Received Read request [1651147902.966980][2336:2336] CHIP:DMG: ReadRequestMessage = [1651147902.967012][2336:2336] CHIP:DMG: { @@ -102,6 +104,7 @@ tests: ./chip-tool relativehumiditymeasurement read tolerance 1 1 + Verify in TH all-clusters-app log [1651148035.585189][2336:2336] CHIP:IM: Received Read request [1651148035.585247][2336:2336] CHIP:DMG: ReadRequestMessage = [1651148035.585276][2336:2336] CHIP:DMG: { @@ -127,14 +130,14 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - no writable attributes + This cluster doesn't have any writable attributes disabled: true - label: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - no writable attributes + This cluster doesn't have any writable attributes disabled: true - label: @@ -144,7 +147,7 @@ tests: AttributeList. Commission DUT to TH again" verification: | ./chip-tool relativehumiditymeasurement read attribute-list 1 1 - + Verify in TH all-clusters-app log [1654247077216] [91776:4010112] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFB DataVersion: 1294674518 [1654247077217] [91776:4010112] CHIP: [TOO] AttributeList: 8 entries [1654247077217] [91776:4010112] CHIP: [TOO] [1]: 0 @@ -160,6 +163,7 @@ tests: "On TestHarnes (all-cluster-app) a received read of MeasuredValue (id 0) looks like this: ./chip-tool relativehumiditymeasurement read measured-value 1 1 + Verify in TH all-clusters-app log [1651147639.252032][2336:2336] CHIP:IM: Received Read request [1651147639.252086][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -182,6 +186,7 @@ tests: [1651147639.252925][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 ./chip-tool relativehumiditymeasurement read min-measured-value 1 1 + Verify in TH all-clusters-app log 1651147834.075387][2336:2336] CHIP:IM: Received Read request [1651147834.075454][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -204,6 +209,7 @@ tests: [1651147834.076111][2336:2336] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 ./chip-tool relativehumiditymeasurement read max-measured-value 1 1 + Verify in TH all-clusters-app log [1651147902.966904][2336:2336] CHIP:IM: Received Read request [1651147902.966980][2336:2336] CHIP:DMG: ReadRequestMessage = @@ -231,6 +237,8 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + verify on Reference app receives the right response for the data sent in the above commands + ./chip-tool relativehumiditymeasurement read tolerance 1 1 General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true @@ -239,5 +247,5 @@ tests: "DUT writes a suitable value to all supported optional attributes on the TH one at a time in a manufacturer specific order" verification: | - no writable attributes + This cluster doesn't have any writable attributes disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_1.yaml index 04cabadecf5cb4..152f80329339bb 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_1.yaml @@ -28,6 +28,8 @@ tests: verification: | ./chip-tool administratorcommissioning open-basic-commissioning-window 200 1 0 --timedInteractionTimeoutMs 1000 + verify on TH Logs: + [1652340903.034346][2874:2879] CHIP:DMG: InvokeResponseMessage = [1652340903.034398][2874:2879] CHIP:DMG: { [1652340903.034447][2874:2879] CHIP:DMG: suppressResponse = false, @@ -133,15 +135,17 @@ tests: disabled: true - label: - "DUT is rebooted, then put in Commissioning Mode using Open Basic - Commissioning Window command, starting advertising Commissionable Node - Discovery service using DNS-SD" + "DUT is rebooted and Commissioned again, then put in Commissioning + Mode using Open Basic Commissioning Window command, starting + advertising Commissionable Node Discovery service using DNS- SD" verification: | Reboot the device if the device proivisioning state persists, run the chip-tool cmd in Step2 ./chip-tool administratorcommissioning open-basic-commissioning-window 200 1 0 --timedInteractionTimeoutMs 1000 + verify on chip-tool logs: + [1652341174.803430][2893:2898] CHIP:DMG: InvokeResponseMessage = [1652341174.803488][2893:2898] CHIP:DMG: { [1652341174.803560][2893:2898] CHIP:DMG: suppressResponse = false, @@ -251,6 +255,7 @@ tests: ./chip-tool pairing open-commissioning-window 1 1 200 2000 3840 + verify on chip-tool logs: [1652341411.383669][2929:2934] CHIP:DMG: InvokeResponseMessage = [1652341411.383720][2929:2934] CHIP:DMG: { @@ -308,25 +313,8 @@ tests: + br-f08e8f665bd1 IPv6 19DDF06C3B5DD0C8 _matterc._udp local + eth0 IPv6 9BFF1DCA106E337B _matterc._udp local + eth0 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - = veth721e1d9 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::28e0:95ff:fed9:3085] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = veth961779b IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::d417:1eff:fe03:eb81] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = veth6995c44 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::24ae:58ff:fe2f:5609] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = veth6c964b1 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::cca1:6aff:fe6e:f76d] - port = [5540] + + txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] = veth3222831 IPv6 19DDF06C3B5DD0C8 _matterc._udp local hostname = [E45F0149AE290000.local] @@ -338,20 +326,7 @@ tests: address = [fe80::1] port = [5540] txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = br-f08e8f665bd1 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::42:43ff:fe99:75b3] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = eth0 IPv6 19DDF06C3B5DD0C8 _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::e65f:1ff:fe49:ae29] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = veth721e1d9 IPv6 9BFF1DCA106E337B _matterc._udp local - hostname = [E45F0149AE290000.local] - address = [fe80::28e0:95ff:fed9:3085] - port = [5540] + txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] = veth961779b IPv6 9BFF1DCA106E337B _matterc._udp local hostname = [E45F0149AE290000.local] @@ -378,6 +353,9 @@ tests: - label: "If (MCORE.SC.EXTENDED_DISCOVERY ) enable Extended Discovery" verification: | If the device supports Discovery for extended period of time, Device should continue to advertise that duration + + + Raspberrypi device is not supporting extended discovery.I disabled: true - label: "If (PICS_EXTENDED_DISCOVERY) check DNS-SD subtypes used by DUT" diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_10.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_10.yaml index a7ce4dfec95dc6..7eb550f43f10ed 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_10.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 13.4.10. [TC-SC-4.10] Operational Discovery - Sleepy Node +name: 14.4.10. [TC-SC-4.10] Operational Discovery - Sleepy Node config: nodeId: 0x12344321 @@ -29,10 +29,17 @@ tests: - label: "TH scans for DNS-SD advertising" verification: | avahi-browse -rt _matter._tcp - + veth5329b41 IPv6 68F6D747B9CD3DCD-0000000000000001 _matter._tcp local - = veth5329b41 IPv6 68F6D747B9CD3DCD-0000000000000001 _matter._tcp local - hostname = [EEAABADABAD0DDCA.local] - address = [fe80::acec:27ff:fe14:515d] + Verify on the TH Log: + + eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + + eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + = eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] port = [5540] - txt = ["T=1" "CRA=300" "CRI=5000"] + txt = ["T=0" "SAI=300" "SII=5000"] + = eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] + port = [5540] + txt = ["T=0" "SAI=300" "SII=5000"] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml index 1267e89eedfd00..54562b68394241 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_5.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 13.4.5. [TC-SC-4.5] Operational Discovery - Thread Node +name: 14.4.5. [TC-SC-4.5] Operational Discovery - Thread Node config: nodeId: 0x12344321 @@ -27,7 +27,7 @@ tests: verification: | 1. On the raspi controller, publish matter service, using below command - $avahi-publish-service 87E1B004E235A130-8FC7772401CD0696 _matter._tcp 22222 CRI=3000 CRA=4000 T=0 + $avahi-publish-service 87E1B004E235A130-8FC7772401CD0696 _matter._tcp 22222 SII=3000 SAI=4000 T=0 disabled: true - label: @@ -49,13 +49,31 @@ tests: MRP retry interval (idle): 3000ms MRP retry interval (active): 4000ms Supports TCP: no + + + avahi-browse -rt _matter._tcp + + + + + eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + + eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + = eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] + port = [5540] + txt = ["T=0" "SAI=300" "SII=5000"] + = eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] + port = [5540] + txt = ["T=0" "SAI=300" "SII=5000"] disabled: true - label: "TH performs a change in one of the services configured at step 1" verification: | 1. On the raspi controller, publish matter service chanding the T value 1, using below command - $avahi-publish-service 87E1B004E235A130-8FC7772401CD0696 _matter._tcp 22222 CRI=3000 CRA=4000 T=1 + $avahi-publish-service 87E1B004E235A130-8FC7772401CD0696 _matter._tcp 22222 SII=3000 SAI=4000 T=1 disabled: true - label: "DUT must receive a notification with new data" @@ -73,4 +91,20 @@ tests: MRP retry interval (idle): 3000ms MRP retry interval (active): 4000ms Supports TCP: yes + + + + avahi-browse -rt _matter._tcp + + eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + + eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + = eth0 IPv4 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] + port = [5540] + txt = ["T=0" "SAI=300" "SII=5000"] + = eth0 IPv6 3A235FF3FA2DAC10-0000000000000055 _matter._tcp local + hostname = [D21165B5F440B033.local] + address = [fd11:22::4b31:9932:cffe:b41a] + port = [5540] + txt = ["T=0" "SAI=300" "SII=5000"] disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_7.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_7.yaml index 69c4cbff230648..cd406d8b8f20b3 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_7.yaml @@ -31,6 +31,9 @@ tests: - label: "Scan for DNS-SD commissioner advertisements from TH" verification: | if DUT supports discovering UDC, DUT should be able to scan the TV-app + + Execute teh below command on TH terminal. + ~$ avahi-browse -rt _matterc._udp =+ wlp3s0 IPv4 DD200C20D25AE5F7 _matterd._udp local @@ -56,7 +59,7 @@ tests: hostname = [E45F010F28770000.local] address = [fe80::e65f:1ff:fe0f:2877] port = [5550] - txt = ["T=1" "CRA=300" "CRI=5000" "DN=Test TV" "DT=35" "VP=65521+32769"] + txt = ["T=1" "SAI=300" "SII=5000" "DN=Test TV" "DT=35" "VP=65521+32769"] disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml index 2f4320881166fc..f7d859a2e71c72 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_8.yaml @@ -25,12 +25,14 @@ config: tests: - label: "Commission TH1 to DUTs Fabric" verification: | - 1. Provision the device using 1st controller chip-tool on the raspi (use above instructions) + 1. Provision the device using 1st controller chip-tool (as example commissioner) on the raspi (use above instructions) - " On first controller, using administratorcommissioningg chip tool open commissioning window. + ./chip-tool pairing onnetwork 2 20202021 - ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000 + Assigned compressed fabric ID: 0xF3C001637A30CEEC + Assigned compressed fabric ID: 0xBE320A8460153487 + Assigned compressed fabric ID: 0x8A124463B858624F disabled: true - label: "Commission TH2 to DUTs Fabric" @@ -38,7 +40,12 @@ tests: Using your DUT Controller connect to the accessory. Below is the example when using chip tool as controller - ./chip-tool pairing onnetwork 1 20202021 + + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3841 + + Assigned compressed fabric ID: 0xF3C001637A30CEEC + Assigned compressed fabric ID: 0xBE320A8460153487 + Assigned compressed fabric ID: 0x8A124463B858624F Verify you got below message Device commissioning completed with success @@ -48,22 +55,40 @@ tests: verification: | ./chip-tool operationalcredentials remove-fabric 1 1 0 + Verify the below log on the DUT as client device + CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 [1651571274.154864][10562:10567] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 [1651571274.155030][10562:10567] CHIP:TOO: NOCResponse: { [1651571274.155102][10562:10567] CHIP:TOO: statusCode: 0 [1651571274.155159][10562:10567] CHIP:TOO: fabricIndex: 1 [1651571274.155215][10562:10567] CHIP:TOO: } + + + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3841 + + Assigned compressed fabric ID: 0xF3C001637A30CEEC + Assigned compressed fabric ID: 0xBE320A8460153487 + Assigned compressed fabric ID: 0x8A124463B858624F disabled: true - label: "Send RemoveFabric from DUT to TH2 and comission DUT to TH2 again" verification: | - ./chip-tool operationalcredentials remove-fabrics 2 2 0 + ./chip-tool operationalcredentials remove-fabric 1 2 0 - CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 - [1651571274.154864][10562:10567] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 - [1651571274.155030][10562:10567] CHIP:TOO: NOCResponse: { - [1651571274.155102][10562:10567] CHIP:TOO: statusCode: 0 - [1651571274.155159][10562:10567] CHIP:TOO: fabricIndex: 2 - [1651571274.155215][10562:10567] CHIP:TOO: } + [1657628679275] [78509:912135] CHIP: [DMG] Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008 + [1657628679275] [78509:912135] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008 + [1657628679275] [78509:912135] CHIP: [TOO] NOCResponse: { + [1657628679275] [78509:912135] CHIP: [TOO] statusCode: 0 + [1657628679275] [78509:912135] CHIP: [TOO] fabricIndex: 1 + [1657628679275] [78509:912135] CHIP: [TOO] } + [1657628679275] [78509:912135] CHIP: [DMG] ICR mov + + ./chip-tool pairing ble-wifi 1 chipsetup4 matter123 20202021 3841 + + ./chip-tool pairing onnetwork 2 20202021 + + Assigned compressed fabric ID: 0xF3C001637A30CEEC + Assigned compressed fabric ID: 0xBE320A8460153487 + Assigned compressed fabric ID: 0x8A124463B858624F disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml b/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml index 09a08fdf42fffc..f256b0ce58854e 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_4_9.yaml @@ -28,6 +28,8 @@ tests: verification: | ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{"cluster": null, "endpoint": 0, "deviceType": null}]}, {"fabricIndex": 1, "privilege": 3, "authMode": 3, "subjects": null, "targets": [{"cluster": null, "endpoint": 1, "deviceType": null}]}]' 77 0 + Verify on the TH Log: + [1652330385.328196][3240:3245] CHIP:DMG: StatusIB = [1652330385.328229][3240:3245] CHIP:DMG: { [1652330385.328264][3240:3245] CHIP:DMG: status = 0x00 (SUCCESS), @@ -40,6 +42,8 @@ tests: verification: | ./chip-tool basic read node-label 77 0 + Verify on the TH Log: + [1652420234.342201][2403:2408] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347768 [1652420234.342277][2403:2408] CHIP:TOO: NodeLabel: [1652420234.342452][2403:2408] CHIP:EM: Sending Standalone Ack for MessageCounter:123718 on exchange 57159i @@ -49,6 +53,8 @@ tests: verification: | ./chip-tool basic write node-label testrio 77 0 + Verify on the TH Log: + StatusIB = [1652421063.833937][2454:2459] CHIP:DMG: { [1652421063.834016][2454:2459] CHIP:DMG: status = 0x00 (SUCCESS), @@ -59,6 +65,8 @@ tests: verification: | ./chip-tool basic read node-label 77 0 + Verify on the TH Log: + [1652421068.143200][2460:2465] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347769 [1652421068.143276][2460:2465] CHIP:TOO: NodeLabel: testrio [1652421068.143457][2460:2465] CHIP:EM: Sending Standalone Ack for MessageCounter:2274062 on exchange 46531i @@ -68,6 +76,8 @@ tests: verification: | ./chip-tool basic write node-label testrio2 77 0 + Verify on the TH Log: + StatusIB = [1652421082.185625][2467:2473] CHIP:DMG: { [1652421082.185696][2467:2473] CHIP:DMG: status = 0x00 (SUCCESS), @@ -78,6 +88,8 @@ tests: verification: | ./chip-tool basic read node-label 77 0 + Verify on the TH Log: + [1652421088.232903][2474:2479] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 2144347770 [1652421088.232983][2474:2479] CHIP:TOO: NodeLabel: testrio2 [1652421088.233169][2474:2479] CHIP:EM: Sending Standalone Ack for MessageCounter:4743745 on exchange 61019i diff --git a/src/app/tests/suites/certification/Test_TC_SU_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SU_1_1.yaml index cd9cffcf17f031..5c1260b1aeb7c3 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_1_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 3.1.1. [TC-SU-1.1] Invoke AnnounceOTAProvider from an admin(DUT) to OTA-R +name: 3.1.1. [TC-SU-1.1] Invoke AnnounceOTAProvider from Admin(DUT) to OTA-R config: nodeId: 0x12344321 diff --git a/src/app/tests/suites/certification/Test_TC_SU_2_1.yaml b/src/app/tests/suites/certification/Test_TC_SU_2_1.yaml index d910333d27e2ea..a0f00fcf8cc855 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_2_1.yaml @@ -52,7 +52,7 @@ tests: where 0x1234567890 is OTA Requestor node ID and 0xDEADBEEF is OTA Provider node ID - Verify on the OTA Provider logs that the QueryImage command is sent only once in that 1 minute interval. + Verify on the OTA Provider logs that the QueryImage command is sent only once in that 2 minute interval. disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_SU_2_2.yaml b/src/app/tests/suites/certification/Test_TC_SU_2_2.yaml index b992ebc9a323dd..ac48909c09142d 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_2_2.yaml @@ -24,7 +24,7 @@ config: tests: - label: - 'IF DUT sends a QueryImage command to the TH/OTA-P. TH/OTA-P sends a + 'DUT sends a QueryImage command to the TH/OTA-P. TH/OTA-P sends a QueryImageResponse back to DUT. QueryStatus is set to "UpdateAvailable". Set ImageURI to the location where the image is located.' @@ -61,8 +61,7 @@ tests: - label: 'DUT sends a QueryImage command to the TH/OTA-P. TH/OTA-P sends a - QueryImageResponse back to DUT. QueryStatus is set to "NotAvailable", - DelayedActionTime is set to 60 seconds.' + QueryImageResponse back to DUT. QueryStatus is set to "NotAvailable".' verification: | Run the OTA Provider App using the command: @@ -76,28 +75,12 @@ tests: Verify that the DUT does not send a QueryImage command before the minimum interval defined by spec which is 2 minutes (120 seconds) from the last QueryImage command. disabled: true - - label: - 'DUT sends a QueryImage command to the TH/OTA-P. TH/OTA-P sends a - QueryImageResponse back to DUT. QueryStatus is set to - "UpdateAvailable", Set DelayedActionTime to 3 minutes.' - verification: | - Run the OTA Provider App using the command: - - chip-ota-provider-app --discriminator ${PROVIDER_LONG_DISCRIMINATOR} --secured-device-port ${PROVIDER_UDP_PORT} --KVS ${KVS_STORE_LOCATION} --filepath ${SW_IMAGE_FILE} -q updateAvailable -t 180 - - chip-tool otasoftwareupdaterequestor announce-ota-provider 0xDEADBEEF 0 0 0 0x1234567890 0 - - where 0x1234567890 is OTA Requestor node ID and 0xDEADBEEF is OTA Provider node ID - - Verify that the DUT waits for the time mentioned in the DelayedActionTime (3 minutes) before transferring the image. - disabled: true - - label: 'DUT sends a QueryImage command to the TH/OTA-P.+ TH/OTA-P sends a - QueryImageResponse back to DUT. QueryStatus is set to Busy/Not - Available, Set DelayedActionTime to 3 minutes. . On the subsequent - QueryImage command, TH/OTA-P sends a QueryImageResponse back to DUT. - QueryStatus is set to "UpdateAvailable".' + QueryImageResponse back to DUT. QueryStatus is set to Busy, Set + DelayedActionTime to 3 minutes. . On the subsequent QueryImage + command, TH/OTA-P sends a QueryImageResponse back to DUT. QueryStatus + is set to "UpdateAvailable".' verification: | Run the OTA Provider App using the command: @@ -112,10 +95,10 @@ tests: disabled: true - label: - 'IF (PICS_DT_HTTPS_Supported), DUT sends a QueryImage command to the - TH/OTA-P. TH/OTA-P sends a QueryImageResponse back to DUT. QueryStatus - is set to "UpdateAvailable", ImageURI should have the https url from - where the image can be downloaded.' + 'DUT sends a QueryImage command to the TH/OTA-P. TH/OTA-P sends a + QueryImageResponse back to DUT. QueryStatus is set to + "UpdateAvailable", ImageURI should have the https url from where the + image can be downloaded.' PICS: MCORE.OTA.HTTPS verification: | Out of scope for V1.0 diff --git a/src/app/tests/suites/certification/Test_TC_SU_2_3.yaml b/src/app/tests/suites/certification/Test_TC_SU_2_3.yaml index 075789dfd930e1..75368b5f44a2aa 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_2_3.yaml @@ -111,6 +111,9 @@ tests: [1651259701990] [18726:35135506] CHIP: [DMG] SuppressResponse = true, [1651259701990] [18726:35135506] CHIP: [DMG] InteractionModelRevision = 1 [1651259701990] [18726:35135506] CHIP: [DMG] } + [1653645452.044092][15281:15286] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_0002 DataVersion: 1306504521 + [1653645452.044186][15281:15286] CHIP:TOO: UpdateState: 1 + Relaunch the OTA Provider App and initiate another query chip-tool otasoftwareupdaterequestor announce-ota-provider 0xDEADBEEF 0 0 0 0x1234567890 0 diff --git a/src/app/tests/suites/certification/Test_TC_SU_2_5.yaml b/src/app/tests/suites/certification/Test_TC_SU_2_5.yaml index 83a1195c8cdcf2..791ff8704278f5 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_2_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_2_5.yaml @@ -95,6 +95,10 @@ tests: Once the update is finished, verify the software version from the Basic Information cluster on the DUT to match the version downloaded for the software update. ./chip-tool basic read software-version-string 0x1234567890 0 + + + [1653636406.637617][11116:11121] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 1527020963 + [1653636406.637708][11116:11121] CHIP:TOO: SoftwareVersionString: 2.0 disabled: true - label: @@ -116,6 +120,9 @@ tests: ./chip-tool basic read software-version-string 0x1234567890 0 + + [1653636406.637617][11116:11121] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 1527020963 + [1653636406.637708][11116:11121] CHIP:TOO: SoftwareVersionString: 1.0 disabled: true - label: "Apply the OTA Update on DUT using vendor specific mechanism." diff --git a/src/app/tests/suites/certification/Test_TC_SU_3_1.yaml b/src/app/tests/suites/certification/Test_TC_SU_3_1.yaml index b9efa8b4064139..51bd35bac9fdef 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_3_1.yaml @@ -13,9 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: - 31.10.1. [TC-SU-3.1] Tests the behavior of the DUT once it receives a - Software Update QueryImage request from the OTA-R. +name: 33.7.1. [TC-SU-3.1] QueryImageResponse from DUT to OTA-R config: nodeId: 0x12344321 @@ -27,20 +25,20 @@ tests: "OTA-R/TH sends a QueryImage Command to the DUT. UserConsentNeeded field is set to False." verification: | - chip-tool otasoftwareupdaterequestor announce-ota-provider 0xDEADBEEF 0 0 0 0x1234567890 0 + ./chip-tool otasoftwareupdaterequestor announce-ota-provider 0xDEADBEEF 0 0 0 0x1234567890 0 where 0x1234567890 is OTA Requestor node ID and 0xDEADBEEF is OTA Provider node ID Verify on the OTA Requestor logs - [1645743053319] [97809:20280821] CHIP: [SWU] QueryImageResponse: - [1645743053319] [97809:20280821] CHIP: [SWU] status: 0 - [1645743053319] [97809:20280821] CHIP: [SWU] delayedActionTime: 0 seconds - [1645743053319] [97809:20280821] CHIP: [SWU] imageURI: bdx://0000000000000001/test.ota - [1645743053319] [97809:20280821] CHIP: [SWU] softwareVersion: 1 - [1645743053319] [97809:20280821] CHIP: [SWU] softwareVersionString: Example-Image-V0.1 - [1645743053319] [97809:20280821] CHIP: [SWU] updateToken: 32 - [1645743053319] [97809:20280821] CHIP: [SWU] userConsentNeeded: 0 - [1645743053319] [97809:20280821] CHIP: [SWU] metadataForRequestor: 0 - [1645743053319] [97809:20280821] CHIP: [SWU] Update available from 0 to 1 version + [1651265462659] [21768:35233106] CHIP: [SWU] QueryImageResponse: + [1651265462659] [21768:35233106] CHIP: [SWU] status: 0 + [1651265462659] [21768:35233106] CHIP: [SWU] delayedActionTime: 0 seconds + [1651265462659] [21768:35233106] CHIP: [SWU] imageURI: bdx://0000000000000001/test.ota + [1651265462659] [21768:35233106] CHIP: [SWU] softwareVersion: 2 + [1651265462659] [21768:35233106] CHIP: [SWU] softwareVersionString: 2.0 + [1651265462659] [21768:35233106] CHIP: [SWU] updateToken: 32 + [1651265462659] [21768:35233106] CHIP: [SWU] userConsentNeeded: 0 + [1651265462659] [21768:35233106] CHIP: [SWU] metadataForRequestor: 0 + [1651265462659] [21768:35233106] CHIP: [SWU] Update available from version 1 to 2 disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_SU_3_2.yaml b/src/app/tests/suites/certification/Test_TC_SU_3_2.yaml index e83677c68b8fad..e3a3c89bc897c6 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_3_2.yaml @@ -107,7 +107,7 @@ tests: "UpdateAvailable".' PICS: OTAS.S.M.DelayedActionTime verification: | - ./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -q busy + ./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -q busy -t 180 ./chip-tool otasoftwareupdaterequestor announce-ota-provider 0xDEADBEEF 0 0 0 0x1234567890 0 diff --git a/src/app/tests/suites/certification/Test_TC_SU_4_1.yaml b/src/app/tests/suites/certification/Test_TC_SU_4_1.yaml index 6832ee26b9335e..c22a1ac55de86a 100644 --- a/src/app/tests/suites/certification/Test_TC_SU_4_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SU_4_1.yaml @@ -28,6 +28,8 @@ tests: verification: | ./chip-tool otasoftwareupdaterequestor write default-ota-providers '[{"fabricIndex": 1, "providerNodeID": 3735928559, "endpoint": 0}]' 0x0000001234567890 0 + verify on chip-tool logs: + status = 0x00 (SUCCESS), disabled: true @@ -37,6 +39,8 @@ tests: verification: | ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x1234567890 0 + verify on chip-tool logs: + [1651277342848] [26860:35431852] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277342848] [26860:35431852] CHIP: [TOO] [1]: { [1651277342848] [26860:35431852] CHIP: [TOO] ProviderNodeID: 1 @@ -51,6 +55,10 @@ tests: fabric." verification: | ./chip-tool otasoftwareupdaterequestor write default-ota-providers '[{"fabricIndex": 2, "providerNodeID": 1, "endpoint": 0}]' 0x858 0 --commissioner-name beta + + verify on chip-tool logs: + + status = 0x00 (SUCCESS), disabled: true - label: @@ -59,6 +67,8 @@ tests: verification: | ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x1234567890 0 + verify on chip-tool logs: + [1651277342848] [26860:35431852] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277342848] [26860:35431852] CHIP: [TOO] [1]: { [1651277342848] [26860:35431852] CHIP: [TOO] ProviderNodeID: 1 @@ -68,6 +78,8 @@ tests: ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x858 0 --commissioner-name beta + verify on chip-tool logs: + [1651277543492] [26864:35434761] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277543492] [26864:35434761] CHIP: [TOO] [1]: { [1651277543492] [26864:35434761] CHIP: [TOO] ProviderNodeID: 5 @@ -85,10 +97,14 @@ tests: verification: | ./chip-tool otasoftwareupdaterequestor write default-ota-providers '[{"fabricIndex": 1, "providerNodeID": 10, "endpoint": 0}, {"fabricIndex": 1, "providerNodeID": 20, "endpoint": 0}]' 0x0000001234567890 0 + verify on chip-tool logs: + [1651278243153] [27005:35448520] CHIP: [TOO] Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x1234567890 0 + verify on chip-tool logs: + [1651277342848] [26860:35431852] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277342848] [26860:35431852] CHIP: [TOO] [1]: { [1651277342848] [26860:35431852] CHIP: [TOO] ProviderNodeID: 10 @@ -98,6 +114,8 @@ tests: chip-tool otasoftwareupdaterequestor read default-ota-providers 0x858 0 --commissioner-name beta + verify on chip-tool logs: + [1651277543492] [26864:35434761] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277543492] [26864:35434761] CHIP: [TOO] [1]: { [1651277543492] [26864:35434761] CHIP: [TOO] ProviderNodeID: 5 @@ -114,11 +132,15 @@ tests: verification: | chip-tool otasoftwareupdaterequestor write default-ota-providers '[]' 0x858 0 --commissioner-name beta + verify on chip-tool logs: + status = 0x00 (SUCCESS), ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x1234567890 0 + verify on chip-tool logs: + [1651277342848] [26860:35431852] CHIP: [TOO] DefaultOtaProviders: 1 entries [1651277342848] [26860:35431852] CHIP: [TOO] [1]: { [1651277342848] [26860:35431852] CHIP: [TOO] ProviderNodeID: 10 @@ -128,6 +150,8 @@ tests: ./chip-tool otasoftwareupdaterequestor read default-ota-providers 0x858 0 --commissioner-name beta + verify on chip-tool logs: + [1651280268033] [27804:35481732] CHIP: [TOO] DefaultOtaProviders: 0 entries disabled: true @@ -177,6 +201,8 @@ tests: where 0x1234567890 is OTA Requestor node ID + verify on chip-tool logs: + Verify that the value is set to one of the valid attribute values based on the current update state on the chip-tool logs [1655444388.600153][6051:6056] CHIP:DMG: ReportDataMessage = [1655444388.600204][6051:6056] CHIP:DMG: { diff --git a/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml index 978fabcbdeca11..b7f6cccbb72407 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_2_1.yaml @@ -29,7 +29,7 @@ tests: value: nodeId - label: "read the mandatory attribute: MeasuredValue" - PICS: TM.S.A0000 + PICS: TMP.S.A0000 command: "readAttribute" attribute: "MeasuredValue" response: @@ -37,7 +37,7 @@ tests: type: int16 - label: "read the mandatory attribute: MinMeasuredValue" - PICS: TM.S.A0001 + PICS: TMP.S.A0001 command: "readAttribute" attribute: "MinMeasuredValue" response: @@ -47,7 +47,7 @@ tests: maxValue: 32766 - label: "read the mandatory attribute: MaxMeasuredValue" - PICS: TM.S.A0002 + PICS: TMP.S.A0002 command: "readAttribute" attribute: "MaxMeasuredValue" response: @@ -57,7 +57,7 @@ tests: maxValue: 32767 - label: "read the optional attribute: Tolerance" - PICS: TM.S.A0003 + PICS: TMP.S.A0003 optional: true command: "readAttribute" attribute: "Tolerance" diff --git a/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml index b1c0ac2c7112ef..63f75f05f0dc4e 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_2_2.yaml @@ -29,7 +29,7 @@ tests: value: nodeId - label: "read the mandatory attribute: MinMeasuredValue" - PICS: TM.S.A0001 + PICS: TMP.S.A0001 command: "readAttribute" attribute: "MinMeasuredValue" response: @@ -39,7 +39,7 @@ tests: maxValue: 32766 - label: "read the mandatory attribute: MaxMeasuredValue" - PICS: TM.S.A0002 + PICS: TMP.S.A0002 command: "readAttribute" attribute: "MaxMeasuredValue" response: @@ -49,7 +49,7 @@ tests: maxValue: 32767 - label: "Reads MeasuredValue attribute from DUT" - PICS: TM.S.A0000 + PICS: TMP.S.A0000 command: "readAttribute" attribute: "MeasuredValue" response: @@ -60,7 +60,7 @@ tests: - label: "Operate on device to change the temperature significantly" cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && TM.M.ManuallyControlled + PICS: PICS_USER_PROMPT && TMP.M.ManuallyControlled arguments: values: - name: "message" @@ -71,7 +71,7 @@ tests: - label: "Read the mandatory attribute: MeasuredValue" command: "readAttribute" attribute: "MeasuredValue" - PICS: TM.S.A0000 + PICS: TMP.S.A0000 response: constraints: type: uint16 diff --git a/src/app/tests/suites/certification/Test_TC_TMP_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_3_1.yaml index 078d31a7a58771..c7f6dfc9c3c34e 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_3_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 7.3.1. [TC-TMP-3.1] Attributes with client as DUT +name: 3.3.1. [TC-TMP-3.1] Attributes with client as DUT config: nodeId: 0x12344321 @@ -25,9 +25,7 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | - ./chip-tool temperaturemeasurement read measured-value 12345 1 - - verify that you see something like this: + On Reference app verify TH receives the read command and knows this attribute for this cluster and provides a plausable value ./chip-tool temperaturemeasurement read measured-value 1 1 1650880412.037722][15013:15013] CHIP:DMG: ReadRequestMessage = @@ -92,6 +90,7 @@ tests: "DUT reads all supported optional attributes from TH one at a time in a manufacturer specific order" verification: | + On Reference app verify TH receives the read command and knows this attribute for this cluster and provides a plausable value ./chip-tool temperaturemeasurement read tolerance 1 1 [1650880329.471153][2598:2603] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_0003 DataVersion: 2108803513 @@ -121,6 +120,7 @@ tests: To verify all below steps use all-clusters-minimal-app ./chip-tool temperaturemeasurement read attribute-list 1 1 + Verify in TH all-clusters-minimal-app Log: [1654246677976] [91729:4008220] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_FFFB DataVersion: 1141330314 [1654246677977] [91729:4008220] CHIP: [TOO] AttributeList: 8 entries [1654246677977] [91729:4008220] CHIP: [TOO] [1]: 0 @@ -133,11 +133,12 @@ tests: [1654246677977] [91729:4008220] CHIP: [TOO] [8]: 65533 - "./chip-tool temperaturemeasurement read measured-value 12345 1 + ./chip-tool temperaturemeasurement read measured-value 12345 1 verify that you see something like this: ./chip-tool temperaturemeasurement read measured-value 1 1 + Verify in TH all-clusters-minimal-app Log: 1650880412.037722][15013:15013] CHIP:DMG: ReadRequestMessage = [1650880412.037749][15013:15013] CHIP:DMG: { [1650880412.037772][15013:15013] CHIP:DMG: AttributePathIBs = @@ -158,6 +159,7 @@ tests: ./chip-tool temperaturemeasurement read max-measured-value 1 1 + Verify in TH all-clusters-minimal-app Log: [1650880462.518114][15013:15013] CHIP:DMG: ReadRequestMessage = [1650880462.518149][15013:15013] CHIP:DMG: { [1650880462.518176][15013:15013] CHIP:DMG: AttributePathIBs = @@ -177,7 +179,7 @@ tests: ./chip-tool temperaturemeasurement read min-measured-value 1 1 - + Verify in TH all-clusters-minimal-app Log: [1650880507.409653][15013:15013] CHIP:DMG: ReadRequestMessage = [1650880507.409703][15013:15013] CHIP:DMG: { [1650880507.409727][15013:15013] CHIP:DMG: AttributePathIBs = diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml index bfe9dc2892a633..4b40cb76288ebb 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_3_1.yaml @@ -27,6 +27,8 @@ tests: verification: | ./chip-tool thermostat read local-temperature 1 1 + Verify in TH all-clusters-app Log: + [1652264555.303895][7099:7099] CHIP:IM: Received Read request [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage = [1652264555.304045][7099:7099] CHIP:DMG: { @@ -48,6 +50,7 @@ tests: ./chip-tool thermostat read control-sequence-of-operation 1 1 + Verify in TH all-clusters-app Log: [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage = [1652265275.022110][7099:7099] CHIP:DMG: { @@ -67,6 +70,7 @@ tests: [1652265275.022756][7099:7099] CHIP:DMG: }, ./chip-tool thermostat read system-mode 1 1 + Verify in TH all-clusters-app Log: [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage = [1652265332.311772][7099:7099] CHIP:DMG: { [1652265332.311812][7099:7099] CHIP:DMG: AttributePathIBs = @@ -99,8 +103,11 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - ./chip-tool thermostat write system-mode 2 1 1 + verify on Reference app receives the right Read Request Message for the data sent in the below commands + + ./chip-tool thermostat write system-mode 2 1 1 + Verify in TH all-clusters-app Log: [1652265582.913625][7099:7099] CHIP:IM: Received Write request [1652265582.913672][7099:7099] CHIP:DMG: IM WH moving to [Initialized] [1652265582.913768][7099:7099] CHIP:DMG: WriteRequestMessage = @@ -130,8 +137,7 @@ tests: ./chip-tool thermostat write control-sequence-of-operation 1 1 1 - - + Verify in TH all-clusters-app Log: [1652265678.578137][7099:7099] CHIP:IM: Received Write request [1652265678.578192][7099:7099] CHIP:DMG: IM WH moving to [Initialized] [1652265678.578284][7099:7099] CHIP:DMG: WriteRequestMessage = @@ -174,22 +180,35 @@ tests: also reflects this in global attributes such as FeatureMap and AttributeList. Commission DUT to TH again" verification: | + To verify all below steps use all-clusters-minimal-app + verify on Reference app receives the right Read Request Message for the data sent in the below commands + ./chip-tool thermostat read attribute-list 1 1 - [1654249558990] [92048:4020537] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFB DataVersion: 2781503138 - [1654249558990] [92048:4020537] CHIP: [TOO] AttributeList: 9 entries - [1654249558990] [92048:4020537] CHIP: [TOO] [1]: 0 - [1654249558990] [92048:4020537] CHIP: [TOO] [2]: 18 - [1654249558990] [92048:4020537] CHIP: [TOO] [3]: 27 - [1654249558990] [92048:4020537] CHIP: [TOO] [4]: 28 - [1654249558990] [92048:4020537] CHIP: [TOO] [5]: 65528 - [1654249558990] [92048:4020537] CHIP: [TOO] [6]: 65529 - [1654249558990] [92048:4020537] CHIP: [TOO] [7]: 65531 - [1654249558990] [92048:4020537] CHIP: [TOO] [8]: 65532 - [1654249558990] [92048:4020537] CHIP: [TOO] [9]: 65533 + Verify in TH all-clusters-app Log: + [1657179340.726622][2249:2249] CHIP:IM: Received Read request + [1657179340.726762][2249:2249] CHIP:DMG: ReadRequestMessage = + [1657179340.726817][2249:2249] CHIP:DMG: { + [1657179340.726863][2249:2249] CHIP:DMG: AttributePathIBs = + [1657179340.726918][2249:2249] CHIP:DMG: [ + [1657179340.726968][2249:2249] CHIP:DMG: AttributePathIB = + [1657179340.727024][2249:2249] CHIP:DMG: { + [1657179340.727083][2249:2249] CHIP:DMG: Endpoint = 0x1, + [1657179340.727252][2249:2249] CHIP:DMG: Cluster = 0x201, + [1657179340.727330][2249:2249] CHIP:DMG: Attribute = 0x0000_FFFB, + [1657179340.727398][2249:2249] CHIP:DMG: } + [1657179340.727461][2249:2249] CHIP:DMG: + [1657179340.727520][2249:2249] CHIP:DMG: ], + [1657179340.727578][2249:2249] CHIP:DMG: + [1657179340.727633][2249:2249] CHIP:DMG: isFabricFiltered = true, + [1657179340.727685][2249:2249] CHIP:DMG: InteractionModelRevision = 1 + [1657179340.727734][2249:2249] CHIP:DMG: }, + [1657179340.727881][2249:2249] CHIP:DMG: IM RH moving to [GeneratingReports] + [1657179340.728028][2249:2249] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - " ./chip-tool thermostat read local-temperature 1 1 + ./chip-tool thermostat read local-temperature 1 1 + Verify in TH all-clusters-app Log: [1652264555.303895][7099:7099] CHIP:IM: Received Read request [1652264555.303980][7099:7099] CHIP:DMG: ReadRequestMessage = [1652264555.304045][7099:7099] CHIP:DMG: { @@ -210,8 +229,7 @@ tests: ./chip-tool thermostat read control-sequence-of-operation 1 1 - - + Verify in TH all-clusters-app Log: [1652265275.022068][7099:7099] CHIP:DMG: ReadRequestMessage = [1652265275.022110][7099:7099] CHIP:DMG: { [1652265275.022145][7099:7099] CHIP:DMG: AttributePathIBs = @@ -230,6 +248,7 @@ tests: [1652265275.022756][7099:7099] CHIP:DMG: }, ./chip-tool thermostat read system-mode 1 1 + Verify in TH all-clusters-app Log: [1652265332.311723][7099:7099] CHIP:DMG: ReadRequestMessage = [1652265332.311772][7099:7099] CHIP:DMG: { [1652265332.311812][7099:7099] CHIP:DMG: AttributePathIBs = diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml index 003cf3b51aa15c..6bf7ff94e6d94c 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_3_2.yaml @@ -27,10 +27,11 @@ tests: reasonable positive value that is supported by the DUT." PICS: TSTAT.C.C00.Tx verification: | - On TestHarnes (all-cluster-app) a received setpoint-raise-lower command with f.e. mode 0 and an amount of 10 looks like this: + verify on Reference app receives the right Read Request Message for the data sent in the below commands ./chip-tool thermostat setpoint-raise-lower 0 10 1 1 + Verify in TH all-clusters-app Log: [1646064221.719107][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:4540287 on exchange 31012r [1646064221.719148][33190:33190] CHIP:EM: Handling via exchange: 31012r, Delegate: 0xaaaace1730c8 @@ -70,10 +71,9 @@ tests: reasonable negative value that is supported by the DUT." PICS: TSTAT.C.C00.Tx verification: | - On TestHarnes (all-cluster-app) a received setpoint-raise-lower command with f.e. mode 0 and an amount of 10 looks like this: - ./chip-tool thermostat setpoint-raise-lower 0 -10 1 1 + Verify in TH all-clusters-app Log: [1646064525.675075][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:16717414 on exchange 9698r [1646064525.675116][33190:33190] CHIP:EM: Handling via exchange: 9698r, Delegate: 0xaaaace1730c8 @@ -110,8 +110,12 @@ tests: - label: "DUT sends a GetRelayStatusLog command to the Test Harness." PICS: TSTAT.C.C04.Tx verification: | - On TestHarnes (all-cluster-app) a received GetRelayStatusLog command looks like this: + verify on Reference app receives the right Read Request Message for the data sent in the below commands + ./chip-tool thermostat get-relay-status-log 1 1 + + Verify in TH all-clusters-app Log: + [1646064788.912273][33190:33190] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:15642355 on exchange 58465r [1646064788.912319][33190:33190] CHIP:EM: Handling via exchange: 58465r, Delegate: 0xaaaace1730c8 [1646064788.912604][33190:33190] CHIP:DMG: InvokeRequestMessage = diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml index ffad9e801b272e..cbaad5712e4885 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_3_1.yaml @@ -25,11 +25,10 @@ tests: "DUT reads all supported mandatory attributes from TH one at a time in a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received read of the TemperatureDisplayMode attribute (id 0) looks like this: - ./chip-tool thermostatuserinterfaceconfiguration read temperature-display-mode 12345 1 - verify that you see something like this: + + Verify in TH all-clusters-app Log: [1650966000.959191][11186:11191] CHIP:DMG: ReportDataMessage = [1650966000.959287][11186:11191] CHIP:DMG: { @@ -65,7 +64,9 @@ tests: ./chip-tool thermostatuserinterfaceconfiguration read keypad-lockout 12345 1 - verify that you see something like this: + Verify in TH all-clusters-app Log: + + [1650966035.736227][11195:11200] CHIP:DMG: ReportDataMessage = [1650966035.736277][11195:11200] CHIP:DMG: { [1650966035.736317][11195:11200] CHIP:DMG: AttributeReportIBs = @@ -102,6 +103,7 @@ tests: verification: | ./chip-tool thermostatuserinterfaceconfiguration read schedule-programming-visibility 1 1 + Verify in TH all-clusters-app Log: [1654689278.722504][8215:8215] CHIP:DMG: ReadRequestMessage = [1654689278.722531][8215:8215] CHIP:DMG: { [1654689278.722552][8215:8215] CHIP:DMG: AttributePathIBs = @@ -126,10 +128,9 @@ tests: "DUT writes a suitable value to all supported mandatory attributes on the TH one at a time in a manufacturer specific order" verification: | - On TestHarnes (all-cluster-app) a received write request looks like this (f.e TemperatureDisplayMode (id 0) value 1): - - ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 1 1 1 + ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 1 1 1 + Verify in TH all-clusters-app Log: [1649674212.150303][2241:2241] CHIP:DMG: WriteRequestMessage = [1649674212.150341][2241:2241] CHIP:DMG: { [1649674212.150375][2241:2241] CHIP:DMG: suppressResponse = false, @@ -157,6 +158,9 @@ tests: ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1 + + + Verify in TH all-clusters-app Log: [1649674352.430976][2241:2241] CHIP:DMG: WriteRequestMessage = [1649674352.431028][2241:2241] CHIP:DMG: { [1649674352.431064][2241:2241] CHIP:DMG: suppressResponse = false, @@ -189,6 +193,7 @@ tests: ./chip-tool thermostatuserinterfaceconfiguration write schedule-programming-visibility 1 1 1 + Verify in TH all-clusters-app Log: [1649673609.998586][2338:2344] CHIP:DMG: AttributePathIB = [1649673609.998644][2338:2344] CHIP:DMG: { [1649673609.998690][2338:2344] CHIP:DMG: Endpoint = 0x1, @@ -209,6 +214,9 @@ tests: AttributeList. Commission DUT to TH again" verification: | ./chip-tool thermostatuserinterfaceconfiguration read attribute-list 1 1 + + + Verify in TH all-clusters-minimal-app Log: [1654248197885] [91899:4015040] CHIP: [TOO] Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFB DataVersion: 2039959817 [1654248197885] [91899:4015040] CHIP: [TOO] AttributeList: 7 entries [1654248197885] [91899:4015040] CHIP: [TOO] [1]: 0 @@ -220,13 +228,8 @@ tests: [1654248197885] [91899:4015040] CHIP: [TOO] [7]: 65533 - - - - "On TestHarnes (all-cluster-app) a received write request looks like this (f.e TemperatureDisplayMode (id 0) value 1): - ./chip-tool thermostatuserinterfaceconfiguration write temperature-display-mode 1 1 1 - + Verify in TH all-clusters-minimal-app Log: [1649674212.150303][2241:2241] CHIP:DMG: WriteRequestMessage = [1649674212.150341][2241:2241] CHIP:DMG: { [1649674212.150375][2241:2241] CHIP:DMG: suppressResponse = false, @@ -252,8 +255,8 @@ tests: [1649674212.151417][2241:2241] CHIP:DMG: }, - ./chip-tool thermostatuserinterfaceconfiguration write keypad-lockout 1 1 1 + Verify in TH all-clusters-minimal-app Log: [1649674352.430976][2241:2241] CHIP:DMG: WriteRequestMessage = [1649674352.431028][2241:2241] CHIP:DMG: { [1649674352.431064][2241:2241] CHIP:DMG: suppressResponse = false, diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 05a1b70844b539..525e3cab80ebaa 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -21,20 +21,20 @@ RH.S.A0003=1 RH.M.ManuallyControlled=1 # Thermostat User Configuration cluster -TM.S.A0000=1 -TM.S.A0001=1 -TM.S.A0002=1 -TM.S.A0003=1 -TMP.S.A0003=0 -TM.M.ManuallyControlled=1 +TMP.S.A0000=1 +TMP.S.A0001=1 +TMP.S.A0002=1 +TMP.S.A0003=1 +TMP.M.ManuallyControlled=1 DGSW.S.E00=1 DGSW.S.A0000=1 DGSW.S.A0001=1 DGSW.S.A0002=1 DGSW.S.A0003=1 -DGSW.S.C00=1 - +DGSW.S.C00.Rsp=1 +A_OCCUPIEDCOOLINGSETPOINT=1 +A_OCCUPIEDHEATINGSETPOINT=1 A_MINHEATSETPOINTLIMIT=1 A_MAXHEATSETPOINTLIMIT=1 A_MINCOOLSETPOINTLIMIT=1 @@ -620,7 +620,7 @@ DGGEN.S.A0005=1 DGGEN.S.A0006=1 DGGEN.S.A0007=1 DGGEN.S.A0008=1 -DGGEN.S.C00=1 +DGGEN.S.C00.Rsp=1 DGGEN.S.E00=1 DGGEN.S.E01=1 DGGEN.S.E02=1 @@ -746,7 +746,7 @@ MCORE.DD.THREAD=1 MCORE.DD.WIRELESS=1 #Ethernet Network Diagnostics Cluster -DGETH.S.C00=1 +DGETH.S.C00.Rsp=1 DGETH.S.A0000=1 DGETH.S.A0001=1 DGETH.S.A0002=1 @@ -776,7 +776,7 @@ DGWIFI.S.A000c=1 DGWIFI.S.E00=1 DGWIFI.S.E01=1 DGWIFI.S.E02=1 -DGWIFI.S.C00=1 +DGWIFI.S.C00.Rsp=1 #On/Off Cluster OO.S.A0000=1 OO.S.A4000=1 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 97fe37ecc3d274..dd2dacc10db2ee 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -11502,7 +11502,7 @@ class Test_TC_DGETH_2_2Suite : public TestCommand } case 1: { LogStep(1, "Sends ResetCounts command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGETH.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGETH.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, @@ -15434,7 +15434,7 @@ class Test_TC_LVL_4_1Suite : public TestCommand LogStep(6, "Wait 9000ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 9000UL; + value.ms = 10000UL; return WaitForMs(kIdentityAlpha, value); } case 7: { @@ -28545,25 +28545,25 @@ class Test_TC_TMP_2_1Suite : public TestCommand } case 1: { LogStep(1, "read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } case 2: { LogStep(2, "read the mandatory attribute: MinMeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); } case 3: { LogStep(3, "read the mandatory attribute: MaxMeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } case 4: { LogStep(4, "read the optional attribute: Tolerance"); - VerifyOrDo(!ShouldSkip("TM.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::Tolerance::Id, true, chip::NullOptional); } @@ -34273,7 +34273,7 @@ class Test_TC_DGWIFI_2_3Suite : public TestCommand } case 1: { LogStep(1, "TH sends ResetCounts command to DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, @@ -34283,37 +34283,37 @@ class Test_TC_DGWIFI_2_3Suite : public TestCommand } case 2: { LogStep(2, "Reads BeaconLostCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::BeaconLostCount::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Reads BeaconRxCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::BeaconRxCount::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Reads PacketMulticastRxCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Reads PacketMulticastTxCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Reads PacketUnicastRxCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Reads PacketUnicastTxCount attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::Id, true, chip::NullOptional); } @@ -55051,7 +55051,7 @@ class Test_TC_DGSW_2_3Suite : public TestCommand } case 1: { LogStep(1, "Sends ResetWatermarks to DUT"); - VerifyOrDo(!ShouldSkip("DGSW.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("DGSW.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, @@ -69164,7 +69164,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand class Test_TC_BINFO_2_2Suite : public TestCommand { public: - Test_TC_BINFO_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_2", 16, credsIssuerConfig) + Test_TC_BINFO_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_2_2", 0, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -69185,8 +69185,6 @@ class Test_TC_BINFO_2_2Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - uint32_t SoftwareVersionValue; - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -69199,87 +69197,6 @@ class Test_TC_BINFO_2_2Suite : public TestCommand switch (mTestIndex - 1) { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "uint8")); - SoftwareVersionValue = value; - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "bool")); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("softwareVersion", value, SoftwareVersionValue)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "", "bool")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -69295,121 +69212,6 @@ class Test_TC_BINFO_2_2Suite : public TestCommand using namespace chip::app::Clusters; switch (testIndex) { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Query SoftwareVersion"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, - chip::NullOptional); - } - case 2: { - LogStep(2, "Query Reachable Fabrics"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Reboot target device"); - VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 4: { - LogStep(4, "Reboot target device(DUT)"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Please reboot the DUT and enter 'y' after DUT startsgarbage: not in length on purpose", 52); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 5: { - LogStep(5, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 6: { - LogStep(6, "Query SoftwareVersion"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::SoftwareVersion::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Reboot target device"); - VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 8: { - LogStep(8, "Reboot target device(DUT)"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Please reboot the DUT and enter 'y' after DUT startsgarbage: not in length on purpose", 52); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 9: { - LogStep(9, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 10: { - LogStep(10, "Factory Reset the accessory"); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::FactoryReset::Type value; - return FactoryReset(kIdentityAlpha, value); - } - case 11: { - LogStep(11, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 12: { - LogStep(12, "Reboot target device"); - VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::SystemCommands::Commands::Reboot::Type value; - return Reboot(kIdentityAlpha, value); - } - case 13: { - LogStep(13, "Reboot target device(DUT)"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = - chip::Span("Please reboot the DUT and enter 'y' after DUT startsgarbage: not in length on purpose", 52); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 14: { - LogStep(14, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 15: { - LogStep(15, "Query Reachable Fabrics"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::Reachable::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -87007,25 +86809,25 @@ class Test_TC_TMP_2_2Suite : public TestCommand } case 1: { LogStep(1, "read the mandatory attribute: MinMeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MinMeasuredValue::Id, true, chip::NullOptional); } case 2: { LogStep(2, "read the mandatory attribute: MaxMeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MaxMeasuredValue::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Reads MeasuredValue attribute from DUT"); - VerifyOrDo(!ShouldSkip("TM.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Operate on device to change the temperature significantly"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TM.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TMP.M.ManuallyControlled"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -87035,7 +86837,7 @@ class Test_TC_TMP_2_2Suite : public TestCommand } case 5: { LogStep(5, "Read the mandatory attribute: MeasuredValue"); - VerifyOrDo(!ShouldSkip("TM.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TMP.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::MeasuredValue::Id, true, chip::NullOptional); } diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 8817c9dd8b368f..cc5b86604ccaee 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -17652,7 +17652,7 @@ class Test_TC_DGETH_2_2 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Sends ResetCounts command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGETH.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGETH.S.C00.Rsp")) { NextTest(); return; } @@ -24960,7 +24960,7 @@ class Test_TC_LVL_4_1 : public TestCommandBridge { CHIP_ERROR TestWait9000ms_6() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; - value.ms = 9000UL; + value.ms = 10000UL; return WaitForMs("alpha", value); } @@ -45728,7 +45728,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : read the mandatory attribute: MeasuredValue\n"); - if (ShouldSkip("TM.S.A0000")) { + if (ShouldSkip("TMP.S.A0000")) { NextTest(); return; } @@ -45736,7 +45736,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : read the mandatory attribute: MinMeasuredValue\n"); - if (ShouldSkip("TM.S.A0001")) { + if (ShouldSkip("TMP.S.A0001")) { NextTest(); return; } @@ -45744,7 +45744,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : read the mandatory attribute: MaxMeasuredValue\n"); - if (ShouldSkip("TM.S.A0002")) { + if (ShouldSkip("TMP.S.A0002")) { NextTest(); return; } @@ -45752,7 +45752,7 @@ class Test_TC_TMP_2_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : read the optional attribute: Tolerance\n"); - if (ShouldSkip("TM.S.A0003")) { + if (ShouldSkip("TMP.S.A0003")) { NextTest(); return; } @@ -54887,7 +54887,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : TH sends ResetCounts command to DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54895,7 +54895,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Reads BeaconLostCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54903,7 +54903,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Reads BeaconRxCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54911,7 +54911,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Reads PacketMulticastRxCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54919,7 +54919,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Reads PacketMulticastTxCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54927,7 +54927,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Reads PacketUnicastRxCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -54935,7 +54935,7 @@ class Test_TC_DGWIFI_2_3 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Reads PacketUnicastTxCount attribute from DUT\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00")) { + if (ShouldSkip("PICS_SKIP_SAMPLE_APP && DGWIFI.S.C00.Rsp")) { NextTest(); return; } @@ -93670,7 +93670,7 @@ class Test_TC_DGSW_2_3 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Sends ResetWatermarks to DUT\n"); - if (ShouldSkip("DGSW.S.C00")) { + if (ShouldSkip("DGSW.S.C00.Rsp")) { NextTest(); return; } From e19242ef03c48b27934d66bbd0a0b3942dda3678 Mon Sep 17 00:00:00 2001 From: pankore <86098180+pankore@users.noreply.github.com> Date: Fri, 15 Jul 2022 23:53:54 -0700 Subject: [PATCH 12/15] [Ameba] Set matter_enable_persistentstorage_audit as disabled by default (#20777) --- integrations/docker/images/chip-build-ameba/Dockerfile | 2 +- integrations/docker/images/chip-build/version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/docker/images/chip-build-ameba/Dockerfile b/integrations/docker/images/chip-build-ameba/Dockerfile index f8425e5c9bd6e9..0504e3c8645ceb 100644 --- a/integrations/docker/images/chip-build-ameba/Dockerfile +++ b/integrations/docker/images/chip-build-ameba/Dockerfile @@ -3,7 +3,7 @@ FROM connectedhomeip/chip-build:${VERSION} # Setup Ameba ARG AMEBA_DIR=/opt/ameba -ARG TAG_NAME=ameba_update_2022_06_20 +ARG TAG_NAME=ameba_update_2022_07_15 RUN set -x \ && apt-get update \ && mkdir ${AMEBA_DIR} \ diff --git a/integrations/docker/images/chip-build/version b/integrations/docker/images/chip-build/version index 7ead4c9a8430da..4c819180ae4884 100644 --- a/integrations/docker/images/chip-build/version +++ b/integrations/docker/images/chip-build/version @@ -1 +1 @@ -0.5.85 Version bump reason: remove two Yocto SDKs to decrease the imx docker image size +0.5.86 Version bump reason: [Ameba] Set matter_enable_persistentstorage_audit as disabled by default From bd077fe03193899563ea86c63e9ec18b6da32485 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Sat, 16 Jul 2022 03:18:18 -0400 Subject: [PATCH 13/15] Reset error state when shutting down chip-tool commands. (#20818) Some commands store an error status. If they fail, the next invocation of the same command in interactive mode will also claim to have failed, even if it succeeded, because the error status carries over. The fix is to reset the error status on Shutdown of the command. --- examples/chip-tool/commands/clusters/ClusterCommand.h | 6 ++++++ examples/chip-tool/commands/clusters/ReportCommand.h | 1 + .../chip-tool/commands/clusters/WriteAttributeCommand.h | 6 ++++++ .../commands/clusters/ClusterCommandBridge.h | 6 ++++++ .../commands/clusters/ModelCommandBridge.mm | 6 +++++- 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/examples/chip-tool/commands/clusters/ClusterCommand.h b/examples/chip-tool/commands/clusters/ClusterCommand.h index 81386cddd195aa..70875643691edf 100644 --- a/examples/chip-tool/commands/clusters/ClusterCommand.h +++ b/examples/chip-tool/commands/clusters/ClusterCommand.h @@ -124,6 +124,12 @@ class ClusterCommand : public InteractionModelCommands, public ModelCommand, pub } } + void Shutdown() override + { + mError = CHIP_NO_ERROR; + ModelCommand::Shutdown(); + } + protected: ClusterCommand(const char * commandName, CredentialIssuerCommands * credsIssuerConfig) : InteractionModelCommands(this), ModelCommand(commandName, credsIssuerConfig) diff --git a/examples/chip-tool/commands/clusters/ReportCommand.h b/examples/chip-tool/commands/clusters/ReportCommand.h index 98f8f6de772051..694507c410c7f8 100644 --- a/examples/chip-tool/commands/clusters/ReportCommand.h +++ b/examples/chip-tool/commands/clusters/ReportCommand.h @@ -98,6 +98,7 @@ class ReportCommand : public InteractionModelReports, public ModelCommand, publi { // We don't shut down InteractionModelReports here; we leave it for // Cleanup to handle. + mError = CHIP_NO_ERROR; ModelCommand::Shutdown(); } diff --git a/examples/chip-tool/commands/clusters/WriteAttributeCommand.h b/examples/chip-tool/commands/clusters/WriteAttributeCommand.h index 57cad5cbf7f0cc..1cb6ff35383628 100644 --- a/examples/chip-tool/commands/clusters/WriteAttributeCommand.h +++ b/examples/chip-tool/commands/clusters/WriteAttributeCommand.h @@ -149,6 +149,12 @@ class WriteAttribute : public InteractionModelWriter, public ModelCommand, publi dataVersion); } + void Shutdown() override + { + mError = CHIP_NO_ERROR; + ModelCommand::Shutdown(); + } + protected: WriteAttribute(const char * attributeName, CredentialIssuerCommands * credsIssuerConfig) : InteractionModelWriter(this), ModelCommand("write", credsIssuerConfig) diff --git a/examples/darwin-framework-tool/commands/clusters/ClusterCommandBridge.h b/examples/darwin-framework-tool/commands/clusters/ClusterCommandBridge.h index 8aa6456f1ef73b..8cc84613e537f3 100644 --- a/examples/darwin-framework-tool/commands/clusters/ClusterCommandBridge.h +++ b/examples/darwin-framework-tool/commands/clusters/ClusterCommandBridge.h @@ -101,6 +101,12 @@ class ClusterCommand : public ModelCommand { return CHIP_NO_ERROR; } + void Shutdown() override + { + mError = nil; + ModelCommand::Shutdown(); + } + protected: ClusterCommand(const char * _Nonnull commandName) : ModelCommand(commandName) diff --git a/examples/darwin-framework-tool/commands/clusters/ModelCommandBridge.mm b/examples/darwin-framework-tool/commands/clusters/ModelCommandBridge.mm index 31ab9d8cba1038..e8387b8dda5b84 100644 --- a/examples/darwin-framework-tool/commands/clusters/ModelCommandBridge.mm +++ b/examples/darwin-framework-tool/commands/clusters/ModelCommandBridge.mm @@ -53,4 +53,8 @@ return CHIP_NO_ERROR; } -void ModelCommand::Shutdown() { ResetArguments(); } +void ModelCommand::Shutdown() +{ + ResetArguments(); + CHIPCommandBridge::Shutdown(); +} From 4871b19c0dbe5df05d572a3520409776f21df363 Mon Sep 17 00:00:00 2001 From: Yunhan Wang Date: Fri, 15 Jul 2022 13:28:07 -0700 Subject: [PATCH 14/15] add enum check --- src/app/common/BUILD.gn | 2 + src/app/common/templates/templates.json | 9 +++- src/app/data-model/Decode.h | 12 ++++- src/app/tests/TestDataModelSerialization.cpp | 51 +++++++++++++++++++ src/app/tests/suites/TestCluster.yaml | 29 ++++++++--- src/app/tests/suites/TestEvents.yaml | 4 +- .../templates/app/cluster-enums-check.zapt | 41 +++++++++++++++ .../templates/app/cluster-enums.zapt | 4 +- src/platform/bouffalolab/BL602/args.gni | 2 +- 9 files changed, 140 insertions(+), 14 deletions(-) create mode 100644 src/app/zap-templates/templates/app/cluster-enums-check.zapt diff --git a/src/app/common/BUILD.gn b/src/app/common/BUILD.gn index 648016563ac5d5..fee9795dc5982c 100644 --- a/src/app/common/BUILD.gn +++ b/src/app/common/BUILD.gn @@ -18,6 +18,8 @@ static_library("cluster-objects") { output_name = "libClusterObjects" sources = [ + "${chip_root}/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h", + "${chip_root}/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h", "${chip_root}/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp", "${chip_root}/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h", ] diff --git a/src/app/common/templates/templates.json b/src/app/common/templates/templates.json index b21737864ca180..2e1ba3043bc24b 100644 --- a/src/app/common/templates/templates.json +++ b/src/app/common/templates/templates.json @@ -120,13 +120,18 @@ }, { "path": "../../zap-templates/templates/app/cluster-objects-src.zapt", - "name": "Cluster objects header for Interaction Model", + "name": "Cluster objects source for Interaction Model", "output": "cluster-objects.cpp" }, { "path": "../../zap-templates/templates/app/cluster-enums.zapt", - "name": "Enum and bitmap definitions for clusters", + "name": "Enum and bitmap header for clusters", "output": "cluster-enums.h" + }, + { + "path": "../../zap-templates/templates/app/cluster-enums-check.zapt", + "name": "Enum and bitmap method check header for clusters", + "output": "cluster-enums-check.h" } ] } diff --git a/src/app/data-model/Decode.h b/src/app/data-model/Decode.h index 9becc5af42a551..6e31d22b4aafb4 100644 --- a/src/app/data-model/Decode.h +++ b/src/app/data-model/Decode.h @@ -18,6 +18,7 @@ #pragma once +#include #include #include #include @@ -28,6 +29,13 @@ namespace chip { namespace app { +namespace Clusters { +static auto __attribute__((unused)) EnsureKnownEnumValue(chip::VendorId val) +{ + return val; +} +} // namespace Clusters + namespace DataModel { // @@ -48,7 +56,9 @@ CHIP_ERROR Decode(TLV::TLVReader & reader, X & x) template ::value, int> = 0> CHIP_ERROR Decode(TLV::TLVReader & reader, X & x) { - return reader.Get(x); + ReturnErrorOnFailure(reader.Get(x)); + x = Clusters::EnsureKnownEnumValue(x); + return CHIP_NO_ERROR; } template diff --git a/src/app/tests/TestDataModelSerialization.cpp b/src/app/tests/TestDataModelSerialization.cpp index 368b6e7d9d23a9..3c922f348b4514 100644 --- a/src/app/tests/TestDataModelSerialization.cpp +++ b/src/app/tests/TestDataModelSerialization.cpp @@ -42,6 +42,7 @@ class TestDataModelSerialization { public: static void TestDataModelSerialization_EncAndDecSimpleStruct(nlTestSuite * apSuite, void * apContext); + static void TestDataModelSerialization_EncAndDecSimpleStructNegativeEnum(nlTestSuite * apSuite, void * apContext); static void TestDataModelSerialization_EncAndDecNestedStruct(nlTestSuite * apSuite, void * apContext); static void TestDataModelSerialization_EncAndDecNestedStructList(nlTestSuite * apSuite, void * apContext); static void TestDataModelSerialization_EncAndDecDecodableNestedStructList(nlTestSuite * apSuite, void * apContext); @@ -221,6 +222,55 @@ void TestDataModelSerialization::TestDataModelSerialization_EncAndDecSimpleStruc } } +void TestDataModelSerialization::TestDataModelSerialization_EncAndDecSimpleStructNegativeEnum(nlTestSuite * apSuite, + void * apContext) +{ + CHIP_ERROR err; + auto * _this = static_cast(apContext); + + _this->mpSuite = apSuite; + _this->SetupBuf(); + + // + // Encode + // + { + TestCluster::Structs::SimpleStruct::Type t; + uint8_t buf[4] = { 0, 1, 2, 3 }; + char strbuf[10] = "chip"; + + t.a = 20; + t.b = true; + t.c = static_cast(10); + t.d = buf; + + t.e = Span{ strbuf, strlen(strbuf) }; + + t.f.Set(TestCluster::SimpleBitmap::kValueC); + + err = DataModel::Encode(_this->mWriter, TLV::AnonymousTag(), t); + NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); + + err = _this->mWriter.Finalize(); + NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); + + _this->DumpBuf(); + } + + // + // Decode + // + { + TestCluster::Structs::SimpleStruct::Type t; + + _this->SetupReader(); + + err = DataModel::Decode(_this->mReader, t); + NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR); + NL_TEST_ASSERT(apSuite, to_underlying(t.c) == 4); + } +} + void TestDataModelSerialization::TestDataModelSerialization_EncAndDecNestedStruct(nlTestSuite * apSuite, void * apContext) { CHIP_ERROR err; @@ -1057,6 +1107,7 @@ int Finalize(void * aContext) const nlTest sTests[] = { NL_TEST_DEF("TestDataModelSerialization_EncAndDecSimple", TestDataModelSerialization::TestDataModelSerialization_EncAndDecSimpleStruct), + NL_TEST_DEF("TestDataModelSerialization_EncAndDecSimpleStructNegativeEnum", TestDataModelSerialization::TestDataModelSerialization_EncAndDecSimpleStructNegativeEnum), NL_TEST_DEF("TestDataModelSerialization_EncAndDecNestedStruct", TestDataModelSerialization::TestDataModelSerialization_EncAndDecNestedStruct), NL_TEST_DEF("TestDataModelSerialization_EncAndDecDecodableNestedStructList", TestDataModelSerialization::TestDataModelSerialization_EncAndDecDecodableNestedStructList), NL_TEST_DEF("TestDataModelSerialization_EncAndDecDecodableDoubleNestedStructList", TestDataModelSerialization::TestDataModelSerialization_EncAndDecDecodableDoubleNestedStructList), diff --git a/src/app/tests/suites/TestCluster.yaml b/src/app/tests/suites/TestCluster.yaml index 85b33b6525d9a0..e1ddaba5939780 100644 --- a/src/app/tests/suites/TestCluster.yaml +++ b/src/app/tests/suites/TestCluster.yaml @@ -1038,13 +1038,28 @@ tests: - name: "arg1" value: 20003 - name: "arg2" - value: 101 + value: 1 response: + values: + - name: "arg1" + value: 20003 + - name: "arg2" + value: 1 + + - label: "Send a command with a vendor_id and invalid enum" + command: "TestEnumsRequest" + arguments: values: - name: "arg1" value: 20003 - name: "arg2" value: 101 + response: + values: + - name: "arg1" + value: 20003 + - name: "arg2" + value: 4 # Tests for Struct @@ -2766,13 +2781,13 @@ tests: command: "writeAttribute" attribute: "nullable_enum_attr" arguments: - value: 254 + value: 3 - label: "Read attribute NULLABLE_SIMPLE_ENUM Max Value" command: "readAttribute" attribute: "nullable_enum_attr" response: - value: 254 + value: 3 - label: "Write attribute NULLABLE_SIMPLE_ENUM Invalid Value" command: "writeAttribute" @@ -2786,8 +2801,8 @@ tests: command: "readAttribute" attribute: "nullable_enum_attr" response: - saveAs: nullableEnumAttr254 - value: 254 + saveAs: nullableEnumAttr3 + value: 3 - label: "Write attribute NULLABLE_SIMPLE_ENUM null Value" command: "writeAttribute" @@ -2801,12 +2816,12 @@ tests: response: value: null - - label: "Read attribute NULLABLE_SIMPLE_ENUM not 254 Value" + - label: "Read attribute NULLABLE_SIMPLE_ENUM not 3 Value" command: "readAttribute" attribute: "nullable_enum_attr" response: constraints: - notValue: nullableEnumAttr254 + notValue: nullableEnumAttr3 # Tests for Octet String attribute diff --git a/src/app/tests/suites/TestEvents.yaml b/src/app/tests/suites/TestEvents.yaml index 5b40c8bf9a888c..7c6592f32070bb 100644 --- a/src/app/tests/suites/TestEvents.yaml +++ b/src/app/tests/suites/TestEvents.yaml @@ -112,7 +112,7 @@ tests: - name: "arg1" value: 4 - name: "arg2" - value: 5 + value: 3 - name: "arg3" value: true response: @@ -126,4 +126,4 @@ tests: response: values: - name: "TestEvent" - value: { arg1: 4, arg2: 5, arg3: true } + value: { arg1: 4, arg2: 3, arg3: true } diff --git a/src/app/zap-templates/templates/app/cluster-enums-check.zapt b/src/app/zap-templates/templates/app/cluster-enums-check.zapt new file mode 100644 index 00000000000000..883a19b5cf0aee --- /dev/null +++ b/src/app/zap-templates/templates/app/cluster-enums-check.zapt @@ -0,0 +1,41 @@ +{{> header}} + +#pragma once + +#include + +namespace chip { +namespace app { +namespace Clusters { +{{#zcl_clusters}} +{{#zcl_enums}} +static auto __attribute__((unused)) EnsureKnownEnumValue({{asUpperCamelCase ../name}}::{{asType label}} val) +{ + using EnumType = {{asUpperCamelCase ../name}}::{{asType label}}; + switch (val) { +{{#if (isWeaklyTypedEnum label)}} +// 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 +{{/if}} + {{#zcl_enum_items}} + case EnumType::k{{asUpperCamelCase label}}: + {{/zcl_enum_items}} +{{#if (isWeaklyTypedEnum label)}} +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + {{#zcl_enum_items}} + case EMBER_ZCL_{{asDelimitedMacro parent.label}}_{{asDelimitedMacro label}}: + {{/zcl_enum_items}} +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +{{/if}} + return val; + default: + return static_cast({{first_unused_enum_value mode="first_unused"}}); + } +} +{{/zcl_enums}} + +{{/zcl_clusters}} +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/src/app/zap-templates/templates/app/cluster-enums.zapt b/src/app/zap-templates/templates/app/cluster-enums.zapt index b03ba4ec0d054f..2a6ac5a1f3ed35 100644 --- a/src/app/zap-templates/templates/app/cluster-enums.zapt +++ b/src/app/zap-templates/templates/app/cluster-enums.zapt @@ -24,11 +24,13 @@ enum class {{asType label}} : {{asUnderlyingZclType name}} { {{#zcl_enum_items}} k{{asUpperCamelCase label}} = {{asHex value 2}}, {{/zcl_enum_items}} +// kUnknownEnumValue = {{first_unused_enum_value mode="first_unused"}}, }; {{#if (isWeaklyTypedEnum label)}} #else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM using {{asType label}} = EmberAf{{asType label}}; -#endif +static {{asType label}} __attribute__((unused)) k{{asType label}}kUnknownEnumValue = static_cast<{{asType label}}>({{first_unused_enum_value mode="first_unused"}}); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM {{/if}} {{/zcl_enums}} {{#zcl_bitmaps}} diff --git a/src/platform/bouffalolab/BL602/args.gni b/src/platform/bouffalolab/BL602/args.gni index 8fe6c1a52b7de0..8cbed6f1ef1f19 100644 --- a/src/platform/bouffalolab/BL602/args.gni +++ b/src/platform/bouffalolab/BL602/args.gni @@ -37,7 +37,7 @@ chip_inet_config_enable_dns_resolver = false chip_inet_config_enable_tun_endpoint = false chip_inet_config_enable_tcp_endpoint = true chip_inet_config_enable_udp_endpoint = true - +chip_detail_logging = false pw_build_LINK_DEPS = [ "$dir_pw_assert:impl", "$dir_pw_log:impl", From 7eb25db8cbd9b7c6c10feecccb2e711dea834e1b Mon Sep 17 00:00:00 2001 From: Yunhan Wang Date: Fri, 15 Jul 2022 14:19:48 -0700 Subject: [PATCH 15/15] run codegen --- .../zap-generated/cluster-enums-check.h | 2059 +++++++++++++++ .../app-common/zap-generated/cluster-enums.h | 298 ++- .../chip-tool/zap-generated/test/Commands.h | 2010 +++++++-------- .../zap-generated/test/Commands.h | 2263 +++++++++-------- 4 files changed, 4446 insertions(+), 2184 deletions(-) create mode 100644 zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h new file mode 100644 index 00000000000000..2bca6b715cf75d --- /dev/null +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h @@ -0,0 +1,2059 @@ +/* + * + * Copyright (c) 2022 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. + */ + +// THIS FILE IS GENERATED BY ZAP + +#pragma once + +#include + +namespace chip { +namespace app { +namespace Clusters { +static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyEffectIdentifier val) +{ + using EnumType = Identify::IdentifyEffectIdentifier; + switch (val) + { +// 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 + case EnumType::kBlink: + case EnumType::kBreathe: + case EnumType::kOkay: + case EnumType::kChannelChange: + case EnumType::kFinishEffect: + case EnumType::kStopEffect: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BLINK: + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BREATHE: + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_OKAY: + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_CHANNEL_CHANGE: + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_FINISH_EFFECT: + case EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_STOP_EFFECT: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyEffectVariant val) +{ + using EnumType = Identify::IdentifyEffectVariant; + switch (val) + { +// 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 + case EnumType::kDefault: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_IDENTIFY_EFFECT_VARIANT_DEFAULT: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(1); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Identify::IdentifyIdentifyType val) +{ + using EnumType = Identify::IdentifyIdentifyType; + switch (val) + { +// 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 + case EnumType::kNone: + case EnumType::kVisibleLight: + case EnumType::kVisibleLED: + case EnumType::kAudibleBeep: + case EnumType::kDisplay: + case EnumType::kActuator: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_NONE: + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_VISIBLE_LIGHT: + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_VISIBLE_LED: + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_AUDIBLE_BEEP: + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_DISPLAY: + case EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_ACTUATOR: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(6); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffDelayedAllOffEffectVariant val) +{ + using EnumType = OnOff::OnOffDelayedAllOffEffectVariant; + switch (val) + { +// 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 + case EnumType::kFadeToOffIn0p8Seconds: + case EnumType::kNoFade: + case EnumType::k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_FADE_TO_OFF_IN_0P8_SECONDS: + case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_NO_FADE: + case EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_50_PERCENT_DIM_DOWN_IN_0P8_SECONDS_THEN_FADE_TO_OFF_IN_12_SECONDS: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffDyingLightEffectVariant val) +{ + using EnumType = OnOff::OnOffDyingLightEffectVariant; + switch (val) + { +// 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 + case EnumType::k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_ON_OFF_DYING_LIGHT_EFFECT_VARIANT_20_PERCENTER_DIM_UP_IN_0P5_SECONDS_THEN_FADE_TO_OFF_IN_1_SECOND: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(1); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffEffectIdentifier val) +{ + using EnumType = OnOff::OnOffEffectIdentifier; + switch (val) + { +// 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 + case EnumType::kDelayedAllOff: + case EnumType::kDyingLight: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DELAYED_ALL_OFF: + case EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DYING_LIGHT: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OnOff::OnOffStartUpOnOff val) +{ + using EnumType = OnOff::OnOffStartUpOnOff; + switch (val) + { + case EnumType::kOff: + case EnumType::kOn: + case EnumType::kTogglePreviousOnOff: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(LevelControl::MoveMode val) +{ + using EnumType = LevelControl::MoveMode; + switch (val) + { +// 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 + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_MOVE_MODE_UP: + case EMBER_ZCL_MOVE_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(LevelControl::StepMode val) +{ + using EnumType = LevelControl::StepMode; + switch (val) + { +// 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 + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_STEP_MODE_UP: + case EMBER_ZCL_STEP_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::AuthMode val) +{ + using EnumType = AccessControl::AuthMode; + switch (val) + { + case EnumType::kPase: + case EnumType::kCase: + case EnumType::kGroup: + return val; + default: + return static_cast(0); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::ChangeTypeEnum val) +{ + using EnumType = AccessControl::ChangeTypeEnum; + switch (val) + { + case EnumType::kChanged: + case EnumType::kAdded: + case EnumType::kRemoved: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::Privilege val) +{ + using EnumType = AccessControl::Privilege; + switch (val) + { + case EnumType::kView: + case EnumType::kProxyView: + case EnumType::kOperate: + case EnumType::kManage: + case EnumType::kAdminister: + return val; + default: + return static_cast(0); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(BridgedActions::ActionErrorEnum val) +{ + using EnumType = BridgedActions::ActionErrorEnum; + switch (val) + { + case EnumType::kUnknown: + case EnumType::kInterrupted: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(BridgedActions::ActionStateEnum val) +{ + using EnumType = BridgedActions::ActionStateEnum; + switch (val) + { + case EnumType::kInactive: + case EnumType::kActive: + case EnumType::kPaused: + case EnumType::kDisabled: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(BridgedActions::ActionTypeEnum val) +{ + using EnumType = BridgedActions::ActionTypeEnum; + switch (val) + { + case EnumType::kOther: + case EnumType::kScene: + case EnumType::kSequence: + case EnumType::kAutomation: + case EnumType::kException: + case EnumType::kNotification: + case EnumType::kAlarm: + return val; + default: + return static_cast(7); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(BridgedActions::EndpointListTypeEnum val) +{ + using EnumType = BridgedActions::EndpointListTypeEnum; + switch (val) + { + case EnumType::kOther: + case EnumType::kRoom: + case EnumType::kZone: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTAApplyUpdateAction val) +{ + using EnumType = OtaSoftwareUpdateProvider::OTAApplyUpdateAction; + switch (val) + { + case EnumType::kProceed: + case EnumType::kAwaitNextAction: + case EnumType::kDiscontinue: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTADownloadProtocol val) +{ + using EnumType = OtaSoftwareUpdateProvider::OTADownloadProtocol; + switch (val) + { + case EnumType::kBDXSynchronous: + case EnumType::kBDXAsynchronous: + case EnumType::kHttps: + case EnumType::kVendorSpecific: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateProvider::OTAQueryStatus val) +{ + using EnumType = OtaSoftwareUpdateProvider::OTAQueryStatus; + switch (val) + { + case EnumType::kUpdateAvailable: + case EnumType::kBusy: + case EnumType::kNotAvailable: + case EnumType::kDownloadProtocolNotSupported: + return val; + default: + return static_cast(4); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAAnnouncementReason val) +{ + using EnumType = OtaSoftwareUpdateRequestor::OTAAnnouncementReason; + switch (val) + { + case EnumType::kSimpleAnnouncement: + case EnumType::kUpdateAvailable: + case EnumType::kUrgentUpdateAvailable: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAChangeReasonEnum val) +{ + using EnumType = OtaSoftwareUpdateRequestor::OTAChangeReasonEnum; + switch (val) + { + case EnumType::kUnknown: + case EnumType::kSuccess: + case EnumType::kFailure: + case EnumType::kTimeOut: + case EnumType::kDelayByProvider: + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(OtaSoftwareUpdateRequestor::OTAUpdateStateEnum val) +{ + using EnumType = OtaSoftwareUpdateRequestor::OTAUpdateStateEnum; + switch (val) + { + case EnumType::kUnknown: + case EnumType::kIdle: + case EnumType::kQuerying: + case EnumType::kDelayedOnQuery: + case EnumType::kDownloading: + case EnumType::kApplying: + case EnumType::kDelayedOnApply: + case EnumType::kRollingBack: + case EnumType::kDelayedOnUserConsent: + return val; + default: + return static_cast(9); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(TimeFormatLocalization::CalendarType val) +{ + using EnumType = TimeFormatLocalization::CalendarType; + switch (val) + { + case EnumType::kBuddhist: + case EnumType::kChinese: + case EnumType::kCoptic: + case EnumType::kEthiopian: + case EnumType::kGregorian: + case EnumType::kHebrew: + case EnumType::kIndian: + case EnumType::kIslamic: + case EnumType::kJapanese: + case EnumType::kKorean: + case EnumType::kPersian: + case EnumType::kTaiwanese: + return val; + default: + return static_cast(12); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(TimeFormatLocalization::HourFormat val) +{ + using EnumType = TimeFormatLocalization::HourFormat; + switch (val) + { + case EnumType::k12hr: + case EnumType::k24hr: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(UnitLocalization::TempUnit val) +{ + using EnumType = UnitLocalization::TempUnit; + switch (val) + { + case EnumType::kFahrenheit: + case EnumType::kCelsius: + case EnumType::kKelvin: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeFault val) +{ + using EnumType = PowerSource::BatChargeFault; + switch (val) + { + case EnumType::kUnspecfied: + case EnumType::kAmbientTooHot: + case EnumType::kAmbientTooCold: + case EnumType::kBatteryTooHot: + case EnumType::kBatteryTooCold: + case EnumType::kBatteryAbsent: + case EnumType::kBatteryOverVoltage: + case EnumType::kBatteryUnderVoltage: + case EnumType::kChargerOverVoltage: + case EnumType::kChargerUnderVoltage: + case EnumType::kSafetyTimeout: + return val; + default: + return static_cast(11); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeLevel val) +{ + using EnumType = PowerSource::BatChargeLevel; + switch (val) + { + case EnumType::kOk: + case EnumType::kWarning: + case EnumType::kCritical: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatChargeState val) +{ + using EnumType = PowerSource::BatChargeState; + switch (val) + { + case EnumType::kUnknown: + case EnumType::kIsCharging: + case EnumType::kIsAtFullCharge: + case EnumType::kIsNotCharging: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatFault val) +{ + using EnumType = PowerSource::BatFault; + switch (val) + { + case EnumType::kUnspecfied: + case EnumType::kOverTemp: + case EnumType::kUnderTemp: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::BatReplaceability val) +{ + using EnumType = PowerSource::BatReplaceability; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kNotReplaceable: + case EnumType::kUserReplaceable: + case EnumType::kFactoryReplaceable: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::PowerSourceStatus val) +{ + using EnumType = PowerSource::PowerSourceStatus; + switch (val) + { + case EnumType::kUnspecfied: + case EnumType::kActive: + case EnumType::kStandby: + case EnumType::kUnavailable: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::WiredCurrentType val) +{ + using EnumType = PowerSource::WiredCurrentType; + switch (val) + { + case EnumType::kAc: + case EnumType::kDc: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PowerSource::WiredFault val) +{ + using EnumType = PowerSource::WiredFault; + switch (val) + { + case EnumType::kUnspecfied: + case EnumType::kOverVoltage: + case EnumType::kUnderVoltage: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralCommissioning::CommissioningError val) +{ + using EnumType = GeneralCommissioning::CommissioningError; + switch (val) + { + case EnumType::kOk: + case EnumType::kValueOutsideRange: + case EnumType::kInvalidAuthentication: + case EnumType::kNoFailSafe: + case EnumType::kBusyWithOtherAdmin: + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralCommissioning::RegulatoryLocationType val) +{ + using EnumType = GeneralCommissioning::RegulatoryLocationType; + switch (val) + { + case EnumType::kIndoor: + case EnumType::kOutdoor: + case EnumType::kIndoorOutdoor: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(NetworkCommissioning::NetworkCommissioningStatus val) +{ + using EnumType = NetworkCommissioning::NetworkCommissioningStatus; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kOutOfRange: + case EnumType::kBoundsExceeded: + case EnumType::kNetworkIDNotFound: + case EnumType::kDuplicateNetworkID: + case EnumType::kNetworkNotFound: + case EnumType::kRegulatoryError: + case EnumType::kAuthFailure: + case EnumType::kUnsupportedSecurity: + case EnumType::kOtherConnectionFailure: + case EnumType::kIPV6Failed: + case EnumType::kIPBindFailed: + case EnumType::kUnknownError: + return val; + default: + return static_cast(13); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(NetworkCommissioning::WiFiBand val) +{ + using EnumType = NetworkCommissioning::WiFiBand; + switch (val) + { + case EnumType::k2g4: + case EnumType::k3g65: + case EnumType::k5g: + case EnumType::k6g: + case EnumType::k60g: + return val; + default: + return static_cast(5); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsIntent val) +{ + using EnumType = DiagnosticLogs::LogsIntent; + switch (val) + { + case EnumType::kEndUserSupport: + case EnumType::kNetworkDiag: + case EnumType::kCrashLogs: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsStatus val) +{ + using EnumType = DiagnosticLogs::LogsStatus; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kExhausted: + case EnumType::kNoLogs: + case EnumType::kBusy: + case EnumType::kDenied: + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DiagnosticLogs::LogsTransferProtocol val) +{ + using EnumType = DiagnosticLogs::LogsTransferProtocol; + switch (val) + { + case EnumType::kResponsePayload: + case EnumType::kBdx: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::BootReasonType val) +{ + using EnumType = GeneralDiagnostics::BootReasonType; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kPowerOnReboot: + case EnumType::kBrownOutReset: + case EnumType::kSoftwareWatchdogReset: + case EnumType::kHardwareWatchdogReset: + case EnumType::kSoftwareUpdateCompleted: + case EnumType::kSoftwareReset: + return val; + default: + return static_cast(7); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::HardwareFaultType val) +{ + using EnumType = GeneralDiagnostics::HardwareFaultType; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kRadio: + case EnumType::kSensor: + case EnumType::kResettableOverTemp: + case EnumType::kNonResettableOverTemp: + case EnumType::kPowerSource: + case EnumType::kVisualDisplayFault: + case EnumType::kAudioOutputFault: + case EnumType::kUserInterfaceFault: + case EnumType::kNonVolatileMemoryError: + case EnumType::kTamperDetected: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_HARDWARE_FAULT_TYPE_UNSPECIFIED: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_RADIO: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_SENSOR: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_RESETTABLE_OVER_TEMP: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_RESETTABLE_OVER_TEMP: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_POWER_SOURCE: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_VISUAL_DISPLAY_FAULT: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_AUDIO_OUTPUT_FAULT: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_USER_INTERFACE_FAULT: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_VOLATILE_MEMORY_ERROR: + case EMBER_ZCL_HARDWARE_FAULT_TYPE_TAMPER_DETECTED: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(11); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::InterfaceType val) +{ + using EnumType = GeneralDiagnostics::InterfaceType; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kWiFi: + case EnumType::kEthernet: + case EnumType::kCellular: + case EnumType::kThread: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_INTERFACE_TYPE_UNSPECIFIED: + case EMBER_ZCL_INTERFACE_TYPE_WI_FI: + case EMBER_ZCL_INTERFACE_TYPE_ETHERNET: + case EMBER_ZCL_INTERFACE_TYPE_CELLULAR: + case EMBER_ZCL_INTERFACE_TYPE_THREAD: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::NetworkFaultType val) +{ + using EnumType = GeneralDiagnostics::NetworkFaultType; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kHardwareFailure: + case EnumType::kNetworkJammed: + case EnumType::kConnectionFailed: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_NETWORK_FAULT_TYPE_UNSPECIFIED: + case EMBER_ZCL_NETWORK_FAULT_TYPE_HARDWARE_FAILURE: + case EMBER_ZCL_NETWORK_FAULT_TYPE_NETWORK_JAMMED: + case EMBER_ZCL_NETWORK_FAULT_TYPE_CONNECTION_FAILED: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(GeneralDiagnostics::RadioFaultType val) +{ + using EnumType = GeneralDiagnostics::RadioFaultType; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kWiFiFault: + case EnumType::kCellularFault: + case EnumType::kThreadFault: + case EnumType::kNFCFault: + case EnumType::kBLEFault: + case EnumType::kEthernetFault: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_RADIO_FAULT_TYPE_UNSPECIFIED: + case EMBER_ZCL_RADIO_FAULT_TYPE_WI_FI_FAULT: + case EMBER_ZCL_RADIO_FAULT_TYPE_CELLULAR_FAULT: + case EMBER_ZCL_RADIO_FAULT_TYPE_THREAD_FAULT: + case EMBER_ZCL_RADIO_FAULT_TYPE_NFC_FAULT: + case EMBER_ZCL_RADIO_FAULT_TYPE_BLE_FAULT: + case EMBER_ZCL_RADIO_FAULT_TYPE_ETHERNET_FAULT: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(7); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::NetworkFault val) +{ + using EnumType = ThreadNetworkDiagnostics::NetworkFault; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kLinkDown: + case EnumType::kHardwareFailure: + case EnumType::kNetworkJammed: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::RoutingRole val) +{ + using EnumType = ThreadNetworkDiagnostics::RoutingRole; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kUnassigned: + case EnumType::kSleepyEndDevice: + case EnumType::kEndDevice: + case EnumType::kReed: + case EnumType::kRouter: + case EnumType::kLeader: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_ROUTING_ROLE_UNSPECIFIED: + case EMBER_ZCL_ROUTING_ROLE_UNASSIGNED: + case EMBER_ZCL_ROUTING_ROLE_SLEEPY_END_DEVICE: + case EMBER_ZCL_ROUTING_ROLE_END_DEVICE: + case EMBER_ZCL_ROUTING_ROLE_REED: + case EMBER_ZCL_ROUTING_ROLE_ROUTER: + case EMBER_ZCL_ROUTING_ROLE_LEADER: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(7); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ThreadNetworkDiagnostics::ThreadConnectionStatus val) +{ + using EnumType = ThreadNetworkDiagnostics::ThreadConnectionStatus; + switch (val) + { + case EnumType::kConnected: + case EnumType::kNotConnected: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::AssociationFailureCause val) +{ + using EnumType = WiFiNetworkDiagnostics::AssociationFailureCause; + switch (val) + { + case EnumType::kUnknown: + case EnumType::kAssociationFailed: + case EnumType::kAuthenticationFailed: + case EnumType::kSsidNotFound: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::SecurityType val) +{ + using EnumType = WiFiNetworkDiagnostics::SecurityType; + switch (val) + { +// 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 + case EnumType::kUnspecified: + case EnumType::kNone: + case EnumType::kWep: + case EnumType::kWpa: + case EnumType::kWpa2: + case EnumType::kWpa3: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_SECURITY_TYPE_UNSPECIFIED: + case EMBER_ZCL_SECURITY_TYPE_NONE: + case EMBER_ZCL_SECURITY_TYPE_WEP: + case EMBER_ZCL_SECURITY_TYPE_WPA: + case EMBER_ZCL_SECURITY_TYPE_WPA2: + case EMBER_ZCL_SECURITY_TYPE_WPA3: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::WiFiConnectionStatus val) +{ + using EnumType = WiFiNetworkDiagnostics::WiFiConnectionStatus; + switch (val) + { + case EnumType::kConnected: + case EnumType::kNotConnected: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(WiFiNetworkDiagnostics::WiFiVersionType val) +{ + using EnumType = WiFiNetworkDiagnostics::WiFiVersionType; + switch (val) + { +// 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 + case EnumType::k80211a: + case EnumType::k80211b: + case EnumType::k80211g: + case EnumType::k80211n: + case EnumType::k80211ac: + case EnumType::k80211ax: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11A: + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11B: + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11G: + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11N: + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AC: + case EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AX: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(6); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(EthernetNetworkDiagnostics::PHYRateType val) +{ + using EnumType = EthernetNetworkDiagnostics::PHYRateType; + switch (val) + { +// 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 + case EnumType::k10m: + case EnumType::k100m: + case EnumType::k1000m: + case EnumType::k25g: + case EnumType::k5g: + case EnumType::k10g: + case EnumType::k40g: + case EnumType::k100g: + case EnumType::k200g: + case EnumType::k400g: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_PHY_RATE_TYPE_10_M: + case EMBER_ZCL_PHY_RATE_TYPE_100_M: + case EMBER_ZCL_PHY_RATE_TYPE_1000_M: + case EMBER_ZCL_PHY_RATE_TYPE_2__5_G: + case EMBER_ZCL_PHY_RATE_TYPE_5_G: + case EMBER_ZCL_PHY_RATE_TYPE_10_G: + case EMBER_ZCL_PHY_RATE_TYPE_40_G: + case EMBER_ZCL_PHY_RATE_TYPE_100_G: + case EMBER_ZCL_PHY_RATE_TYPE_200_G: + case EMBER_ZCL_PHY_RATE_TYPE_400_G: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(10); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(AdministratorCommissioning::CommissioningWindowStatus val) +{ + using EnumType = AdministratorCommissioning::CommissioningWindowStatus; + switch (val) + { + case EnumType::kWindowNotOpen: + case EnumType::kEnhancedWindowOpen: + case EnumType::kBasicWindowOpen: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(AdministratorCommissioning::StatusCode val) +{ + using EnumType = AdministratorCommissioning::StatusCode; + switch (val) + { +// 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 + case EnumType::kBusy: + case EnumType::kPAKEParameterError: + case EnumType::kWindowNotOpen: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_STATUS_CODE_BUSY: + case EMBER_ZCL_STATUS_CODE_PAKE_PARAMETER_ERROR: + case EMBER_ZCL_STATUS_CODE_WINDOW_NOT_OPEN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(0); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(OperationalCredentials::OperationalCertStatus val) +{ + using EnumType = OperationalCredentials::OperationalCertStatus; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kInvalidPublicKey: + case EnumType::kInvalidNodeOpId: + case EnumType::kInvalidNOC: + case EnumType::kMissingCsr: + case EnumType::kTableFull: + case EnumType::kInvalidAdminSubject: + case EnumType::kInsufficientPrivilege: + case EnumType::kFabricConflict: + case EnumType::kLabelConflict: + case EnumType::kInvalidFabricIndex: + return val; + default: + return static_cast(7); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(GroupKeyManagement::GroupKeySecurityPolicy val) +{ + using EnumType = GroupKeyManagement::GroupKeySecurityPolicy; + switch (val) + { + case EnumType::kTrustFirst: + case EnumType::kCacheAndSync: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlAlarmCode val) +{ + using EnumType = DoorLock::DlAlarmCode; + switch (val) + { + case EnumType::kLockJammed: + case EnumType::kLockFactoryReset: + case EnumType::kLockRadioPowerCycled: + case EnumType::kWrongCodeEntryLimit: + case EnumType::kFrontEsceutcheonRemoved: + case EnumType::kDoorForcedOpen: + case EnumType::kDoorAjar: + case EnumType::kForcedUser: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlCredentialRule val) +{ + using EnumType = DoorLock::DlCredentialRule; + switch (val) + { + case EnumType::kSingle: + case EnumType::kDouble: + case EnumType::kTri: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlCredentialType val) +{ + using EnumType = DoorLock::DlCredentialType; + switch (val) + { + case EnumType::kProgrammingPIN: + case EnumType::kPin: + case EnumType::kRfid: + case EnumType::kFingerprint: + case EnumType::kFingerVein: + case EnumType::kFace: + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlDataOperationType val) +{ + using EnumType = DoorLock::DlDataOperationType; + switch (val) + { + case EnumType::kAdd: + case EnumType::kClear: + case EnumType::kModify: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlDoorState val) +{ + using EnumType = DoorLock::DlDoorState; + switch (val) + { + case EnumType::kDoorOpen: + case EnumType::kDoorClosed: + case EnumType::kDoorJammed: + case EnumType::kDoorForcedOpen: + case EnumType::kDoorUnspecifiedError: + case EnumType::kDoorAjar: + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockDataType val) +{ + using EnumType = DoorLock::DlLockDataType; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kProgrammingCode: + case EnumType::kUserIndex: + case EnumType::kWeekDaySchedule: + case EnumType::kYearDaySchedule: + case EnumType::kHolidaySchedule: + case EnumType::kPin: + case EnumType::kRfid: + case EnumType::kFingerprint: + return val; + default: + return static_cast(9); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockOperationType val) +{ + using EnumType = DoorLock::DlLockOperationType; + switch (val) + { + case EnumType::kLock: + case EnumType::kUnlock: + case EnumType::kNonAccessUserEvent: + case EnumType::kForcedUserEvent: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockState val) +{ + using EnumType = DoorLock::DlLockState; + switch (val) + { + case EnumType::kNotFullyLocked: + case EnumType::kLocked: + case EnumType::kUnlocked: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlLockType val) +{ + using EnumType = DoorLock::DlLockType; + switch (val) + { + case EnumType::kDeadBolt: + case EnumType::kMagnetic: + case EnumType::kOther: + case EnumType::kMortise: + case EnumType::kRim: + case EnumType::kLatchBolt: + case EnumType::kCylindricalLock: + case EnumType::kTubularLock: + case EnumType::kInterconnectedLock: + case EnumType::kDeadLatch: + case EnumType::kDoorFurniture: + return val; + default: + return static_cast(11); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperatingMode val) +{ + using EnumType = DoorLock::DlOperatingMode; + switch (val) + { + case EnumType::kNormal: + case EnumType::kVacation: + case EnumType::kPrivacy: + case EnumType::kNoRemoteLockUnlock: + case EnumType::kPassage: + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperationError val) +{ + using EnumType = DoorLock::DlOperationError; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kInvalidCredential: + case EnumType::kDisabledUserDenied: + case EnumType::kRestricted: + case EnumType::kInsufficientBattery: + return val; + default: + return static_cast(5); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlOperationSource val) +{ + using EnumType = DoorLock::DlOperationSource; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kManual: + case EnumType::kProprietaryRemote: + case EnumType::kKeypad: + case EnumType::kAuto: + case EnumType::kButton: + case EnumType::kSchedule: + case EnumType::kRemote: + case EnumType::kRfid: + case EnumType::kBiometric: + return val; + default: + return static_cast(10); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlStatus val) +{ + using EnumType = DoorLock::DlStatus; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kFailure: + case EnumType::kDuplicate: + case EnumType::kOccupied: + case EnumType::kInvalidField: + case EnumType::kResourceExhausted: + case EnumType::kNotFound: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlUserStatus val) +{ + using EnumType = DoorLock::DlUserStatus; + switch (val) + { + case EnumType::kAvailable: + case EnumType::kOccupiedEnabled: + case EnumType::kOccupiedDisabled: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DlUserType val) +{ + using EnumType = DoorLock::DlUserType; + switch (val) + { + case EnumType::kUnrestrictedUser: + case EnumType::kYearDayScheduleUser: + case EnumType::kWeekDayScheduleUser: + case EnumType::kProgrammingUser: + case EnumType::kNonAccessUser: + case EnumType::kForcedUser: + case EnumType::kDisposableUser: + case EnumType::kExpiringUser: + case EnumType::kScheduleRestrictedUser: + case EnumType::kRemoteOnlyUser: + return val; + default: + return static_cast(10); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockOperationEventCode val) +{ + using EnumType = DoorLock::DoorLockOperationEventCode; + switch (val) + { + case EnumType::kUnknownOrMfgSpecific: + case EnumType::kLock: + case EnumType::kUnlock: + case EnumType::kLockInvalidPinOrId: + case EnumType::kLockInvalidSchedule: + case EnumType::kUnlockInvalidPinOrId: + case EnumType::kUnlockInvalidSchedule: + case EnumType::kOneTouchLock: + case EnumType::kKeyLock: + case EnumType::kKeyUnlock: + case EnumType::kAutoLock: + case EnumType::kScheduleLock: + case EnumType::kScheduleUnlock: + case EnumType::kManualLock: + case EnumType::kManualUnlock: + return val; + default: + return static_cast(15); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockProgrammingEventCode val) +{ + using EnumType = DoorLock::DoorLockProgrammingEventCode; + switch (val) + { + case EnumType::kUnknownOrMfgSpecific: + case EnumType::kMasterCodeChanged: + case EnumType::kPinAdded: + case EnumType::kPinDeleted: + case EnumType::kPinChanged: + case EnumType::kIdAdded: + case EnumType::kIdDeleted: + return val; + default: + return static_cast(7); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockSetPinOrIdStatus val) +{ + using EnumType = DoorLock::DoorLockSetPinOrIdStatus; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kGeneralFailure: + case EnumType::kMemoryFull: + case EnumType::kDuplicateCodeError: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockUserStatus val) +{ + using EnumType = DoorLock::DoorLockUserStatus; + switch (val) + { + case EnumType::kAvailable: + case EnumType::kOccupiedEnabled: + case EnumType::kOccupiedDisabled: + case EnumType::kNotSupported: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::DoorLockUserType val) +{ + using EnumType = DoorLock::DoorLockUserType; + switch (val) + { + case EnumType::kUnrestricted: + case EnumType::kYearDayScheduleUser: + case EnumType::kWeekDayScheduleUser: + case EnumType::kMasterUser: + case EnumType::kNonAccessUser: + case EnumType::kNotSupported: + return val; + default: + return static_cast(5); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(WindowCovering::EndProductType val) +{ + using EnumType = WindowCovering::EndProductType; + switch (val) + { + case EnumType::kRollerShade: + case EnumType::kRomanShade: + case EnumType::kBalloonShade: + case EnumType::kWovenWood: + case EnumType::kPleatedShade: + case EnumType::kCellularShade: + case EnumType::kLayeredShade: + case EnumType::kLayeredShade2D: + case EnumType::kSheerShade: + case EnumType::kTiltOnlyInteriorBlind: + case EnumType::kInteriorBlind: + case EnumType::kVerticalBlindStripCurtain: + case EnumType::kInteriorVenetianBlind: + case EnumType::kExteriorVenetianBlind: + case EnumType::kLateralLeftCurtain: + case EnumType::kLateralRightCurtain: + case EnumType::kCentralCurtain: + case EnumType::kRollerShutter: + case EnumType::kExteriorVerticalScreen: + case EnumType::kAwningTerracePatio: + case EnumType::kAwningVerticalScreen: + case EnumType::kTiltOnlyPergola: + case EnumType::kSwingingShutter: + case EnumType::kSlidingShutter: + case EnumType::kUnknown: + return val; + default: + return static_cast(24); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(WindowCovering::Type val) +{ + using EnumType = WindowCovering::Type; + switch (val) + { + case EnumType::kRollerShade: + case EnumType::kRollerShade2Motor: + case EnumType::kRollerShadeExterior: + case EnumType::kRollerShadeExterior2Motor: + case EnumType::kDrapery: + case EnumType::kAwning: + case EnumType::kShutter: + case EnumType::kTiltBlindTiltOnly: + case EnumType::kTiltBlindLiftAndTilt: + case EnumType::kProjectorScreen: + case EnumType::kUnknown: + return val; + default: + return static_cast(10); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(PumpConfigurationAndControl::PumpControlMode val) +{ + using EnumType = PumpConfigurationAndControl::PumpControlMode; + switch (val) + { + case EnumType::kConstantSpeed: + case EnumType::kConstantPressure: + case EnumType::kProportionalPressure: + case EnumType::kConstantFlow: + case EnumType::kConstantTemperature: + case EnumType::kAutomatic: + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(PumpConfigurationAndControl::PumpOperationMode val) +{ + using EnumType = PumpConfigurationAndControl::PumpOperationMode; + switch (val) + { + case EnumType::kNormal: + case EnumType::kMinimum: + case EnumType::kMaximum: + case EnumType::kLocal: + return val; + default: + return static_cast(4); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SetpointAdjustMode val) +{ + using EnumType = Thermostat::SetpointAdjustMode; + switch (val) + { +// 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 + case EnumType::kHeatSetpoint: + case EnumType::kCoolSetpoint: + case EnumType::kHeatAndCoolSetpoints: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT: + case EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT: + case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatControlSequence val) +{ + using EnumType = Thermostat::ThermostatControlSequence; + switch (val) + { + case EnumType::kCoolingOnly: + case EnumType::kCoolingWithReheat: + case EnumType::kHeatingOnly: + case EnumType::kHeatingWithReheat: + case EnumType::kCoolingAndHeating: + case EnumType::kCoolingAndHeatingWithReheat: + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatRunningMode val) +{ + using EnumType = Thermostat::ThermostatRunningMode; + switch (val) + { + case EnumType::kOff: + case EnumType::kCool: + case EnumType::kHeat: + return val; + default: + return static_cast(1); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatSystemMode val) +{ + using EnumType = Thermostat::ThermostatSystemMode; + switch (val) + { + case EnumType::kOff: + case EnumType::kAuto: + case EnumType::kCool: + case EnumType::kHeat: + case EnumType::kEmergencyHeating: + case EnumType::kPrecooling: + case EnumType::kFanOnly: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeSequenceType val) +{ + using EnumType = FanControl::FanModeSequenceType; + switch (val) + { + case EnumType::kOffLowMedHigh: + case EnumType::kOffLowHigh: + case EnumType::kOffLowMedHighAuto: + case EnumType::kOffLowHighAuto: + case EnumType::kOffOnAuto: + case EnumType::kOffOn: + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeType val) +{ + using EnumType = FanControl::FanModeType; + switch (val) + { + case EnumType::kOff: + case EnumType::kLow: + case EnumType::kMedium: + case EnumType::kHigh: + case EnumType::kOn: + case EnumType::kAuto: + case EnumType::kSmart: + return val; + default: + return static_cast(7); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorLoopAction val) +{ + using EnumType = ColorControl::ColorLoopAction; + switch (val) + { +// 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 + case EnumType::kDeactivate: + case EnumType::kActivateFromColorLoopStartEnhancedHue: + case EnumType::kActivateFromEnhancedCurrentHue: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_COLOR_LOOP_ACTION_DEACTIVATE: + case EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_COLOR_LOOP_START_ENHANCED_HUE: + case EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_ENHANCED_CURRENT_HUE: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorLoopDirection val) +{ + using EnumType = ColorControl::ColorLoopDirection; + switch (val) + { +// 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 + case EnumType::kDecrementHue: + case EnumType::kIncrementHue: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_COLOR_LOOP_DIRECTION_DECREMENT_HUE: + case EMBER_ZCL_COLOR_LOOP_DIRECTION_INCREMENT_HUE: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorMode val) +{ + using EnumType = ColorControl::ColorMode; + switch (val) + { +// 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 + case EnumType::kCurrentHueAndCurrentSaturation: + case EnumType::kCurrentXAndCurrentY: + case EnumType::kColorTemperature: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION: + case EMBER_ZCL_COLOR_MODE_CURRENT_X_AND_CURRENT_Y: + case EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueDirection val) +{ + using EnumType = ColorControl::HueDirection; + switch (val) + { +// 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 + case EnumType::kShortestDistance: + case EnumType::kLongestDistance: + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_HUE_DIRECTION_SHORTEST_DISTANCE: + case EMBER_ZCL_HUE_DIRECTION_LONGEST_DISTANCE: + case EMBER_ZCL_HUE_DIRECTION_UP: + case EMBER_ZCL_HUE_DIRECTION_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(4); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueMoveMode val) +{ + using EnumType = ColorControl::HueMoveMode; + switch (val) + { +// 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 + case EnumType::kStop: + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_HUE_MOVE_MODE_STOP: + case EMBER_ZCL_HUE_MOVE_MODE_UP: + case EMBER_ZCL_HUE_MOVE_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueStepMode val) +{ + using EnumType = ColorControl::HueStepMode; + switch (val) + { +// 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 + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_HUE_STEP_MODE_UP: + case EMBER_ZCL_HUE_STEP_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(0); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::SaturationMoveMode val) +{ + using EnumType = ColorControl::SaturationMoveMode; + switch (val) + { +// 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 + case EnumType::kStop: + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_SATURATION_MOVE_MODE_STOP: + case EMBER_ZCL_SATURATION_MOVE_MODE_UP: + case EMBER_ZCL_SATURATION_MOVE_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::SaturationStepMode val) +{ + using EnumType = ColorControl::SaturationStepMode; + switch (val) + { +// 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 + case EnumType::kUp: + case EnumType::kDown: +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EMBER_ZCL_SATURATION_STEP_MODE_UP: + case EMBER_ZCL_SATURATION_STEP_MODE_DOWN: +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + return val; + default: + return static_cast(0); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(IlluminanceMeasurement::LightSensorType val) +{ + using EnumType = IlluminanceMeasurement::LightSensorType; + switch (val) + { + case EnumType::kPhotodiode: + case EnumType::kCmos: + return val; + default: + return static_cast(2); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(Channel::ChannelStatusEnum val) +{ + using EnumType = Channel::ChannelStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kMultipleMatches: + case EnumType::kNoMatches: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(Channel::LineupInfoTypeEnum val) +{ + using EnumType = Channel::LineupInfoTypeEnum; + switch (val) + { + case EnumType::kMso: + return val; + default: + return static_cast(1); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(TargetNavigator::TargetNavigatorStatusEnum val) +{ + using EnumType = TargetNavigator::TargetNavigatorStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kTargetNotFound: + case EnumType::kNotAllowed: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(MediaPlayback::MediaPlaybackStatusEnum val) +{ + using EnumType = MediaPlayback::MediaPlaybackStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kInvalidStateForCommand: + case EnumType::kNotAllowed: + case EnumType::kNotActive: + case EnumType::kSpeedOutOfRange: + case EnumType::kSeekOutOfRange: + return val; + default: + return static_cast(6); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(MediaPlayback::PlaybackStateEnum val) +{ + using EnumType = MediaPlayback::PlaybackStateEnum; + switch (val) + { + case EnumType::kPlaying: + case EnumType::kPaused: + case EnumType::kNotPlaying: + case EnumType::kBuffering: + return val; + default: + return static_cast(4); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(MediaInput::InputTypeEnum val) +{ + using EnumType = MediaInput::InputTypeEnum; + switch (val) + { + case EnumType::kInternal: + case EnumType::kAux: + case EnumType::kCoax: + case EnumType::kComposite: + case EnumType::kHdmi: + case EnumType::kInput: + case EnumType::kLine: + case EnumType::kOptical: + case EnumType::kVideo: + case EnumType::kScart: + case EnumType::kUsb: + case EnumType::kOther: + return val; + default: + return static_cast(12); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(KeypadInput::CecKeyCode val) +{ + using EnumType = KeypadInput::CecKeyCode; + switch (val) + { + case EnumType::kSelect: + case EnumType::kUp: + case EnumType::kDown: + case EnumType::kLeft: + case EnumType::kRight: + case EnumType::kRightUp: + case EnumType::kRightDown: + case EnumType::kLeftUp: + case EnumType::kLeftDown: + case EnumType::kRootMenu: + case EnumType::kSetupMenu: + case EnumType::kContentsMenu: + case EnumType::kFavoriteMenu: + case EnumType::kExit: + case EnumType::kMediaTopMenu: + case EnumType::kMediaContextSensitiveMenu: + case EnumType::kNumberEntryMode: + case EnumType::kNumber11: + case EnumType::kNumber12: + case EnumType::kNumber0OrNumber10: + case EnumType::kNumbers1: + case EnumType::kNumbers2: + case EnumType::kNumbers3: + case EnumType::kNumbers4: + case EnumType::kNumbers5: + case EnumType::kNumbers6: + case EnumType::kNumbers7: + case EnumType::kNumbers8: + case EnumType::kNumbers9: + case EnumType::kDot: + case EnumType::kEnter: + case EnumType::kClear: + case EnumType::kNextFavorite: + case EnumType::kChannelUp: + case EnumType::kChannelDown: + case EnumType::kPreviousChannel: + case EnumType::kSoundSelect: + case EnumType::kInputSelect: + case EnumType::kDisplayInformation: + case EnumType::kHelp: + case EnumType::kPageUp: + case EnumType::kPageDown: + case EnumType::kPower: + case EnumType::kVolumeUp: + case EnumType::kVolumeDown: + case EnumType::kMute: + case EnumType::kPlay: + case EnumType::kStop: + case EnumType::kPause: + case EnumType::kRecord: + case EnumType::kRewind: + case EnumType::kFastForward: + case EnumType::kEject: + case EnumType::kForward: + case EnumType::kBackward: + case EnumType::kStopRecord: + case EnumType::kPauseRecord: + case EnumType::kReserved: + case EnumType::kAngle: + case EnumType::kSubPicture: + case EnumType::kVideoOnDemand: + case EnumType::kElectronicProgramGuide: + case EnumType::kTimerProgramming: + case EnumType::kInitialConfiguration: + case EnumType::kSelectBroadcastType: + case EnumType::kSelectSoundPresentation: + case EnumType::kPlayFunction: + case EnumType::kPausePlayFunction: + case EnumType::kRecordFunction: + case EnumType::kPauseRecordFunction: + case EnumType::kStopFunction: + case EnumType::kMuteFunction: + case EnumType::kRestoreVolumeFunction: + case EnumType::kTuneFunction: + case EnumType::kSelectMediaFunction: + case EnumType::kSelectAvInputFunction: + case EnumType::kSelectAudioInputFunction: + case EnumType::kPowerToggleFunction: + case EnumType::kPowerOffFunction: + case EnumType::kPowerOnFunction: + case EnumType::kF1Blue: + case EnumType::kF2Red: + case EnumType::kF3Green: + case EnumType::kF4Yellow: + case EnumType::kF5: + case EnumType::kData: + return val; + default: + return static_cast(14); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(KeypadInput::KeypadInputStatusEnum val) +{ + using EnumType = KeypadInput::KeypadInputStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kUnsupportedKey: + case EnumType::kInvalidKeyInCurrentState: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::ContentLaunchStatusEnum val) +{ + using EnumType = ContentLauncher::ContentLaunchStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kUrlNotAvailable: + case EnumType::kAuthFailed: + return val; + default: + return static_cast(3); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::MetricTypeEnum val) +{ + using EnumType = ContentLauncher::MetricTypeEnum; + switch (val) + { + case EnumType::kPixels: + case EnumType::kPercentage: + return val; + default: + return static_cast(2); + } +} +static auto __attribute__((unused)) EnsureKnownEnumValue(ContentLauncher::ParameterEnum val) +{ + using EnumType = ContentLauncher::ParameterEnum; + switch (val) + { + case EnumType::kActor: + case EnumType::kChannel: + case EnumType::kCharacter: + case EnumType::kDirector: + case EnumType::kEvent: + case EnumType::kFranchise: + case EnumType::kGenre: + case EnumType::kLeague: + case EnumType::kPopularity: + case EnumType::kProvider: + case EnumType::kSport: + case EnumType::kSportsTeam: + case EnumType::kType: + return val; + default: + return static_cast(13); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(AudioOutput::OutputTypeEnum val) +{ + using EnumType = AudioOutput::OutputTypeEnum; + switch (val) + { + case EnumType::kHdmi: + case EnumType::kBt: + case EnumType::kOptical: + case EnumType::kHeadphone: + case EnumType::kInternal: + case EnumType::kOther: + return val; + default: + return static_cast(6); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(ApplicationLauncher::ApplicationLauncherStatusEnum val) +{ + using EnumType = ApplicationLauncher::ApplicationLauncherStatusEnum; + switch (val) + { + case EnumType::kSuccess: + case EnumType::kAppNotAvailable: + case EnumType::kSystemBusy: + return val; + default: + return static_cast(3); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(ApplicationBasic::ApplicationStatusEnum val) +{ + using EnumType = ApplicationBasic::ApplicationStatusEnum; + switch (val) + { + case EnumType::kStopped: + case EnumType::kActiveVisibleFocus: + case EnumType::kActiveHidden: + case EnumType::kActiveVisibleNotFocus: + return val; + default: + return static_cast(4); + } +} + +static auto __attribute__((unused)) EnsureKnownEnumValue(TestCluster::SimpleEnum val) +{ + using EnumType = TestCluster::SimpleEnum; + switch (val) + { + case EnumType::kUnspecified: + case EnumType::kValueA: + case EnumType::kValueB: + case EnumType::kValueC: + return val; + default: + return static_cast(4); + } +} + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index fdf1ad79108f79..2575895f38bbc9 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -41,10 +41,13 @@ enum class IdentifyEffectIdentifier : uint8_t kChannelChange = 0x0B, kFinishEffect = 0xFE, kStopEffect = 0xFF, + // kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using IdentifyEffectIdentifier = EmberAfIdentifyEffectIdentifier; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using IdentifyEffectIdentifier = EmberAfIdentifyEffectIdentifier; +static IdentifyEffectIdentifier __attribute__((unused)) kIdentifyEffectIdentifierkUnknownEnumValue = + static_cast(3); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -53,10 +56,13 @@ using IdentifyEffectIdentifier = EmberAfIdentifyEffectIdentifier; enum class IdentifyEffectVariant : uint8_t { kDefault = 0x00, + // kUnknownEnumValue = 1, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using IdentifyEffectVariant = EmberAfIdentifyEffectVariant; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using IdentifyEffectVariant = EmberAfIdentifyEffectVariant; +static IdentifyEffectVariant __attribute__((unused)) kIdentifyEffectVariantkUnknownEnumValue = + static_cast(1); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -70,10 +76,12 @@ enum class IdentifyIdentifyType : uint8_t kAudibleBeep = 0x03, kDisplay = 0x04, kActuator = 0x05, + // kUnknownEnumValue = 6, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using IdentifyIdentifyType = EmberAfIdentifyIdentifyType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using IdentifyIdentifyType = EmberAfIdentifyIdentifyType; +static IdentifyIdentifyType __attribute__((unused)) kIdentifyIdentifyTypekUnknownEnumValue = static_cast(6); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM } // namespace Identify namespace Groups { @@ -105,10 +113,13 @@ enum class OnOffDelayedAllOffEffectVariant : uint8_t kFadeToOffIn0p8Seconds = 0x00, kNoFade = 0x01, k50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 0x02, + // kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using OnOffDelayedAllOffEffectVariant = EmberAfOnOffDelayedAllOffEffectVariant; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using OnOffDelayedAllOffEffectVariant = EmberAfOnOffDelayedAllOffEffectVariant; +static OnOffDelayedAllOffEffectVariant __attribute__((unused)) kOnOffDelayedAllOffEffectVariantkUnknownEnumValue = + static_cast(3); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -117,10 +128,13 @@ using OnOffDelayedAllOffEffectVariant = EmberAfOnOffDelayedAllOffEffectVariant; enum class OnOffDyingLightEffectVariant : uint8_t { k20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0x00, + // kUnknownEnumValue = 1, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using OnOffDyingLightEffectVariant = EmberAfOnOffDyingLightEffectVariant; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using OnOffDyingLightEffectVariant = EmberAfOnOffDyingLightEffectVariant; +static OnOffDyingLightEffectVariant __attribute__((unused)) kOnOffDyingLightEffectVariantkUnknownEnumValue = + static_cast(1); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -130,10 +144,13 @@ enum class OnOffEffectIdentifier : uint8_t { kDelayedAllOff = 0x00, kDyingLight = 0x01, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using OnOffEffectIdentifier = EmberAfOnOffEffectIdentifier; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using OnOffEffectIdentifier = EmberAfOnOffEffectIdentifier; +static OnOffEffectIdentifier __attribute__((unused)) kOnOffEffectIdentifierkUnknownEnumValue = + static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for OnOffStartUpOnOff enum class OnOffStartUpOnOff : uint8_t @@ -141,6 +158,7 @@ enum class OnOffStartUpOnOff : uint8_t kOff = 0x00, kOn = 0x01, kTogglePreviousOnOff = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for OnOffControl @@ -175,10 +193,12 @@ enum class MoveMode : uint8_t { kUp = 0x00, kDown = 0x01, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using MoveMode = EmberAfMoveMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using MoveMode = EmberAfMoveMode; +static MoveMode __attribute__((unused)) kMoveModekUnknownEnumValue = static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -188,10 +208,12 @@ enum class StepMode : uint8_t { kUp = 0x00, kDown = 0x01, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using StepMode = EmberAfStepMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using StepMode = EmberAfStepMode; +static StepMode __attribute__((unused)) kStepModekUnknownEnumValue = static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Bitmap for LevelControlFeature enum class LevelControlFeature : uint32_t @@ -222,6 +244,7 @@ enum class AuthMode : uint8_t kPase = 0x01, kCase = 0x02, kGroup = 0x03, + // kUnknownEnumValue = 0, }; // Enum for ChangeTypeEnum @@ -230,6 +253,7 @@ enum class ChangeTypeEnum : uint8_t kChanged = 0x00, kAdded = 0x01, kRemoved = 0x02, + // kUnknownEnumValue = 3, }; // Enum for Privilege @@ -240,6 +264,7 @@ enum class Privilege : uint8_t kOperate = 0x03, kManage = 0x04, kAdminister = 0x05, + // kUnknownEnumValue = 0, }; } // namespace AccessControl @@ -250,6 +275,7 @@ enum class ActionErrorEnum : uint8_t { kUnknown = 0x00, kInterrupted = 0x01, + // kUnknownEnumValue = 2, }; // Enum for ActionStateEnum @@ -259,6 +285,7 @@ enum class ActionStateEnum : uint8_t kActive = 0x01, kPaused = 0x02, kDisabled = 0x03, + // kUnknownEnumValue = 4, }; // Enum for ActionTypeEnum @@ -271,6 +298,7 @@ enum class ActionTypeEnum : uint8_t kException = 0x04, kNotification = 0x05, kAlarm = 0x06, + // kUnknownEnumValue = 7, }; // Enum for EndpointListTypeEnum @@ -279,6 +307,7 @@ enum class EndpointListTypeEnum : uint8_t kOther = 0x00, kRoom = 0x01, kZone = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for CommandBits @@ -310,6 +339,7 @@ enum class OTAApplyUpdateAction : uint8_t kProceed = 0x00, kAwaitNextAction = 0x01, kDiscontinue = 0x02, + // kUnknownEnumValue = 3, }; // Enum for OTADownloadProtocol @@ -319,6 +349,7 @@ enum class OTADownloadProtocol : uint8_t kBDXAsynchronous = 0x01, kHttps = 0x02, kVendorSpecific = 0x03, + // kUnknownEnumValue = 4, }; // Enum for OTAQueryStatus @@ -328,6 +359,7 @@ enum class OTAQueryStatus : uint8_t kBusy = 0x01, kNotAvailable = 0x02, kDownloadProtocolNotSupported = 0x03, + // kUnknownEnumValue = 4, }; } // namespace OtaSoftwareUpdateProvider @@ -339,6 +371,7 @@ enum class OTAAnnouncementReason : uint8_t kSimpleAnnouncement = 0x00, kUpdateAvailable = 0x01, kUrgentUpdateAvailable = 0x02, + // kUnknownEnumValue = 3, }; // Enum for OTAChangeReasonEnum @@ -349,6 +382,7 @@ enum class OTAChangeReasonEnum : uint8_t kFailure = 0x02, kTimeOut = 0x03, kDelayByProvider = 0x04, + // kUnknownEnumValue = 5, }; // Enum for OTAUpdateStateEnum @@ -363,6 +397,7 @@ enum class OTAUpdateStateEnum : uint8_t kDelayedOnApply = 0x06, kRollingBack = 0x07, kDelayedOnUserConsent = 0x08, + // kUnknownEnumValue = 9, }; } // namespace OtaSoftwareUpdateRequestor @@ -386,6 +421,7 @@ enum class CalendarType : uint8_t kKorean = 0x09, kPersian = 0x0A, kTaiwanese = 0x0B, + // kUnknownEnumValue = 12, }; // Enum for HourFormat @@ -393,6 +429,7 @@ enum class HourFormat : uint8_t { k12hr = 0x00, k24hr = 0x01, + // kUnknownEnumValue = 2, }; } // namespace TimeFormatLocalization @@ -404,6 +441,7 @@ enum class TempUnit : uint8_t kFahrenheit = 0x00, kCelsius = 0x01, kKelvin = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for UnitLocalizationFeature @@ -432,6 +470,7 @@ enum class BatChargeFault : uint8_t kChargerOverVoltage = 0x08, kChargerUnderVoltage = 0x09, kSafetyTimeout = 0x0A, + // kUnknownEnumValue = 11, }; // Enum for BatChargeLevel @@ -440,6 +479,7 @@ enum class BatChargeLevel : uint8_t kOk = 0x00, kWarning = 0x01, kCritical = 0x02, + // kUnknownEnumValue = 3, }; // Enum for BatChargeState @@ -449,6 +489,7 @@ enum class BatChargeState : uint8_t kIsCharging = 0x01, kIsAtFullCharge = 0x02, kIsNotCharging = 0x03, + // kUnknownEnumValue = 4, }; // Enum for BatFault @@ -457,6 +498,7 @@ enum class BatFault : uint8_t kUnspecfied = 0x00, kOverTemp = 0x01, kUnderTemp = 0x02, + // kUnknownEnumValue = 3, }; // Enum for BatReplaceability @@ -466,6 +508,7 @@ enum class BatReplaceability : uint8_t kNotReplaceable = 0x01, kUserReplaceable = 0x02, kFactoryReplaceable = 0x03, + // kUnknownEnumValue = 4, }; // Enum for PowerSourceStatus @@ -475,6 +518,7 @@ enum class PowerSourceStatus : uint8_t kActive = 0x01, kStandby = 0x02, kUnavailable = 0x03, + // kUnknownEnumValue = 4, }; // Enum for WiredCurrentType @@ -482,6 +526,7 @@ enum class WiredCurrentType : uint8_t { kAc = 0x00, kDc = 0x01, + // kUnknownEnumValue = 2, }; // Enum for WiredFault @@ -490,6 +535,7 @@ enum class WiredFault : uint8_t kUnspecfied = 0x00, kOverVoltage = 0x01, kUnderVoltage = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for PowerSourceFeature @@ -512,6 +558,7 @@ enum class CommissioningError : uint8_t kInvalidAuthentication = 0x02, kNoFailSafe = 0x03, kBusyWithOtherAdmin = 0x04, + // kUnknownEnumValue = 5, }; // Enum for RegulatoryLocationType @@ -520,6 +567,7 @@ enum class RegulatoryLocationType : uint8_t kIndoor = 0x00, kOutdoor = 0x01, kIndoorOutdoor = 0x02, + // kUnknownEnumValue = 3, }; } // namespace GeneralCommissioning @@ -541,6 +589,7 @@ enum class NetworkCommissioningStatus : uint8_t kIPV6Failed = 0x0A, kIPBindFailed = 0x0B, kUnknownError = 0x0C, + // kUnknownEnumValue = 13, }; // Enum for WiFiBand @@ -551,6 +600,7 @@ enum class WiFiBand : uint8_t k5g = 0x02, k6g = 0x03, k60g = 0x04, + // kUnknownEnumValue = 5, }; // Bitmap for NetworkCommissioningFeature @@ -580,6 +630,7 @@ enum class LogsIntent : uint8_t kEndUserSupport = 0x00, kNetworkDiag = 0x01, kCrashLogs = 0x02, + // kUnknownEnumValue = 3, }; // Enum for LogsStatus @@ -590,6 +641,7 @@ enum class LogsStatus : uint8_t kNoLogs = 0x02, kBusy = 0x03, kDenied = 0x04, + // kUnknownEnumValue = 5, }; // Enum for LogsTransferProtocol @@ -597,6 +649,7 @@ enum class LogsTransferProtocol : uint8_t { kResponsePayload = 0x00, kBdx = 0x01, + // kUnknownEnumValue = 2, }; } // namespace DiagnosticLogs @@ -612,6 +665,7 @@ enum class BootReasonType : uint8_t kHardwareWatchdogReset = 0x04, kSoftwareUpdateCompleted = 0x05, kSoftwareReset = 0x06, + // kUnknownEnumValue = 7, }; // Need to convert consumers to using the new enum classes, so we @@ -631,10 +685,12 @@ enum class HardwareFaultType : uint8_t kUserInterfaceFault = 0x08, kNonVolatileMemoryError = 0x09, kTamperDetected = 0x0A, + // kUnknownEnumValue = 11, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using HardwareFaultType = EmberAfHardwareFaultType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using HardwareFaultType = EmberAfHardwareFaultType; +static HardwareFaultType __attribute__((unused)) kHardwareFaultTypekUnknownEnumValue = static_cast(11); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -647,10 +703,12 @@ enum class InterfaceType : uint8_t kEthernet = 0x02, kCellular = 0x03, kThread = 0x04, + // kUnknownEnumValue = 5, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using InterfaceType = EmberAfInterfaceType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using InterfaceType = EmberAfInterfaceType; +static InterfaceType __attribute__((unused)) kInterfaceTypekUnknownEnumValue = static_cast(5); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -662,10 +720,12 @@ enum class NetworkFaultType : uint8_t kHardwareFailure = 0x01, kNetworkJammed = 0x02, kConnectionFailed = 0x03, + // kUnknownEnumValue = 4, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using NetworkFaultType = EmberAfNetworkFaultType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using NetworkFaultType = EmberAfNetworkFaultType; +static NetworkFaultType __attribute__((unused)) kNetworkFaultTypekUnknownEnumValue = static_cast(4); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -680,10 +740,12 @@ enum class RadioFaultType : uint8_t kNFCFault = 0x04, kBLEFault = 0x05, kEthernetFault = 0x06, + // kUnknownEnumValue = 7, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using RadioFaultType = EmberAfRadioFaultType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using RadioFaultType = EmberAfRadioFaultType; +static RadioFaultType __attribute__((unused)) kRadioFaultTypekUnknownEnumValue = static_cast(7); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM } // namespace GeneralDiagnostics namespace SoftwareDiagnostics { @@ -704,6 +766,7 @@ enum class NetworkFault : uint8_t kLinkDown = 0x01, kHardwareFailure = 0x02, kNetworkJammed = 0x03, + // kUnknownEnumValue = 4, }; // Need to convert consumers to using the new enum classes, so we @@ -719,16 +782,19 @@ enum class RoutingRole : uint8_t kReed = 0x04, kRouter = 0x05, kLeader = 0x06, + // kUnknownEnumValue = 7, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using RoutingRole = EmberAfRoutingRole; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using RoutingRole = EmberAfRoutingRole; +static RoutingRole __attribute__((unused)) kRoutingRolekUnknownEnumValue = static_cast(7); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for ThreadConnectionStatus enum class ThreadConnectionStatus : uint8_t { kConnected = 0x00, kNotConnected = 0x01, + // kUnknownEnumValue = 2, }; // Bitmap for ThreadNetworkDiagnosticsFeature @@ -750,6 +816,7 @@ enum class AssociationFailureCause : uint8_t kAssociationFailed = 0x01, kAuthenticationFailed = 0x02, kSsidNotFound = 0x03, + // kUnknownEnumValue = 4, }; // Need to convert consumers to using the new enum classes, so we @@ -764,16 +831,19 @@ enum class SecurityType : uint8_t kWpa = 0x03, kWpa2 = 0x04, kWpa3 = 0x05, + // kUnknownEnumValue = 6, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using SecurityType = EmberAfSecurityType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using SecurityType = EmberAfSecurityType; +static SecurityType __attribute__((unused)) kSecurityTypekUnknownEnumValue = static_cast(6); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for WiFiConnectionStatus enum class WiFiConnectionStatus : uint8_t { kConnected = 0x00, kNotConnected = 0x01, + // kUnknownEnumValue = 2, }; // Need to convert consumers to using the new enum classes, so we @@ -788,10 +858,12 @@ enum class WiFiVersionType : uint8_t k80211n = 0x03, k80211ac = 0x04, k80211ax = 0x05, + // kUnknownEnumValue = 6, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using WiFiVersionType = EmberAfWiFiVersionType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using WiFiVersionType = EmberAfWiFiVersionType; +static WiFiVersionType __attribute__((unused)) kWiFiVersionTypekUnknownEnumValue = static_cast(6); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM } // namespace WiFiNetworkDiagnostics namespace EthernetNetworkDiagnostics { @@ -812,10 +884,12 @@ enum class PHYRateType : uint8_t k100g = 0x07, k200g = 0x08, k400g = 0x09, + // kUnknownEnumValue = 10, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using PHYRateType = EmberAfPHYRateType; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using PHYRateType = EmberAfPHYRateType; +static PHYRateType __attribute__((unused)) kPHYRateTypekUnknownEnumValue = static_cast(10); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM } // namespace EthernetNetworkDiagnostics namespace TimeSynchronization { @@ -835,6 +909,7 @@ enum class CommissioningWindowStatus : uint8_t kWindowNotOpen = 0x00, kEnhancedWindowOpen = 0x01, kBasicWindowOpen = 0x02, + // kUnknownEnumValue = 3, }; // Need to convert consumers to using the new enum classes, so we @@ -846,10 +921,12 @@ enum class StatusCode : uint8_t kBusy = 0x01, kPAKEParameterError = 0x02, kWindowNotOpen = 0x03, + // kUnknownEnumValue = 0, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using StatusCode = EmberAfStatusCode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using StatusCode = EmberAfStatusCode; +static StatusCode __attribute__((unused)) kStatusCodekUnknownEnumValue = static_cast(0); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM } // namespace AdministratorCommissioning namespace OperationalCredentials { @@ -868,6 +945,7 @@ enum class OperationalCertStatus : uint8_t kFabricConflict = 0x09, kLabelConflict = 0x0A, kInvalidFabricIndex = 0x0B, + // kUnknownEnumValue = 7, }; } // namespace OperationalCredentials @@ -878,6 +956,7 @@ enum class GroupKeySecurityPolicy : uint8_t { kTrustFirst = 0x00, kCacheAndSync = 0x01, + // kUnknownEnumValue = 2, }; } // namespace GroupKeyManagement @@ -921,6 +1000,7 @@ enum class DlAlarmCode : uint8_t kDoorForcedOpen = 0x06, kDoorAjar = 0x07, kForcedUser = 0x08, + // kUnknownEnumValue = 2, }; // Enum for DlCredentialRule @@ -929,6 +1009,7 @@ enum class DlCredentialRule : uint8_t kSingle = 0x00, kDouble = 0x01, kTri = 0x02, + // kUnknownEnumValue = 3, }; // Enum for DlCredentialType @@ -940,6 +1021,7 @@ enum class DlCredentialType : uint8_t kFingerprint = 0x03, kFingerVein = 0x04, kFace = 0x05, + // kUnknownEnumValue = 6, }; // Enum for DlDataOperationType @@ -948,6 +1030,7 @@ enum class DlDataOperationType : uint8_t kAdd = 0x00, kClear = 0x01, kModify = 0x02, + // kUnknownEnumValue = 3, }; // Enum for DlDoorState @@ -959,6 +1042,7 @@ enum class DlDoorState : uint8_t kDoorForcedOpen = 0x03, kDoorUnspecifiedError = 0x04, kDoorAjar = 0x05, + // kUnknownEnumValue = 6, }; // Enum for DlLockDataType @@ -973,6 +1057,7 @@ enum class DlLockDataType : uint8_t kPin = 0x06, kRfid = 0x07, kFingerprint = 0x08, + // kUnknownEnumValue = 9, }; // Enum for DlLockOperationType @@ -982,6 +1067,7 @@ enum class DlLockOperationType : uint8_t kUnlock = 0x01, kNonAccessUserEvent = 0x02, kForcedUserEvent = 0x03, + // kUnknownEnumValue = 4, }; // Enum for DlLockState @@ -990,6 +1076,7 @@ enum class DlLockState : uint8_t kNotFullyLocked = 0x00, kLocked = 0x01, kUnlocked = 0x02, + // kUnknownEnumValue = 3, }; // Enum for DlLockType @@ -1006,6 +1093,7 @@ enum class DlLockType : uint8_t kInterconnectedLock = 0x08, kDeadLatch = 0x09, kDoorFurniture = 0x0A, + // kUnknownEnumValue = 11, }; // Enum for DlOperatingMode @@ -1016,6 +1104,7 @@ enum class DlOperatingMode : uint8_t kPrivacy = 0x02, kNoRemoteLockUnlock = 0x03, kPassage = 0x04, + // kUnknownEnumValue = 5, }; // Enum for DlOperationError @@ -1026,6 +1115,7 @@ enum class DlOperationError : uint8_t kDisabledUserDenied = 0x02, kRestricted = 0x03, kInsufficientBattery = 0x04, + // kUnknownEnumValue = 5, }; // Enum for DlOperationSource @@ -1041,6 +1131,7 @@ enum class DlOperationSource : uint8_t kRemote = 0x07, kRfid = 0x08, kBiometric = 0x09, + // kUnknownEnumValue = 10, }; // Enum for DlStatus @@ -1053,6 +1144,7 @@ enum class DlStatus : uint8_t kInvalidField = 0x85, kResourceExhausted = 0x89, kNotFound = 0x8B, + // kUnknownEnumValue = 4, }; // Enum for DlUserStatus @@ -1061,6 +1153,7 @@ enum class DlUserStatus : uint8_t kAvailable = 0x00, kOccupiedEnabled = 0x01, kOccupiedDisabled = 0x03, + // kUnknownEnumValue = 2, }; // Enum for DlUserType @@ -1076,6 +1169,7 @@ enum class DlUserType : uint8_t kExpiringUser = 0x07, kScheduleRestrictedUser = 0x08, kRemoteOnlyUser = 0x09, + // kUnknownEnumValue = 10, }; // Enum for DoorLockOperationEventCode @@ -1096,6 +1190,7 @@ enum class DoorLockOperationEventCode : uint8_t kScheduleUnlock = 0x0C, kManualLock = 0x0D, kManualUnlock = 0x0E, + // kUnknownEnumValue = 15, }; // Enum for DoorLockProgrammingEventCode @@ -1108,6 +1203,7 @@ enum class DoorLockProgrammingEventCode : uint8_t kPinChanged = 0x04, kIdAdded = 0x05, kIdDeleted = 0x06, + // kUnknownEnumValue = 7, }; // Enum for DoorLockSetPinOrIdStatus @@ -1117,6 +1213,7 @@ enum class DoorLockSetPinOrIdStatus : uint8_t kGeneralFailure = 0x01, kMemoryFull = 0x02, kDuplicateCodeError = 0x03, + // kUnknownEnumValue = 4, }; // Enum for DoorLockUserStatus @@ -1126,6 +1223,7 @@ enum class DoorLockUserStatus : uint8_t kOccupiedEnabled = 0x01, kOccupiedDisabled = 0x03, kNotSupported = 0xFF, + // kUnknownEnumValue = 2, }; // Enum for DoorLockUserType @@ -1137,6 +1235,7 @@ enum class DoorLockUserType : uint8_t kMasterUser = 0x03, kNonAccessUser = 0x04, kNotSupported = 0xFF, + // kUnknownEnumValue = 5, }; // Bitmap for DlCredentialRuleMask @@ -1340,6 +1439,7 @@ enum class EndProductType : uint8_t kSwingingShutter = 0x16, kSlidingShutter = 0x17, kUnknown = 0xFF, + // kUnknownEnumValue = 24, }; // Enum for Type @@ -1356,6 +1456,7 @@ enum class Type : uint8_t kTiltBlindLiftAndTilt = 0x08, kProjectorScreen = 0x09, kUnknown = 0xFF, + // kUnknownEnumValue = 10, }; // Bitmap for ConfigStatus @@ -1429,6 +1530,7 @@ enum class PumpControlMode : uint8_t kConstantFlow = 0x03, kConstantTemperature = 0x05, kAutomatic = 0x07, + // kUnknownEnumValue = 4, }; // Enum for PumpOperationMode @@ -1438,6 +1540,7 @@ enum class PumpOperationMode : uint8_t kMinimum = 0x01, kMaximum = 0x02, kLocal = 0x03, + // kUnknownEnumValue = 4, }; // Bitmap for PumpStatus @@ -1466,10 +1569,12 @@ enum class SetpointAdjustMode : uint8_t kHeatSetpoint = 0x00, kCoolSetpoint = 0x01, kHeatAndCoolSetpoints = 0x02, + // kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using SetpointAdjustMode = EmberAfSetpointAdjustMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using SetpointAdjustMode = EmberAfSetpointAdjustMode; +static SetpointAdjustMode __attribute__((unused)) kSetpointAdjustModekUnknownEnumValue = static_cast(3); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for ThermostatControlSequence enum class ThermostatControlSequence : uint8_t @@ -1480,6 +1585,7 @@ enum class ThermostatControlSequence : uint8_t kHeatingWithReheat = 0x03, kCoolingAndHeating = 0x04, kCoolingAndHeatingWithReheat = 0x05, + // kUnknownEnumValue = 6, }; // Enum for ThermostatRunningMode @@ -1488,6 +1594,7 @@ enum class ThermostatRunningMode : uint8_t kOff = 0x00, kCool = 0x03, kHeat = 0x04, + // kUnknownEnumValue = 1, }; // Enum for ThermostatSystemMode @@ -1500,6 +1607,7 @@ enum class ThermostatSystemMode : uint8_t kEmergencyHeating = 0x05, kPrecooling = 0x06, kFanOnly = 0x07, + // kUnknownEnumValue = 2, }; // Bitmap for DayOfWeek @@ -1545,6 +1653,7 @@ enum class FanModeSequenceType : uint8_t kOffLowHighAuto = 0x03, kOffOnAuto = 0x04, kOffOn = 0x05, + // kUnknownEnumValue = 6, }; // Enum for FanModeType @@ -1557,6 +1666,7 @@ enum class FanModeType : uint8_t kOn = 0x04, kAuto = 0x05, kSmart = 0x06, + // kUnknownEnumValue = 7, }; // Bitmap for FanControlFeature @@ -1605,10 +1715,12 @@ enum class ColorLoopAction : uint8_t kDeactivate = 0x00, kActivateFromColorLoopStartEnhancedHue = 0x01, kActivateFromEnhancedCurrentHue = 0x02, + // kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using ColorLoopAction = EmberAfColorLoopAction; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using ColorLoopAction = EmberAfColorLoopAction; +static ColorLoopAction __attribute__((unused)) kColorLoopActionkUnknownEnumValue = static_cast(3); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1618,10 +1730,12 @@ enum class ColorLoopDirection : uint8_t { kDecrementHue = 0x00, kIncrementHue = 0x01, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using ColorLoopDirection = EmberAfColorLoopDirection; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using ColorLoopDirection = EmberAfColorLoopDirection; +static ColorLoopDirection __attribute__((unused)) kColorLoopDirectionkUnknownEnumValue = static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1632,10 +1746,12 @@ enum class ColorMode : uint8_t kCurrentHueAndCurrentSaturation = 0x00, kCurrentXAndCurrentY = 0x01, kColorTemperature = 0x02, + // kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using ColorMode = EmberAfColorMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using ColorMode = EmberAfColorMode; +static ColorMode __attribute__((unused)) kColorModekUnknownEnumValue = static_cast(3); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1647,10 +1763,12 @@ enum class HueDirection : uint8_t kLongestDistance = 0x01, kUp = 0x02, kDown = 0x03, + // kUnknownEnumValue = 4, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using HueDirection = EmberAfHueDirection; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using HueDirection = EmberAfHueDirection; +static HueDirection __attribute__((unused)) kHueDirectionkUnknownEnumValue = static_cast(4); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1661,10 +1779,12 @@ enum class HueMoveMode : uint8_t kStop = 0x00, kUp = 0x01, kDown = 0x03, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using HueMoveMode = EmberAfHueMoveMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using HueMoveMode = EmberAfHueMoveMode; +static HueMoveMode __attribute__((unused)) kHueMoveModekUnknownEnumValue = static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1674,10 +1794,12 @@ enum class HueStepMode : uint8_t { kUp = 0x01, kDown = 0x03, + // kUnknownEnumValue = 0, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using HueStepMode = EmberAfHueStepMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using HueStepMode = EmberAfHueStepMode; +static HueStepMode __attribute__((unused)) kHueStepModekUnknownEnumValue = static_cast(0); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1688,10 +1810,12 @@ enum class SaturationMoveMode : uint8_t kStop = 0x00, kUp = 0x01, kDown = 0x03, + // kUnknownEnumValue = 2, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using SaturationMoveMode = EmberAfSaturationMoveMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using SaturationMoveMode = EmberAfSaturationMoveMode; +static SaturationMoveMode __attribute__((unused)) kSaturationMoveModekUnknownEnumValue = static_cast(2); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Need to convert consumers to using the new enum classes, so we // don't just have casts all over. @@ -1701,10 +1825,12 @@ enum class SaturationStepMode : uint8_t { kUp = 0x01, kDown = 0x03, + // kUnknownEnumValue = 0, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using SaturationStepMode = EmberAfSaturationStepMode; -#endif +#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM +using SaturationStepMode = EmberAfSaturationStepMode; +static SaturationStepMode __attribute__((unused)) kSaturationStepModekUnknownEnumValue = static_cast(0); +#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Bitmap for ColorCapabilities enum class ColorCapabilities : uint16_t @@ -1746,6 +1872,7 @@ enum class LightSensorType : uint8_t { kPhotodiode = 0x00, kCmos = 0x01, + // kUnknownEnumValue = 2, }; } // namespace IlluminanceMeasurement @@ -1781,12 +1908,14 @@ enum class ChannelStatusEnum : uint8_t kSuccess = 0x00, kMultipleMatches = 0x01, kNoMatches = 0x02, + // kUnknownEnumValue = 3, }; // Enum for LineupInfoTypeEnum enum class LineupInfoTypeEnum : uint8_t { kMso = 0x00, + // kUnknownEnumValue = 1, }; // Bitmap for ChannelFeature @@ -1805,6 +1934,7 @@ enum class TargetNavigatorStatusEnum : uint8_t kSuccess = 0x00, kTargetNotFound = 0x01, kNotAllowed = 0x02, + // kUnknownEnumValue = 3, }; } // namespace TargetNavigator @@ -1819,6 +1949,7 @@ enum class MediaPlaybackStatusEnum : uint8_t kNotActive = 0x03, kSpeedOutOfRange = 0x04, kSeekOutOfRange = 0x05, + // kUnknownEnumValue = 6, }; // Enum for PlaybackStateEnum @@ -1828,6 +1959,7 @@ enum class PlaybackStateEnum : uint8_t kPaused = 0x01, kNotPlaying = 0x02, kBuffering = 0x03, + // kUnknownEnumValue = 4, }; } // namespace MediaPlayback @@ -1848,6 +1980,7 @@ enum class InputTypeEnum : uint8_t kScart = 0x09, kUsb = 0x0A, kOther = 0x0B, + // kUnknownEnumValue = 12, }; // Bitmap for MediaInputFeature @@ -1951,6 +2084,7 @@ enum class CecKeyCode : uint8_t kF4Yellow = 0x74, kF5 = 0x75, kData = 0x76, + // kUnknownEnumValue = 14, }; // Enum for KeypadInputStatusEnum @@ -1959,6 +2093,7 @@ enum class KeypadInputStatusEnum : uint8_t kSuccess = 0x00, kUnsupportedKey = 0x01, kInvalidKeyInCurrentState = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for KeypadInputFeature @@ -1978,6 +2113,7 @@ enum class ContentLaunchStatusEnum : uint8_t kSuccess = 0x00, kUrlNotAvailable = 0x01, kAuthFailed = 0x02, + // kUnknownEnumValue = 3, }; // Enum for MetricTypeEnum @@ -1985,6 +2121,7 @@ enum class MetricTypeEnum : uint8_t { kPixels = 0x00, kPercentage = 0x01, + // kUnknownEnumValue = 2, }; // Enum for ParameterEnum @@ -2003,6 +2140,7 @@ enum class ParameterEnum : uint8_t kSport = 0x0A, kSportsTeam = 0x0B, kType = 0x0C, + // kUnknownEnumValue = 13, }; // Bitmap for ContentLauncherFeature @@ -2031,6 +2169,7 @@ enum class OutputTypeEnum : uint8_t kHeadphone = 0x03, kInternal = 0x04, kOther = 0x05, + // kUnknownEnumValue = 6, }; // Bitmap for AudioOutputFeature @@ -2048,6 +2187,7 @@ enum class ApplicationLauncherStatusEnum : uint8_t kSuccess = 0x00, kAppNotAvailable = 0x01, kSystemBusy = 0x02, + // kUnknownEnumValue = 3, }; // Bitmap for ApplicationLauncherFeature @@ -2066,6 +2206,7 @@ enum class ApplicationStatusEnum : uint8_t kActiveVisibleFocus = 0x01, kActiveHidden = 0x02, kActiveVisibleNotFocus = 0x03, + // kUnknownEnumValue = 4, }; } // namespace ApplicationBasic @@ -2084,6 +2225,7 @@ enum class SimpleEnum : uint8_t kValueA = 0x01, kValueB = 0x02, kValueC = 0x03, + // kUnknownEnumValue = 4, }; // Bitmap for Bitmap16MaskMap diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index dd2dacc10db2ee..f9376a07e5e81e 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -40248,7 +40248,7 @@ class TV_MediaInputClusterSuite : public TestCommand class TestClusterSuite : public TestCommand { public: - TestClusterSuite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("TestCluster", 489, credsIssuerConfig) + TestClusterSuite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("TestCluster", 490, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -40283,7 +40283,7 @@ class TestClusterSuite : public TestCommand chip::app::DataModel::Nullable booValueNull; chip::app::DataModel::Nullable> nullableValue254; - chip::app::DataModel::Nullable nullableEnumAttr254; + chip::app::DataModel::Nullable nullableEnumAttr3; uint8_t * nullableOctetStrTestValueBuffer = nullptr; chip::app::DataModel::Nullable nullableOctetStrTestValue; char * nullableCharStringSaveBuffer = nullptr; @@ -41326,10 +41326,19 @@ class TestClusterSuite : public TestCommand chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckValue("arg1", value.arg1, 20003U)); - VerifyOrReturn(CheckValue("arg2", value.arg2, 101U)); + VerifyOrReturn(CheckValue("arg2", value.arg2, 1U)); } break; case 155: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::TestCluster::Commands::TestEnumsResponse::DecodableType value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("arg1", value.arg1, 20003U)); + VerifyOrReturn(CheckValue("arg2", value.arg2, 4U)); + } + break; + case 156: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41337,7 +41346,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 156: + case 157: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41345,7 +41354,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 157: + case 158: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41353,7 +41362,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 158: + case 159: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41361,7 +41370,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 159: + case 160: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41369,7 +41378,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 160: + case 161: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41377,7 +41386,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 161: + case 162: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::SimpleStructResponse::DecodableType value; @@ -41393,7 +41402,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("arg1.h", value.arg1.h, 0.1)); } break; - case 162: + case 163: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41401,7 +41410,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 163: + case 164: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41409,7 +41418,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 164: + case 165: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseResponse::DecodableType value; @@ -41438,7 +41447,7 @@ class TestClusterSuite : public TestCommand } } break; - case 165: + case 166: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseResponse::DecodableType value; @@ -41449,7 +41458,7 @@ class TestClusterSuite : public TestCommand } } break; - case 166: + case 167: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41457,7 +41466,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 167: + case 168: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41465,7 +41474,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 168: + case 169: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41473,7 +41482,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, true)); } break; - case 169: + case 170: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::BooleanResponse::DecodableType value; @@ -41481,10 +41490,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("value", value.value, false)); } break; - case 170: + case 171: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 171: + case 172: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41503,10 +41512,10 @@ class TestClusterSuite : public TestCommand } } break; - case 172: + case 173: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 173: + case 174: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41529,10 +41538,10 @@ class TestClusterSuite : public TestCommand } } break; - case 174: + case 175: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 175: + case 176: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList @@ -41560,7 +41569,7 @@ class TestClusterSuite : public TestCommand } } break; - case 176: + case 177: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::TestNullableOptionalResponse::DecodableType value; @@ -41575,7 +41584,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("originalValue.Value().Value()", value.originalValue.Value().Value(), 5U)); } break; - case 177: + case 178: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Commands::TestNullableOptionalResponse::DecodableType value; @@ -41583,7 +41592,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("wasPresent", value.wasPresent, false)); } break; - case 178: + case 179: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -41604,10 +41613,10 @@ class TestClusterSuite : public TestCommand } } break; - case 179: + case 180: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 180: + case 181: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList< @@ -41641,10 +41650,10 @@ class TestClusterSuite : public TestCommand } } break; - case 181: + case 182: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 182: + case 183: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41653,10 +41662,10 @@ class TestClusterSuite : public TestCommand booValueNull = value; } break; - case 183: + case 184: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 184: + case 185: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41665,7 +41674,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBoolean.Value()", value.Value(), true)); } break; - case 185: + case 186: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41673,10 +41682,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, booValueNull)); } break; - case 186: + case 187: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 187: + case 188: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41685,10 +41694,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap8.Value()", value.Value(), 254U)); } break; - case 188: + case 189: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 189: + case 190: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41698,10 +41707,10 @@ class TestClusterSuite : public TestCommand nullableValue254 = value; } break; - case 190: + case 191: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 191: + case 192: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41709,7 +41718,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableBitmap8", value)); } break; - case 192: + case 193: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41717,10 +41726,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, nullableValue254)); } break; - case 193: + case 194: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 194: + case 195: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41729,10 +41738,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap16.Value()", value.Value(), 65534U)); } break; - case 195: + case 196: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 196: + case 197: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41741,10 +41750,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap16.Value()", value.Value(), 65534U)); } break; - case 197: + case 198: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 198: + case 199: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41752,10 +41761,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableBitmap16", value)); } break; - case 199: + case 200: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 200: + case 201: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41764,10 +41773,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap32.Value()", value.Value(), 4294967294UL)); } break; - case 201: + case 202: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 202: + case 203: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41776,10 +41785,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap32.Value()", value.Value(), 4294967294UL)); } break; - case 203: + case 204: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 204: + case 205: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41787,10 +41796,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableBitmap32", value)); } break; - case 205: + case 206: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 206: + case 207: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41799,10 +41808,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap64.Value()", value.Value(), 18446744073709551614ULL)); } break; - case 207: + case 208: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 208: + case 209: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41811,10 +41820,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableBitmap64.Value()", value.Value(), 18446744073709551614ULL)); } break; - case 209: + case 210: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 210: + case 211: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable> value; @@ -41822,10 +41831,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableBitmap64", value)); } break; - case 211: + case 212: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 212: + case 213: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41834,10 +41843,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt8u.Value()", value.Value(), 0U)); } break; - case 213: + case 214: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 214: + case 215: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41846,10 +41855,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt8u.Value()", value.Value(), 254U)); } break; - case 215: + case 216: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 216: + case 217: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41858,7 +41867,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt8u.Value()", value.Value(), 254U)); } break; - case 217: + case 218: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41866,10 +41875,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNonNull("value", value)); } break; - case 218: + case 219: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 219: + case 220: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41877,7 +41886,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt8u", value)); } break; - case 220: + case 221: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41886,7 +41895,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 254U)); } break; - case 221: + case 222: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41894,10 +41903,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 254U)); } break; - case 222: + case 223: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 223: + case 224: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41906,7 +41915,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 254U)); } break; - case 224: + case 225: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41914,10 +41923,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 129U)); } break; - case 225: + case 226: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 226: + case 227: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41926,10 +41935,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt16u.Value()", value.Value(), 0U)); } break; - case 227: + case 228: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 228: + case 229: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41938,10 +41947,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt16u.Value()", value.Value(), 65534U)); } break; - case 229: + case 230: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 230: + case 231: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41950,10 +41959,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt16u.Value()", value.Value(), 65534U)); } break; - case 231: + case 232: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 232: + case 233: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41961,7 +41970,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt16u", value)); } break; - case 233: + case 234: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41970,7 +41979,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 65534U)); } break; - case 234: + case 235: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41978,10 +41987,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 65534U)); } break; - case 235: + case 236: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 236: + case 237: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41990,7 +41999,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 65534U)); } break; - case 237: + case 238: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -41998,10 +42007,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 32001U)); } break; - case 238: + case 239: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 239: + case 240: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42010,10 +42019,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt32u.Value()", value.Value(), 0UL)); } break; - case 240: + case 241: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 241: + case 242: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42022,10 +42031,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt32u.Value()", value.Value(), 4294967294UL)); } break; - case 242: + case 243: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 243: + case 244: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42034,10 +42043,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt32u.Value()", value.Value(), 4294967294UL)); } break; - case 244: + case 245: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 245: + case 246: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42045,7 +42054,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt32u", value)); } break; - case 246: + case 247: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42054,7 +42063,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 4294967294UL)); } break; - case 247: + case 248: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42062,10 +42071,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 4294967294UL)); } break; - case 248: + case 249: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 249: + case 250: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42074,7 +42083,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 4294967294UL)); } break; - case 250: + case 251: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42082,10 +42091,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 2147483648UL)); } break; - case 251: + case 252: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 252: + case 253: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42094,10 +42103,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt64u.Value()", value.Value(), 0ULL)); } break; - case 253: + case 254: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 254: + case 255: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42106,10 +42115,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt64u.Value()", value.Value(), 18446744073709551614ULL)); } break; - case 255: + case 256: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 256: + case 257: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42118,10 +42127,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt64u.Value()", value.Value(), 18446744073709551614ULL)); } break; - case 257: + case 258: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 258: + case 259: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42129,7 +42138,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt64u", value)); } break; - case 259: + case 260: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42138,7 +42147,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 18446744073709551614ULL)); } break; - case 260: + case 261: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42146,10 +42155,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 18446744073709551614ULL)); } break; - case 261: + case 262: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 262: + case 263: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42158,7 +42167,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 18446744073709551614ULL)); } break; - case 263: + case 264: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42166,10 +42175,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, 18000000000000000001ULL)); } break; - case 264: + case 265: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 265: + case 266: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42178,10 +42187,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt8s.Value()", value.Value(), -127)); } break; - case 266: + case 267: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 267: + case 268: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42190,10 +42199,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt8s.Value()", value.Value(), -127)); } break; - case 268: + case 269: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 269: + case 270: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42201,7 +42210,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt8s", value)); } break; - case 270: + case 271: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42210,7 +42219,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 127)); } break; - case 271: + case 272: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42218,10 +42227,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -127)); } break; - case 272: + case 273: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 273: + case 274: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42230,7 +42239,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 127)); } break; - case 274: + case 275: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42238,10 +42247,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -126)); } break; - case 275: + case 276: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 276: + case 277: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42250,10 +42259,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt16s.Value()", value.Value(), -32767)); } break; - case 277: + case 278: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 278: + case 279: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42262,10 +42271,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt16s.Value()", value.Value(), -32767)); } break; - case 279: + case 280: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 280: + case 281: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42273,7 +42282,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt16s", value)); } break; - case 281: + case 282: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42282,7 +42291,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 282: + case 283: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42290,10 +42299,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -32767)); } break; - case 283: + case 284: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 284: + case 285: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42302,7 +42311,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 285: + case 286: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42310,10 +42319,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -32766)); } break; - case 286: + case 287: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 287: + case 288: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42322,10 +42331,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt32s.Value()", value.Value(), -2147483647L)); } break; - case 288: + case 289: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 289: + case 290: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42334,10 +42343,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt32s.Value()", value.Value(), -2147483647L)); } break; - case 290: + case 291: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 291: + case 292: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42345,7 +42354,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt32s", value)); } break; - case 292: + case 293: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42354,7 +42363,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 2147483647L)); } break; - case 293: + case 294: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42362,10 +42371,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -2147483647L)); } break; - case 294: + case 295: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 295: + case 296: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42374,7 +42383,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 2147483647L)); } break; - case 296: + case 297: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42382,10 +42391,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -2147483646L)); } break; - case 297: + case 298: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 298: + case 299: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42394,10 +42403,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt64s.Value()", value.Value(), -9223372036854775807LL)); } break; - case 299: + case 300: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 300: + case 301: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42406,10 +42415,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableInt64s.Value()", value.Value(), -9223372036854775807LL)); } break; - case 301: + case 302: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 302: + case 303: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42417,7 +42426,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableInt64s", value)); } break; - case 303: + case 304: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42426,7 +42435,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 9223372036854775807LL)); } break; - case 304: + case 305: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42434,10 +42443,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -9223372036854775807LL)); } break; - case 305: + case 306: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 306: + case 307: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42446,7 +42455,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 9223372036854775807LL)); } break; - case 307: + case 308: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42454,10 +42463,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, -9223372036854775806LL)); } break; - case 308: + case 309: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 309: + case 310: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42466,10 +42475,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatSingle.Value()", value.Value(), 0.1f)); } break; - case 310: + case 311: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 311: + case 312: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42478,10 +42487,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatSingle.Value()", value.Value(), INFINITY)); } break; - case 312: + case 313: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 313: + case 314: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42490,10 +42499,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatSingle.Value()", value.Value(), -INFINITY)); } break; - case 314: + case 315: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 315: + case 316: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42501,10 +42510,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableFloatSingle", value)); } break; - case 316: + case 317: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 317: + case 318: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42513,10 +42522,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatSingle.Value()", value.Value(), 0.0f)); } break; - case 318: + case 319: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 319: + case 320: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42525,10 +42534,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatDouble.Value()", value.Value(), 0.1234567890123)); } break; - case 320: + case 321: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 321: + case 322: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42537,10 +42546,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatDouble.Value()", value.Value(), INFINITY)); } break; - case 322: + case 323: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 323: + case 324: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42549,10 +42558,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatDouble.Value()", value.Value(), -INFINITY)); } break; - case 324: + case 325: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 325: + case 326: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42560,10 +42569,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableFloatDouble", value)); } break; - case 326: + case 327: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 327: + case 328: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42572,10 +42581,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableFloatDouble.Value()", value.Value(), 0)); } break; - case 328: + case 329: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 329: + case 330: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42584,10 +42593,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum8.Value()", value.Value(), 0U)); } break; - case 330: + case 331: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 331: + case 332: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42596,10 +42605,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum8.Value()", value.Value(), 254U)); } break; - case 332: + case 333: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 333: + case 334: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42608,10 +42617,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum8.Value()", value.Value(), 254U)); } break; - case 334: + case 335: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 335: + case 336: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42619,10 +42628,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableEnum8", value)); } break; - case 336: + case 337: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 337: + case 338: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42631,10 +42640,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum16.Value()", value.Value(), 0U)); } break; - case 338: + case 339: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 339: + case 340: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42643,10 +42652,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum16.Value()", value.Value(), 65534U)); } break; - case 340: + case 341: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 341: + case 342: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42655,10 +42664,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnum16.Value()", value.Value(), 65534U)); } break; - case 342: + case 343: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 343: + case 344: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42666,10 +42675,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableEnum16", value)); } break; - case 344: + case 345: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 345: + case 346: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42678,35 +42687,35 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableEnumAttr.Value()", value.Value(), 0U)); } break; - case 346: + case 347: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 347: + case 348: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckValueNonNull("nullableEnumAttr", value)); - VerifyOrReturn(CheckValue("nullableEnumAttr.Value()", value.Value(), 254U)); + VerifyOrReturn(CheckValue("nullableEnumAttr.Value()", value.Value(), 3U)); } break; - case 348: + case 349: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; - case 349: + case 350: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckValueNonNull("nullableEnumAttr", value)); - VerifyOrReturn(CheckValue("nullableEnumAttr.Value()", value.Value(), 254U)); - nullableEnumAttr254 = value; + VerifyOrReturn(CheckValue("nullableEnumAttr.Value()", value.Value(), 3U)); + nullableEnumAttr3 = value; } break; - case 350: + case 351: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 351: + case 352: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42714,15 +42723,15 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableEnumAttr", value)); } break; - case 352: + case 353: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintNotValue("value", value, nullableEnumAttr254)); + VerifyOrReturn(CheckConstraintNotValue("value", value, nullableEnumAttr3)); } break; - case 353: + case 354: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42732,10 +42741,10 @@ class TestClusterSuite : public TestCommand chip::ByteSpan(chip::Uint8::from_const_char(""), 0))); } break; - case 354: + case 355: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 355: + case 356: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42759,10 +42768,10 @@ class TestClusterSuite : public TestCommand } } break; - case 356: + case 357: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 357: + case 358: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42770,10 +42779,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableOctetString", value)); } break; - case 358: + case 359: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 359: + case 360: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42783,7 +42792,7 @@ class TestClusterSuite : public TestCommand chip::ByteSpan(chip::Uint8::from_const_char(""), 0))); } break; - case 360: + case 361: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42791,7 +42800,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, nullableOctetStrTestValue)); } break; - case 361: + case 362: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42800,10 +42809,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueAsString("nullableCharString.Value()", value.Value(), chip::CharSpan("", 0))); } break; - case 362: + case 363: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 363: + case 364: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42826,7 +42835,7 @@ class TestClusterSuite : public TestCommand } } break; - case 364: + case 365: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42842,10 +42851,10 @@ class TestClusterSuite : public TestCommand } } break; - case 365: + case 366: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 366: + case 367: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42853,10 +42862,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableCharString", value)); } break; - case 367: + case 368: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 368: + case 369: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42865,7 +42874,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueAsString("nullableCharString.Value()", value.Value(), chip::CharSpan("", 0))); } break; - case 369: + case 370: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -42873,19 +42882,19 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckConstraintNotValue("value", value, nullableCharStringSave)); } break; - case 370: + case 371: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ENDPOINT)); break; - case 371: + case 372: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER)); break; - case 372: + case 373: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_VALUE)); break; - case 373: + case 374: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 374: + case 375: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42904,10 +42913,10 @@ class TestClusterSuite : public TestCommand } } break; - case 375: + case 376: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 376: + case 377: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42927,7 +42936,7 @@ class TestClusterSuite : public TestCommand } shouldContinue = true; break; - case 377: + case 378: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -42935,9 +42944,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8u", value, 70U)); } break; - case 378: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 379: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -42948,6 +42954,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 382: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 383: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -42955,10 +42964,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8u", value, 70U)); } break; - case 383: + case 384: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 384: + case 385: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -42966,10 +42975,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8u", value, 20U)); } break; - case 385: + case 386: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 386: + case 387: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -42977,10 +42986,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8u", value, 100U)); } break; - case 387: + case 388: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 388: + case 389: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -42988,7 +42997,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8u", value, 50U)); } break; - case 389: + case 390: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -42996,9 +43005,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16u", value, 200U)); } break; - case 390: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 391: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43009,6 +43015,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 394: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 395: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -43016,10 +43025,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16u", value, 200U)); } break; - case 395: + case 396: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 396: + case 397: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -43027,10 +43036,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16u", value, 100U)); } break; - case 397: + case 398: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 398: + case 399: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -43038,10 +43047,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16u", value, 1000U)); } break; - case 399: + case 400: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 400: + case 401: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -43049,7 +43058,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16u", value, 500U)); } break; - case 401: + case 402: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -43057,9 +43066,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8s", value, -20)); } break; - case 402: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 403: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43070,6 +43076,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 406: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 407: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -43077,10 +43086,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8s", value, -20)); } break; - case 407: + case 408: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 408: + case 409: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -43088,10 +43097,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8s", value, -40)); } break; - case 409: + case 410: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 410: + case 411: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -43099,10 +43108,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8s", value, 50)); } break; - case 411: + case 412: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 412: + case 413: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -43110,7 +43119,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt8s", value, 6)); } break; - case 413: + case 414: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -43118,9 +43127,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16s", value, -100)); } break; - case 414: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 415: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43131,6 +43137,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 418: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 419: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -43138,10 +43147,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16s", value, -100)); } break; - case 419: + case 420: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 420: + case 421: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -43149,10 +43158,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16s", value, -150)); } break; - case 421: + case 422: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 422: + case 423: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -43160,10 +43169,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16s", value, 200)); } break; - case 423: + case 424: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 424: + case 425: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -43171,7 +43180,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("rangeRestrictedInt16s", value, 7)); } break; - case 425: + case 426: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43180,9 +43189,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8u.Value()", value.Value(), 70U)); } break; - case 426: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 427: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43193,6 +43199,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 430: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 431: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43201,10 +43210,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8u.Value()", value.Value(), 70U)); } break; - case 431: + case 432: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 432: + case 433: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43213,10 +43222,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8u.Value()", value.Value(), 20U)); } break; - case 433: + case 434: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 434: + case 435: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43225,10 +43234,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8u.Value()", value.Value(), 100U)); } break; - case 435: + case 436: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 436: + case 437: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43237,10 +43246,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8u.Value()", value.Value(), 50U)); } break; - case 437: + case 438: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 438: + case 439: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43248,7 +43257,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableRangeRestrictedInt8u", value)); } break; - case 439: + case 440: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43257,9 +43266,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16u.Value()", value.Value(), 200U)); } break; - case 440: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 441: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43270,6 +43276,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 444: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 445: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43278,10 +43287,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16u.Value()", value.Value(), 200U)); } break; - case 445: + case 446: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 446: + case 447: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43290,10 +43299,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16u.Value()", value.Value(), 100U)); } break; - case 447: + case 448: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 448: + case 449: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43302,10 +43311,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16u.Value()", value.Value(), 1000U)); } break; - case 449: + case 450: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 450: + case 451: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43314,10 +43323,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16u.Value()", value.Value(), 500U)); } break; - case 451: + case 452: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 452: + case 453: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43325,7 +43334,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableRangeRestrictedInt16u", value)); } break; - case 453: + case 454: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43334,9 +43343,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8s.Value()", value.Value(), -20)); } break; - case 454: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 455: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43347,6 +43353,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 458: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 459: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43355,10 +43364,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8s.Value()", value.Value(), -20)); } break; - case 459: + case 460: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 460: + case 461: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43367,10 +43376,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8s.Value()", value.Value(), -40)); } break; - case 461: + case 462: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 462: + case 463: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43379,10 +43388,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8s.Value()", value.Value(), 50)); } break; - case 463: + case 464: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 464: + case 465: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43391,10 +43400,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt8s.Value()", value.Value(), 6)); } break; - case 465: + case 466: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 466: + case 467: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43402,7 +43411,7 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableRangeRestrictedInt8s", value)); } break; - case 467: + case 468: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43411,9 +43420,6 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16s.Value()", value.Value(), -100)); } break; - case 468: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 469: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; @@ -43424,6 +43430,9 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 472: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 473: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43432,10 +43441,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16s.Value()", value.Value(), -100)); } break; - case 473: + case 474: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 474: + case 475: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43444,10 +43453,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16s.Value()", value.Value(), -150)); } break; - case 475: + case 476: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 476: + case 477: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43456,10 +43465,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16s.Value()", value.Value(), 200)); } break; - case 477: + case 478: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 478: + case 479: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43468,10 +43477,10 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValue("nullableRangeRestrictedInt16s.Value()", value.Value(), 7)); } break; - case 479: + case 480: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 480: + case 481: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -43479,19 +43488,19 @@ class TestClusterSuite : public TestCommand VerifyOrReturn(CheckValueNull("nullableRangeRestrictedInt16s", value)); } break; - case 481: + case 482: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); break; - case 482: + case 483: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 483: + case 484: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); break; - case 484: + case 485: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; - case 485: + case 486: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -43538,7 +43547,7 @@ class TestClusterSuite : public TestCommand } } break; - case 486: + case 487: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -43567,10 +43576,10 @@ class TestClusterSuite : public TestCommand } } break; - case 487: + case 488: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 488: + case 489: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::TestCluster::Structs::SimpleStruct::DecodableType value; @@ -44657,14 +44666,25 @@ class TestClusterSuite : public TestCommand ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type value; value.arg1 = static_cast(20003); - value.arg2 = static_cast(101); + value.arg2 = static_cast(1); return SendCommand(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Commands::TestEnumsRequest::Id, value, chip::NullOptional ); } case 155: { - LogStep(155, "Send Test Command With Struct Argument and arg1.b is true"); + LogStep(155, "Send a command with a vendor_id and invalid enum"); + ListFreer listFreer; + chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type value; + value.arg1 = static_cast(20003); + value.arg2 = static_cast(101); + return SendCommand(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Commands::TestEnumsRequest::Id, value, + chip::NullOptional + + ); + } + case 156: { + LogStep(156, "Send Test Command With Struct Argument and arg1.b is true"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type value; @@ -44682,8 +44702,8 @@ class TestClusterSuite : public TestCommand ); } - case 156: { - LogStep(156, "Send Test Command With Struct Argument and arg1.b is false"); + case 157: { + LogStep(157, "Send Test Command With Struct Argument and arg1.b is false"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type value; @@ -44701,8 +44721,8 @@ class TestClusterSuite : public TestCommand ); } - case 157: { - LogStep(157, "Send Test Command With Nested Struct Argument and arg1.c.b is true"); + case 158: { + LogStep(158, "Send Test Command With Nested Struct Argument and arg1.c.b is true"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type value; @@ -44723,8 +44743,8 @@ class TestClusterSuite : public TestCommand ); } - case 158: { - LogStep(158, "Send Test Command With Nested Struct Argument arg1.c.b is false"); + case 159: { + LogStep(159, "Send Test Command With Nested Struct Argument arg1.c.b is false"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type value; @@ -44745,8 +44765,8 @@ class TestClusterSuite : public TestCommand ); } - case 159: { - LogStep(159, "Send Test Command With Nested Struct List Argument and all fields b of arg1.d are true"); + case 160: { + LogStep(160, "Send Test Command With Nested Struct List Argument and all fields b of arg1.d are true"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type value; @@ -44824,8 +44844,8 @@ class TestClusterSuite : public TestCommand ); } - case 160: { - LogStep(160, "Send Test Command With Nested Struct List Argument and some fields b of arg1.d are false"); + case 161: { + LogStep(161, "Send Test Command With Nested Struct List Argument and some fields b of arg1.d are false"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type value; @@ -44903,8 +44923,8 @@ class TestClusterSuite : public TestCommand ); } - case 161: { - LogStep(161, "Send Test Command With Struct Argument and see what we get back"); + case 162: { + LogStep(162, "Send Test Command With Struct Argument and see what we get back"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::SimpleStructEchoRequest::Type value; @@ -44922,8 +44942,8 @@ class TestClusterSuite : public TestCommand ); } - case 162: { - LogStep(162, "Send Test Command With List of INT8U and none of them is set to 0"); + case 163: { + LogStep(163, "Send Test Command With List of INT8U and none of them is set to 0"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type value; @@ -44946,8 +44966,8 @@ class TestClusterSuite : public TestCommand ); } - case 163: { - LogStep(163, "Send Test Command With List of INT8U and one of them is set to 0"); + case 164: { + LogStep(164, "Send Test Command With List of INT8U and one of them is set to 0"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type value; @@ -44971,8 +44991,8 @@ class TestClusterSuite : public TestCommand ); } - case 164: { - LogStep(164, "Send Test Command With List of INT8U and get it reversed"); + case 165: { + LogStep(165, "Send Test Command With List of INT8U and get it reversed"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type value; @@ -44995,8 +45015,8 @@ class TestClusterSuite : public TestCommand ); } - case 165: { - LogStep(165, "Send Test Command With empty List of INT8U and get an empty list back"); + case 166: { + LogStep(166, "Send Test Command With empty List of INT8U and get an empty list back"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type value; @@ -45006,8 +45026,8 @@ class TestClusterSuite : public TestCommand ); } - case 166: { - LogStep(166, "Send Test Command With List of Struct Argument and arg1.b of first item is true"); + case 167: { + LogStep(167, "Send Test Command With List of Struct Argument and arg1.b of first item is true"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type value; @@ -45043,8 +45063,8 @@ class TestClusterSuite : public TestCommand ); } - case 167: { - LogStep(167, "Send Test Command With List of Struct Argument and arg1.b of first item is false"); + case 168: { + LogStep(168, "Send Test Command With List of Struct Argument and arg1.b of first item is false"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type value; @@ -45080,8 +45100,8 @@ class TestClusterSuite : public TestCommand ); } - case 168: { - LogStep(168, + case 169: { + LogStep(169, "Send Test Command With List of Nested Struct List Argument and all fields b of elements of arg1.d are true"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type value; @@ -45169,8 +45189,8 @@ class TestClusterSuite : public TestCommand ); } - case 169: { - LogStep(169, "Send Test Command With Nested Struct List Argument and some fields b of elements of arg1.d are false"); + case 170: { + LogStep(170, "Send Test Command With Nested Struct List Argument and some fields b of elements of arg1.d are false"); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type value; @@ -45257,8 +45277,8 @@ class TestClusterSuite : public TestCommand ); } - case 170: { - LogStep(170, "Write attribute LIST With List of INT8U and none of them is set to 0"); + case 171: { + LogStep(171, "Write attribute LIST With List of INT8U and none of them is set to 0"); ListFreer listFreer; chip::app::DataModel::List value; @@ -45274,13 +45294,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 171: { - LogStep(171, "Read attribute LIST With List of INT8U"); + case 172: { + LogStep(172, "Read attribute LIST With List of INT8U"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, true, chip::NullOptional); } - case 172: { - LogStep(172, "Write attribute LIST With List of OCTET_STRING"); + case 173: { + LogStep(173, "Write attribute LIST With List of OCTET_STRING"); ListFreer listFreer; chip::app::DataModel::List value; @@ -45296,13 +45316,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListOctetString::Id, value, chip::NullOptional, chip::NullOptional); } - case 173: { - LogStep(173, "Read attribute LIST With List of OCTET_STRING"); + case 174: { + LogStep(174, "Read attribute LIST With List of OCTET_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListOctetString::Id, true, chip::NullOptional); } - case 174: { - LogStep(174, "Write attribute LIST With List of LIST_STRUCT_OCTET_STRING"); + case 175: { + LogStep(175, "Write attribute LIST With List of LIST_STRUCT_OCTET_STRING"); ListFreer listFreer; chip::app::DataModel::List value; @@ -45333,13 +45353,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::ListStructOctetString::Id, value, chip::NullOptional, chip::NullOptional); } - case 175: { - LogStep(175, "Read attribute LIST With List of LIST_STRUCT_OCTET_STRING"); + case 176: { + LogStep(176, "Read attribute LIST With List of LIST_STRUCT_OCTET_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListStructOctetString::Id, true, chip::NullOptional); } - case 176: { - LogStep(176, "Send Test Command with optional arg set."); + case 177: { + LogStep(177, "Send Test Command with optional arg set."); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type value; value.arg1.Emplace(); @@ -45350,8 +45370,8 @@ class TestClusterSuite : public TestCommand ); } - case 177: { - LogStep(177, "Send Test Command without its optional arg."); + case 178: { + LogStep(178, "Send Test Command without its optional arg."); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, @@ -45359,13 +45379,13 @@ class TestClusterSuite : public TestCommand ); } - case 178: { - LogStep(178, "Read list of structs containing nullables and optionals"); + case 179: { + LogStep(179, "Read list of structs containing nullables and optionals"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListNullablesAndOptionalsStruct::Id, true, chip::NullOptional); } - case 179: { - LogStep(179, "Write list of structs containing nullables and optionals"); + case 180: { + LogStep(180, "Write list of structs containing nullables and optionals"); ListFreer listFreer; chip::app::DataModel::List value; @@ -45395,26 +45415,26 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::ListNullablesAndOptionalsStruct::Id, value, chip::NullOptional, chip::NullOptional); } - case 180: { - LogStep(180, "Read list of structs containing nullables and optionals after writing"); + case 181: { + LogStep(181, "Read list of structs containing nullables and optionals after writing"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListNullablesAndOptionalsStruct::Id, true, chip::NullOptional); } - case 181: { - LogStep(181, "Write attribute NULLABLE_BOOLEAN null"); + case 182: { + LogStep(182, "Write attribute NULLABLE_BOOLEAN null"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBoolean::Id, value, chip::NullOptional, chip::NullOptional); } - case 182: { - LogStep(182, "Read attribute NULLABLE_BOOLEAN null"); + case 183: { + LogStep(183, "Read attribute NULLABLE_BOOLEAN null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBoolean::Id, true, chip::NullOptional); } - case 183: { - LogStep(183, "Write attribute NULLABLE_BOOLEAN True"); + case 184: { + LogStep(184, "Write attribute NULLABLE_BOOLEAN True"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45422,18 +45442,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBoolean::Id, value, chip::NullOptional, chip::NullOptional); } - case 184: { - LogStep(184, "Read attribute NULLABLE_BOOLEAN True"); + case 185: { + LogStep(185, "Read attribute NULLABLE_BOOLEAN True"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBoolean::Id, true, chip::NullOptional); } - case 185: { - LogStep(185, "Read attribute NULLABLE_BOOLEAN not null"); + case 186: { + LogStep(186, "Read attribute NULLABLE_BOOLEAN not null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBoolean::Id, true, chip::NullOptional); } - case 186: { - LogStep(186, "Write attribute NULLABLE_BITMAP8 Max Value"); + case 187: { + LogStep(187, "Write attribute NULLABLE_BITMAP8 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45441,13 +45461,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, value, chip::NullOptional, chip::NullOptional); } - case 187: { - LogStep(187, "Read attribute NULLABLE_BITMAP8 Max Value"); + case 188: { + LogStep(188, "Read attribute NULLABLE_BITMAP8 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, true, chip::NullOptional); } - case 188: { - LogStep(188, "Write attribute NULLABLE_BITMAP8 Invalid Value"); + case 189: { + LogStep(189, "Write attribute NULLABLE_BITMAP8 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45455,31 +45475,31 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, value, chip::NullOptional, chip::NullOptional); } - case 189: { - LogStep(189, "Read attribute NULLABLE_BITMAP8 unchanged Value"); + case 190: { + LogStep(190, "Read attribute NULLABLE_BITMAP8 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, true, chip::NullOptional); } - case 190: { - LogStep(190, "Write attribute NULLABLE_BITMAP8 null Value"); + case 191: { + LogStep(191, "Write attribute NULLABLE_BITMAP8 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, value, chip::NullOptional, chip::NullOptional); } - case 191: { - LogStep(191, "Read attribute NULLABLE_BITMAP8 null Value"); + case 192: { + LogStep(192, "Read attribute NULLABLE_BITMAP8 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, true, chip::NullOptional); } - case 192: { - LogStep(192, "Read attribute NULLABLE_BITMAP8 not 254 Value"); + case 193: { + LogStep(193, "Read attribute NULLABLE_BITMAP8 not 254 Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap8::Id, true, chip::NullOptional); } - case 193: { - LogStep(193, "Write attribute NULLABLE_BITMAP16 Max Value"); + case 194: { + LogStep(194, "Write attribute NULLABLE_BITMAP16 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45487,13 +45507,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, value, chip::NullOptional, chip::NullOptional); } - case 194: { - LogStep(194, "Read attribute NULLABLE_BITMAP16 Max Value"); + case 195: { + LogStep(195, "Read attribute NULLABLE_BITMAP16 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, true, chip::NullOptional); } - case 195: { - LogStep(195, "Write attribute NULLABLE_BITMAP16 Invalid Value"); + case 196: { + LogStep(196, "Write attribute NULLABLE_BITMAP16 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45501,26 +45521,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, value, chip::NullOptional, chip::NullOptional); } - case 196: { - LogStep(196, "Read attribute NULLABLE_BITMAP16 unchanged Value"); + case 197: { + LogStep(197, "Read attribute NULLABLE_BITMAP16 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, true, chip::NullOptional); } - case 197: { - LogStep(197, "Write attribute NULLABLE_BITMAP16 null Value"); + case 198: { + LogStep(198, "Write attribute NULLABLE_BITMAP16 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, value, chip::NullOptional, chip::NullOptional); } - case 198: { - LogStep(198, "Read attribute NULLABLE_BITMAP16 null Value"); + case 199: { + LogStep(199, "Read attribute NULLABLE_BITMAP16 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap16::Id, true, chip::NullOptional); } - case 199: { - LogStep(199, "Write attribute NULLABLE_BITMAP32 Max Value"); + case 200: { + LogStep(200, "Write attribute NULLABLE_BITMAP32 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45528,13 +45548,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, value, chip::NullOptional, chip::NullOptional); } - case 200: { - LogStep(200, "Read attribute NULLABLE_BITMAP32 Max Value"); + case 201: { + LogStep(201, "Read attribute NULLABLE_BITMAP32 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, true, chip::NullOptional); } - case 201: { - LogStep(201, "Write attribute NULLABLE_BITMAP32 Invalid Value"); + case 202: { + LogStep(202, "Write attribute NULLABLE_BITMAP32 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45542,26 +45562,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, value, chip::NullOptional, chip::NullOptional); } - case 202: { - LogStep(202, "Read attribute NULLABLE_BITMAP32 unchanged Value"); + case 203: { + LogStep(203, "Read attribute NULLABLE_BITMAP32 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, true, chip::NullOptional); } - case 203: { - LogStep(203, "Write attribute NULLABLE_BITMAP32 null Value"); + case 204: { + LogStep(204, "Write attribute NULLABLE_BITMAP32 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, value, chip::NullOptional, chip::NullOptional); } - case 204: { - LogStep(204, "Read attribute NULLABLE_BITMAP32 null Value"); + case 205: { + LogStep(205, "Read attribute NULLABLE_BITMAP32 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap32::Id, true, chip::NullOptional); } - case 205: { - LogStep(205, "Write attribute NULLABLE_BITMAP64 Max Value"); + case 206: { + LogStep(206, "Write attribute NULLABLE_BITMAP64 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45569,13 +45589,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, value, chip::NullOptional, chip::NullOptional); } - case 206: { - LogStep(206, "Read attribute NULLABLE_BITMAP64 Max Value"); + case 207: { + LogStep(207, "Read attribute NULLABLE_BITMAP64 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, true, chip::NullOptional); } - case 207: { - LogStep(207, "Write attribute NULLABLE_BITMAP64 Invalid Value"); + case 208: { + LogStep(208, "Write attribute NULLABLE_BITMAP64 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNonNull(); @@ -45583,26 +45603,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, value, chip::NullOptional, chip::NullOptional); } - case 208: { - LogStep(208, "Read attribute NULLABLE_BITMAP64 unchanged Value"); + case 209: { + LogStep(209, "Read attribute NULLABLE_BITMAP64 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, true, chip::NullOptional); } - case 209: { - LogStep(209, "Write attribute NULLABLE_BITMAP64 null Value"); + case 210: { + LogStep(210, "Write attribute NULLABLE_BITMAP64 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable> value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, value, chip::NullOptional, chip::NullOptional); } - case 210: { - LogStep(210, "Read attribute NULLABLE_BITMAP64 null Value"); + case 211: { + LogStep(211, "Read attribute NULLABLE_BITMAP64 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableBitmap64::Id, true, chip::NullOptional); } - case 211: { - LogStep(211, "Write attribute NULLABLE_INT8U Min Value"); + case 212: { + LogStep(212, "Write attribute NULLABLE_INT8U Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45610,13 +45630,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 212: { - LogStep(212, "Read attribute NULLABLE_INT8U Min Value"); + case 213: { + LogStep(213, "Read attribute NULLABLE_INT8U Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 213: { - LogStep(213, "Write attribute NULLABLE_INT8U Max Value"); + case 214: { + LogStep(214, "Write attribute NULLABLE_INT8U Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45624,13 +45644,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 214: { - LogStep(214, "Read attribute NULLABLE_INT8U Max Value"); + case 215: { + LogStep(215, "Read attribute NULLABLE_INT8U Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 215: { - LogStep(215, "Write attribute NULLABLE_INT8U Invalid Value"); + case 216: { + LogStep(216, "Write attribute NULLABLE_INT8U Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45638,41 +45658,41 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 216: { - LogStep(216, "Read attribute NULLABLE_INT8U unchanged Value"); + case 217: { + LogStep(217, "Read attribute NULLABLE_INT8U unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 217: { - LogStep(217, "Read attribute NULLABLE_INT8U unchanged Value with constraint"); + case 218: { + LogStep(218, "Read attribute NULLABLE_INT8U unchanged Value with constraint"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 218: { - LogStep(218, "Write attribute NULLABLE_INT8U null Value"); + case 219: { + LogStep(219, "Write attribute NULLABLE_INT8U null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 219: { - LogStep(219, "Read attribute NULLABLE_INT8U null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, - chip::NullOptional); - } case 220: { - LogStep(220, "Read attribute NULLABLE_INT8U null Value & range"); + LogStep(220, "Read attribute NULLABLE_INT8U null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } case 221: { - LogStep(221, "Read attribute NULLABLE_INT8U null Value & not"); + LogStep(221, "Read attribute NULLABLE_INT8U null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } case 222: { - LogStep(222, "Write attribute NULLABLE_INT8U Value"); + LogStep(222, "Read attribute NULLABLE_INT8U null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, + chip::NullOptional); + } + case 223: { + LogStep(223, "Write attribute NULLABLE_INT8U Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45680,18 +45700,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 223: { - LogStep(223, "Read attribute NULLABLE_INT8U Value in range"); + case 224: { + LogStep(224, "Read attribute NULLABLE_INT8U Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 224: { - LogStep(224, "Read attribute NULLABLE_INT8U notValue OK"); + case 225: { + LogStep(225, "Read attribute NULLABLE_INT8U notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8u::Id, true, chip::NullOptional); } - case 225: { - LogStep(225, "Write attribute NULLABLE_INT16U Min Value"); + case 226: { + LogStep(226, "Write attribute NULLABLE_INT16U Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45699,13 +45719,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 226: { - LogStep(226, "Read attribute NULLABLE_INT16U Min Value"); + case 227: { + LogStep(227, "Read attribute NULLABLE_INT16U Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } - case 227: { - LogStep(227, "Write attribute NULLABLE_INT16U Max Value"); + case 228: { + LogStep(228, "Write attribute NULLABLE_INT16U Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45713,13 +45733,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 228: { - LogStep(228, "Read attribute NULLABLE_INT16U Max Value"); + case 229: { + LogStep(229, "Read attribute NULLABLE_INT16U Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } - case 229: { - LogStep(229, "Write attribute NULLABLE_INT16U Invalid Value"); + case 230: { + LogStep(230, "Write attribute NULLABLE_INT16U Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45727,36 +45747,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 230: { - LogStep(230, "Read attribute NULLABLE_INT16U unchanged Value"); + case 231: { + LogStep(231, "Read attribute NULLABLE_INT16U unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } - case 231: { - LogStep(231, "Write attribute NULLABLE_INT16U null Value"); + case 232: { + LogStep(232, "Write attribute NULLABLE_INT16U null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 232: { - LogStep(232, "Read attribute NULLABLE_INT16U null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, - chip::NullOptional); - } case 233: { - LogStep(233, "Read attribute NULLABLE_INT16U null Value & range"); + LogStep(233, "Read attribute NULLABLE_INT16U null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } case 234: { - LogStep(234, "Read attribute NULLABLE_INT16U null Value & not"); + LogStep(234, "Read attribute NULLABLE_INT16U null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } case 235: { - LogStep(235, "Write attribute NULLABLE_INT16U Value"); + LogStep(235, "Read attribute NULLABLE_INT16U null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, + chip::NullOptional); + } + case 236: { + LogStep(236, "Write attribute NULLABLE_INT16U Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45764,18 +45784,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 236: { - LogStep(236, "Read attribute NULLABLE_INT16U Value in range"); + case 237: { + LogStep(237, "Read attribute NULLABLE_INT16U Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } - case 237: { - LogStep(237, "Read attribute NULLABLE_INT16U notValue OK"); + case 238: { + LogStep(238, "Read attribute NULLABLE_INT16U notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16u::Id, true, chip::NullOptional); } - case 238: { - LogStep(238, "Write attribute NULLABLE_INT32U Min Value"); + case 239: { + LogStep(239, "Write attribute NULLABLE_INT32U Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45783,13 +45803,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, value, chip::NullOptional, chip::NullOptional); } - case 239: { - LogStep(239, "Read attribute NULLABLE_INT32U Min Value"); + case 240: { + LogStep(240, "Read attribute NULLABLE_INT32U Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } - case 240: { - LogStep(240, "Write attribute NULLABLE_INT32U Max Value"); + case 241: { + LogStep(241, "Write attribute NULLABLE_INT32U Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45797,13 +45817,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, value, chip::NullOptional, chip::NullOptional); } - case 241: { - LogStep(241, "Read attribute NULLABLE_INT32U Max Value"); + case 242: { + LogStep(242, "Read attribute NULLABLE_INT32U Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } - case 242: { - LogStep(242, "Write attribute NULLABLE_INT32U Invalid Value"); + case 243: { + LogStep(243, "Write attribute NULLABLE_INT32U Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45811,36 +45831,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, value, chip::NullOptional, chip::NullOptional); } - case 243: { - LogStep(243, "Read attribute NULLABLE_INT32U unchanged Value"); + case 244: { + LogStep(244, "Read attribute NULLABLE_INT32U unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } - case 244: { - LogStep(244, "Write attribute NULLABLE_INT32U null Value"); + case 245: { + LogStep(245, "Write attribute NULLABLE_INT32U null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, value, chip::NullOptional, chip::NullOptional); } - case 245: { - LogStep(245, "Read attribute NULLABLE_INT32U null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, - chip::NullOptional); - } case 246: { - LogStep(246, "Read attribute NULLABLE_INT32U null Value & range"); + LogStep(246, "Read attribute NULLABLE_INT32U null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } case 247: { - LogStep(247, "Read attribute NULLABLE_INT32U null Value & not"); + LogStep(247, "Read attribute NULLABLE_INT32U null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } case 248: { - LogStep(248, "Write attribute NULLABLE_INT32U Value"); + LogStep(248, "Read attribute NULLABLE_INT32U null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, + chip::NullOptional); + } + case 249: { + LogStep(249, "Write attribute NULLABLE_INT32U Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45848,18 +45868,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, value, chip::NullOptional, chip::NullOptional); } - case 249: { - LogStep(249, "Read attribute NULLABLE_INT32U Value in range"); + case 250: { + LogStep(250, "Read attribute NULLABLE_INT32U Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } - case 250: { - LogStep(250, "Read attribute NULLABLE_INT32U notValue OK"); + case 251: { + LogStep(251, "Read attribute NULLABLE_INT32U notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32u::Id, true, chip::NullOptional); } - case 251: { - LogStep(251, "Write attribute NULLABLE_INT64U Min Value"); + case 252: { + LogStep(252, "Write attribute NULLABLE_INT64U Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45867,13 +45887,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, value, chip::NullOptional, chip::NullOptional); } - case 252: { - LogStep(252, "Read attribute NULLABLE_INT64U Min Value"); + case 253: { + LogStep(253, "Read attribute NULLABLE_INT64U Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } - case 253: { - LogStep(253, "Write attribute NULLABLE_INT64U Max Value"); + case 254: { + LogStep(254, "Write attribute NULLABLE_INT64U Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45881,13 +45901,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, value, chip::NullOptional, chip::NullOptional); } - case 254: { - LogStep(254, "Read attribute NULLABLE_INT64U Max Value"); + case 255: { + LogStep(255, "Read attribute NULLABLE_INT64U Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } - case 255: { - LogStep(255, "Write attribute NULLABLE_INT64U Invalid Value"); + case 256: { + LogStep(256, "Write attribute NULLABLE_INT64U Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45895,36 +45915,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, value, chip::NullOptional, chip::NullOptional); } - case 256: { - LogStep(256, "Read attribute NULLABLE_INT64U unchanged Value"); + case 257: { + LogStep(257, "Read attribute NULLABLE_INT64U unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } - case 257: { - LogStep(257, "Write attribute NULLABLE_INT64U null Value"); + case 258: { + LogStep(258, "Write attribute NULLABLE_INT64U null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, value, chip::NullOptional, chip::NullOptional); } - case 258: { - LogStep(258, "Read attribute NULLABLE_INT64U null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, - chip::NullOptional); - } case 259: { - LogStep(259, "Read attribute NULLABLE_INT64U null Value & range"); + LogStep(259, "Read attribute NULLABLE_INT64U null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } case 260: { - LogStep(260, "Read attribute NULLABLE_INT64U null Value & not"); + LogStep(260, "Read attribute NULLABLE_INT64U null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } case 261: { - LogStep(261, "Write attribute NULLABLE_INT64U Value"); + LogStep(261, "Read attribute NULLABLE_INT64U null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, + chip::NullOptional); + } + case 262: { + LogStep(262, "Write attribute NULLABLE_INT64U Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45932,18 +45952,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, value, chip::NullOptional, chip::NullOptional); } - case 262: { - LogStep(262, "Read attribute NULLABLE_INT64U Value in range"); + case 263: { + LogStep(263, "Read attribute NULLABLE_INT64U Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } - case 263: { - LogStep(263, "Read attribute NULLABLE_INT64U notValue OK"); + case 264: { + LogStep(264, "Read attribute NULLABLE_INT64U notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64u::Id, true, chip::NullOptional); } - case 264: { - LogStep(264, "Write attribute NULLABLE_INT8S Min Value"); + case 265: { + LogStep(265, "Write attribute NULLABLE_INT8S Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45951,13 +45971,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 265: { - LogStep(265, "Read attribute NULLABLE_INT8S Min Value"); + case 266: { + LogStep(266, "Read attribute NULLABLE_INT8S Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } - case 266: { - LogStep(266, "Write attribute NULLABLE_INT8S Invalid Value"); + case 267: { + LogStep(267, "Write attribute NULLABLE_INT8S Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -45965,36 +45985,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 267: { - LogStep(267, "Read attribute NULLABLE_INT8S unchanged Value"); + case 268: { + LogStep(268, "Read attribute NULLABLE_INT8S unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } - case 268: { - LogStep(268, "Write attribute NULLABLE_INT8S null Value"); + case 269: { + LogStep(269, "Write attribute NULLABLE_INT8S null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 269: { - LogStep(269, "Read attribute NULLABLE_INT8S null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, - chip::NullOptional); - } case 270: { - LogStep(270, "Read attribute NULLABLE_INT8S null Value & range"); + LogStep(270, "Read attribute NULLABLE_INT8S null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } case 271: { - LogStep(271, "Read attribute NULLABLE_INT8S null Value & not"); + LogStep(271, "Read attribute NULLABLE_INT8S null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } case 272: { - LogStep(272, "Write attribute NULLABLE_INT8S Value"); + LogStep(272, "Read attribute NULLABLE_INT8S null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, + chip::NullOptional); + } + case 273: { + LogStep(273, "Write attribute NULLABLE_INT8S Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46002,18 +46022,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 273: { - LogStep(273, "Read attribute NULLABLE_INT8S Value in range"); + case 274: { + LogStep(274, "Read attribute NULLABLE_INT8S Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } - case 274: { - LogStep(274, "Read attribute NULLABLE_INT8S notValue OK"); + case 275: { + LogStep(275, "Read attribute NULLABLE_INT8S notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt8s::Id, true, chip::NullOptional); } - case 275: { - LogStep(275, "Write attribute NULLABLE_INT16S Min Value"); + case 276: { + LogStep(276, "Write attribute NULLABLE_INT16S Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46021,13 +46041,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 276: { - LogStep(276, "Read attribute NULLABLE_INT16S Min Value"); + case 277: { + LogStep(277, "Read attribute NULLABLE_INT16S Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } - case 277: { - LogStep(277, "Write attribute NULLABLE_INT16S Invalid Value"); + case 278: { + LogStep(278, "Write attribute NULLABLE_INT16S Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46035,36 +46055,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 278: { - LogStep(278, "Read attribute NULLABLE_INT16S unchanged Value"); + case 279: { + LogStep(279, "Read attribute NULLABLE_INT16S unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } - case 279: { - LogStep(279, "Write attribute NULLABLE_INT16S null Value"); + case 280: { + LogStep(280, "Write attribute NULLABLE_INT16S null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 280: { - LogStep(280, "Read attribute NULLABLE_INT16S null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, - chip::NullOptional); - } case 281: { - LogStep(281, "Read attribute NULLABLE_INT16S null Value & range"); + LogStep(281, "Read attribute NULLABLE_INT16S null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } case 282: { - LogStep(282, "Read attribute NULLABLE_INT16S null Value & not"); + LogStep(282, "Read attribute NULLABLE_INT16S null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } case 283: { - LogStep(283, "Write attribute NULLABLE_INT16S Value"); + LogStep(283, "Read attribute NULLABLE_INT16S null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, + chip::NullOptional); + } + case 284: { + LogStep(284, "Write attribute NULLABLE_INT16S Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46072,18 +46092,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 284: { - LogStep(284, "Read attribute NULLABLE_INT16S Value in range"); + case 285: { + LogStep(285, "Read attribute NULLABLE_INT16S Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } - case 285: { - LogStep(285, "Read attribute NULLABLE_INT16S notValue OK"); + case 286: { + LogStep(286, "Read attribute NULLABLE_INT16S notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt16s::Id, true, chip::NullOptional); } - case 286: { - LogStep(286, "Write attribute NULLABLE_INT32S Min Value"); + case 287: { + LogStep(287, "Write attribute NULLABLE_INT32S Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46091,13 +46111,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, value, chip::NullOptional, chip::NullOptional); } - case 287: { - LogStep(287, "Read attribute NULLABLE_INT32S Min Value"); + case 288: { + LogStep(288, "Read attribute NULLABLE_INT32S Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } - case 288: { - LogStep(288, "Write attribute NULLABLE_INT32S Invalid Value"); + case 289: { + LogStep(289, "Write attribute NULLABLE_INT32S Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46105,36 +46125,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, value, chip::NullOptional, chip::NullOptional); } - case 289: { - LogStep(289, "Read attribute NULLABLE_INT32S unchanged Value"); + case 290: { + LogStep(290, "Read attribute NULLABLE_INT32S unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } - case 290: { - LogStep(290, "Write attribute NULLABLE_INT32S null Value"); + case 291: { + LogStep(291, "Write attribute NULLABLE_INT32S null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, value, chip::NullOptional, chip::NullOptional); } - case 291: { - LogStep(291, "Read attribute NULLABLE_INT32S null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, - chip::NullOptional); - } case 292: { - LogStep(292, "Read attribute NULLABLE_INT32S null Value & range"); + LogStep(292, "Read attribute NULLABLE_INT32S null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } case 293: { - LogStep(293, "Read attribute NULLABLE_INT32S null Value & not"); + LogStep(293, "Read attribute NULLABLE_INT32S null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } case 294: { - LogStep(294, "Write attribute NULLABLE_INT32S Value"); + LogStep(294, "Read attribute NULLABLE_INT32S null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, + chip::NullOptional); + } + case 295: { + LogStep(295, "Write attribute NULLABLE_INT32S Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46142,18 +46162,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, value, chip::NullOptional, chip::NullOptional); } - case 295: { - LogStep(295, "Read attribute NULLABLE_INT32S Value in range"); + case 296: { + LogStep(296, "Read attribute NULLABLE_INT32S Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } - case 296: { - LogStep(296, "Read attribute NULLABLE_INT32S notValue OK"); + case 297: { + LogStep(297, "Read attribute NULLABLE_INT32S notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt32s::Id, true, chip::NullOptional); } - case 297: { - LogStep(297, "Write attribute NULLABLE_INT64S Min Value"); + case 298: { + LogStep(298, "Write attribute NULLABLE_INT64S Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46161,13 +46181,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, value, chip::NullOptional, chip::NullOptional); } - case 298: { - LogStep(298, "Read attribute NULLABLE_INT64S Min Value"); + case 299: { + LogStep(299, "Read attribute NULLABLE_INT64S Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } - case 299: { - LogStep(299, "Write attribute NULLABLE_INT64S Invalid Value"); + case 300: { + LogStep(300, "Write attribute NULLABLE_INT64S Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46175,36 +46195,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, value, chip::NullOptional, chip::NullOptional); } - case 300: { - LogStep(300, "Read attribute NULLABLE_INT64S unchanged Value"); + case 301: { + LogStep(301, "Read attribute NULLABLE_INT64S unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } - case 301: { - LogStep(301, "Write attribute NULLABLE_INT64S null Value"); + case 302: { + LogStep(302, "Write attribute NULLABLE_INT64S null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, value, chip::NullOptional, chip::NullOptional); } - case 302: { - LogStep(302, "Read attribute NULLABLE_INT64S null Value"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, - chip::NullOptional); - } case 303: { - LogStep(303, "Read attribute NULLABLE_INT64S null Value & range"); + LogStep(303, "Read attribute NULLABLE_INT64S null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } case 304: { - LogStep(304, "Read attribute NULLABLE_INT64S null Value & not"); + LogStep(304, "Read attribute NULLABLE_INT64S null Value & range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } case 305: { - LogStep(305, "Write attribute NULLABLE_INT64S Value"); + LogStep(305, "Read attribute NULLABLE_INT64S null Value & not"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, + chip::NullOptional); + } + case 306: { + LogStep(306, "Write attribute NULLABLE_INT64S Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46212,18 +46232,18 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, value, chip::NullOptional, chip::NullOptional); } - case 306: { - LogStep(306, "Read attribute NULLABLE_INT64S Value in range"); + case 307: { + LogStep(307, "Read attribute NULLABLE_INT64S Value in range"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } - case 307: { - LogStep(307, "Read attribute NULLABLE_INT64S notValue OK"); + case 308: { + LogStep(308, "Read attribute NULLABLE_INT64S notValue OK"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableInt64s::Id, true, chip::NullOptional); } - case 308: { - LogStep(308, "Write attribute NULLABLE_SINGLE medium Value"); + case 309: { + LogStep(309, "Write attribute NULLABLE_SINGLE medium Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46231,13 +46251,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, value, chip::NullOptional, chip::NullOptional); } - case 309: { - LogStep(309, "Read attribute NULLABLE_SINGLE medium Value"); + case 310: { + LogStep(310, "Read attribute NULLABLE_SINGLE medium Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, true, chip::NullOptional); } - case 310: { - LogStep(310, "Write attribute NULLABLE_SINGLE largest Value"); + case 311: { + LogStep(311, "Write attribute NULLABLE_SINGLE largest Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46245,13 +46265,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, value, chip::NullOptional, chip::NullOptional); } - case 311: { - LogStep(311, "Read attribute NULLABLE_SINGLE largest Value"); + case 312: { + LogStep(312, "Read attribute NULLABLE_SINGLE largest Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, true, chip::NullOptional); } - case 312: { - LogStep(312, "Write attribute NULLABLE_SINGLE smallest Value"); + case 313: { + LogStep(313, "Write attribute NULLABLE_SINGLE smallest Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46259,26 +46279,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, value, chip::NullOptional, chip::NullOptional); } - case 313: { - LogStep(313, "Read attribute NULLABLE_SINGLE smallest Value"); + case 314: { + LogStep(314, "Read attribute NULLABLE_SINGLE smallest Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, true, chip::NullOptional); } - case 314: { - LogStep(314, "Write attribute NULLABLE_SINGLE null Value"); + case 315: { + LogStep(315, "Write attribute NULLABLE_SINGLE null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, value, chip::NullOptional, chip::NullOptional); } - case 315: { - LogStep(315, "Read attribute NULLABLE_SINGLE null Value"); + case 316: { + LogStep(316, "Read attribute NULLABLE_SINGLE null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, true, chip::NullOptional); } - case 316: { - LogStep(316, "Write attribute NULLABLE_SINGLE 0 Value"); + case 317: { + LogStep(317, "Write attribute NULLABLE_SINGLE 0 Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46286,13 +46306,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, value, chip::NullOptional, chip::NullOptional); } - case 317: { - LogStep(317, "Read attribute NULLABLE_SINGLE 0 Value"); + case 318: { + LogStep(318, "Read attribute NULLABLE_SINGLE 0 Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatSingle::Id, true, chip::NullOptional); } - case 318: { - LogStep(318, "Write attribute NULLABLE_DOUBLE medium Value"); + case 319: { + LogStep(319, "Write attribute NULLABLE_DOUBLE medium Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46300,13 +46320,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, value, chip::NullOptional, chip::NullOptional); } - case 319: { - LogStep(319, "Read attribute NULLABLE_DOUBLE medium Value"); + case 320: { + LogStep(320, "Read attribute NULLABLE_DOUBLE medium Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, true, chip::NullOptional); } - case 320: { - LogStep(320, "Write attribute NULLABLE_DOUBLE largest Value"); + case 321: { + LogStep(321, "Write attribute NULLABLE_DOUBLE largest Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46314,13 +46334,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, value, chip::NullOptional, chip::NullOptional); } - case 321: { - LogStep(321, "Read attribute NULLABLE_DOUBLE largest Value"); + case 322: { + LogStep(322, "Read attribute NULLABLE_DOUBLE largest Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, true, chip::NullOptional); } - case 322: { - LogStep(322, "Write attribute NULLABLE_DOUBLE smallest Value"); + case 323: { + LogStep(323, "Write attribute NULLABLE_DOUBLE smallest Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46328,26 +46348,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, value, chip::NullOptional, chip::NullOptional); } - case 323: { - LogStep(323, "Read attribute NULLABLE_DOUBLE smallest Value"); + case 324: { + LogStep(324, "Read attribute NULLABLE_DOUBLE smallest Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, true, chip::NullOptional); } - case 324: { - LogStep(324, "Write attribute NULLABLE_DOUBLE null Value"); + case 325: { + LogStep(325, "Write attribute NULLABLE_DOUBLE null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, value, chip::NullOptional, chip::NullOptional); } - case 325: { - LogStep(325, "Read attribute NULLABLE_DOUBLE null Value"); + case 326: { + LogStep(326, "Read attribute NULLABLE_DOUBLE null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, true, chip::NullOptional); } - case 326: { - LogStep(326, "Write attribute NULLABLE_DOUBLE 0 Value"); + case 327: { + LogStep(327, "Write attribute NULLABLE_DOUBLE 0 Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46355,13 +46375,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, value, chip::NullOptional, chip::NullOptional); } - case 327: { - LogStep(327, "Read attribute NULLABLE_DOUBLE 0 Value"); + case 328: { + LogStep(328, "Read attribute NULLABLE_DOUBLE 0 Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableFloatDouble::Id, true, chip::NullOptional); } - case 328: { - LogStep(328, "Write attribute NULLABLE_ENUM8 Min Value"); + case 329: { + LogStep(329, "Write attribute NULLABLE_ENUM8 Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46369,13 +46389,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, value, chip::NullOptional, chip::NullOptional); } - case 329: { - LogStep(329, "Read attribute NULLABLE_ENUM8 Min Value"); + case 330: { + LogStep(330, "Read attribute NULLABLE_ENUM8 Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, true, chip::NullOptional); } - case 330: { - LogStep(330, "Write attribute NULLABLE_ENUM8 Max Value"); + case 331: { + LogStep(331, "Write attribute NULLABLE_ENUM8 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46383,13 +46403,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, value, chip::NullOptional, chip::NullOptional); } - case 331: { - LogStep(331, "Read attribute NULLABLE_ENUM8 Max Value"); + case 332: { + LogStep(332, "Read attribute NULLABLE_ENUM8 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, true, chip::NullOptional); } - case 332: { - LogStep(332, "Write attribute NULLABLE_ENUM8 Invalid Value"); + case 333: { + LogStep(333, "Write attribute NULLABLE_ENUM8 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46397,26 +46417,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, value, chip::NullOptional, chip::NullOptional); } - case 333: { - LogStep(333, "Read attribute NULLABLE_ENUM8 unchanged Value"); + case 334: { + LogStep(334, "Read attribute NULLABLE_ENUM8 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, true, chip::NullOptional); } - case 334: { - LogStep(334, "Write attribute NULLABLE_ENUM8 null Value"); + case 335: { + LogStep(335, "Write attribute NULLABLE_ENUM8 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, value, chip::NullOptional, chip::NullOptional); } - case 335: { - LogStep(335, "Read attribute NULLABLE_ENUM8 null Value"); + case 336: { + LogStep(336, "Read attribute NULLABLE_ENUM8 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum8::Id, true, chip::NullOptional); } - case 336: { - LogStep(336, "Write attribute NULLABLE_ENUM16 Min Value"); + case 337: { + LogStep(337, "Write attribute NULLABLE_ENUM16 Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46424,13 +46444,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, value, chip::NullOptional, chip::NullOptional); } - case 337: { - LogStep(337, "Read attribute NULLABLE_ENUM16 Min Value"); + case 338: { + LogStep(338, "Read attribute NULLABLE_ENUM16 Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, true, chip::NullOptional); } - case 338: { - LogStep(338, "Write attribute NULLABLE_ENUM16 Max Value"); + case 339: { + LogStep(339, "Write attribute NULLABLE_ENUM16 Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46438,13 +46458,13 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, value, chip::NullOptional, chip::NullOptional); } - case 339: { - LogStep(339, "Read attribute NULLABLE_ENUM16 Max Value"); + case 340: { + LogStep(340, "Read attribute NULLABLE_ENUM16 Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, true, chip::NullOptional); } - case 340: { - LogStep(340, "Write attribute NULLABLE_ENUM16 Invalid Value"); + case 341: { + LogStep(341, "Write attribute NULLABLE_ENUM16 Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46452,26 +46472,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, value, chip::NullOptional, chip::NullOptional); } - case 341: { - LogStep(341, "Read attribute NULLABLE_ENUM16 unchanged Value"); + case 342: { + LogStep(342, "Read attribute NULLABLE_ENUM16 unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, true, chip::NullOptional); } - case 342: { - LogStep(342, "Write attribute NULLABLE_ENUM16 null Value"); + case 343: { + LogStep(343, "Write attribute NULLABLE_ENUM16 null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, value, chip::NullOptional, chip::NullOptional); } - case 343: { - LogStep(343, "Read attribute NULLABLE_ENUM16 null Value"); + case 344: { + LogStep(344, "Read attribute NULLABLE_ENUM16 null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnum16::Id, true, chip::NullOptional); } - case 344: { - LogStep(344, "Write attribute NULLABLE_SIMPLE_ENUM Min Value"); + case 345: { + LogStep(345, "Write attribute NULLABLE_SIMPLE_ENUM Min Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46479,27 +46499,27 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, value, chip::NullOptional, chip::NullOptional); } - case 345: { - LogStep(345, "Read attribute NULLABLE_SIMPLE_ENUM Min Value"); + case 346: { + LogStep(346, "Read attribute NULLABLE_SIMPLE_ENUM Min Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, true, chip::NullOptional); } - case 346: { - LogStep(346, "Write attribute NULLABLE_SIMPLE_ENUM Max Value"); + case 347: { + LogStep(347, "Write attribute NULLABLE_SIMPLE_ENUM Max Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); - value.Value() = static_cast(254); + value.Value() = static_cast(3); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, value, chip::NullOptional, chip::NullOptional); } - case 347: { - LogStep(347, "Read attribute NULLABLE_SIMPLE_ENUM Max Value"); + case 348: { + LogStep(348, "Read attribute NULLABLE_SIMPLE_ENUM Max Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, true, chip::NullOptional); } - case 348: { - LogStep(348, "Write attribute NULLABLE_SIMPLE_ENUM Invalid Value"); + case 349: { + LogStep(349, "Write attribute NULLABLE_SIMPLE_ENUM Invalid Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46507,36 +46527,36 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, value, chip::NullOptional, chip::NullOptional); } - case 349: { - LogStep(349, "Read attribute NULLABLE_SIMPLE_ENUM unchanged Value"); + case 350: { + LogStep(350, "Read attribute NULLABLE_SIMPLE_ENUM unchanged Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, true, chip::NullOptional); } - case 350: { - LogStep(350, "Write attribute NULLABLE_SIMPLE_ENUM null Value"); + case 351: { + LogStep(351, "Write attribute NULLABLE_SIMPLE_ENUM null Value"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, value, chip::NullOptional, chip::NullOptional); } - case 351: { - LogStep(351, "Read attribute NULLABLE_SIMPLE_ENUM null Value"); + case 352: { + LogStep(352, "Read attribute NULLABLE_SIMPLE_ENUM null Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, true, chip::NullOptional); } - case 352: { - LogStep(352, "Read attribute NULLABLE_SIMPLE_ENUM not 254 Value"); + case 353: { + LogStep(353, "Read attribute NULLABLE_SIMPLE_ENUM not 3 Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableEnumAttr::Id, true, chip::NullOptional); } - case 353: { - LogStep(353, "Read attribute NULLABLE_OCTET_STRING Default Value"); + case 354: { + LogStep(354, "Read attribute NULLABLE_OCTET_STRING Default Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, true, chip::NullOptional); } - case 354: { - LogStep(354, "Write attribute NULLABLE_OCTET_STRING"); + case 355: { + LogStep(355, "Write attribute NULLABLE_OCTET_STRING"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46544,26 +46564,26 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, value, chip::NullOptional, chip::NullOptional); } - case 355: { - LogStep(355, "Read attribute NULLABLE_OCTET_STRING"); + case 356: { + LogStep(356, "Read attribute NULLABLE_OCTET_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, true, chip::NullOptional); } - case 356: { - LogStep(356, "Write attribute NULLABLE_OCTET_STRING"); + case 357: { + LogStep(357, "Write attribute NULLABLE_OCTET_STRING"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, value, chip::NullOptional, chip::NullOptional); } - case 357: { - LogStep(357, "Read attribute NULLABLE_OCTET_STRING"); + case 358: { + LogStep(358, "Read attribute NULLABLE_OCTET_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, true, chip::NullOptional); } - case 358: { - LogStep(358, "Write attribute NULLABLE_OCTET_STRING"); + case 359: { + LogStep(359, "Write attribute NULLABLE_OCTET_STRING"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46571,23 +46591,23 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, value, chip::NullOptional, chip::NullOptional); } - case 359: { - LogStep(359, "Read attribute NULLABLE_OCTET_STRING"); + case 360: { + LogStep(360, "Read attribute NULLABLE_OCTET_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, true, chip::NullOptional); } - case 360: { - LogStep(360, "Read attribute NULLABLE_OCTET_STRING not TestValue"); + case 361: { + LogStep(361, "Read attribute NULLABLE_OCTET_STRING not TestValue"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableOctetString::Id, true, chip::NullOptional); } - case 361: { - LogStep(361, "Read attribute NULLABLE_CHAR_STRING Default Value"); + case 362: { + LogStep(362, "Read attribute NULLABLE_CHAR_STRING Default Value"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, true, chip::NullOptional); } - case 362: { - LogStep(362, "Write attribute NULLABLE_CHAR_STRING"); + case 363: { + LogStep(363, "Write attribute NULLABLE_CHAR_STRING"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46595,31 +46615,31 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, value, chip::NullOptional, chip::NullOptional); } - case 363: { - LogStep(363, "Read attribute NULLABLE_CHAR_STRING"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, - true, chip::NullOptional); - } case 364: { LogStep(364, "Read attribute NULLABLE_CHAR_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, true, chip::NullOptional); } case 365: { - LogStep(365, "Write attribute NULLABLE_CHAR_STRING - Value too long"); + LogStep(365, "Read attribute NULLABLE_CHAR_STRING"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, + true, chip::NullOptional); + } + case 366: { + LogStep(366, "Write attribute NULLABLE_CHAR_STRING - Value too long"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, value, chip::NullOptional, chip::NullOptional); } - case 366: { - LogStep(366, "Read attribute NULLABLE_CHAR_STRING"); + case 367: { + LogStep(367, "Read attribute NULLABLE_CHAR_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, true, chip::NullOptional); } - case 367: { - LogStep(367, "Write attribute NULLABLE_CHAR_STRING - Empty"); + case 368: { + LogStep(368, "Write attribute NULLABLE_CHAR_STRING - Empty"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -46627,28 +46647,28 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, value, chip::NullOptional, chip::NullOptional); } - case 368: { - LogStep(368, "Read attribute NULLABLE_CHAR_STRING"); + case 369: { + LogStep(369, "Read attribute NULLABLE_CHAR_STRING"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, true, chip::NullOptional); } - case 369: { - LogStep(369, "Read attribute NULLABLE_CHAR_STRING not ☉T☉"); + case 370: { + LogStep(370, "Read attribute NULLABLE_CHAR_STRING not ☉T☉"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableCharString::Id, true, chip::NullOptional); } - case 370: { - LogStep(370, "Read attribute from nonexistent endpoint."); + case 371: { + LogStep(371, "Read attribute from nonexistent endpoint."); return ReadAttribute(kIdentityAlpha, GetEndpoint(200), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, true, chip::NullOptional); } - case 371: { - LogStep(371, "Read attribute from nonexistent cluster."); + case 372: { + LogStep(372, "Read attribute from nonexistent cluster."); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, true, chip::NullOptional); } - case 372: { - LogStep(372, "Send a command that takes an optional parameter but do not set it."); + case 373: { + LogStep(373, "Send a command that takes an optional parameter but do not set it."); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type value; return SendCommand(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, @@ -46656,8 +46676,8 @@ class TestClusterSuite : public TestCommand ); } - case 373: { - LogStep(373, "Send a command that takes an optional parameter but do not set it."); + case 374: { + LogStep(374, "Send a command that takes an optional parameter but do not set it."); ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type value; value.arg1.Emplace(); @@ -46667,13 +46687,13 @@ class TestClusterSuite : public TestCommand ); } - case 374: { - LogStep(374, "Subscribe to list attribute"); + case 375: { + LogStep(375, "Subscribe to list attribute"); return SubscribeAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, 2, 5, true, chip::NullOptional, chip::NullOptional); } - case 375: { - LogStep(375, "Write subscribed-to list attribute"); + case 376: { + LogStep(376, "Write subscribed-to list attribute"); ListFreer listFreer; chip::app::DataModel::List value; @@ -46689,98 +46709,98 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ListInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 376: { - LogStep(376, "Check for list attribute report"); + case 377: { + LogStep(377, "Check for list attribute report"); return WaitForReport(); } - case 377: { - LogStep(377, "Read range-restricted unsigned 8-bit integer"); + case 378: { + LogStep(378, "Read range-restricted unsigned 8-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 378: { - LogStep(378, "Write min value to a range-restricted unsigned 8-bit integer"); + case 379: { + LogStep(379, "Write min value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 0U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 379: { - LogStep(379, "Write just-below-range value to a range-restricted unsigned 8-bit integer"); + case 380: { + LogStep(380, "Write just-below-range value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 19U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 380: { - LogStep(380, "Write just-above-range value to a range-restricted unsigned 8-bit integer"); + case 381: { + LogStep(381, "Write just-above-range value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 101U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 381: { - LogStep(381, "Write max value to a range-restricted unsigned 8-bit integer"); + case 382: { + LogStep(382, "Write max value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 255U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 382: { - LogStep(382, "Verify range-restricted unsigned 8-bit integer value has not changed"); + case 383: { + LogStep(383, "Verify range-restricted unsigned 8-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 383: { - LogStep(383, "Write min valid value to a range-restricted unsigned 8-bit integer"); + case 384: { + LogStep(384, "Write min valid value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 20U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 384: { - LogStep(384, "Verify range-restricted unsigned 8-bit integer value is at min valid"); + case 385: { + LogStep(385, "Verify range-restricted unsigned 8-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 385: { - LogStep(385, "Write max valid value to a range-restricted unsigned 8-bit integer"); + case 386: { + LogStep(386, "Write max valid value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 100U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 386: { - LogStep(386, "Verify range-restricted unsigned 8-bit integer value is at max valid"); + case 387: { + LogStep(387, "Verify range-restricted unsigned 8-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 387: { - LogStep(387, "Write middle valid value to a range-restricted unsigned 8-bit integer"); + case 388: { + LogStep(388, "Write middle valid value to a range-restricted unsigned 8-bit integer"); ListFreer listFreer; uint8_t value; value = 50U; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 388: { - LogStep(388, "Verify range-restricted unsigned 8-bit integer value is at mid valid"); + case 389: { + LogStep(389, "Verify range-restricted unsigned 8-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 389: { - LogStep(389, "Read range-restricted unsigned 16-bit integer"); + case 390: { + LogStep(390, "Read range-restricted unsigned 16-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 390: { - LogStep(390, "Write min value to a range-restricted unsigned 16-bit integer"); + case 391: { + LogStep(391, "Write min value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 0U; @@ -46788,8 +46808,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 391: { - LogStep(391, "Write just-below-range value to a range-restricted unsigned 16-bit integer"); + case 392: { + LogStep(392, "Write just-below-range value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 99U; @@ -46797,8 +46817,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 392: { - LogStep(392, "Write just-above-range value to a range-restricted unsigned 16-bit integer"); + case 393: { + LogStep(393, "Write just-above-range value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 1001U; @@ -46806,8 +46826,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 393: { - LogStep(393, "Write max value to a range-restricted unsigned 16-bit integer"); + case 394: { + LogStep(394, "Write max value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 65535U; @@ -46815,13 +46835,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 394: { - LogStep(394, "Verify range-restricted unsigned 16-bit integer value has not changed"); + case 395: { + LogStep(395, "Verify range-restricted unsigned 16-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 395: { - LogStep(395, "Write min valid value to a range-restricted unsigned 16-bit integer"); + case 396: { + LogStep(396, "Write min valid value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 100U; @@ -46829,13 +46849,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 396: { - LogStep(396, "Verify range-restricted unsigned 16-bit integer value is at min valid"); + case 397: { + LogStep(397, "Verify range-restricted unsigned 16-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 397: { - LogStep(397, "Write max valid value to a range-restricted unsigned 16-bit integer"); + case 398: { + LogStep(398, "Write max valid value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 1000U; @@ -46843,13 +46863,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 398: { - LogStep(398, "Verify range-restricted unsigned 16-bit integer value is at max valid"); + case 399: { + LogStep(399, "Verify range-restricted unsigned 16-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 399: { - LogStep(399, "Write middle valid value to a range-restricted unsigned 16-bit integer"); + case 400: { + LogStep(400, "Write middle valid value to a range-restricted unsigned 16-bit integer"); ListFreer listFreer; uint16_t value; value = 500U; @@ -46857,99 +46877,99 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 400: { - LogStep(400, "Verify range-restricted unsigned 16-bit integer value is at mid valid"); + case 401: { + LogStep(401, "Verify range-restricted unsigned 16-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 401: { - LogStep(401, "Read range-restricted signed 8-bit integer"); + case 402: { + LogStep(402, "Read range-restricted signed 8-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 402: { - LogStep(402, "Write min value to a range-restricted signed 8-bit integer"); + case 403: { + LogStep(403, "Write min value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = -128; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 403: { - LogStep(403, "Write just-below-range value to a range-restricted signed 8-bit integer"); + case 404: { + LogStep(404, "Write just-below-range value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = -41; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 404: { - LogStep(404, "Write just-above-range value to a range-restricted signed 8-bit integer"); + case 405: { + LogStep(405, "Write just-above-range value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = 51; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 405: { - LogStep(405, "Write max value to a range-restricted signed 8-bit integer"); + case 406: { + LogStep(406, "Write max value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = 127; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 406: { - LogStep(406, "Verify range-restricted signed 8-bit integer value has not changed"); + case 407: { + LogStep(407, "Verify range-restricted signed 8-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 407: { - LogStep(407, "Write min valid value to a range-restricted signed 8-bit integer"); + case 408: { + LogStep(408, "Write min valid value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = -40; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 408: { - LogStep(408, "Verify range-restricted signed 8-bit integer value is at min valid"); + case 409: { + LogStep(409, "Verify range-restricted signed 8-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 409: { - LogStep(409, "Write max valid value to a range-restricted signed 8-bit integer"); + case 410: { + LogStep(410, "Write max valid value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = 50; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 410: { - LogStep(410, "Verify range-restricted signed 8-bit integer value is at max valid"); + case 411: { + LogStep(411, "Verify range-restricted signed 8-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 411: { - LogStep(411, "Write middle valid value to a range-restricted signed 8-bit integer"); + case 412: { + LogStep(412, "Write middle valid value to a range-restricted signed 8-bit integer"); ListFreer listFreer; int8_t value; value = 6; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 412: { - LogStep(412, "Verify range-restricted signed 8-bit integer value is at mid valid"); + case 413: { + LogStep(413, "Verify range-restricted signed 8-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 413: { - LogStep(413, "Read range-restricted signed 16-bit integer"); + case 414: { + LogStep(414, "Read range-restricted signed 16-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 414: { - LogStep(414, "Write min value to a range-restricted signed 16-bit integer"); + case 415: { + LogStep(415, "Write min value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = -32768; @@ -46957,8 +46977,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 415: { - LogStep(415, "Write just-below-range value to a range-restricted signed 16-bit integer"); + case 416: { + LogStep(416, "Write just-below-range value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = -151; @@ -46966,8 +46986,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 416: { - LogStep(416, "Write just-above-range value to a range-restricted signed 16-bit integer"); + case 417: { + LogStep(417, "Write just-above-range value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = 201; @@ -46975,8 +46995,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 417: { - LogStep(417, "Write max value to a range-restricted signed 16-bit integer"); + case 418: { + LogStep(418, "Write max value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = 32767; @@ -46984,13 +47004,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 418: { - LogStep(418, "Verify range-restricted signed 16-bit integer value has not changed"); + case 419: { + LogStep(419, "Verify range-restricted signed 16-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 419: { - LogStep(419, "Write min valid value to a range-restricted signed 16-bit integer"); + case 420: { + LogStep(420, "Write min valid value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = -150; @@ -46998,13 +47018,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 420: { - LogStep(420, "Verify range-restricted signed 16-bit integer value is at min valid"); + case 421: { + LogStep(421, "Verify range-restricted signed 16-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 421: { - LogStep(421, "Write max valid value to a range-restricted signed 16-bit integer"); + case 422: { + LogStep(422, "Write max valid value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = 200; @@ -47012,13 +47032,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 422: { - LogStep(422, "Verify range-restricted signed 16-bit integer value is at max valid"); + case 423: { + LogStep(423, "Verify range-restricted signed 16-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 423: { - LogStep(423, "Write middle valid value to a range-restricted signed 16-bit integer"); + case 424: { + LogStep(424, "Write middle valid value to a range-restricted signed 16-bit integer"); ListFreer listFreer; int16_t value; value = 7; @@ -47026,18 +47046,18 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::RangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 424: { - LogStep(424, "Verify range-restricted signed 16-bit integer value is at mid valid"); + case 425: { + LogStep(425, "Verify range-restricted signed 16-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::RangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 425: { - LogStep(425, "Read nullable range-restricted unsigned 8-bit integer"); + case 426: { + LogStep(426, "Read nullable range-restricted unsigned 8-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 426: { - LogStep(426, "Write min value to a nullable range-restricted unsigned 8-bit integer"); + case 427: { + LogStep(427, "Write min value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47046,8 +47066,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 427: { - LogStep(427, "Write just-below-range value to a nullable range-restricted unsigned 8-bit integer"); + case 428: { + LogStep(428, "Write just-below-range value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47056,8 +47076,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 428: { - LogStep(428, "Write just-above-range value to a nullable range-restricted unsigned 8-bit integer"); + case 429: { + LogStep(429, "Write just-above-range value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47066,8 +47086,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 429: { - LogStep(429, "Write max value to a nullable range-restricted unsigned 8-bit integer"); + case 430: { + LogStep(430, "Write max value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47076,13 +47096,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 430: { - LogStep(430, "Verify nullable range-restricted unsigned 8-bit integer value has not changed"); + case 431: { + LogStep(431, "Verify nullable range-restricted unsigned 8-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 431: { - LogStep(431, "Write min valid value to a nullable range-restricted unsigned 8-bit integer"); + case 432: { + LogStep(432, "Write min valid value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47091,13 +47111,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 432: { - LogStep(432, "Verify nullable range-restricted unsigned 8-bit integer value is at min valid"); + case 433: { + LogStep(433, "Verify nullable range-restricted unsigned 8-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 433: { - LogStep(433, "Write max valid value to a nullable range-restricted unsigned 8-bit integer"); + case 434: { + LogStep(434, "Write max valid value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47106,13 +47126,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 434: { - LogStep(434, "Verify nullable range-restricted unsigned 8-bit integer value is at max valid"); + case 435: { + LogStep(435, "Verify nullable range-restricted unsigned 8-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 435: { - LogStep(435, "Write middle valid value to a nullable range-restricted unsigned 8-bit integer"); + case 436: { + LogStep(436, "Write middle valid value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47121,13 +47141,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 436: { - LogStep(436, "Verify nullable range-restricted unsigned 8-bit integer value is at mid valid"); + case 437: { + LogStep(437, "Verify nullable range-restricted unsigned 8-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 437: { - LogStep(437, "Write null value to a nullable range-restricted unsigned 8-bit integer"); + case 438: { + LogStep(438, "Write null value to a nullable range-restricted unsigned 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); @@ -47135,18 +47155,18 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, value, chip::NullOptional, chip::NullOptional); } - case 438: { - LogStep(438, "Verify nullable range-restricted unsigned 8-bit integer value is null"); + case 439: { + LogStep(439, "Verify nullable range-restricted unsigned 8-bit integer value is null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8u::Id, true, chip::NullOptional); } - case 439: { - LogStep(439, "Read nullable range-restricted unsigned 16-bit integer"); + case 440: { + LogStep(440, "Read nullable range-restricted unsigned 16-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 440: { - LogStep(440, "Write min value to a nullable range-restricted unsigned 16-bit integer"); + case 441: { + LogStep(441, "Write min value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47155,8 +47175,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 441: { - LogStep(441, "Write just-below-range value to a nullable range-restricted unsigned 16-bit integer"); + case 442: { + LogStep(442, "Write just-below-range value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47165,8 +47185,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 442: { - LogStep(442, "Write just-above-range value to a nullable range-restricted unsigned 16-bit integer"); + case 443: { + LogStep(443, "Write just-above-range value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47175,8 +47195,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 443: { - LogStep(443, "Write max value to a nullable range-restricted unsigned 16-bit integer"); + case 444: { + LogStep(444, "Write max value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47185,13 +47205,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 444: { - LogStep(444, "Verify nullable range-restricted unsigned 16-bit integer value has not changed"); + case 445: { + LogStep(445, "Verify nullable range-restricted unsigned 16-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 445: { - LogStep(445, "Write min valid value to a nullable range-restricted unsigned 16-bit integer"); + case 446: { + LogStep(446, "Write min valid value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47200,13 +47220,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 446: { - LogStep(446, "Verify nullable range-restricted unsigned 16-bit integer value is at min valid"); + case 447: { + LogStep(447, "Verify nullable range-restricted unsigned 16-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 447: { - LogStep(447, "Write max valid value to a nullable range-restricted unsigned 16-bit integer"); + case 448: { + LogStep(448, "Write max valid value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47215,13 +47235,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 448: { - LogStep(448, "Verify nullable range-restricted unsigned 16-bit integer value is at max valid"); + case 449: { + LogStep(449, "Verify nullable range-restricted unsigned 16-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 449: { - LogStep(449, "Write middle valid value to a nullable range-restricted unsigned 16-bit integer"); + case 450: { + LogStep(450, "Write middle valid value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47230,13 +47250,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 450: { - LogStep(450, "Verify nullable range-restricted unsigned 16-bit integer value is at mid valid"); + case 451: { + LogStep(451, "Verify nullable range-restricted unsigned 16-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 451: { - LogStep(451, "Write null value to a nullable range-restricted unsigned 16-bit integer"); + case 452: { + LogStep(452, "Write null value to a nullable range-restricted unsigned 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); @@ -47244,18 +47264,18 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, value, chip::NullOptional, chip::NullOptional); } - case 452: { - LogStep(452, "Verify nullable range-restricted unsigned 16-bit integer value is null"); + case 453: { + LogStep(453, "Verify nullable range-restricted unsigned 16-bit integer value is null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16u::Id, true, chip::NullOptional); } - case 453: { - LogStep(453, "Read nullable range-restricted signed 8-bit integer"); + case 454: { + LogStep(454, "Read nullable range-restricted signed 8-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 454: { - LogStep(454, "Write min value to a nullable range-restricted signed 8-bit integer"); + case 455: { + LogStep(455, "Write min value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47264,8 +47284,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 455: { - LogStep(455, "Write just-below-range value to a nullable range-restricted signed 8-bit integer"); + case 456: { + LogStep(456, "Write just-below-range value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47274,8 +47294,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 456: { - LogStep(456, "Write just-above-range value to a nullable range-restricted signed 8-bit integer"); + case 457: { + LogStep(457, "Write just-above-range value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47284,8 +47304,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 457: { - LogStep(457, "Write max value to a nullable range-restricted signed 8-bit integer"); + case 458: { + LogStep(458, "Write max value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47294,13 +47314,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 458: { - LogStep(458, "Verify nullable range-restricted signed 8-bit integer value has not changed"); + case 459: { + LogStep(459, "Verify nullable range-restricted signed 8-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 459: { - LogStep(459, "Write min valid value to a nullable range-restricted signed 8-bit integer"); + case 460: { + LogStep(460, "Write min valid value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47309,13 +47329,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 460: { - LogStep(460, "Verify nullable range-restricted signed 8-bit integer value is at min valid"); + case 461: { + LogStep(461, "Verify nullable range-restricted signed 8-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 461: { - LogStep(461, "Write max valid value to a nullable range-restricted signed 8-bit integer"); + case 462: { + LogStep(462, "Write max valid value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47324,13 +47344,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 462: { - LogStep(462, "Verify nullable range-restricted signed 8-bit integer value is at max valid"); + case 463: { + LogStep(463, "Verify nullable range-restricted signed 8-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 463: { - LogStep(463, "Write middle valid value to a nullable range-restricted signed 8-bit integer"); + case 464: { + LogStep(464, "Write middle valid value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47339,13 +47359,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 464: { - LogStep(464, "Verify nullable range-restricted signed 8-bit integer value is at mid valid"); + case 465: { + LogStep(465, "Verify nullable range-restricted signed 8-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 465: { - LogStep(465, "Write null value to a nullable range-restricted signed 8-bit integer"); + case 466: { + LogStep(466, "Write null value to a nullable range-restricted signed 8-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); @@ -47353,18 +47373,18 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, value, chip::NullOptional, chip::NullOptional); } - case 466: { - LogStep(466, "Verify nullable range-restricted signed 8-bit integer value is at null"); + case 467: { + LogStep(467, "Verify nullable range-restricted signed 8-bit integer value is at null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt8s::Id, true, chip::NullOptional); } - case 467: { - LogStep(467, "Read nullable range-restricted signed 16-bit integer"); + case 468: { + LogStep(468, "Read nullable range-restricted signed 16-bit integer"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 468: { - LogStep(468, "Write min value to a nullable range-restricted signed 16-bit integer"); + case 469: { + LogStep(469, "Write min value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47373,8 +47393,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 469: { - LogStep(469, "Write just-below-range value to a nullable range-restricted signed 16-bit integer"); + case 470: { + LogStep(470, "Write just-below-range value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47383,8 +47403,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 470: { - LogStep(470, "Write just-above-range value to a nullable range-restricted signed 16-bit integer"); + case 471: { + LogStep(471, "Write just-above-range value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47393,8 +47413,8 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 471: { - LogStep(471, "Write max value to a nullable range-restricted signed 16-bit integer"); + case 472: { + LogStep(472, "Write max value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47403,13 +47423,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 472: { - LogStep(472, "Verify nullable range-restricted signed 16-bit integer value has not changed"); + case 473: { + LogStep(473, "Verify nullable range-restricted signed 16-bit integer value has not changed"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 473: { - LogStep(473, "Write min valid value to a nullable range-restricted signed 16-bit integer"); + case 474: { + LogStep(474, "Write min valid value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47418,13 +47438,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 474: { - LogStep(474, "Verify nullable range-restricted signed 16-bit integer value is at min valid"); + case 475: { + LogStep(475, "Verify nullable range-restricted signed 16-bit integer value is at min valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 475: { - LogStep(475, "Write max valid value to a nullable range-restricted signed 16-bit integer"); + case 476: { + LogStep(476, "Write max valid value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47433,13 +47453,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 476: { - LogStep(476, "Verify nullable range-restricted signed 16-bit integer value is at max valid"); + case 477: { + LogStep(477, "Verify nullable range-restricted signed 16-bit integer value is at max valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 477: { - LogStep(477, "Write middle valid value to a nullable range-restricted signed 16-bit integer"); + case 478: { + LogStep(478, "Write middle valid value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNonNull(); @@ -47448,13 +47468,13 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 478: { - LogStep(478, "Verify nullable range-restricted signed 16-bit integer value is at mid valid"); + case 479: { + LogStep(479, "Verify nullable range-restricted signed 16-bit integer value is at mid valid"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 479: { - LogStep(479, "Write null value to a nullable range-restricted signed 16-bit integer"); + case 480: { + LogStep(480, "Write null value to a nullable range-restricted signed 16-bit integer"); ListFreer listFreer; chip::app::DataModel::Nullable value; value.SetNull(); @@ -47462,49 +47482,49 @@ class TestClusterSuite : public TestCommand TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, value, chip::NullOptional, chip::NullOptional); } - case 480: { - LogStep(480, "Verify nullable range-restricted signed 16-bit integer value is null"); + case 481: { + LogStep(481, "Verify nullable range-restricted signed 16-bit integer value is null"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::NullableRangeRestrictedInt16s::Id, true, chip::NullOptional); } - case 481: { - LogStep(481, "Write attribute that returns general status on write"); + case 482: { + LogStep(482, "Write attribute that returns general status on write"); ListFreer listFreer; bool value; value = false; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::GeneralErrorBoolean::Id, value, chip::NullOptional, chip::NullOptional); } - case 482: { - LogStep(482, "Write attribute that returns cluster-specific status on write"); + case 483: { + LogStep(483, "Write attribute that returns cluster-specific status on write"); ListFreer listFreer; bool value; value = false; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ClusterErrorBoolean::Id, value, chip::NullOptional, chip::NullOptional); } - case 483: { - LogStep(483, "Read attribute that returns general status on read"); + case 484: { + LogStep(484, "Read attribute that returns general status on read"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::GeneralErrorBoolean::Id, true, chip::NullOptional); } - case 484: { - LogStep(484, "read attribute that returns cluster-specific status on read"); + case 485: { + LogStep(485, "read attribute that returns cluster-specific status on read"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::ClusterErrorBoolean::Id, true, chip::NullOptional); } - case 485: { - LogStep(485, "read AcceptedCommandList attribute"); + case 486: { + LogStep(486, "read AcceptedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 486: { - LogStep(486, "read GeneratedCommandList attribute"); + case 487: { + LogStep(487, "read GeneratedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 487: { - LogStep(487, "Write struct-typed attribute"); + case 488: { + LogStep(488, "Write struct-typed attribute"); ListFreer listFreer; chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type value; @@ -47520,8 +47540,8 @@ class TestClusterSuite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::StructAttr::Id, value, chip::NullOptional, chip::NullOptional); } - case 488: { - LogStep(488, "Read struct-typed attribute"); + case 489: { + LogStep(489, "Read struct-typed attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Attributes::StructAttr::Id, true, chip::NullOptional); } @@ -48606,7 +48626,7 @@ class TestEventsSuite : public TestCommand chip::app::Clusters::TestCluster::Events::TestEvent::DecodableType value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckValue("testEvent.arg1", value.arg1, 4U)); - VerifyOrReturn(CheckValue("testEvent.arg2", value.arg2, 5U)); + VerifyOrReturn(CheckValue("testEvent.arg2", value.arg2, 3U)); VerifyOrReturn(CheckValue("testEvent.arg3", value.arg3, true)); } shouldContinue = true; @@ -48710,7 +48730,7 @@ class TestEventsSuite : public TestCommand ListFreer listFreer; chip::app::Clusters::TestCluster::Commands::TestEmitTestEventRequest::Type value; value.arg1 = 4U; - value.arg2 = static_cast(5); + value.arg2 = static_cast(3); value.arg3 = true; return SendCommand(kIdentityAlpha, GetEndpoint(1), TestCluster::Id, TestCluster::Commands::TestEmitTestEventRequest::Id, value, chip::NullOptional diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index cc5b86604ccaee..d70f315fb643d2 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -66755,890 +66755,889 @@ class TestCluster : public TestCommandBridge { err = TestSendACommandWithAVendorIdAndEnum_154(); break; case 155: - ChipLogProgress(chipTool, " ***** Test Step 155 : Send Test Command With Struct Argument and arg1.b is true\n"); - err = TestSendTestCommandWithStructArgumentAndArg1bIsTrue_155(); + ChipLogProgress(chipTool, " ***** Test Step 155 : Send a command with a vendor_id and invalid enum\n"); + err = TestSendACommandWithAVendorIdAndInvalidEnum_155(); break; case 156: - ChipLogProgress(chipTool, " ***** Test Step 156 : Send Test Command With Struct Argument and arg1.b is false\n"); - err = TestSendTestCommandWithStructArgumentAndArg1bIsFalse_156(); + ChipLogProgress(chipTool, " ***** Test Step 156 : Send Test Command With Struct Argument and arg1.b is true\n"); + err = TestSendTestCommandWithStructArgumentAndArg1bIsTrue_156(); break; case 157: - ChipLogProgress( - chipTool, " ***** Test Step 157 : Send Test Command With Nested Struct Argument and arg1.c.b is true\n"); - err = TestSendTestCommandWithNestedStructArgumentAndArg1cbIsTrue_157(); + ChipLogProgress(chipTool, " ***** Test Step 157 : Send Test Command With Struct Argument and arg1.b is false\n"); + err = TestSendTestCommandWithStructArgumentAndArg1bIsFalse_157(); break; case 158: - ChipLogProgress(chipTool, " ***** Test Step 158 : Send Test Command With Nested Struct Argument arg1.c.b is false\n"); - err = TestSendTestCommandWithNestedStructArgumentArg1cbIsFalse_158(); + ChipLogProgress( + chipTool, " ***** Test Step 158 : Send Test Command With Nested Struct Argument and arg1.c.b is true\n"); + err = TestSendTestCommandWithNestedStructArgumentAndArg1cbIsTrue_158(); break; case 159: - ChipLogProgress(chipTool, - " ***** Test Step 159 : Send Test Command With Nested Struct List Argument and all fields b of arg1.d are true\n"); - err = TestSendTestCommandWithNestedStructListArgumentAndAllFieldsBOfArg1dAreTrue_159(); + ChipLogProgress(chipTool, " ***** Test Step 159 : Send Test Command With Nested Struct Argument arg1.c.b is false\n"); + err = TestSendTestCommandWithNestedStructArgumentArg1cbIsFalse_159(); break; case 160: ChipLogProgress(chipTool, - " ***** Test Step 160 : Send Test Command With Nested Struct List Argument and some fields b of arg1.d are " - "false\n"); - err = TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfArg1dAreFalse_160(); + " ***** Test Step 160 : Send Test Command With Nested Struct List Argument and all fields b of arg1.d are true\n"); + err = TestSendTestCommandWithNestedStructListArgumentAndAllFieldsBOfArg1dAreTrue_160(); break; case 161: - ChipLogProgress(chipTool, " ***** Test Step 161 : Send Test Command With Struct Argument and see what we get back\n"); - err = TestSendTestCommandWithStructArgumentAndSeeWhatWeGetBack_161(); + ChipLogProgress(chipTool, + " ***** Test Step 161 : Send Test Command With Nested Struct List Argument and some fields b of arg1.d are " + "false\n"); + err = TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfArg1dAreFalse_161(); break; case 162: - ChipLogProgress(chipTool, " ***** Test Step 162 : Send Test Command With List of INT8U and none of them is set to 0\n"); - err = TestSendTestCommandWithListOfInt8uAndNoneOfThemIsSetTo0_162(); + ChipLogProgress(chipTool, " ***** Test Step 162 : Send Test Command With Struct Argument and see what we get back\n"); + err = TestSendTestCommandWithStructArgumentAndSeeWhatWeGetBack_162(); break; case 163: - ChipLogProgress(chipTool, " ***** Test Step 163 : Send Test Command With List of INT8U and one of them is set to 0\n"); - err = TestSendTestCommandWithListOfInt8uAndOneOfThemIsSetTo0_163(); + ChipLogProgress(chipTool, " ***** Test Step 163 : Send Test Command With List of INT8U and none of them is set to 0\n"); + err = TestSendTestCommandWithListOfInt8uAndNoneOfThemIsSetTo0_163(); break; case 164: - ChipLogProgress(chipTool, " ***** Test Step 164 : Send Test Command With List of INT8U and get it reversed\n"); - err = TestSendTestCommandWithListOfInt8uAndGetItReversed_164(); + ChipLogProgress(chipTool, " ***** Test Step 164 : Send Test Command With List of INT8U and one of them is set to 0\n"); + err = TestSendTestCommandWithListOfInt8uAndOneOfThemIsSetTo0_164(); break; case 165: - ChipLogProgress( - chipTool, " ***** Test Step 165 : Send Test Command With empty List of INT8U and get an empty list back\n"); - err = TestSendTestCommandWithEmptyListOfInt8uAndGetAnEmptyListBack_165(); + ChipLogProgress(chipTool, " ***** Test Step 165 : Send Test Command With List of INT8U and get it reversed\n"); + err = TestSendTestCommandWithListOfInt8uAndGetItReversed_165(); break; case 166: - ChipLogProgress(chipTool, - " ***** Test Step 166 : Send Test Command With List of Struct Argument and arg1.b of first item is true\n"); - err = TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsTrue_166(); + ChipLogProgress( + chipTool, " ***** Test Step 166 : Send Test Command With empty List of INT8U and get an empty list back\n"); + err = TestSendTestCommandWithEmptyListOfInt8uAndGetAnEmptyListBack_166(); break; case 167: ChipLogProgress(chipTool, - " ***** Test Step 167 : Send Test Command With List of Struct Argument and arg1.b of first item is false\n"); - err = TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsFalse_167(); + " ***** Test Step 167 : Send Test Command With List of Struct Argument and arg1.b of first item is true\n"); + err = TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsTrue_167(); break; case 168: ChipLogProgress(chipTool, - " ***** Test Step 168 : Send Test Command With List of Nested Struct List Argument and all fields b of elements of " - "arg1.d are true\n"); - err = TestSendTestCommandWithListOfNestedStructListArgumentAndAllFieldsBOfElementsOfArg1dAreTrue_168(); + " ***** Test Step 168 : Send Test Command With List of Struct Argument and arg1.b of first item is false\n"); + err = TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsFalse_168(); break; case 169: ChipLogProgress(chipTool, - " ***** Test Step 169 : Send Test Command With Nested Struct List Argument and some fields b of elements of arg1.d " - "are false\n"); - err = TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfElementsOfArg1dAreFalse_169(); + " ***** Test Step 169 : Send Test Command With List of Nested Struct List Argument and all fields b of elements of " + "arg1.d are true\n"); + err = TestSendTestCommandWithListOfNestedStructListArgumentAndAllFieldsBOfElementsOfArg1dAreTrue_169(); break; case 170: - ChipLogProgress( - chipTool, " ***** Test Step 170 : Write attribute LIST With List of INT8U and none of them is set to 0\n"); - err = TestWriteAttributeListWithListOfInt8uAndNoneOfThemIsSetTo0_170(); + ChipLogProgress(chipTool, + " ***** Test Step 170 : Send Test Command With Nested Struct List Argument and some fields b of elements of arg1.d " + "are false\n"); + err = TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfElementsOfArg1dAreFalse_170(); break; case 171: - ChipLogProgress(chipTool, " ***** Test Step 171 : Read attribute LIST With List of INT8U\n"); - err = TestReadAttributeListWithListOfInt8u_171(); + ChipLogProgress( + chipTool, " ***** Test Step 171 : Write attribute LIST With List of INT8U and none of them is set to 0\n"); + err = TestWriteAttributeListWithListOfInt8uAndNoneOfThemIsSetTo0_171(); break; case 172: - ChipLogProgress(chipTool, " ***** Test Step 172 : Write attribute LIST With List of OCTET_STRING\n"); - err = TestWriteAttributeListWithListOfOctetString_172(); + ChipLogProgress(chipTool, " ***** Test Step 172 : Read attribute LIST With List of INT8U\n"); + err = TestReadAttributeListWithListOfInt8u_172(); break; case 173: - ChipLogProgress(chipTool, " ***** Test Step 173 : Read attribute LIST With List of OCTET_STRING\n"); - err = TestReadAttributeListWithListOfOctetString_173(); + ChipLogProgress(chipTool, " ***** Test Step 173 : Write attribute LIST With List of OCTET_STRING\n"); + err = TestWriteAttributeListWithListOfOctetString_173(); break; case 174: - ChipLogProgress(chipTool, " ***** Test Step 174 : Write attribute LIST With List of LIST_STRUCT_OCTET_STRING\n"); - err = TestWriteAttributeListWithListOfListStructOctetString_174(); + ChipLogProgress(chipTool, " ***** Test Step 174 : Read attribute LIST With List of OCTET_STRING\n"); + err = TestReadAttributeListWithListOfOctetString_174(); break; case 175: - ChipLogProgress(chipTool, " ***** Test Step 175 : Read attribute LIST With List of LIST_STRUCT_OCTET_STRING\n"); - err = TestReadAttributeListWithListOfListStructOctetString_175(); + ChipLogProgress(chipTool, " ***** Test Step 175 : Write attribute LIST With List of LIST_STRUCT_OCTET_STRING\n"); + err = TestWriteAttributeListWithListOfListStructOctetString_175(); break; case 176: - ChipLogProgress(chipTool, " ***** Test Step 176 : Send Test Command with optional arg set.\n"); - err = TestSendTestCommandWithOptionalArgSet_176(); + ChipLogProgress(chipTool, " ***** Test Step 176 : Read attribute LIST With List of LIST_STRUCT_OCTET_STRING\n"); + err = TestReadAttributeListWithListOfListStructOctetString_176(); break; case 177: - ChipLogProgress(chipTool, " ***** Test Step 177 : Send Test Command without its optional arg.\n"); - err = TestSendTestCommandWithoutItsOptionalArg_177(); + ChipLogProgress(chipTool, " ***** Test Step 177 : Send Test Command with optional arg set.\n"); + err = TestSendTestCommandWithOptionalArgSet_177(); break; case 178: - ChipLogProgress(chipTool, " ***** Test Step 178 : Read list of structs containing nullables and optionals\n"); - err = TestReadListOfStructsContainingNullablesAndOptionals_178(); + ChipLogProgress(chipTool, " ***** Test Step 178 : Send Test Command without its optional arg.\n"); + err = TestSendTestCommandWithoutItsOptionalArg_178(); break; case 179: - ChipLogProgress(chipTool, " ***** Test Step 179 : Write list of structs containing nullables and optionals\n"); - err = TestWriteListOfStructsContainingNullablesAndOptionals_179(); + ChipLogProgress(chipTool, " ***** Test Step 179 : Read list of structs containing nullables and optionals\n"); + err = TestReadListOfStructsContainingNullablesAndOptionals_179(); break; case 180: - ChipLogProgress( - chipTool, " ***** Test Step 180 : Read list of structs containing nullables and optionals after writing\n"); - err = TestReadListOfStructsContainingNullablesAndOptionalsAfterWriting_180(); + ChipLogProgress(chipTool, " ***** Test Step 180 : Write list of structs containing nullables and optionals\n"); + err = TestWriteListOfStructsContainingNullablesAndOptionals_180(); break; case 181: - ChipLogProgress(chipTool, " ***** Test Step 181 : Write attribute NULLABLE_BOOLEAN null\n"); - err = TestWriteAttributeNullableBooleanNull_181(); + ChipLogProgress( + chipTool, " ***** Test Step 181 : Read list of structs containing nullables and optionals after writing\n"); + err = TestReadListOfStructsContainingNullablesAndOptionalsAfterWriting_181(); break; case 182: - ChipLogProgress(chipTool, " ***** Test Step 182 : Read attribute NULLABLE_BOOLEAN null\n"); - err = TestReadAttributeNullableBooleanNull_182(); + ChipLogProgress(chipTool, " ***** Test Step 182 : Write attribute NULLABLE_BOOLEAN null\n"); + err = TestWriteAttributeNullableBooleanNull_182(); break; case 183: - ChipLogProgress(chipTool, " ***** Test Step 183 : Write attribute NULLABLE_BOOLEAN True\n"); - err = TestWriteAttributeNullableBooleanTrue_183(); + ChipLogProgress(chipTool, " ***** Test Step 183 : Read attribute NULLABLE_BOOLEAN null\n"); + err = TestReadAttributeNullableBooleanNull_183(); break; case 184: - ChipLogProgress(chipTool, " ***** Test Step 184 : Read attribute NULLABLE_BOOLEAN True\n"); - err = TestReadAttributeNullableBooleanTrue_184(); + ChipLogProgress(chipTool, " ***** Test Step 184 : Write attribute NULLABLE_BOOLEAN True\n"); + err = TestWriteAttributeNullableBooleanTrue_184(); break; case 185: - ChipLogProgress(chipTool, " ***** Test Step 185 : Read attribute NULLABLE_BOOLEAN not null\n"); - err = TestReadAttributeNullableBooleanNotNull_185(); + ChipLogProgress(chipTool, " ***** Test Step 185 : Read attribute NULLABLE_BOOLEAN True\n"); + err = TestReadAttributeNullableBooleanTrue_185(); break; case 186: - ChipLogProgress(chipTool, " ***** Test Step 186 : Write attribute NULLABLE_BITMAP8 Max Value\n"); - err = TestWriteAttributeNullableBitmap8MaxValue_186(); + ChipLogProgress(chipTool, " ***** Test Step 186 : Read attribute NULLABLE_BOOLEAN not null\n"); + err = TestReadAttributeNullableBooleanNotNull_186(); break; case 187: - ChipLogProgress(chipTool, " ***** Test Step 187 : Read attribute NULLABLE_BITMAP8 Max Value\n"); - err = TestReadAttributeNullableBitmap8MaxValue_187(); + ChipLogProgress(chipTool, " ***** Test Step 187 : Write attribute NULLABLE_BITMAP8 Max Value\n"); + err = TestWriteAttributeNullableBitmap8MaxValue_187(); break; case 188: - ChipLogProgress(chipTool, " ***** Test Step 188 : Write attribute NULLABLE_BITMAP8 Invalid Value\n"); - err = TestWriteAttributeNullableBitmap8InvalidValue_188(); + ChipLogProgress(chipTool, " ***** Test Step 188 : Read attribute NULLABLE_BITMAP8 Max Value\n"); + err = TestReadAttributeNullableBitmap8MaxValue_188(); break; case 189: - ChipLogProgress(chipTool, " ***** Test Step 189 : Read attribute NULLABLE_BITMAP8 unchanged Value\n"); - err = TestReadAttributeNullableBitmap8UnchangedValue_189(); + ChipLogProgress(chipTool, " ***** Test Step 189 : Write attribute NULLABLE_BITMAP8 Invalid Value\n"); + err = TestWriteAttributeNullableBitmap8InvalidValue_189(); break; case 190: - ChipLogProgress(chipTool, " ***** Test Step 190 : Write attribute NULLABLE_BITMAP8 null Value\n"); - err = TestWriteAttributeNullableBitmap8NullValue_190(); + ChipLogProgress(chipTool, " ***** Test Step 190 : Read attribute NULLABLE_BITMAP8 unchanged Value\n"); + err = TestReadAttributeNullableBitmap8UnchangedValue_190(); break; case 191: - ChipLogProgress(chipTool, " ***** Test Step 191 : Read attribute NULLABLE_BITMAP8 null Value\n"); - err = TestReadAttributeNullableBitmap8NullValue_191(); + ChipLogProgress(chipTool, " ***** Test Step 191 : Write attribute NULLABLE_BITMAP8 null Value\n"); + err = TestWriteAttributeNullableBitmap8NullValue_191(); break; case 192: - ChipLogProgress(chipTool, " ***** Test Step 192 : Read attribute NULLABLE_BITMAP8 not 254 Value\n"); - err = TestReadAttributeNullableBitmap8Not254Value_192(); + ChipLogProgress(chipTool, " ***** Test Step 192 : Read attribute NULLABLE_BITMAP8 null Value\n"); + err = TestReadAttributeNullableBitmap8NullValue_192(); break; case 193: - ChipLogProgress(chipTool, " ***** Test Step 193 : Write attribute NULLABLE_BITMAP16 Max Value\n"); - err = TestWriteAttributeNullableBitmap16MaxValue_193(); + ChipLogProgress(chipTool, " ***** Test Step 193 : Read attribute NULLABLE_BITMAP8 not 254 Value\n"); + err = TestReadAttributeNullableBitmap8Not254Value_193(); break; case 194: - ChipLogProgress(chipTool, " ***** Test Step 194 : Read attribute NULLABLE_BITMAP16 Max Value\n"); - err = TestReadAttributeNullableBitmap16MaxValue_194(); + ChipLogProgress(chipTool, " ***** Test Step 194 : Write attribute NULLABLE_BITMAP16 Max Value\n"); + err = TestWriteAttributeNullableBitmap16MaxValue_194(); break; case 195: - ChipLogProgress(chipTool, " ***** Test Step 195 : Write attribute NULLABLE_BITMAP16 Invalid Value\n"); - err = TestWriteAttributeNullableBitmap16InvalidValue_195(); + ChipLogProgress(chipTool, " ***** Test Step 195 : Read attribute NULLABLE_BITMAP16 Max Value\n"); + err = TestReadAttributeNullableBitmap16MaxValue_195(); break; case 196: - ChipLogProgress(chipTool, " ***** Test Step 196 : Read attribute NULLABLE_BITMAP16 unchanged Value\n"); - err = TestReadAttributeNullableBitmap16UnchangedValue_196(); + ChipLogProgress(chipTool, " ***** Test Step 196 : Write attribute NULLABLE_BITMAP16 Invalid Value\n"); + err = TestWriteAttributeNullableBitmap16InvalidValue_196(); break; case 197: - ChipLogProgress(chipTool, " ***** Test Step 197 : Write attribute NULLABLE_BITMAP16 null Value\n"); - err = TestWriteAttributeNullableBitmap16NullValue_197(); + ChipLogProgress(chipTool, " ***** Test Step 197 : Read attribute NULLABLE_BITMAP16 unchanged Value\n"); + err = TestReadAttributeNullableBitmap16UnchangedValue_197(); break; case 198: - ChipLogProgress(chipTool, " ***** Test Step 198 : Read attribute NULLABLE_BITMAP16 null Value\n"); - err = TestReadAttributeNullableBitmap16NullValue_198(); + ChipLogProgress(chipTool, " ***** Test Step 198 : Write attribute NULLABLE_BITMAP16 null Value\n"); + err = TestWriteAttributeNullableBitmap16NullValue_198(); break; case 199: - ChipLogProgress(chipTool, " ***** Test Step 199 : Write attribute NULLABLE_BITMAP32 Max Value\n"); - err = TestWriteAttributeNullableBitmap32MaxValue_199(); + ChipLogProgress(chipTool, " ***** Test Step 199 : Read attribute NULLABLE_BITMAP16 null Value\n"); + err = TestReadAttributeNullableBitmap16NullValue_199(); break; case 200: - ChipLogProgress(chipTool, " ***** Test Step 200 : Read attribute NULLABLE_BITMAP32 Max Value\n"); - err = TestReadAttributeNullableBitmap32MaxValue_200(); + ChipLogProgress(chipTool, " ***** Test Step 200 : Write attribute NULLABLE_BITMAP32 Max Value\n"); + err = TestWriteAttributeNullableBitmap32MaxValue_200(); break; case 201: - ChipLogProgress(chipTool, " ***** Test Step 201 : Write attribute NULLABLE_BITMAP32 Invalid Value\n"); - err = TestWriteAttributeNullableBitmap32InvalidValue_201(); + ChipLogProgress(chipTool, " ***** Test Step 201 : Read attribute NULLABLE_BITMAP32 Max Value\n"); + err = TestReadAttributeNullableBitmap32MaxValue_201(); break; case 202: - ChipLogProgress(chipTool, " ***** Test Step 202 : Read attribute NULLABLE_BITMAP32 unchanged Value\n"); - err = TestReadAttributeNullableBitmap32UnchangedValue_202(); + ChipLogProgress(chipTool, " ***** Test Step 202 : Write attribute NULLABLE_BITMAP32 Invalid Value\n"); + err = TestWriteAttributeNullableBitmap32InvalidValue_202(); break; case 203: - ChipLogProgress(chipTool, " ***** Test Step 203 : Write attribute NULLABLE_BITMAP32 null Value\n"); - err = TestWriteAttributeNullableBitmap32NullValue_203(); + ChipLogProgress(chipTool, " ***** Test Step 203 : Read attribute NULLABLE_BITMAP32 unchanged Value\n"); + err = TestReadAttributeNullableBitmap32UnchangedValue_203(); break; case 204: - ChipLogProgress(chipTool, " ***** Test Step 204 : Read attribute NULLABLE_BITMAP32 null Value\n"); - err = TestReadAttributeNullableBitmap32NullValue_204(); + ChipLogProgress(chipTool, " ***** Test Step 204 : Write attribute NULLABLE_BITMAP32 null Value\n"); + err = TestWriteAttributeNullableBitmap32NullValue_204(); break; case 205: - ChipLogProgress(chipTool, " ***** Test Step 205 : Write attribute NULLABLE_BITMAP64 Max Value\n"); - err = TestWriteAttributeNullableBitmap64MaxValue_205(); + ChipLogProgress(chipTool, " ***** Test Step 205 : Read attribute NULLABLE_BITMAP32 null Value\n"); + err = TestReadAttributeNullableBitmap32NullValue_205(); break; case 206: - ChipLogProgress(chipTool, " ***** Test Step 206 : Read attribute NULLABLE_BITMAP64 Max Value\n"); - err = TestReadAttributeNullableBitmap64MaxValue_206(); + ChipLogProgress(chipTool, " ***** Test Step 206 : Write attribute NULLABLE_BITMAP64 Max Value\n"); + err = TestWriteAttributeNullableBitmap64MaxValue_206(); break; case 207: - ChipLogProgress(chipTool, " ***** Test Step 207 : Write attribute NULLABLE_BITMAP64 Invalid Value\n"); - err = TestWriteAttributeNullableBitmap64InvalidValue_207(); + ChipLogProgress(chipTool, " ***** Test Step 207 : Read attribute NULLABLE_BITMAP64 Max Value\n"); + err = TestReadAttributeNullableBitmap64MaxValue_207(); break; case 208: - ChipLogProgress(chipTool, " ***** Test Step 208 : Read attribute NULLABLE_BITMAP64 unchanged Value\n"); - err = TestReadAttributeNullableBitmap64UnchangedValue_208(); + ChipLogProgress(chipTool, " ***** Test Step 208 : Write attribute NULLABLE_BITMAP64 Invalid Value\n"); + err = TestWriteAttributeNullableBitmap64InvalidValue_208(); break; case 209: - ChipLogProgress(chipTool, " ***** Test Step 209 : Write attribute NULLABLE_BITMAP64 null Value\n"); - err = TestWriteAttributeNullableBitmap64NullValue_209(); + ChipLogProgress(chipTool, " ***** Test Step 209 : Read attribute NULLABLE_BITMAP64 unchanged Value\n"); + err = TestReadAttributeNullableBitmap64UnchangedValue_209(); break; case 210: - ChipLogProgress(chipTool, " ***** Test Step 210 : Read attribute NULLABLE_BITMAP64 null Value\n"); - err = TestReadAttributeNullableBitmap64NullValue_210(); + ChipLogProgress(chipTool, " ***** Test Step 210 : Write attribute NULLABLE_BITMAP64 null Value\n"); + err = TestWriteAttributeNullableBitmap64NullValue_210(); break; case 211: - ChipLogProgress(chipTool, " ***** Test Step 211 : Write attribute NULLABLE_INT8U Min Value\n"); - err = TestWriteAttributeNullableInt8uMinValue_211(); + ChipLogProgress(chipTool, " ***** Test Step 211 : Read attribute NULLABLE_BITMAP64 null Value\n"); + err = TestReadAttributeNullableBitmap64NullValue_211(); break; case 212: - ChipLogProgress(chipTool, " ***** Test Step 212 : Read attribute NULLABLE_INT8U Min Value\n"); - err = TestReadAttributeNullableInt8uMinValue_212(); + ChipLogProgress(chipTool, " ***** Test Step 212 : Write attribute NULLABLE_INT8U Min Value\n"); + err = TestWriteAttributeNullableInt8uMinValue_212(); break; case 213: - ChipLogProgress(chipTool, " ***** Test Step 213 : Write attribute NULLABLE_INT8U Max Value\n"); - err = TestWriteAttributeNullableInt8uMaxValue_213(); + ChipLogProgress(chipTool, " ***** Test Step 213 : Read attribute NULLABLE_INT8U Min Value\n"); + err = TestReadAttributeNullableInt8uMinValue_213(); break; case 214: - ChipLogProgress(chipTool, " ***** Test Step 214 : Read attribute NULLABLE_INT8U Max Value\n"); - err = TestReadAttributeNullableInt8uMaxValue_214(); + ChipLogProgress(chipTool, " ***** Test Step 214 : Write attribute NULLABLE_INT8U Max Value\n"); + err = TestWriteAttributeNullableInt8uMaxValue_214(); break; case 215: - ChipLogProgress(chipTool, " ***** Test Step 215 : Write attribute NULLABLE_INT8U Invalid Value\n"); - err = TestWriteAttributeNullableInt8uInvalidValue_215(); + ChipLogProgress(chipTool, " ***** Test Step 215 : Read attribute NULLABLE_INT8U Max Value\n"); + err = TestReadAttributeNullableInt8uMaxValue_215(); break; case 216: - ChipLogProgress(chipTool, " ***** Test Step 216 : Read attribute NULLABLE_INT8U unchanged Value\n"); - err = TestReadAttributeNullableInt8uUnchangedValue_216(); + ChipLogProgress(chipTool, " ***** Test Step 216 : Write attribute NULLABLE_INT8U Invalid Value\n"); + err = TestWriteAttributeNullableInt8uInvalidValue_216(); break; case 217: - ChipLogProgress(chipTool, " ***** Test Step 217 : Read attribute NULLABLE_INT8U unchanged Value with constraint\n"); - err = TestReadAttributeNullableInt8uUnchangedValueWithConstraint_217(); + ChipLogProgress(chipTool, " ***** Test Step 217 : Read attribute NULLABLE_INT8U unchanged Value\n"); + err = TestReadAttributeNullableInt8uUnchangedValue_217(); break; case 218: - ChipLogProgress(chipTool, " ***** Test Step 218 : Write attribute NULLABLE_INT8U null Value\n"); - err = TestWriteAttributeNullableInt8uNullValue_218(); + ChipLogProgress(chipTool, " ***** Test Step 218 : Read attribute NULLABLE_INT8U unchanged Value with constraint\n"); + err = TestReadAttributeNullableInt8uUnchangedValueWithConstraint_218(); break; case 219: - ChipLogProgress(chipTool, " ***** Test Step 219 : Read attribute NULLABLE_INT8U null Value\n"); - err = TestReadAttributeNullableInt8uNullValue_219(); + ChipLogProgress(chipTool, " ***** Test Step 219 : Write attribute NULLABLE_INT8U null Value\n"); + err = TestWriteAttributeNullableInt8uNullValue_219(); break; case 220: - ChipLogProgress(chipTool, " ***** Test Step 220 : Read attribute NULLABLE_INT8U null Value & range\n"); - err = TestReadAttributeNullableInt8uNullValueRange_220(); + ChipLogProgress(chipTool, " ***** Test Step 220 : Read attribute NULLABLE_INT8U null Value\n"); + err = TestReadAttributeNullableInt8uNullValue_220(); break; case 221: - ChipLogProgress(chipTool, " ***** Test Step 221 : Read attribute NULLABLE_INT8U null Value & not\n"); - err = TestReadAttributeNullableInt8uNullValueNot_221(); + ChipLogProgress(chipTool, " ***** Test Step 221 : Read attribute NULLABLE_INT8U null Value & range\n"); + err = TestReadAttributeNullableInt8uNullValueRange_221(); break; case 222: - ChipLogProgress(chipTool, " ***** Test Step 222 : Write attribute NULLABLE_INT8U Value\n"); - err = TestWriteAttributeNullableInt8uValue_222(); + ChipLogProgress(chipTool, " ***** Test Step 222 : Read attribute NULLABLE_INT8U null Value & not\n"); + err = TestReadAttributeNullableInt8uNullValueNot_222(); break; case 223: - ChipLogProgress(chipTool, " ***** Test Step 223 : Read attribute NULLABLE_INT8U Value in range\n"); - err = TestReadAttributeNullableInt8uValueInRange_223(); + ChipLogProgress(chipTool, " ***** Test Step 223 : Write attribute NULLABLE_INT8U Value\n"); + err = TestWriteAttributeNullableInt8uValue_223(); break; case 224: - ChipLogProgress(chipTool, " ***** Test Step 224 : Read attribute NULLABLE_INT8U notValue OK\n"); - err = TestReadAttributeNullableInt8uNotValueOk_224(); + ChipLogProgress(chipTool, " ***** Test Step 224 : Read attribute NULLABLE_INT8U Value in range\n"); + err = TestReadAttributeNullableInt8uValueInRange_224(); break; case 225: - ChipLogProgress(chipTool, " ***** Test Step 225 : Write attribute NULLABLE_INT16U Min Value\n"); - err = TestWriteAttributeNullableInt16uMinValue_225(); + ChipLogProgress(chipTool, " ***** Test Step 225 : Read attribute NULLABLE_INT8U notValue OK\n"); + err = TestReadAttributeNullableInt8uNotValueOk_225(); break; case 226: - ChipLogProgress(chipTool, " ***** Test Step 226 : Read attribute NULLABLE_INT16U Min Value\n"); - err = TestReadAttributeNullableInt16uMinValue_226(); + ChipLogProgress(chipTool, " ***** Test Step 226 : Write attribute NULLABLE_INT16U Min Value\n"); + err = TestWriteAttributeNullableInt16uMinValue_226(); break; case 227: - ChipLogProgress(chipTool, " ***** Test Step 227 : Write attribute NULLABLE_INT16U Max Value\n"); - err = TestWriteAttributeNullableInt16uMaxValue_227(); + ChipLogProgress(chipTool, " ***** Test Step 227 : Read attribute NULLABLE_INT16U Min Value\n"); + err = TestReadAttributeNullableInt16uMinValue_227(); break; case 228: - ChipLogProgress(chipTool, " ***** Test Step 228 : Read attribute NULLABLE_INT16U Max Value\n"); - err = TestReadAttributeNullableInt16uMaxValue_228(); + ChipLogProgress(chipTool, " ***** Test Step 228 : Write attribute NULLABLE_INT16U Max Value\n"); + err = TestWriteAttributeNullableInt16uMaxValue_228(); break; case 229: - ChipLogProgress(chipTool, " ***** Test Step 229 : Write attribute NULLABLE_INT16U Invalid Value\n"); - err = TestWriteAttributeNullableInt16uInvalidValue_229(); + ChipLogProgress(chipTool, " ***** Test Step 229 : Read attribute NULLABLE_INT16U Max Value\n"); + err = TestReadAttributeNullableInt16uMaxValue_229(); break; case 230: - ChipLogProgress(chipTool, " ***** Test Step 230 : Read attribute NULLABLE_INT16U unchanged Value\n"); - err = TestReadAttributeNullableInt16uUnchangedValue_230(); + ChipLogProgress(chipTool, " ***** Test Step 230 : Write attribute NULLABLE_INT16U Invalid Value\n"); + err = TestWriteAttributeNullableInt16uInvalidValue_230(); break; case 231: - ChipLogProgress(chipTool, " ***** Test Step 231 : Write attribute NULLABLE_INT16U null Value\n"); - err = TestWriteAttributeNullableInt16uNullValue_231(); + ChipLogProgress(chipTool, " ***** Test Step 231 : Read attribute NULLABLE_INT16U unchanged Value\n"); + err = TestReadAttributeNullableInt16uUnchangedValue_231(); break; case 232: - ChipLogProgress(chipTool, " ***** Test Step 232 : Read attribute NULLABLE_INT16U null Value\n"); - err = TestReadAttributeNullableInt16uNullValue_232(); + ChipLogProgress(chipTool, " ***** Test Step 232 : Write attribute NULLABLE_INT16U null Value\n"); + err = TestWriteAttributeNullableInt16uNullValue_232(); break; case 233: - ChipLogProgress(chipTool, " ***** Test Step 233 : Read attribute NULLABLE_INT16U null Value & range\n"); - err = TestReadAttributeNullableInt16uNullValueRange_233(); + ChipLogProgress(chipTool, " ***** Test Step 233 : Read attribute NULLABLE_INT16U null Value\n"); + err = TestReadAttributeNullableInt16uNullValue_233(); break; case 234: - ChipLogProgress(chipTool, " ***** Test Step 234 : Read attribute NULLABLE_INT16U null Value & not\n"); - err = TestReadAttributeNullableInt16uNullValueNot_234(); + ChipLogProgress(chipTool, " ***** Test Step 234 : Read attribute NULLABLE_INT16U null Value & range\n"); + err = TestReadAttributeNullableInt16uNullValueRange_234(); break; case 235: - ChipLogProgress(chipTool, " ***** Test Step 235 : Write attribute NULLABLE_INT16U Value\n"); - err = TestWriteAttributeNullableInt16uValue_235(); + ChipLogProgress(chipTool, " ***** Test Step 235 : Read attribute NULLABLE_INT16U null Value & not\n"); + err = TestReadAttributeNullableInt16uNullValueNot_235(); break; case 236: - ChipLogProgress(chipTool, " ***** Test Step 236 : Read attribute NULLABLE_INT16U Value in range\n"); - err = TestReadAttributeNullableInt16uValueInRange_236(); + ChipLogProgress(chipTool, " ***** Test Step 236 : Write attribute NULLABLE_INT16U Value\n"); + err = TestWriteAttributeNullableInt16uValue_236(); break; case 237: - ChipLogProgress(chipTool, " ***** Test Step 237 : Read attribute NULLABLE_INT16U notValue OK\n"); - err = TestReadAttributeNullableInt16uNotValueOk_237(); + ChipLogProgress(chipTool, " ***** Test Step 237 : Read attribute NULLABLE_INT16U Value in range\n"); + err = TestReadAttributeNullableInt16uValueInRange_237(); break; case 238: - ChipLogProgress(chipTool, " ***** Test Step 238 : Write attribute NULLABLE_INT32U Min Value\n"); - err = TestWriteAttributeNullableInt32uMinValue_238(); + ChipLogProgress(chipTool, " ***** Test Step 238 : Read attribute NULLABLE_INT16U notValue OK\n"); + err = TestReadAttributeNullableInt16uNotValueOk_238(); break; case 239: - ChipLogProgress(chipTool, " ***** Test Step 239 : Read attribute NULLABLE_INT32U Min Value\n"); - err = TestReadAttributeNullableInt32uMinValue_239(); + ChipLogProgress(chipTool, " ***** Test Step 239 : Write attribute NULLABLE_INT32U Min Value\n"); + err = TestWriteAttributeNullableInt32uMinValue_239(); break; case 240: - ChipLogProgress(chipTool, " ***** Test Step 240 : Write attribute NULLABLE_INT32U Max Value\n"); - err = TestWriteAttributeNullableInt32uMaxValue_240(); + ChipLogProgress(chipTool, " ***** Test Step 240 : Read attribute NULLABLE_INT32U Min Value\n"); + err = TestReadAttributeNullableInt32uMinValue_240(); break; case 241: - ChipLogProgress(chipTool, " ***** Test Step 241 : Read attribute NULLABLE_INT32U Max Value\n"); - err = TestReadAttributeNullableInt32uMaxValue_241(); + ChipLogProgress(chipTool, " ***** Test Step 241 : Write attribute NULLABLE_INT32U Max Value\n"); + err = TestWriteAttributeNullableInt32uMaxValue_241(); break; case 242: - ChipLogProgress(chipTool, " ***** Test Step 242 : Write attribute NULLABLE_INT32U Invalid Value\n"); - err = TestWriteAttributeNullableInt32uInvalidValue_242(); + ChipLogProgress(chipTool, " ***** Test Step 242 : Read attribute NULLABLE_INT32U Max Value\n"); + err = TestReadAttributeNullableInt32uMaxValue_242(); break; case 243: - ChipLogProgress(chipTool, " ***** Test Step 243 : Read attribute NULLABLE_INT32U unchanged Value\n"); - err = TestReadAttributeNullableInt32uUnchangedValue_243(); + ChipLogProgress(chipTool, " ***** Test Step 243 : Write attribute NULLABLE_INT32U Invalid Value\n"); + err = TestWriteAttributeNullableInt32uInvalidValue_243(); break; case 244: - ChipLogProgress(chipTool, " ***** Test Step 244 : Write attribute NULLABLE_INT32U null Value\n"); - err = TestWriteAttributeNullableInt32uNullValue_244(); + ChipLogProgress(chipTool, " ***** Test Step 244 : Read attribute NULLABLE_INT32U unchanged Value\n"); + err = TestReadAttributeNullableInt32uUnchangedValue_244(); break; case 245: - ChipLogProgress(chipTool, " ***** Test Step 245 : Read attribute NULLABLE_INT32U null Value\n"); - err = TestReadAttributeNullableInt32uNullValue_245(); + ChipLogProgress(chipTool, " ***** Test Step 245 : Write attribute NULLABLE_INT32U null Value\n"); + err = TestWriteAttributeNullableInt32uNullValue_245(); break; case 246: - ChipLogProgress(chipTool, " ***** Test Step 246 : Read attribute NULLABLE_INT32U null Value & range\n"); - err = TestReadAttributeNullableInt32uNullValueRange_246(); + ChipLogProgress(chipTool, " ***** Test Step 246 : Read attribute NULLABLE_INT32U null Value\n"); + err = TestReadAttributeNullableInt32uNullValue_246(); break; case 247: - ChipLogProgress(chipTool, " ***** Test Step 247 : Read attribute NULLABLE_INT32U null Value & not\n"); - err = TestReadAttributeNullableInt32uNullValueNot_247(); + ChipLogProgress(chipTool, " ***** Test Step 247 : Read attribute NULLABLE_INT32U null Value & range\n"); + err = TestReadAttributeNullableInt32uNullValueRange_247(); break; case 248: - ChipLogProgress(chipTool, " ***** Test Step 248 : Write attribute NULLABLE_INT32U Value\n"); - err = TestWriteAttributeNullableInt32uValue_248(); + ChipLogProgress(chipTool, " ***** Test Step 248 : Read attribute NULLABLE_INT32U null Value & not\n"); + err = TestReadAttributeNullableInt32uNullValueNot_248(); break; case 249: - ChipLogProgress(chipTool, " ***** Test Step 249 : Read attribute NULLABLE_INT32U Value in range\n"); - err = TestReadAttributeNullableInt32uValueInRange_249(); + ChipLogProgress(chipTool, " ***** Test Step 249 : Write attribute NULLABLE_INT32U Value\n"); + err = TestWriteAttributeNullableInt32uValue_249(); break; case 250: - ChipLogProgress(chipTool, " ***** Test Step 250 : Read attribute NULLABLE_INT32U notValue OK\n"); - err = TestReadAttributeNullableInt32uNotValueOk_250(); + ChipLogProgress(chipTool, " ***** Test Step 250 : Read attribute NULLABLE_INT32U Value in range\n"); + err = TestReadAttributeNullableInt32uValueInRange_250(); break; case 251: - ChipLogProgress(chipTool, " ***** Test Step 251 : Write attribute NULLABLE_INT64U Min Value\n"); - err = TestWriteAttributeNullableInt64uMinValue_251(); + ChipLogProgress(chipTool, " ***** Test Step 251 : Read attribute NULLABLE_INT32U notValue OK\n"); + err = TestReadAttributeNullableInt32uNotValueOk_251(); break; case 252: - ChipLogProgress(chipTool, " ***** Test Step 252 : Read attribute NULLABLE_INT64U Min Value\n"); - err = TestReadAttributeNullableInt64uMinValue_252(); + ChipLogProgress(chipTool, " ***** Test Step 252 : Write attribute NULLABLE_INT64U Min Value\n"); + err = TestWriteAttributeNullableInt64uMinValue_252(); break; case 253: - ChipLogProgress(chipTool, " ***** Test Step 253 : Write attribute NULLABLE_INT64U Max Value\n"); - err = TestWriteAttributeNullableInt64uMaxValue_253(); + ChipLogProgress(chipTool, " ***** Test Step 253 : Read attribute NULLABLE_INT64U Min Value\n"); + err = TestReadAttributeNullableInt64uMinValue_253(); break; case 254: - ChipLogProgress(chipTool, " ***** Test Step 254 : Read attribute NULLABLE_INT64U Max Value\n"); - err = TestReadAttributeNullableInt64uMaxValue_254(); + ChipLogProgress(chipTool, " ***** Test Step 254 : Write attribute NULLABLE_INT64U Max Value\n"); + err = TestWriteAttributeNullableInt64uMaxValue_254(); break; case 255: - ChipLogProgress(chipTool, " ***** Test Step 255 : Write attribute NULLABLE_INT64U Invalid Value\n"); - err = TestWriteAttributeNullableInt64uInvalidValue_255(); + ChipLogProgress(chipTool, " ***** Test Step 255 : Read attribute NULLABLE_INT64U Max Value\n"); + err = TestReadAttributeNullableInt64uMaxValue_255(); break; case 256: - ChipLogProgress(chipTool, " ***** Test Step 256 : Read attribute NULLABLE_INT64U unchanged Value\n"); - err = TestReadAttributeNullableInt64uUnchangedValue_256(); + ChipLogProgress(chipTool, " ***** Test Step 256 : Write attribute NULLABLE_INT64U Invalid Value\n"); + err = TestWriteAttributeNullableInt64uInvalidValue_256(); break; case 257: - ChipLogProgress(chipTool, " ***** Test Step 257 : Write attribute NULLABLE_INT64U null Value\n"); - err = TestWriteAttributeNullableInt64uNullValue_257(); + ChipLogProgress(chipTool, " ***** Test Step 257 : Read attribute NULLABLE_INT64U unchanged Value\n"); + err = TestReadAttributeNullableInt64uUnchangedValue_257(); break; case 258: - ChipLogProgress(chipTool, " ***** Test Step 258 : Read attribute NULLABLE_INT64U null Value\n"); - err = TestReadAttributeNullableInt64uNullValue_258(); + ChipLogProgress(chipTool, " ***** Test Step 258 : Write attribute NULLABLE_INT64U null Value\n"); + err = TestWriteAttributeNullableInt64uNullValue_258(); break; case 259: - ChipLogProgress(chipTool, " ***** Test Step 259 : Read attribute NULLABLE_INT64U null Value & range\n"); - err = TestReadAttributeNullableInt64uNullValueRange_259(); + ChipLogProgress(chipTool, " ***** Test Step 259 : Read attribute NULLABLE_INT64U null Value\n"); + err = TestReadAttributeNullableInt64uNullValue_259(); break; case 260: - ChipLogProgress(chipTool, " ***** Test Step 260 : Read attribute NULLABLE_INT64U null Value & not\n"); - err = TestReadAttributeNullableInt64uNullValueNot_260(); + ChipLogProgress(chipTool, " ***** Test Step 260 : Read attribute NULLABLE_INT64U null Value & range\n"); + err = TestReadAttributeNullableInt64uNullValueRange_260(); break; case 261: - ChipLogProgress(chipTool, " ***** Test Step 261 : Write attribute NULLABLE_INT64U Value\n"); - err = TestWriteAttributeNullableInt64uValue_261(); + ChipLogProgress(chipTool, " ***** Test Step 261 : Read attribute NULLABLE_INT64U null Value & not\n"); + err = TestReadAttributeNullableInt64uNullValueNot_261(); break; case 262: - ChipLogProgress(chipTool, " ***** Test Step 262 : Read attribute NULLABLE_INT64U Value in range\n"); - err = TestReadAttributeNullableInt64uValueInRange_262(); + ChipLogProgress(chipTool, " ***** Test Step 262 : Write attribute NULLABLE_INT64U Value\n"); + err = TestWriteAttributeNullableInt64uValue_262(); break; case 263: - ChipLogProgress(chipTool, " ***** Test Step 263 : Read attribute NULLABLE_INT64U notValue OK\n"); - err = TestReadAttributeNullableInt64uNotValueOk_263(); + ChipLogProgress(chipTool, " ***** Test Step 263 : Read attribute NULLABLE_INT64U Value in range\n"); + err = TestReadAttributeNullableInt64uValueInRange_263(); break; case 264: - ChipLogProgress(chipTool, " ***** Test Step 264 : Write attribute NULLABLE_INT8S Min Value\n"); - err = TestWriteAttributeNullableInt8sMinValue_264(); + ChipLogProgress(chipTool, " ***** Test Step 264 : Read attribute NULLABLE_INT64U notValue OK\n"); + err = TestReadAttributeNullableInt64uNotValueOk_264(); break; case 265: - ChipLogProgress(chipTool, " ***** Test Step 265 : Read attribute NULLABLE_INT8S Min Value\n"); - err = TestReadAttributeNullableInt8sMinValue_265(); + ChipLogProgress(chipTool, " ***** Test Step 265 : Write attribute NULLABLE_INT8S Min Value\n"); + err = TestWriteAttributeNullableInt8sMinValue_265(); break; case 266: - ChipLogProgress(chipTool, " ***** Test Step 266 : Write attribute NULLABLE_INT8S Invalid Value\n"); - err = TestWriteAttributeNullableInt8sInvalidValue_266(); + ChipLogProgress(chipTool, " ***** Test Step 266 : Read attribute NULLABLE_INT8S Min Value\n"); + err = TestReadAttributeNullableInt8sMinValue_266(); break; case 267: - ChipLogProgress(chipTool, " ***** Test Step 267 : Read attribute NULLABLE_INT8S unchanged Value\n"); - err = TestReadAttributeNullableInt8sUnchangedValue_267(); + ChipLogProgress(chipTool, " ***** Test Step 267 : Write attribute NULLABLE_INT8S Invalid Value\n"); + err = TestWriteAttributeNullableInt8sInvalidValue_267(); break; case 268: - ChipLogProgress(chipTool, " ***** Test Step 268 : Write attribute NULLABLE_INT8S null Value\n"); - err = TestWriteAttributeNullableInt8sNullValue_268(); + ChipLogProgress(chipTool, " ***** Test Step 268 : Read attribute NULLABLE_INT8S unchanged Value\n"); + err = TestReadAttributeNullableInt8sUnchangedValue_268(); break; case 269: - ChipLogProgress(chipTool, " ***** Test Step 269 : Read attribute NULLABLE_INT8S null Value\n"); - err = TestReadAttributeNullableInt8sNullValue_269(); + ChipLogProgress(chipTool, " ***** Test Step 269 : Write attribute NULLABLE_INT8S null Value\n"); + err = TestWriteAttributeNullableInt8sNullValue_269(); break; case 270: - ChipLogProgress(chipTool, " ***** Test Step 270 : Read attribute NULLABLE_INT8S null Value & range\n"); - err = TestReadAttributeNullableInt8sNullValueRange_270(); + ChipLogProgress(chipTool, " ***** Test Step 270 : Read attribute NULLABLE_INT8S null Value\n"); + err = TestReadAttributeNullableInt8sNullValue_270(); break; case 271: - ChipLogProgress(chipTool, " ***** Test Step 271 : Read attribute NULLABLE_INT8S null Value & not\n"); - err = TestReadAttributeNullableInt8sNullValueNot_271(); + ChipLogProgress(chipTool, " ***** Test Step 271 : Read attribute NULLABLE_INT8S null Value & range\n"); + err = TestReadAttributeNullableInt8sNullValueRange_271(); break; case 272: - ChipLogProgress(chipTool, " ***** Test Step 272 : Write attribute NULLABLE_INT8S Value\n"); - err = TestWriteAttributeNullableInt8sValue_272(); + ChipLogProgress(chipTool, " ***** Test Step 272 : Read attribute NULLABLE_INT8S null Value & not\n"); + err = TestReadAttributeNullableInt8sNullValueNot_272(); break; case 273: - ChipLogProgress(chipTool, " ***** Test Step 273 : Read attribute NULLABLE_INT8S Value in range\n"); - err = TestReadAttributeNullableInt8sValueInRange_273(); + ChipLogProgress(chipTool, " ***** Test Step 273 : Write attribute NULLABLE_INT8S Value\n"); + err = TestWriteAttributeNullableInt8sValue_273(); break; case 274: - ChipLogProgress(chipTool, " ***** Test Step 274 : Read attribute NULLABLE_INT8S notValue OK\n"); - err = TestReadAttributeNullableInt8sNotValueOk_274(); + ChipLogProgress(chipTool, " ***** Test Step 274 : Read attribute NULLABLE_INT8S Value in range\n"); + err = TestReadAttributeNullableInt8sValueInRange_274(); break; case 275: - ChipLogProgress(chipTool, " ***** Test Step 275 : Write attribute NULLABLE_INT16S Min Value\n"); - err = TestWriteAttributeNullableInt16sMinValue_275(); + ChipLogProgress(chipTool, " ***** Test Step 275 : Read attribute NULLABLE_INT8S notValue OK\n"); + err = TestReadAttributeNullableInt8sNotValueOk_275(); break; case 276: - ChipLogProgress(chipTool, " ***** Test Step 276 : Read attribute NULLABLE_INT16S Min Value\n"); - err = TestReadAttributeNullableInt16sMinValue_276(); + ChipLogProgress(chipTool, " ***** Test Step 276 : Write attribute NULLABLE_INT16S Min Value\n"); + err = TestWriteAttributeNullableInt16sMinValue_276(); break; case 277: - ChipLogProgress(chipTool, " ***** Test Step 277 : Write attribute NULLABLE_INT16S Invalid Value\n"); - err = TestWriteAttributeNullableInt16sInvalidValue_277(); + ChipLogProgress(chipTool, " ***** Test Step 277 : Read attribute NULLABLE_INT16S Min Value\n"); + err = TestReadAttributeNullableInt16sMinValue_277(); break; case 278: - ChipLogProgress(chipTool, " ***** Test Step 278 : Read attribute NULLABLE_INT16S unchanged Value\n"); - err = TestReadAttributeNullableInt16sUnchangedValue_278(); + ChipLogProgress(chipTool, " ***** Test Step 278 : Write attribute NULLABLE_INT16S Invalid Value\n"); + err = TestWriteAttributeNullableInt16sInvalidValue_278(); break; case 279: - ChipLogProgress(chipTool, " ***** Test Step 279 : Write attribute NULLABLE_INT16S null Value\n"); - err = TestWriteAttributeNullableInt16sNullValue_279(); + ChipLogProgress(chipTool, " ***** Test Step 279 : Read attribute NULLABLE_INT16S unchanged Value\n"); + err = TestReadAttributeNullableInt16sUnchangedValue_279(); break; case 280: - ChipLogProgress(chipTool, " ***** Test Step 280 : Read attribute NULLABLE_INT16S null Value\n"); - err = TestReadAttributeNullableInt16sNullValue_280(); + ChipLogProgress(chipTool, " ***** Test Step 280 : Write attribute NULLABLE_INT16S null Value\n"); + err = TestWriteAttributeNullableInt16sNullValue_280(); break; case 281: - ChipLogProgress(chipTool, " ***** Test Step 281 : Read attribute NULLABLE_INT16S null Value & range\n"); - err = TestReadAttributeNullableInt16sNullValueRange_281(); + ChipLogProgress(chipTool, " ***** Test Step 281 : Read attribute NULLABLE_INT16S null Value\n"); + err = TestReadAttributeNullableInt16sNullValue_281(); break; case 282: - ChipLogProgress(chipTool, " ***** Test Step 282 : Read attribute NULLABLE_INT16S null Value & not\n"); - err = TestReadAttributeNullableInt16sNullValueNot_282(); + ChipLogProgress(chipTool, " ***** Test Step 282 : Read attribute NULLABLE_INT16S null Value & range\n"); + err = TestReadAttributeNullableInt16sNullValueRange_282(); break; case 283: - ChipLogProgress(chipTool, " ***** Test Step 283 : Write attribute NULLABLE_INT16S Value\n"); - err = TestWriteAttributeNullableInt16sValue_283(); + ChipLogProgress(chipTool, " ***** Test Step 283 : Read attribute NULLABLE_INT16S null Value & not\n"); + err = TestReadAttributeNullableInt16sNullValueNot_283(); break; case 284: - ChipLogProgress(chipTool, " ***** Test Step 284 : Read attribute NULLABLE_INT16S Value in range\n"); - err = TestReadAttributeNullableInt16sValueInRange_284(); + ChipLogProgress(chipTool, " ***** Test Step 284 : Write attribute NULLABLE_INT16S Value\n"); + err = TestWriteAttributeNullableInt16sValue_284(); break; case 285: - ChipLogProgress(chipTool, " ***** Test Step 285 : Read attribute NULLABLE_INT16S notValue OK\n"); - err = TestReadAttributeNullableInt16sNotValueOk_285(); + ChipLogProgress(chipTool, " ***** Test Step 285 : Read attribute NULLABLE_INT16S Value in range\n"); + err = TestReadAttributeNullableInt16sValueInRange_285(); break; case 286: - ChipLogProgress(chipTool, " ***** Test Step 286 : Write attribute NULLABLE_INT32S Min Value\n"); - err = TestWriteAttributeNullableInt32sMinValue_286(); + ChipLogProgress(chipTool, " ***** Test Step 286 : Read attribute NULLABLE_INT16S notValue OK\n"); + err = TestReadAttributeNullableInt16sNotValueOk_286(); break; case 287: - ChipLogProgress(chipTool, " ***** Test Step 287 : Read attribute NULLABLE_INT32S Min Value\n"); - err = TestReadAttributeNullableInt32sMinValue_287(); + ChipLogProgress(chipTool, " ***** Test Step 287 : Write attribute NULLABLE_INT32S Min Value\n"); + err = TestWriteAttributeNullableInt32sMinValue_287(); break; case 288: - ChipLogProgress(chipTool, " ***** Test Step 288 : Write attribute NULLABLE_INT32S Invalid Value\n"); - err = TestWriteAttributeNullableInt32sInvalidValue_288(); + ChipLogProgress(chipTool, " ***** Test Step 288 : Read attribute NULLABLE_INT32S Min Value\n"); + err = TestReadAttributeNullableInt32sMinValue_288(); break; case 289: - ChipLogProgress(chipTool, " ***** Test Step 289 : Read attribute NULLABLE_INT32S unchanged Value\n"); - err = TestReadAttributeNullableInt32sUnchangedValue_289(); + ChipLogProgress(chipTool, " ***** Test Step 289 : Write attribute NULLABLE_INT32S Invalid Value\n"); + err = TestWriteAttributeNullableInt32sInvalidValue_289(); break; case 290: - ChipLogProgress(chipTool, " ***** Test Step 290 : Write attribute NULLABLE_INT32S null Value\n"); - err = TestWriteAttributeNullableInt32sNullValue_290(); + ChipLogProgress(chipTool, " ***** Test Step 290 : Read attribute NULLABLE_INT32S unchanged Value\n"); + err = TestReadAttributeNullableInt32sUnchangedValue_290(); break; case 291: - ChipLogProgress(chipTool, " ***** Test Step 291 : Read attribute NULLABLE_INT32S null Value\n"); - err = TestReadAttributeNullableInt32sNullValue_291(); + ChipLogProgress(chipTool, " ***** Test Step 291 : Write attribute NULLABLE_INT32S null Value\n"); + err = TestWriteAttributeNullableInt32sNullValue_291(); break; case 292: - ChipLogProgress(chipTool, " ***** Test Step 292 : Read attribute NULLABLE_INT32S null Value & range\n"); - err = TestReadAttributeNullableInt32sNullValueRange_292(); + ChipLogProgress(chipTool, " ***** Test Step 292 : Read attribute NULLABLE_INT32S null Value\n"); + err = TestReadAttributeNullableInt32sNullValue_292(); break; case 293: - ChipLogProgress(chipTool, " ***** Test Step 293 : Read attribute NULLABLE_INT32S null Value & not\n"); - err = TestReadAttributeNullableInt32sNullValueNot_293(); + ChipLogProgress(chipTool, " ***** Test Step 293 : Read attribute NULLABLE_INT32S null Value & range\n"); + err = TestReadAttributeNullableInt32sNullValueRange_293(); break; case 294: - ChipLogProgress(chipTool, " ***** Test Step 294 : Write attribute NULLABLE_INT32S Value\n"); - err = TestWriteAttributeNullableInt32sValue_294(); + ChipLogProgress(chipTool, " ***** Test Step 294 : Read attribute NULLABLE_INT32S null Value & not\n"); + err = TestReadAttributeNullableInt32sNullValueNot_294(); break; case 295: - ChipLogProgress(chipTool, " ***** Test Step 295 : Read attribute NULLABLE_INT32S Value in range\n"); - err = TestReadAttributeNullableInt32sValueInRange_295(); + ChipLogProgress(chipTool, " ***** Test Step 295 : Write attribute NULLABLE_INT32S Value\n"); + err = TestWriteAttributeNullableInt32sValue_295(); break; case 296: - ChipLogProgress(chipTool, " ***** Test Step 296 : Read attribute NULLABLE_INT32S notValue OK\n"); - err = TestReadAttributeNullableInt32sNotValueOk_296(); + ChipLogProgress(chipTool, " ***** Test Step 296 : Read attribute NULLABLE_INT32S Value in range\n"); + err = TestReadAttributeNullableInt32sValueInRange_296(); break; case 297: - ChipLogProgress(chipTool, " ***** Test Step 297 : Write attribute NULLABLE_INT64S Min Value\n"); - err = TestWriteAttributeNullableInt64sMinValue_297(); + ChipLogProgress(chipTool, " ***** Test Step 297 : Read attribute NULLABLE_INT32S notValue OK\n"); + err = TestReadAttributeNullableInt32sNotValueOk_297(); break; case 298: - ChipLogProgress(chipTool, " ***** Test Step 298 : Read attribute NULLABLE_INT64S Min Value\n"); - err = TestReadAttributeNullableInt64sMinValue_298(); + ChipLogProgress(chipTool, " ***** Test Step 298 : Write attribute NULLABLE_INT64S Min Value\n"); + err = TestWriteAttributeNullableInt64sMinValue_298(); break; case 299: - ChipLogProgress(chipTool, " ***** Test Step 299 : Write attribute NULLABLE_INT64S Invalid Value\n"); - err = TestWriteAttributeNullableInt64sInvalidValue_299(); + ChipLogProgress(chipTool, " ***** Test Step 299 : Read attribute NULLABLE_INT64S Min Value\n"); + err = TestReadAttributeNullableInt64sMinValue_299(); break; case 300: - ChipLogProgress(chipTool, " ***** Test Step 300 : Read attribute NULLABLE_INT64S unchanged Value\n"); - err = TestReadAttributeNullableInt64sUnchangedValue_300(); + ChipLogProgress(chipTool, " ***** Test Step 300 : Write attribute NULLABLE_INT64S Invalid Value\n"); + err = TestWriteAttributeNullableInt64sInvalidValue_300(); break; case 301: - ChipLogProgress(chipTool, " ***** Test Step 301 : Write attribute NULLABLE_INT64S null Value\n"); - err = TestWriteAttributeNullableInt64sNullValue_301(); + ChipLogProgress(chipTool, " ***** Test Step 301 : Read attribute NULLABLE_INT64S unchanged Value\n"); + err = TestReadAttributeNullableInt64sUnchangedValue_301(); break; case 302: - ChipLogProgress(chipTool, " ***** Test Step 302 : Read attribute NULLABLE_INT64S null Value\n"); - err = TestReadAttributeNullableInt64sNullValue_302(); + ChipLogProgress(chipTool, " ***** Test Step 302 : Write attribute NULLABLE_INT64S null Value\n"); + err = TestWriteAttributeNullableInt64sNullValue_302(); break; case 303: - ChipLogProgress(chipTool, " ***** Test Step 303 : Read attribute NULLABLE_INT64S null Value & range\n"); - err = TestReadAttributeNullableInt64sNullValueRange_303(); + ChipLogProgress(chipTool, " ***** Test Step 303 : Read attribute NULLABLE_INT64S null Value\n"); + err = TestReadAttributeNullableInt64sNullValue_303(); break; case 304: - ChipLogProgress(chipTool, " ***** Test Step 304 : Read attribute NULLABLE_INT64S null Value & not\n"); - err = TestReadAttributeNullableInt64sNullValueNot_304(); + ChipLogProgress(chipTool, " ***** Test Step 304 : Read attribute NULLABLE_INT64S null Value & range\n"); + err = TestReadAttributeNullableInt64sNullValueRange_304(); break; case 305: - ChipLogProgress(chipTool, " ***** Test Step 305 : Write attribute NULLABLE_INT64S Value\n"); - err = TestWriteAttributeNullableInt64sValue_305(); + ChipLogProgress(chipTool, " ***** Test Step 305 : Read attribute NULLABLE_INT64S null Value & not\n"); + err = TestReadAttributeNullableInt64sNullValueNot_305(); break; case 306: - ChipLogProgress(chipTool, " ***** Test Step 306 : Read attribute NULLABLE_INT64S Value in range\n"); - err = TestReadAttributeNullableInt64sValueInRange_306(); + ChipLogProgress(chipTool, " ***** Test Step 306 : Write attribute NULLABLE_INT64S Value\n"); + err = TestWriteAttributeNullableInt64sValue_306(); break; case 307: - ChipLogProgress(chipTool, " ***** Test Step 307 : Read attribute NULLABLE_INT64S notValue OK\n"); - err = TestReadAttributeNullableInt64sNotValueOk_307(); + ChipLogProgress(chipTool, " ***** Test Step 307 : Read attribute NULLABLE_INT64S Value in range\n"); + err = TestReadAttributeNullableInt64sValueInRange_307(); break; case 308: - ChipLogProgress(chipTool, " ***** Test Step 308 : Write attribute NULLABLE_SINGLE medium Value\n"); - err = TestWriteAttributeNullableSingleMediumValue_308(); + ChipLogProgress(chipTool, " ***** Test Step 308 : Read attribute NULLABLE_INT64S notValue OK\n"); + err = TestReadAttributeNullableInt64sNotValueOk_308(); break; case 309: - ChipLogProgress(chipTool, " ***** Test Step 309 : Read attribute NULLABLE_SINGLE medium Value\n"); - err = TestReadAttributeNullableSingleMediumValue_309(); + ChipLogProgress(chipTool, " ***** Test Step 309 : Write attribute NULLABLE_SINGLE medium Value\n"); + err = TestWriteAttributeNullableSingleMediumValue_309(); break; case 310: - ChipLogProgress(chipTool, " ***** Test Step 310 : Write attribute NULLABLE_SINGLE largest Value\n"); - err = TestWriteAttributeNullableSingleLargestValue_310(); + ChipLogProgress(chipTool, " ***** Test Step 310 : Read attribute NULLABLE_SINGLE medium Value\n"); + err = TestReadAttributeNullableSingleMediumValue_310(); break; case 311: - ChipLogProgress(chipTool, " ***** Test Step 311 : Read attribute NULLABLE_SINGLE largest Value\n"); - err = TestReadAttributeNullableSingleLargestValue_311(); + ChipLogProgress(chipTool, " ***** Test Step 311 : Write attribute NULLABLE_SINGLE largest Value\n"); + err = TestWriteAttributeNullableSingleLargestValue_311(); break; case 312: - ChipLogProgress(chipTool, " ***** Test Step 312 : Write attribute NULLABLE_SINGLE smallest Value\n"); - err = TestWriteAttributeNullableSingleSmallestValue_312(); + ChipLogProgress(chipTool, " ***** Test Step 312 : Read attribute NULLABLE_SINGLE largest Value\n"); + err = TestReadAttributeNullableSingleLargestValue_312(); break; case 313: - ChipLogProgress(chipTool, " ***** Test Step 313 : Read attribute NULLABLE_SINGLE smallest Value\n"); - err = TestReadAttributeNullableSingleSmallestValue_313(); + ChipLogProgress(chipTool, " ***** Test Step 313 : Write attribute NULLABLE_SINGLE smallest Value\n"); + err = TestWriteAttributeNullableSingleSmallestValue_313(); break; case 314: - ChipLogProgress(chipTool, " ***** Test Step 314 : Write attribute NULLABLE_SINGLE null Value\n"); - err = TestWriteAttributeNullableSingleNullValue_314(); + ChipLogProgress(chipTool, " ***** Test Step 314 : Read attribute NULLABLE_SINGLE smallest Value\n"); + err = TestReadAttributeNullableSingleSmallestValue_314(); break; case 315: - ChipLogProgress(chipTool, " ***** Test Step 315 : Read attribute NULLABLE_SINGLE null Value\n"); - err = TestReadAttributeNullableSingleNullValue_315(); + ChipLogProgress(chipTool, " ***** Test Step 315 : Write attribute NULLABLE_SINGLE null Value\n"); + err = TestWriteAttributeNullableSingleNullValue_315(); break; case 316: - ChipLogProgress(chipTool, " ***** Test Step 316 : Write attribute NULLABLE_SINGLE 0 Value\n"); - err = TestWriteAttributeNullableSingle0Value_316(); + ChipLogProgress(chipTool, " ***** Test Step 316 : Read attribute NULLABLE_SINGLE null Value\n"); + err = TestReadAttributeNullableSingleNullValue_316(); break; case 317: - ChipLogProgress(chipTool, " ***** Test Step 317 : Read attribute NULLABLE_SINGLE 0 Value\n"); - err = TestReadAttributeNullableSingle0Value_317(); + ChipLogProgress(chipTool, " ***** Test Step 317 : Write attribute NULLABLE_SINGLE 0 Value\n"); + err = TestWriteAttributeNullableSingle0Value_317(); break; case 318: - ChipLogProgress(chipTool, " ***** Test Step 318 : Write attribute NULLABLE_DOUBLE medium Value\n"); - err = TestWriteAttributeNullableDoubleMediumValue_318(); + ChipLogProgress(chipTool, " ***** Test Step 318 : Read attribute NULLABLE_SINGLE 0 Value\n"); + err = TestReadAttributeNullableSingle0Value_318(); break; case 319: - ChipLogProgress(chipTool, " ***** Test Step 319 : Read attribute NULLABLE_DOUBLE medium Value\n"); - err = TestReadAttributeNullableDoubleMediumValue_319(); + ChipLogProgress(chipTool, " ***** Test Step 319 : Write attribute NULLABLE_DOUBLE medium Value\n"); + err = TestWriteAttributeNullableDoubleMediumValue_319(); break; case 320: - ChipLogProgress(chipTool, " ***** Test Step 320 : Write attribute NULLABLE_DOUBLE largest Value\n"); - err = TestWriteAttributeNullableDoubleLargestValue_320(); + ChipLogProgress(chipTool, " ***** Test Step 320 : Read attribute NULLABLE_DOUBLE medium Value\n"); + err = TestReadAttributeNullableDoubleMediumValue_320(); break; case 321: - ChipLogProgress(chipTool, " ***** Test Step 321 : Read attribute NULLABLE_DOUBLE largest Value\n"); - err = TestReadAttributeNullableDoubleLargestValue_321(); + ChipLogProgress(chipTool, " ***** Test Step 321 : Write attribute NULLABLE_DOUBLE largest Value\n"); + err = TestWriteAttributeNullableDoubleLargestValue_321(); break; case 322: - ChipLogProgress(chipTool, " ***** Test Step 322 : Write attribute NULLABLE_DOUBLE smallest Value\n"); - err = TestWriteAttributeNullableDoubleSmallestValue_322(); + ChipLogProgress(chipTool, " ***** Test Step 322 : Read attribute NULLABLE_DOUBLE largest Value\n"); + err = TestReadAttributeNullableDoubleLargestValue_322(); break; case 323: - ChipLogProgress(chipTool, " ***** Test Step 323 : Read attribute NULLABLE_DOUBLE smallest Value\n"); - err = TestReadAttributeNullableDoubleSmallestValue_323(); + ChipLogProgress(chipTool, " ***** Test Step 323 : Write attribute NULLABLE_DOUBLE smallest Value\n"); + err = TestWriteAttributeNullableDoubleSmallestValue_323(); break; case 324: - ChipLogProgress(chipTool, " ***** Test Step 324 : Write attribute NULLABLE_DOUBLE null Value\n"); - err = TestWriteAttributeNullableDoubleNullValue_324(); + ChipLogProgress(chipTool, " ***** Test Step 324 : Read attribute NULLABLE_DOUBLE smallest Value\n"); + err = TestReadAttributeNullableDoubleSmallestValue_324(); break; case 325: - ChipLogProgress(chipTool, " ***** Test Step 325 : Read attribute NULLABLE_DOUBLE null Value\n"); - err = TestReadAttributeNullableDoubleNullValue_325(); + ChipLogProgress(chipTool, " ***** Test Step 325 : Write attribute NULLABLE_DOUBLE null Value\n"); + err = TestWriteAttributeNullableDoubleNullValue_325(); break; case 326: - ChipLogProgress(chipTool, " ***** Test Step 326 : Write attribute NULLABLE_DOUBLE 0 Value\n"); - err = TestWriteAttributeNullableDouble0Value_326(); + ChipLogProgress(chipTool, " ***** Test Step 326 : Read attribute NULLABLE_DOUBLE null Value\n"); + err = TestReadAttributeNullableDoubleNullValue_326(); break; case 327: - ChipLogProgress(chipTool, " ***** Test Step 327 : Read attribute NULLABLE_DOUBLE 0 Value\n"); - err = TestReadAttributeNullableDouble0Value_327(); + ChipLogProgress(chipTool, " ***** Test Step 327 : Write attribute NULLABLE_DOUBLE 0 Value\n"); + err = TestWriteAttributeNullableDouble0Value_327(); break; case 328: - ChipLogProgress(chipTool, " ***** Test Step 328 : Write attribute NULLABLE_ENUM8 Min Value\n"); - err = TestWriteAttributeNullableEnum8MinValue_328(); + ChipLogProgress(chipTool, " ***** Test Step 328 : Read attribute NULLABLE_DOUBLE 0 Value\n"); + err = TestReadAttributeNullableDouble0Value_328(); break; case 329: - ChipLogProgress(chipTool, " ***** Test Step 329 : Read attribute NULLABLE_ENUM8 Min Value\n"); - err = TestReadAttributeNullableEnum8MinValue_329(); + ChipLogProgress(chipTool, " ***** Test Step 329 : Write attribute NULLABLE_ENUM8 Min Value\n"); + err = TestWriteAttributeNullableEnum8MinValue_329(); break; case 330: - ChipLogProgress(chipTool, " ***** Test Step 330 : Write attribute NULLABLE_ENUM8 Max Value\n"); - err = TestWriteAttributeNullableEnum8MaxValue_330(); + ChipLogProgress(chipTool, " ***** Test Step 330 : Read attribute NULLABLE_ENUM8 Min Value\n"); + err = TestReadAttributeNullableEnum8MinValue_330(); break; case 331: - ChipLogProgress(chipTool, " ***** Test Step 331 : Read attribute NULLABLE_ENUM8 Max Value\n"); - err = TestReadAttributeNullableEnum8MaxValue_331(); + ChipLogProgress(chipTool, " ***** Test Step 331 : Write attribute NULLABLE_ENUM8 Max Value\n"); + err = TestWriteAttributeNullableEnum8MaxValue_331(); break; case 332: - ChipLogProgress(chipTool, " ***** Test Step 332 : Write attribute NULLABLE_ENUM8 Invalid Value\n"); - err = TestWriteAttributeNullableEnum8InvalidValue_332(); + ChipLogProgress(chipTool, " ***** Test Step 332 : Read attribute NULLABLE_ENUM8 Max Value\n"); + err = TestReadAttributeNullableEnum8MaxValue_332(); break; case 333: - ChipLogProgress(chipTool, " ***** Test Step 333 : Read attribute NULLABLE_ENUM8 unchanged Value\n"); - err = TestReadAttributeNullableEnum8UnchangedValue_333(); + ChipLogProgress(chipTool, " ***** Test Step 333 : Write attribute NULLABLE_ENUM8 Invalid Value\n"); + err = TestWriteAttributeNullableEnum8InvalidValue_333(); break; case 334: - ChipLogProgress(chipTool, " ***** Test Step 334 : Write attribute NULLABLE_ENUM8 null Value\n"); - err = TestWriteAttributeNullableEnum8NullValue_334(); + ChipLogProgress(chipTool, " ***** Test Step 334 : Read attribute NULLABLE_ENUM8 unchanged Value\n"); + err = TestReadAttributeNullableEnum8UnchangedValue_334(); break; case 335: - ChipLogProgress(chipTool, " ***** Test Step 335 : Read attribute NULLABLE_ENUM8 null Value\n"); - err = TestReadAttributeNullableEnum8NullValue_335(); + ChipLogProgress(chipTool, " ***** Test Step 335 : Write attribute NULLABLE_ENUM8 null Value\n"); + err = TestWriteAttributeNullableEnum8NullValue_335(); break; case 336: - ChipLogProgress(chipTool, " ***** Test Step 336 : Write attribute NULLABLE_ENUM16 Min Value\n"); - err = TestWriteAttributeNullableEnum16MinValue_336(); + ChipLogProgress(chipTool, " ***** Test Step 336 : Read attribute NULLABLE_ENUM8 null Value\n"); + err = TestReadAttributeNullableEnum8NullValue_336(); break; case 337: - ChipLogProgress(chipTool, " ***** Test Step 337 : Read attribute NULLABLE_ENUM16 Min Value\n"); - err = TestReadAttributeNullableEnum16MinValue_337(); + ChipLogProgress(chipTool, " ***** Test Step 337 : Write attribute NULLABLE_ENUM16 Min Value\n"); + err = TestWriteAttributeNullableEnum16MinValue_337(); break; case 338: - ChipLogProgress(chipTool, " ***** Test Step 338 : Write attribute NULLABLE_ENUM16 Max Value\n"); - err = TestWriteAttributeNullableEnum16MaxValue_338(); + ChipLogProgress(chipTool, " ***** Test Step 338 : Read attribute NULLABLE_ENUM16 Min Value\n"); + err = TestReadAttributeNullableEnum16MinValue_338(); break; case 339: - ChipLogProgress(chipTool, " ***** Test Step 339 : Read attribute NULLABLE_ENUM16 Max Value\n"); - err = TestReadAttributeNullableEnum16MaxValue_339(); + ChipLogProgress(chipTool, " ***** Test Step 339 : Write attribute NULLABLE_ENUM16 Max Value\n"); + err = TestWriteAttributeNullableEnum16MaxValue_339(); break; case 340: - ChipLogProgress(chipTool, " ***** Test Step 340 : Write attribute NULLABLE_ENUM16 Invalid Value\n"); - err = TestWriteAttributeNullableEnum16InvalidValue_340(); + ChipLogProgress(chipTool, " ***** Test Step 340 : Read attribute NULLABLE_ENUM16 Max Value\n"); + err = TestReadAttributeNullableEnum16MaxValue_340(); break; case 341: - ChipLogProgress(chipTool, " ***** Test Step 341 : Read attribute NULLABLE_ENUM16 unchanged Value\n"); - err = TestReadAttributeNullableEnum16UnchangedValue_341(); + ChipLogProgress(chipTool, " ***** Test Step 341 : Write attribute NULLABLE_ENUM16 Invalid Value\n"); + err = TestWriteAttributeNullableEnum16InvalidValue_341(); break; case 342: - ChipLogProgress(chipTool, " ***** Test Step 342 : Write attribute NULLABLE_ENUM16 null Value\n"); - err = TestWriteAttributeNullableEnum16NullValue_342(); + ChipLogProgress(chipTool, " ***** Test Step 342 : Read attribute NULLABLE_ENUM16 unchanged Value\n"); + err = TestReadAttributeNullableEnum16UnchangedValue_342(); break; case 343: - ChipLogProgress(chipTool, " ***** Test Step 343 : Read attribute NULLABLE_ENUM16 null Value\n"); - err = TestReadAttributeNullableEnum16NullValue_343(); + ChipLogProgress(chipTool, " ***** Test Step 343 : Write attribute NULLABLE_ENUM16 null Value\n"); + err = TestWriteAttributeNullableEnum16NullValue_343(); break; case 344: - ChipLogProgress(chipTool, " ***** Test Step 344 : Write attribute NULLABLE_SIMPLE_ENUM Min Value\n"); - err = TestWriteAttributeNullableSimpleEnumMinValue_344(); + ChipLogProgress(chipTool, " ***** Test Step 344 : Read attribute NULLABLE_ENUM16 null Value\n"); + err = TestReadAttributeNullableEnum16NullValue_344(); break; case 345: - ChipLogProgress(chipTool, " ***** Test Step 345 : Read attribute NULLABLE_SIMPLE_ENUM Min Value\n"); - err = TestReadAttributeNullableSimpleEnumMinValue_345(); + ChipLogProgress(chipTool, " ***** Test Step 345 : Write attribute NULLABLE_SIMPLE_ENUM Min Value\n"); + err = TestWriteAttributeNullableSimpleEnumMinValue_345(); break; case 346: - ChipLogProgress(chipTool, " ***** Test Step 346 : Write attribute NULLABLE_SIMPLE_ENUM Max Value\n"); - err = TestWriteAttributeNullableSimpleEnumMaxValue_346(); + ChipLogProgress(chipTool, " ***** Test Step 346 : Read attribute NULLABLE_SIMPLE_ENUM Min Value\n"); + err = TestReadAttributeNullableSimpleEnumMinValue_346(); break; case 347: - ChipLogProgress(chipTool, " ***** Test Step 347 : Read attribute NULLABLE_SIMPLE_ENUM Max Value\n"); - err = TestReadAttributeNullableSimpleEnumMaxValue_347(); + ChipLogProgress(chipTool, " ***** Test Step 347 : Write attribute NULLABLE_SIMPLE_ENUM Max Value\n"); + err = TestWriteAttributeNullableSimpleEnumMaxValue_347(); break; case 348: - ChipLogProgress(chipTool, " ***** Test Step 348 : Write attribute NULLABLE_SIMPLE_ENUM Invalid Value\n"); - err = TestWriteAttributeNullableSimpleEnumInvalidValue_348(); + ChipLogProgress(chipTool, " ***** Test Step 348 : Read attribute NULLABLE_SIMPLE_ENUM Max Value\n"); + err = TestReadAttributeNullableSimpleEnumMaxValue_348(); break; case 349: - ChipLogProgress(chipTool, " ***** Test Step 349 : Read attribute NULLABLE_SIMPLE_ENUM unchanged Value\n"); - err = TestReadAttributeNullableSimpleEnumUnchangedValue_349(); + ChipLogProgress(chipTool, " ***** Test Step 349 : Write attribute NULLABLE_SIMPLE_ENUM Invalid Value\n"); + err = TestWriteAttributeNullableSimpleEnumInvalidValue_349(); break; case 350: - ChipLogProgress(chipTool, " ***** Test Step 350 : Write attribute NULLABLE_SIMPLE_ENUM null Value\n"); - err = TestWriteAttributeNullableSimpleEnumNullValue_350(); + ChipLogProgress(chipTool, " ***** Test Step 350 : Read attribute NULLABLE_SIMPLE_ENUM unchanged Value\n"); + err = TestReadAttributeNullableSimpleEnumUnchangedValue_350(); break; case 351: - ChipLogProgress(chipTool, " ***** Test Step 351 : Read attribute NULLABLE_SIMPLE_ENUM null Value\n"); - err = TestReadAttributeNullableSimpleEnumNullValue_351(); + ChipLogProgress(chipTool, " ***** Test Step 351 : Write attribute NULLABLE_SIMPLE_ENUM null Value\n"); + err = TestWriteAttributeNullableSimpleEnumNullValue_351(); break; case 352: - ChipLogProgress(chipTool, " ***** Test Step 352 : Read attribute NULLABLE_SIMPLE_ENUM not 254 Value\n"); - err = TestReadAttributeNullableSimpleEnumNot254Value_352(); + ChipLogProgress(chipTool, " ***** Test Step 352 : Read attribute NULLABLE_SIMPLE_ENUM null Value\n"); + err = TestReadAttributeNullableSimpleEnumNullValue_352(); break; case 353: - ChipLogProgress(chipTool, " ***** Test Step 353 : Read attribute NULLABLE_OCTET_STRING Default Value\n"); - err = TestReadAttributeNullableOctetStringDefaultValue_353(); + ChipLogProgress(chipTool, " ***** Test Step 353 : Read attribute NULLABLE_SIMPLE_ENUM not 3 Value\n"); + err = TestReadAttributeNullableSimpleEnumNot3Value_353(); break; case 354: - ChipLogProgress(chipTool, " ***** Test Step 354 : Write attribute NULLABLE_OCTET_STRING\n"); - err = TestWriteAttributeNullableOctetString_354(); + ChipLogProgress(chipTool, " ***** Test Step 354 : Read attribute NULLABLE_OCTET_STRING Default Value\n"); + err = TestReadAttributeNullableOctetStringDefaultValue_354(); break; case 355: - ChipLogProgress(chipTool, " ***** Test Step 355 : Read attribute NULLABLE_OCTET_STRING\n"); - err = TestReadAttributeNullableOctetString_355(); + ChipLogProgress(chipTool, " ***** Test Step 355 : Write attribute NULLABLE_OCTET_STRING\n"); + err = TestWriteAttributeNullableOctetString_355(); break; case 356: - ChipLogProgress(chipTool, " ***** Test Step 356 : Write attribute NULLABLE_OCTET_STRING\n"); - err = TestWriteAttributeNullableOctetString_356(); + ChipLogProgress(chipTool, " ***** Test Step 356 : Read attribute NULLABLE_OCTET_STRING\n"); + err = TestReadAttributeNullableOctetString_356(); break; case 357: - ChipLogProgress(chipTool, " ***** Test Step 357 : Read attribute NULLABLE_OCTET_STRING\n"); - err = TestReadAttributeNullableOctetString_357(); + ChipLogProgress(chipTool, " ***** Test Step 357 : Write attribute NULLABLE_OCTET_STRING\n"); + err = TestWriteAttributeNullableOctetString_357(); break; case 358: - ChipLogProgress(chipTool, " ***** Test Step 358 : Write attribute NULLABLE_OCTET_STRING\n"); - err = TestWriteAttributeNullableOctetString_358(); + ChipLogProgress(chipTool, " ***** Test Step 358 : Read attribute NULLABLE_OCTET_STRING\n"); + err = TestReadAttributeNullableOctetString_358(); break; case 359: - ChipLogProgress(chipTool, " ***** Test Step 359 : Read attribute NULLABLE_OCTET_STRING\n"); - err = TestReadAttributeNullableOctetString_359(); + ChipLogProgress(chipTool, " ***** Test Step 359 : Write attribute NULLABLE_OCTET_STRING\n"); + err = TestWriteAttributeNullableOctetString_359(); break; case 360: - ChipLogProgress(chipTool, " ***** Test Step 360 : Read attribute NULLABLE_OCTET_STRING not TestValue\n"); - err = TestReadAttributeNullableOctetStringNotTestValue_360(); + ChipLogProgress(chipTool, " ***** Test Step 360 : Read attribute NULLABLE_OCTET_STRING\n"); + err = TestReadAttributeNullableOctetString_360(); break; case 361: - ChipLogProgress(chipTool, " ***** Test Step 361 : Read attribute NULLABLE_CHAR_STRING Default Value\n"); - err = TestReadAttributeNullableCharStringDefaultValue_361(); + ChipLogProgress(chipTool, " ***** Test Step 361 : Read attribute NULLABLE_OCTET_STRING not TestValue\n"); + err = TestReadAttributeNullableOctetStringNotTestValue_361(); break; case 362: - ChipLogProgress(chipTool, " ***** Test Step 362 : Write attribute NULLABLE_CHAR_STRING\n"); - err = TestWriteAttributeNullableCharString_362(); + ChipLogProgress(chipTool, " ***** Test Step 362 : Read attribute NULLABLE_CHAR_STRING Default Value\n"); + err = TestReadAttributeNullableCharStringDefaultValue_362(); break; case 363: - ChipLogProgress(chipTool, " ***** Test Step 363 : Read attribute NULLABLE_CHAR_STRING\n"); - err = TestReadAttributeNullableCharString_363(); + ChipLogProgress(chipTool, " ***** Test Step 363 : Write attribute NULLABLE_CHAR_STRING\n"); + err = TestWriteAttributeNullableCharString_363(); break; case 364: ChipLogProgress(chipTool, " ***** Test Step 364 : Read attribute NULLABLE_CHAR_STRING\n"); err = TestReadAttributeNullableCharString_364(); break; case 365: - ChipLogProgress(chipTool, " ***** Test Step 365 : Write attribute NULLABLE_CHAR_STRING - Value too long\n"); - err = TestWriteAttributeNullableCharStringValueTooLong_365(); + ChipLogProgress(chipTool, " ***** Test Step 365 : Read attribute NULLABLE_CHAR_STRING\n"); + err = TestReadAttributeNullableCharString_365(); break; case 366: - ChipLogProgress(chipTool, " ***** Test Step 366 : Read attribute NULLABLE_CHAR_STRING\n"); - err = TestReadAttributeNullableCharString_366(); + ChipLogProgress(chipTool, " ***** Test Step 366 : Write attribute NULLABLE_CHAR_STRING - Value too long\n"); + err = TestWriteAttributeNullableCharStringValueTooLong_366(); break; case 367: - ChipLogProgress(chipTool, " ***** Test Step 367 : Write attribute NULLABLE_CHAR_STRING - Empty\n"); - err = TestWriteAttributeNullableCharStringEmpty_367(); + ChipLogProgress(chipTool, " ***** Test Step 367 : Read attribute NULLABLE_CHAR_STRING\n"); + err = TestReadAttributeNullableCharString_367(); break; case 368: - ChipLogProgress(chipTool, " ***** Test Step 368 : Read attribute NULLABLE_CHAR_STRING\n"); - err = TestReadAttributeNullableCharString_368(); + ChipLogProgress(chipTool, " ***** Test Step 368 : Write attribute NULLABLE_CHAR_STRING - Empty\n"); + err = TestWriteAttributeNullableCharStringEmpty_368(); break; case 369: - ChipLogProgress(chipTool, " ***** Test Step 369 : Read attribute NULLABLE_CHAR_STRING not ☉T☉\n"); - err = TestReadAttributeNullableCharStringNott_369(); + ChipLogProgress(chipTool, " ***** Test Step 369 : Read attribute NULLABLE_CHAR_STRING\n"); + err = TestReadAttributeNullableCharString_369(); break; case 370: - ChipLogProgress(chipTool, " ***** Test Step 370 : Read attribute from nonexistent endpoint.\n"); - err = TestReadAttributeFromNonexistentEndpoint_370(); + ChipLogProgress(chipTool, " ***** Test Step 370 : Read attribute NULLABLE_CHAR_STRING not ☉T☉\n"); + err = TestReadAttributeNullableCharStringNott_370(); break; case 371: - ChipLogProgress(chipTool, " ***** Test Step 371 : Read attribute from nonexistent cluster.\n"); - err = TestReadAttributeFromNonexistentCluster_371(); + ChipLogProgress(chipTool, " ***** Test Step 371 : Read attribute from nonexistent endpoint.\n"); + err = TestReadAttributeFromNonexistentEndpoint_371(); break; case 372: - ChipLogProgress( - chipTool, " ***** Test Step 372 : Send a command that takes an optional parameter but do not set it.\n"); - err = TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_372(); + ChipLogProgress(chipTool, " ***** Test Step 372 : Read attribute from nonexistent cluster.\n"); + err = TestReadAttributeFromNonexistentCluster_372(); break; case 373: ChipLogProgress( @@ -67646,552 +67645,557 @@ class TestCluster : public TestCommandBridge { err = TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_373(); break; case 374: - ChipLogProgress(chipTool, " ***** Test Step 374 : Report: Subscribe to list attribute\n"); - err = TestReportSubscribeToListAttribute_374(); + ChipLogProgress( + chipTool, " ***** Test Step 374 : Send a command that takes an optional parameter but do not set it.\n"); + err = TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_374(); break; case 375: - ChipLogProgress(chipTool, " ***** Test Step 375 : Subscribe to list attribute\n"); - err = TestSubscribeToListAttribute_375(); + ChipLogProgress(chipTool, " ***** Test Step 375 : Report: Subscribe to list attribute\n"); + err = TestReportSubscribeToListAttribute_375(); break; case 376: - ChipLogProgress(chipTool, " ***** Test Step 376 : Write subscribed-to list attribute\n"); - err = TestWriteSubscribedToListAttribute_376(); + ChipLogProgress(chipTool, " ***** Test Step 376 : Subscribe to list attribute\n"); + err = TestSubscribeToListAttribute_376(); break; case 377: - ChipLogProgress(chipTool, " ***** Test Step 377 : Check for list attribute report\n"); - err = TestCheckForListAttributeReport_377(); + ChipLogProgress(chipTool, " ***** Test Step 377 : Write subscribed-to list attribute\n"); + err = TestWriteSubscribedToListAttribute_377(); break; case 378: - ChipLogProgress(chipTool, " ***** Test Step 378 : Read range-restricted unsigned 8-bit integer\n"); - err = TestReadRangeRestrictedUnsigned8BitInteger_378(); + ChipLogProgress(chipTool, " ***** Test Step 378 : Check for list attribute report\n"); + err = TestCheckForListAttributeReport_378(); break; case 379: - ChipLogProgress(chipTool, " ***** Test Step 379 : Write min value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteMinValueToARangeRestrictedUnsigned8BitInteger_379(); + ChipLogProgress(chipTool, " ***** Test Step 379 : Read range-restricted unsigned 8-bit integer\n"); + err = TestReadRangeRestrictedUnsigned8BitInteger_379(); break; case 380: - ChipLogProgress( - chipTool, " ***** Test Step 380 : Write just-below-range value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteJustBelowRangeValueToARangeRestrictedUnsigned8BitInteger_380(); + ChipLogProgress(chipTool, " ***** Test Step 380 : Write min value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteMinValueToARangeRestrictedUnsigned8BitInteger_380(); break; case 381: ChipLogProgress( - chipTool, " ***** Test Step 381 : Write just-above-range value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteJustAboveRangeValueToARangeRestrictedUnsigned8BitInteger_381(); + chipTool, " ***** Test Step 381 : Write just-below-range value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteJustBelowRangeValueToARangeRestrictedUnsigned8BitInteger_381(); break; case 382: - ChipLogProgress(chipTool, " ***** Test Step 382 : Write max value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteMaxValueToARangeRestrictedUnsigned8BitInteger_382(); + ChipLogProgress( + chipTool, " ***** Test Step 382 : Write just-above-range value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteJustAboveRangeValueToARangeRestrictedUnsigned8BitInteger_382(); break; case 383: - ChipLogProgress( - chipTool, " ***** Test Step 383 : Verify range-restricted unsigned 8-bit integer value has not changed\n"); - err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_383(); + ChipLogProgress(chipTool, " ***** Test Step 383 : Write max value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteMaxValueToARangeRestrictedUnsigned8BitInteger_383(); break; case 384: ChipLogProgress( - chipTool, " ***** Test Step 384 : Write min valid value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteMinValidValueToARangeRestrictedUnsigned8BitInteger_384(); + chipTool, " ***** Test Step 384 : Verify range-restricted unsigned 8-bit integer value has not changed\n"); + err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_384(); break; case 385: ChipLogProgress( - chipTool, " ***** Test Step 385 : Verify range-restricted unsigned 8-bit integer value is at min valid\n"); - err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_385(); + chipTool, " ***** Test Step 385 : Write min valid value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteMinValidValueToARangeRestrictedUnsigned8BitInteger_385(); break; case 386: ChipLogProgress( - chipTool, " ***** Test Step 386 : Write max valid value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteMaxValidValueToARangeRestrictedUnsigned8BitInteger_386(); + chipTool, " ***** Test Step 386 : Verify range-restricted unsigned 8-bit integer value is at min valid\n"); + err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_386(); break; case 387: ChipLogProgress( - chipTool, " ***** Test Step 387 : Verify range-restricted unsigned 8-bit integer value is at max valid\n"); - err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_387(); + chipTool, " ***** Test Step 387 : Write max valid value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteMaxValidValueToARangeRestrictedUnsigned8BitInteger_387(); break; case 388: ChipLogProgress( - chipTool, " ***** Test Step 388 : Write middle valid value to a range-restricted unsigned 8-bit integer\n"); - err = TestWriteMiddleValidValueToARangeRestrictedUnsigned8BitInteger_388(); + chipTool, " ***** Test Step 388 : Verify range-restricted unsigned 8-bit integer value is at max valid\n"); + err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_388(); break; case 389: ChipLogProgress( - chipTool, " ***** Test Step 389 : Verify range-restricted unsigned 8-bit integer value is at mid valid\n"); - err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_389(); + chipTool, " ***** Test Step 389 : Write middle valid value to a range-restricted unsigned 8-bit integer\n"); + err = TestWriteMiddleValidValueToARangeRestrictedUnsigned8BitInteger_389(); break; case 390: - ChipLogProgress(chipTool, " ***** Test Step 390 : Read range-restricted unsigned 16-bit integer\n"); - err = TestReadRangeRestrictedUnsigned16BitInteger_390(); + ChipLogProgress( + chipTool, " ***** Test Step 390 : Verify range-restricted unsigned 8-bit integer value is at mid valid\n"); + err = TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_390(); break; case 391: - ChipLogProgress(chipTool, " ***** Test Step 391 : Write min value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteMinValueToARangeRestrictedUnsigned16BitInteger_391(); + ChipLogProgress(chipTool, " ***** Test Step 391 : Read range-restricted unsigned 16-bit integer\n"); + err = TestReadRangeRestrictedUnsigned16BitInteger_391(); break; case 392: - ChipLogProgress( - chipTool, " ***** Test Step 392 : Write just-below-range value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteJustBelowRangeValueToARangeRestrictedUnsigned16BitInteger_392(); + ChipLogProgress(chipTool, " ***** Test Step 392 : Write min value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteMinValueToARangeRestrictedUnsigned16BitInteger_392(); break; case 393: ChipLogProgress( - chipTool, " ***** Test Step 393 : Write just-above-range value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteJustAboveRangeValueToARangeRestrictedUnsigned16BitInteger_393(); + chipTool, " ***** Test Step 393 : Write just-below-range value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteJustBelowRangeValueToARangeRestrictedUnsigned16BitInteger_393(); break; case 394: - ChipLogProgress(chipTool, " ***** Test Step 394 : Write max value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteMaxValueToARangeRestrictedUnsigned16BitInteger_394(); + ChipLogProgress( + chipTool, " ***** Test Step 394 : Write just-above-range value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteJustAboveRangeValueToARangeRestrictedUnsigned16BitInteger_394(); break; case 395: - ChipLogProgress( - chipTool, " ***** Test Step 395 : Verify range-restricted unsigned 16-bit integer value has not changed\n"); - err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_395(); + ChipLogProgress(chipTool, " ***** Test Step 395 : Write max value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteMaxValueToARangeRestrictedUnsigned16BitInteger_395(); break; case 396: ChipLogProgress( - chipTool, " ***** Test Step 396 : Write min valid value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteMinValidValueToARangeRestrictedUnsigned16BitInteger_396(); + chipTool, " ***** Test Step 396 : Verify range-restricted unsigned 16-bit integer value has not changed\n"); + err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_396(); break; case 397: ChipLogProgress( - chipTool, " ***** Test Step 397 : Verify range-restricted unsigned 16-bit integer value is at min valid\n"); - err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_397(); + chipTool, " ***** Test Step 397 : Write min valid value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteMinValidValueToARangeRestrictedUnsigned16BitInteger_397(); break; case 398: ChipLogProgress( - chipTool, " ***** Test Step 398 : Write max valid value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteMaxValidValueToARangeRestrictedUnsigned16BitInteger_398(); + chipTool, " ***** Test Step 398 : Verify range-restricted unsigned 16-bit integer value is at min valid\n"); + err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_398(); break; case 399: ChipLogProgress( - chipTool, " ***** Test Step 399 : Verify range-restricted unsigned 16-bit integer value is at max valid\n"); - err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_399(); + chipTool, " ***** Test Step 399 : Write max valid value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteMaxValidValueToARangeRestrictedUnsigned16BitInteger_399(); break; case 400: ChipLogProgress( - chipTool, " ***** Test Step 400 : Write middle valid value to a range-restricted unsigned 16-bit integer\n"); - err = TestWriteMiddleValidValueToARangeRestrictedUnsigned16BitInteger_400(); + chipTool, " ***** Test Step 400 : Verify range-restricted unsigned 16-bit integer value is at max valid\n"); + err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_400(); break; case 401: ChipLogProgress( - chipTool, " ***** Test Step 401 : Verify range-restricted unsigned 16-bit integer value is at mid valid\n"); - err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_401(); + chipTool, " ***** Test Step 401 : Write middle valid value to a range-restricted unsigned 16-bit integer\n"); + err = TestWriteMiddleValidValueToARangeRestrictedUnsigned16BitInteger_401(); break; case 402: - ChipLogProgress(chipTool, " ***** Test Step 402 : Read range-restricted signed 8-bit integer\n"); - err = TestReadRangeRestrictedSigned8BitInteger_402(); + ChipLogProgress( + chipTool, " ***** Test Step 402 : Verify range-restricted unsigned 16-bit integer value is at mid valid\n"); + err = TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_402(); break; case 403: - ChipLogProgress(chipTool, " ***** Test Step 403 : Write min value to a range-restricted signed 8-bit integer\n"); - err = TestWriteMinValueToARangeRestrictedSigned8BitInteger_403(); + ChipLogProgress(chipTool, " ***** Test Step 403 : Read range-restricted signed 8-bit integer\n"); + err = TestReadRangeRestrictedSigned8BitInteger_403(); break; case 404: - ChipLogProgress( - chipTool, " ***** Test Step 404 : Write just-below-range value to a range-restricted signed 8-bit integer\n"); - err = TestWriteJustBelowRangeValueToARangeRestrictedSigned8BitInteger_404(); + ChipLogProgress(chipTool, " ***** Test Step 404 : Write min value to a range-restricted signed 8-bit integer\n"); + err = TestWriteMinValueToARangeRestrictedSigned8BitInteger_404(); break; case 405: ChipLogProgress( - chipTool, " ***** Test Step 405 : Write just-above-range value to a range-restricted signed 8-bit integer\n"); - err = TestWriteJustAboveRangeValueToARangeRestrictedSigned8BitInteger_405(); + chipTool, " ***** Test Step 405 : Write just-below-range value to a range-restricted signed 8-bit integer\n"); + err = TestWriteJustBelowRangeValueToARangeRestrictedSigned8BitInteger_405(); break; case 406: - ChipLogProgress(chipTool, " ***** Test Step 406 : Write max value to a range-restricted signed 8-bit integer\n"); - err = TestWriteMaxValueToARangeRestrictedSigned8BitInteger_406(); + ChipLogProgress( + chipTool, " ***** Test Step 406 : Write just-above-range value to a range-restricted signed 8-bit integer\n"); + err = TestWriteJustAboveRangeValueToARangeRestrictedSigned8BitInteger_406(); break; case 407: - ChipLogProgress( - chipTool, " ***** Test Step 407 : Verify range-restricted signed 8-bit integer value has not changed\n"); - err = TestVerifyRangeRestrictedSigned8BitIntegerValueHasNotChanged_407(); + ChipLogProgress(chipTool, " ***** Test Step 407 : Write max value to a range-restricted signed 8-bit integer\n"); + err = TestWriteMaxValueToARangeRestrictedSigned8BitInteger_407(); break; case 408: - ChipLogProgress(chipTool, " ***** Test Step 408 : Write min valid value to a range-restricted signed 8-bit integer\n"); - err = TestWriteMinValidValueToARangeRestrictedSigned8BitInteger_408(); + ChipLogProgress( + chipTool, " ***** Test Step 408 : Verify range-restricted signed 8-bit integer value has not changed\n"); + err = TestVerifyRangeRestrictedSigned8BitIntegerValueHasNotChanged_408(); break; case 409: - ChipLogProgress( - chipTool, " ***** Test Step 409 : Verify range-restricted signed 8-bit integer value is at min valid\n"); - err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMinValid_409(); + ChipLogProgress(chipTool, " ***** Test Step 409 : Write min valid value to a range-restricted signed 8-bit integer\n"); + err = TestWriteMinValidValueToARangeRestrictedSigned8BitInteger_409(); break; case 410: - ChipLogProgress(chipTool, " ***** Test Step 410 : Write max valid value to a range-restricted signed 8-bit integer\n"); - err = TestWriteMaxValidValueToARangeRestrictedSigned8BitInteger_410(); + ChipLogProgress( + chipTool, " ***** Test Step 410 : Verify range-restricted signed 8-bit integer value is at min valid\n"); + err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMinValid_410(); break; case 411: - ChipLogProgress( - chipTool, " ***** Test Step 411 : Verify range-restricted signed 8-bit integer value is at max valid\n"); - err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_411(); + ChipLogProgress(chipTool, " ***** Test Step 411 : Write max valid value to a range-restricted signed 8-bit integer\n"); + err = TestWriteMaxValidValueToARangeRestrictedSigned8BitInteger_411(); break; case 412: ChipLogProgress( - chipTool, " ***** Test Step 412 : Write middle valid value to a range-restricted signed 8-bit integer\n"); - err = TestWriteMiddleValidValueToARangeRestrictedSigned8BitInteger_412(); + chipTool, " ***** Test Step 412 : Verify range-restricted signed 8-bit integer value is at max valid\n"); + err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_412(); break; case 413: ChipLogProgress( - chipTool, " ***** Test Step 413 : Verify range-restricted signed 8-bit integer value is at mid valid\n"); - err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMidValid_413(); + chipTool, " ***** Test Step 413 : Write middle valid value to a range-restricted signed 8-bit integer\n"); + err = TestWriteMiddleValidValueToARangeRestrictedSigned8BitInteger_413(); break; case 414: - ChipLogProgress(chipTool, " ***** Test Step 414 : Read range-restricted signed 16-bit integer\n"); - err = TestReadRangeRestrictedSigned16BitInteger_414(); + ChipLogProgress( + chipTool, " ***** Test Step 414 : Verify range-restricted signed 8-bit integer value is at mid valid\n"); + err = TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMidValid_414(); break; case 415: - ChipLogProgress(chipTool, " ***** Test Step 415 : Write min value to a range-restricted signed 16-bit integer\n"); - err = TestWriteMinValueToARangeRestrictedSigned16BitInteger_415(); + ChipLogProgress(chipTool, " ***** Test Step 415 : Read range-restricted signed 16-bit integer\n"); + err = TestReadRangeRestrictedSigned16BitInteger_415(); break; case 416: - ChipLogProgress( - chipTool, " ***** Test Step 416 : Write just-below-range value to a range-restricted signed 16-bit integer\n"); - err = TestWriteJustBelowRangeValueToARangeRestrictedSigned16BitInteger_416(); + ChipLogProgress(chipTool, " ***** Test Step 416 : Write min value to a range-restricted signed 16-bit integer\n"); + err = TestWriteMinValueToARangeRestrictedSigned16BitInteger_416(); break; case 417: ChipLogProgress( - chipTool, " ***** Test Step 417 : Write just-above-range value to a range-restricted signed 16-bit integer\n"); - err = TestWriteJustAboveRangeValueToARangeRestrictedSigned16BitInteger_417(); + chipTool, " ***** Test Step 417 : Write just-below-range value to a range-restricted signed 16-bit integer\n"); + err = TestWriteJustBelowRangeValueToARangeRestrictedSigned16BitInteger_417(); break; case 418: - ChipLogProgress(chipTool, " ***** Test Step 418 : Write max value to a range-restricted signed 16-bit integer\n"); - err = TestWriteMaxValueToARangeRestrictedSigned16BitInteger_418(); + ChipLogProgress( + chipTool, " ***** Test Step 418 : Write just-above-range value to a range-restricted signed 16-bit integer\n"); + err = TestWriteJustAboveRangeValueToARangeRestrictedSigned16BitInteger_418(); break; case 419: - ChipLogProgress( - chipTool, " ***** Test Step 419 : Verify range-restricted signed 16-bit integer value has not changed\n"); - err = TestVerifyRangeRestrictedSigned16BitIntegerValueHasNotChanged_419(); + ChipLogProgress(chipTool, " ***** Test Step 419 : Write max value to a range-restricted signed 16-bit integer\n"); + err = TestWriteMaxValueToARangeRestrictedSigned16BitInteger_419(); break; case 420: - ChipLogProgress(chipTool, " ***** Test Step 420 : Write min valid value to a range-restricted signed 16-bit integer\n"); - err = TestWriteMinValidValueToARangeRestrictedSigned16BitInteger_420(); + ChipLogProgress( + chipTool, " ***** Test Step 420 : Verify range-restricted signed 16-bit integer value has not changed\n"); + err = TestVerifyRangeRestrictedSigned16BitIntegerValueHasNotChanged_420(); break; case 421: - ChipLogProgress( - chipTool, " ***** Test Step 421 : Verify range-restricted signed 16-bit integer value is at min valid\n"); - err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMinValid_421(); + ChipLogProgress(chipTool, " ***** Test Step 421 : Write min valid value to a range-restricted signed 16-bit integer\n"); + err = TestWriteMinValidValueToARangeRestrictedSigned16BitInteger_421(); break; case 422: - ChipLogProgress(chipTool, " ***** Test Step 422 : Write max valid value to a range-restricted signed 16-bit integer\n"); - err = TestWriteMaxValidValueToARangeRestrictedSigned16BitInteger_422(); + ChipLogProgress( + chipTool, " ***** Test Step 422 : Verify range-restricted signed 16-bit integer value is at min valid\n"); + err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMinValid_422(); break; case 423: - ChipLogProgress( - chipTool, " ***** Test Step 423 : Verify range-restricted signed 16-bit integer value is at max valid\n"); - err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_423(); + ChipLogProgress(chipTool, " ***** Test Step 423 : Write max valid value to a range-restricted signed 16-bit integer\n"); + err = TestWriteMaxValidValueToARangeRestrictedSigned16BitInteger_423(); break; case 424: ChipLogProgress( - chipTool, " ***** Test Step 424 : Write middle valid value to a range-restricted signed 16-bit integer\n"); - err = TestWriteMiddleValidValueToARangeRestrictedSigned16BitInteger_424(); + chipTool, " ***** Test Step 424 : Verify range-restricted signed 16-bit integer value is at max valid\n"); + err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_424(); break; case 425: ChipLogProgress( - chipTool, " ***** Test Step 425 : Verify range-restricted signed 16-bit integer value is at mid valid\n"); - err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMidValid_425(); + chipTool, " ***** Test Step 425 : Write middle valid value to a range-restricted signed 16-bit integer\n"); + err = TestWriteMiddleValidValueToARangeRestrictedSigned16BitInteger_425(); break; case 426: - ChipLogProgress(chipTool, " ***** Test Step 426 : Read nullable range-restricted unsigned 8-bit integer\n"); - err = TestReadNullableRangeRestrictedUnsigned8BitInteger_426(); + ChipLogProgress( + chipTool, " ***** Test Step 426 : Verify range-restricted signed 16-bit integer value is at mid valid\n"); + err = TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMidValid_426(); break; case 427: - ChipLogProgress( - chipTool, " ***** Test Step 427 : Write min value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteMinValueToANullableRangeRestrictedUnsigned8BitInteger_427(); + ChipLogProgress(chipTool, " ***** Test Step 427 : Read nullable range-restricted unsigned 8-bit integer\n"); + err = TestReadNullableRangeRestrictedUnsigned8BitInteger_427(); break; case 428: - ChipLogProgress(chipTool, - " ***** Test Step 428 : Write just-below-range value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned8BitInteger_428(); + ChipLogProgress( + chipTool, " ***** Test Step 428 : Write min value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteMinValueToANullableRangeRestrictedUnsigned8BitInteger_428(); break; case 429: ChipLogProgress(chipTool, - " ***** Test Step 429 : Write just-above-range value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned8BitInteger_429(); + " ***** Test Step 429 : Write just-below-range value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned8BitInteger_429(); break; case 430: - ChipLogProgress( - chipTool, " ***** Test Step 430 : Write max value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteMaxValueToANullableRangeRestrictedUnsigned8BitInteger_430(); + ChipLogProgress(chipTool, + " ***** Test Step 430 : Write just-above-range value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned8BitInteger_430(); break; case 431: ChipLogProgress( - chipTool, " ***** Test Step 431 : Verify nullable range-restricted unsigned 8-bit integer value has not changed\n"); - err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_431(); + chipTool, " ***** Test Step 431 : Write max value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteMaxValueToANullableRangeRestrictedUnsigned8BitInteger_431(); break; case 432: ChipLogProgress( - chipTool, " ***** Test Step 432 : Write min valid value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteMinValidValueToANullableRangeRestrictedUnsigned8BitInteger_432(); + chipTool, " ***** Test Step 432 : Verify nullable range-restricted unsigned 8-bit integer value has not changed\n"); + err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_432(); break; case 433: ChipLogProgress( - chipTool, " ***** Test Step 433 : Verify nullable range-restricted unsigned 8-bit integer value is at min valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_433(); + chipTool, " ***** Test Step 433 : Write min valid value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteMinValidValueToANullableRangeRestrictedUnsigned8BitInteger_433(); break; case 434: ChipLogProgress( - chipTool, " ***** Test Step 434 : Write max valid value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteMaxValidValueToANullableRangeRestrictedUnsigned8BitInteger_434(); + chipTool, " ***** Test Step 434 : Verify nullable range-restricted unsigned 8-bit integer value is at min valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_434(); break; case 435: ChipLogProgress( - chipTool, " ***** Test Step 435 : Verify nullable range-restricted unsigned 8-bit integer value is at max valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_435(); + chipTool, " ***** Test Step 435 : Write max valid value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteMaxValidValueToANullableRangeRestrictedUnsigned8BitInteger_435(); break; case 436: - ChipLogProgress(chipTool, - " ***** Test Step 436 : Write middle valid value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned8BitInteger_436(); + ChipLogProgress( + chipTool, " ***** Test Step 436 : Verify nullable range-restricted unsigned 8-bit integer value is at max valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_436(); break; case 437: - ChipLogProgress( - chipTool, " ***** Test Step 437 : Verify nullable range-restricted unsigned 8-bit integer value is at mid valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_437(); + ChipLogProgress(chipTool, + " ***** Test Step 437 : Write middle valid value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned8BitInteger_437(); break; case 438: ChipLogProgress( - chipTool, " ***** Test Step 438 : Write null value to a nullable range-restricted unsigned 8-bit integer\n"); - err = TestWriteNullValueToANullableRangeRestrictedUnsigned8BitInteger_438(); + chipTool, " ***** Test Step 438 : Verify nullable range-restricted unsigned 8-bit integer value is at mid valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_438(); break; case 439: ChipLogProgress( - chipTool, " ***** Test Step 439 : Verify nullable range-restricted unsigned 8-bit integer value is null\n"); - err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsNull_439(); + chipTool, " ***** Test Step 439 : Write null value to a nullable range-restricted unsigned 8-bit integer\n"); + err = TestWriteNullValueToANullableRangeRestrictedUnsigned8BitInteger_439(); break; case 440: - ChipLogProgress(chipTool, " ***** Test Step 440 : Read nullable range-restricted unsigned 16-bit integer\n"); - err = TestReadNullableRangeRestrictedUnsigned16BitInteger_440(); + ChipLogProgress( + chipTool, " ***** Test Step 440 : Verify nullable range-restricted unsigned 8-bit integer value is null\n"); + err = TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsNull_440(); break; case 441: - ChipLogProgress( - chipTool, " ***** Test Step 441 : Write min value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteMinValueToANullableRangeRestrictedUnsigned16BitInteger_441(); + ChipLogProgress(chipTool, " ***** Test Step 441 : Read nullable range-restricted unsigned 16-bit integer\n"); + err = TestReadNullableRangeRestrictedUnsigned16BitInteger_441(); break; case 442: - ChipLogProgress(chipTool, - " ***** Test Step 442 : Write just-below-range value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned16BitInteger_442(); + ChipLogProgress( + chipTool, " ***** Test Step 442 : Write min value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteMinValueToANullableRangeRestrictedUnsigned16BitInteger_442(); break; case 443: ChipLogProgress(chipTool, - " ***** Test Step 443 : Write just-above-range value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned16BitInteger_443(); + " ***** Test Step 443 : Write just-below-range value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned16BitInteger_443(); break; case 444: - ChipLogProgress( - chipTool, " ***** Test Step 444 : Write max value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteMaxValueToANullableRangeRestrictedUnsigned16BitInteger_444(); + ChipLogProgress(chipTool, + " ***** Test Step 444 : Write just-above-range value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned16BitInteger_444(); break; case 445: - ChipLogProgress(chipTool, - " ***** Test Step 445 : Verify nullable range-restricted unsigned 16-bit integer value has not changed\n"); - err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_445(); + ChipLogProgress( + chipTool, " ***** Test Step 445 : Write max value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteMaxValueToANullableRangeRestrictedUnsigned16BitInteger_445(); break; case 446: - ChipLogProgress( - chipTool, " ***** Test Step 446 : Write min valid value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteMinValidValueToANullableRangeRestrictedUnsigned16BitInteger_446(); + ChipLogProgress(chipTool, + " ***** Test Step 446 : Verify nullable range-restricted unsigned 16-bit integer value has not changed\n"); + err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_446(); break; case 447: - ChipLogProgress(chipTool, - " ***** Test Step 447 : Verify nullable range-restricted unsigned 16-bit integer value is at min valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_447(); + ChipLogProgress( + chipTool, " ***** Test Step 447 : Write min valid value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteMinValidValueToANullableRangeRestrictedUnsigned16BitInteger_447(); break; case 448: - ChipLogProgress( - chipTool, " ***** Test Step 448 : Write max valid value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteMaxValidValueToANullableRangeRestrictedUnsigned16BitInteger_448(); + ChipLogProgress(chipTool, + " ***** Test Step 448 : Verify nullable range-restricted unsigned 16-bit integer value is at min valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_448(); break; case 449: - ChipLogProgress(chipTool, - " ***** Test Step 449 : Verify nullable range-restricted unsigned 16-bit integer value is at max valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_449(); + ChipLogProgress( + chipTool, " ***** Test Step 449 : Write max valid value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteMaxValidValueToANullableRangeRestrictedUnsigned16BitInteger_449(); break; case 450: ChipLogProgress(chipTool, - " ***** Test Step 450 : Write middle valid value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned16BitInteger_450(); + " ***** Test Step 450 : Verify nullable range-restricted unsigned 16-bit integer value is at max valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_450(); break; case 451: ChipLogProgress(chipTool, - " ***** Test Step 451 : Verify nullable range-restricted unsigned 16-bit integer value is at mid valid\n"); - err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_451(); + " ***** Test Step 451 : Write middle valid value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned16BitInteger_451(); break; case 452: - ChipLogProgress( - chipTool, " ***** Test Step 452 : Write null value to a nullable range-restricted unsigned 16-bit integer\n"); - err = TestWriteNullValueToANullableRangeRestrictedUnsigned16BitInteger_452(); + ChipLogProgress(chipTool, + " ***** Test Step 452 : Verify nullable range-restricted unsigned 16-bit integer value is at mid valid\n"); + err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_452(); break; case 453: ChipLogProgress( - chipTool, " ***** Test Step 453 : Verify nullable range-restricted unsigned 16-bit integer value is null\n"); - err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsNull_453(); + chipTool, " ***** Test Step 453 : Write null value to a nullable range-restricted unsigned 16-bit integer\n"); + err = TestWriteNullValueToANullableRangeRestrictedUnsigned16BitInteger_453(); break; case 454: - ChipLogProgress(chipTool, " ***** Test Step 454 : Read nullable range-restricted signed 8-bit integer\n"); - err = TestReadNullableRangeRestrictedSigned8BitInteger_454(); + ChipLogProgress( + chipTool, " ***** Test Step 454 : Verify nullable range-restricted unsigned 16-bit integer value is null\n"); + err = TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsNull_454(); break; case 455: - ChipLogProgress( - chipTool, " ***** Test Step 455 : Write min value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteMinValueToANullableRangeRestrictedSigned8BitInteger_455(); + ChipLogProgress(chipTool, " ***** Test Step 455 : Read nullable range-restricted signed 8-bit integer\n"); + err = TestReadNullableRangeRestrictedSigned8BitInteger_455(); break; case 456: - ChipLogProgress(chipTool, - " ***** Test Step 456 : Write just-below-range value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned8BitInteger_456(); + ChipLogProgress( + chipTool, " ***** Test Step 456 : Write min value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteMinValueToANullableRangeRestrictedSigned8BitInteger_456(); break; case 457: ChipLogProgress(chipTool, - " ***** Test Step 457 : Write just-above-range value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned8BitInteger_457(); + " ***** Test Step 457 : Write just-below-range value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned8BitInteger_457(); break; case 458: - ChipLogProgress( - chipTool, " ***** Test Step 458 : Write max value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteMaxValueToANullableRangeRestrictedSigned8BitInteger_458(); + ChipLogProgress(chipTool, + " ***** Test Step 458 : Write just-above-range value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned8BitInteger_458(); break; case 459: ChipLogProgress( - chipTool, " ***** Test Step 459 : Verify nullable range-restricted signed 8-bit integer value has not changed\n"); - err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueHasNotChanged_459(); + chipTool, " ***** Test Step 459 : Write max value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteMaxValueToANullableRangeRestrictedSigned8BitInteger_459(); break; case 460: ChipLogProgress( - chipTool, " ***** Test Step 460 : Write min valid value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteMinValidValueToANullableRangeRestrictedSigned8BitInteger_460(); + chipTool, " ***** Test Step 460 : Verify nullable range-restricted signed 8-bit integer value has not changed\n"); + err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueHasNotChanged_460(); break; case 461: ChipLogProgress( - chipTool, " ***** Test Step 461 : Verify nullable range-restricted signed 8-bit integer value is at min valid\n"); - err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMinValid_461(); + chipTool, " ***** Test Step 461 : Write min valid value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteMinValidValueToANullableRangeRestrictedSigned8BitInteger_461(); break; case 462: ChipLogProgress( - chipTool, " ***** Test Step 462 : Write max valid value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteMaxValidValueToANullableRangeRestrictedSigned8BitInteger_462(); + chipTool, " ***** Test Step 462 : Verify nullable range-restricted signed 8-bit integer value is at min valid\n"); + err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMinValid_462(); break; case 463: ChipLogProgress( - chipTool, " ***** Test Step 463 : Verify nullable range-restricted signed 8-bit integer value is at max valid\n"); - err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_463(); + chipTool, " ***** Test Step 463 : Write max valid value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteMaxValidValueToANullableRangeRestrictedSigned8BitInteger_463(); break; case 464: ChipLogProgress( - chipTool, " ***** Test Step 464 : Write middle valid value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteMiddleValidValueToANullableRangeRestrictedSigned8BitInteger_464(); + chipTool, " ***** Test Step 464 : Verify nullable range-restricted signed 8-bit integer value is at max valid\n"); + err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_464(); break; case 465: ChipLogProgress( - chipTool, " ***** Test Step 465 : Verify nullable range-restricted signed 8-bit integer value is at mid valid\n"); - err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMidValid_465(); + chipTool, " ***** Test Step 465 : Write middle valid value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteMiddleValidValueToANullableRangeRestrictedSigned8BitInteger_465(); break; case 466: ChipLogProgress( - chipTool, " ***** Test Step 466 : Write null value to a nullable range-restricted signed 8-bit integer\n"); - err = TestWriteNullValueToANullableRangeRestrictedSigned8BitInteger_466(); + chipTool, " ***** Test Step 466 : Verify nullable range-restricted signed 8-bit integer value is at mid valid\n"); + err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMidValid_466(); break; case 467: ChipLogProgress( - chipTool, " ***** Test Step 467 : Verify nullable range-restricted signed 8-bit integer value is at null\n"); - err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtNull_467(); + chipTool, " ***** Test Step 467 : Write null value to a nullable range-restricted signed 8-bit integer\n"); + err = TestWriteNullValueToANullableRangeRestrictedSigned8BitInteger_467(); break; case 468: - ChipLogProgress(chipTool, " ***** Test Step 468 : Read nullable range-restricted signed 16-bit integer\n"); - err = TestReadNullableRangeRestrictedSigned16BitInteger_468(); + ChipLogProgress( + chipTool, " ***** Test Step 468 : Verify nullable range-restricted signed 8-bit integer value is at null\n"); + err = TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtNull_468(); break; case 469: - ChipLogProgress( - chipTool, " ***** Test Step 469 : Write min value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteMinValueToANullableRangeRestrictedSigned16BitInteger_469(); + ChipLogProgress(chipTool, " ***** Test Step 469 : Read nullable range-restricted signed 16-bit integer\n"); + err = TestReadNullableRangeRestrictedSigned16BitInteger_469(); break; case 470: - ChipLogProgress(chipTool, - " ***** Test Step 470 : Write just-below-range value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned16BitInteger_470(); + ChipLogProgress( + chipTool, " ***** Test Step 470 : Write min value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteMinValueToANullableRangeRestrictedSigned16BitInteger_470(); break; case 471: ChipLogProgress(chipTool, - " ***** Test Step 471 : Write just-above-range value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned16BitInteger_471(); + " ***** Test Step 471 : Write just-below-range value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned16BitInteger_471(); break; case 472: - ChipLogProgress( - chipTool, " ***** Test Step 472 : Write max value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteMaxValueToANullableRangeRestrictedSigned16BitInteger_472(); + ChipLogProgress(chipTool, + " ***** Test Step 472 : Write just-above-range value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned16BitInteger_472(); break; case 473: ChipLogProgress( - chipTool, " ***** Test Step 473 : Verify nullable range-restricted signed 16-bit integer value has not changed\n"); - err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueHasNotChanged_473(); + chipTool, " ***** Test Step 473 : Write max value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteMaxValueToANullableRangeRestrictedSigned16BitInteger_473(); break; case 474: ChipLogProgress( - chipTool, " ***** Test Step 474 : Write min valid value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteMinValidValueToANullableRangeRestrictedSigned16BitInteger_474(); + chipTool, " ***** Test Step 474 : Verify nullable range-restricted signed 16-bit integer value has not changed\n"); + err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueHasNotChanged_474(); break; case 475: ChipLogProgress( - chipTool, " ***** Test Step 475 : Verify nullable range-restricted signed 16-bit integer value is at min valid\n"); - err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMinValid_475(); + chipTool, " ***** Test Step 475 : Write min valid value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteMinValidValueToANullableRangeRestrictedSigned16BitInteger_475(); break; case 476: ChipLogProgress( - chipTool, " ***** Test Step 476 : Write max valid value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteMaxValidValueToANullableRangeRestrictedSigned16BitInteger_476(); + chipTool, " ***** Test Step 476 : Verify nullable range-restricted signed 16-bit integer value is at min valid\n"); + err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMinValid_476(); break; case 477: ChipLogProgress( - chipTool, " ***** Test Step 477 : Verify nullable range-restricted signed 16-bit integer value is at max valid\n"); - err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_477(); + chipTool, " ***** Test Step 477 : Write max valid value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteMaxValidValueToANullableRangeRestrictedSigned16BitInteger_477(); break; case 478: ChipLogProgress( - chipTool, " ***** Test Step 478 : Write middle valid value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteMiddleValidValueToANullableRangeRestrictedSigned16BitInteger_478(); + chipTool, " ***** Test Step 478 : Verify nullable range-restricted signed 16-bit integer value is at max valid\n"); + err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_478(); break; case 479: ChipLogProgress( - chipTool, " ***** Test Step 479 : Verify nullable range-restricted signed 16-bit integer value is at mid valid\n"); - err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMidValid_479(); + chipTool, " ***** Test Step 479 : Write middle valid value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteMiddleValidValueToANullableRangeRestrictedSigned16BitInteger_479(); break; case 480: ChipLogProgress( - chipTool, " ***** Test Step 480 : Write null value to a nullable range-restricted signed 16-bit integer\n"); - err = TestWriteNullValueToANullableRangeRestrictedSigned16BitInteger_480(); + chipTool, " ***** Test Step 480 : Verify nullable range-restricted signed 16-bit integer value is at mid valid\n"); + err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMidValid_480(); break; case 481: ChipLogProgress( - chipTool, " ***** Test Step 481 : Verify nullable range-restricted signed 16-bit integer value is null\n"); - err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsNull_481(); + chipTool, " ***** Test Step 481 : Write null value to a nullable range-restricted signed 16-bit integer\n"); + err = TestWriteNullValueToANullableRangeRestrictedSigned16BitInteger_481(); break; case 482: - ChipLogProgress(chipTool, " ***** Test Step 482 : Write attribute that returns general status on write\n"); - err = TestWriteAttributeThatReturnsGeneralStatusOnWrite_482(); + ChipLogProgress( + chipTool, " ***** Test Step 482 : Verify nullable range-restricted signed 16-bit integer value is null\n"); + err = TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsNull_482(); break; case 483: - ChipLogProgress(chipTool, " ***** Test Step 483 : Write attribute that returns cluster-specific status on write\n"); - err = TestWriteAttributeThatReturnsClusterSpecificStatusOnWrite_483(); + ChipLogProgress(chipTool, " ***** Test Step 483 : Write attribute that returns general status on write\n"); + err = TestWriteAttributeThatReturnsGeneralStatusOnWrite_483(); break; case 484: - ChipLogProgress(chipTool, " ***** Test Step 484 : Read attribute that returns general status on read\n"); - err = TestReadAttributeThatReturnsGeneralStatusOnRead_484(); + ChipLogProgress(chipTool, " ***** Test Step 484 : Write attribute that returns cluster-specific status on write\n"); + err = TestWriteAttributeThatReturnsClusterSpecificStatusOnWrite_484(); break; case 485: - ChipLogProgress(chipTool, " ***** Test Step 485 : read attribute that returns cluster-specific status on read\n"); - err = TestReadAttributeThatReturnsClusterSpecificStatusOnRead_485(); + ChipLogProgress(chipTool, " ***** Test Step 485 : Read attribute that returns general status on read\n"); + err = TestReadAttributeThatReturnsGeneralStatusOnRead_485(); break; case 486: - ChipLogProgress(chipTool, " ***** Test Step 486 : read AcceptedCommandList attribute\n"); - err = TestReadAcceptedCommandListAttribute_486(); + ChipLogProgress(chipTool, " ***** Test Step 486 : read attribute that returns cluster-specific status on read\n"); + err = TestReadAttributeThatReturnsClusterSpecificStatusOnRead_486(); break; case 487: - ChipLogProgress(chipTool, " ***** Test Step 487 : read GeneratedCommandList attribute\n"); - err = TestReadGeneratedCommandListAttribute_487(); + ChipLogProgress(chipTool, " ***** Test Step 487 : read AcceptedCommandList attribute\n"); + err = TestReadAcceptedCommandListAttribute_487(); break; case 488: - ChipLogProgress(chipTool, " ***** Test Step 488 : Write struct-typed attribute\n"); - err = TestWriteStructTypedAttribute_488(); + ChipLogProgress(chipTool, " ***** Test Step 488 : read GeneratedCommandList attribute\n"); + err = TestReadGeneratedCommandListAttribute_488(); break; case 489: - ChipLogProgress(chipTool, " ***** Test Step 489 : Read struct-typed attribute\n"); - err = TestReadStructTypedAttribute_489(); + ChipLogProgress(chipTool, " ***** Test Step 489 : Write struct-typed attribute\n"); + err = TestWriteStructTypedAttribute_489(); + break; + case 490: + ChipLogProgress(chipTool, " ***** Test Step 490 : Read struct-typed attribute\n"); + err = TestReadStructTypedAttribute_490(); break; } @@ -68769,10 +68773,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 188: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 189: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 190: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68790,10 +68794,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 195: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 196: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 197: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68808,10 +68812,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 201: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 202: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 203: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68826,10 +68830,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 207: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 208: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 209: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68850,10 +68854,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 215: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 216: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 217: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68892,10 +68896,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 229: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 230: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 231: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68931,10 +68935,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 242: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 243: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 244: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68970,10 +68974,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 255: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 256: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 257: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69003,10 +69007,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 266: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 267: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 268: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69036,10 +69040,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 277: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 278: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 279: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69069,10 +69073,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 288: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 289: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 290: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69102,10 +69106,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 299: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 300: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 301: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69201,10 +69205,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 332: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 333: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 334: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69225,10 +69229,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 340: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 341: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 342: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69249,10 +69253,10 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 348: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 349: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 350: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69315,16 +69319,16 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 370: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ENDPOINT)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 371: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ENDPOINT)); break; case 372: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_VALUE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER)); break; case 373: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_VALUE)); break; case 374: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69342,7 +69346,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 379: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 380: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69354,7 +69358,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 383: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 384: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69378,7 +69382,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 391: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 392: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69390,7 +69394,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 395: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 396: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69414,7 +69418,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 403: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 404: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69426,7 +69430,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 407: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 408: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69450,7 +69454,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 415: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 416: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69462,7 +69466,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 419: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 420: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69486,7 +69490,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 427: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 428: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69498,7 +69502,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 431: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 432: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69528,7 +69532,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 441: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 442: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69540,7 +69544,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 445: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 446: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69570,7 +69574,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 455: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 456: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69582,7 +69586,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 459: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 460: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69612,7 +69616,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 469: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 470: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -69624,7 +69628,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 473: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 474: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69651,19 +69655,19 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 482: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 483: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); break; case 484: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 485: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_INVALID_DATA_TYPE)); break; case 486: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE)); break; case 487: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -69674,6 +69678,9 @@ class TestCluster : public TestCommandBridge { case 489: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 490: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -69687,7 +69694,7 @@ class TestCluster : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 490; + const uint16_t mTestCount = 491; chip::Optional mNodeId; chip::Optional mCluster; @@ -73392,7 +73399,7 @@ class TestCluster : public TestCommandBridge { __auto_type * params = [[MTRTestClusterClusterTestEnumsRequestParams alloc] init]; params.arg1 = [NSNumber numberWithUnsignedShort:20003U]; - params.arg2 = [NSNumber numberWithUnsignedChar:101U]; + params.arg2 = [NSNumber numberWithUnsignedChar:1U]; [cluster testEnumsRequestWithParams:params completionHandler:^(MTRTestClusterClusterTestEnumsResponseParams * _Nullable values, NSError * _Nullable err) { @@ -73407,7 +73414,41 @@ class TestCluster : public TestCommandBridge { { id actualValue = values.arg2; - VerifyOrReturn(CheckValue("arg2", actualValue, 101U)); + VerifyOrReturn(CheckValue("arg2", actualValue, 1U)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestSendACommandWithAVendorIdAndInvalidEnum_155() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + __auto_type * params = [[MTRTestClusterClusterTestEnumsRequestParams alloc] init]; + params.arg1 = [NSNumber numberWithUnsignedShort:20003U]; + params.arg2 = [NSNumber numberWithUnsignedChar:101U]; + [cluster + testEnumsRequestWithParams:params + completionHandler:^(MTRTestClusterClusterTestEnumsResponseParams * _Nullable values, NSError * _Nullable err) { + NSLog(@"Send a command with a vendor_id and invalid enum Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = values.arg1; + VerifyOrReturn(CheckValue("arg1", actualValue, 20003U)); + } + + { + id actualValue = values.arg2; + VerifyOrReturn(CheckValue("arg2", actualValue, 4U)); } NextTest(); @@ -73416,7 +73457,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithStructArgumentAndArg1bIsTrue_155() + CHIP_ERROR TestSendTestCommandWithStructArgumentAndArg1bIsTrue_156() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73453,7 +73494,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithStructArgumentAndArg1bIsFalse_156() + CHIP_ERROR TestSendTestCommandWithStructArgumentAndArg1bIsFalse_157() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73490,7 +73531,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithNestedStructArgumentAndArg1cbIsTrue_157() + CHIP_ERROR TestSendTestCommandWithNestedStructArgumentAndArg1cbIsTrue_158() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73538,7 +73579,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithNestedStructArgumentArg1cbIsFalse_158() + CHIP_ERROR TestSendTestCommandWithNestedStructArgumentArg1cbIsFalse_159() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73586,7 +73627,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndAllFieldsBOfArg1dAreTrue_159() + CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndAllFieldsBOfArg1dAreTrue_160() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73680,7 +73721,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfArg1dAreFalse_160() + CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfArg1dAreFalse_161() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73774,7 +73815,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithStructArgumentAndSeeWhatWeGetBack_161() + CHIP_ERROR TestSendTestCommandWithStructArgumentAndSeeWhatWeGetBack_162() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73821,7 +73862,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfInt8uAndNoneOfThemIsSetTo0_162() + CHIP_ERROR TestSendTestCommandWithListOfInt8uAndNoneOfThemIsSetTo0_163() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73862,7 +73903,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfInt8uAndOneOfThemIsSetTo0_163() + CHIP_ERROR TestSendTestCommandWithListOfInt8uAndOneOfThemIsSetTo0_164() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73903,7 +73944,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfInt8uAndGetItReversed_164() + CHIP_ERROR TestSendTestCommandWithListOfInt8uAndGetItReversed_165() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73952,7 +73993,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithEmptyListOfInt8uAndGetAnEmptyListBack_165() + CHIP_ERROR TestSendTestCommandWithEmptyListOfInt8uAndGetAnEmptyListBack_166() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -73984,7 +74025,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsTrue_166() + CHIP_ERROR TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsTrue_167() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74037,7 +74078,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsFalse_167() + CHIP_ERROR TestSendTestCommandWithListOfStructArgumentAndArg1bOfFirstItemIsFalse_168() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74090,7 +74131,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithListOfNestedStructListArgumentAndAllFieldsBOfElementsOfArg1dAreTrue_168() + CHIP_ERROR TestSendTestCommandWithListOfNestedStructListArgumentAndAllFieldsBOfElementsOfArg1dAreTrue_169() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74190,7 +74231,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfElementsOfArg1dAreFalse_169() + CHIP_ERROR TestSendTestCommandWithNestedStructListArgumentAndSomeFieldsBOfElementsOfArg1dAreFalse_170() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74290,7 +74331,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeListWithListOfInt8uAndNoneOfThemIsSetTo0_170() + CHIP_ERROR TestWriteAttributeListWithListOfInt8uAndNoneOfThemIsSetTo0_171() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74319,7 +74360,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeListWithListOfInt8u_171() + CHIP_ERROR TestReadAttributeListWithListOfInt8u_172() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74347,7 +74388,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeListWithListOfOctetString_172() + CHIP_ERROR TestWriteAttributeListWithListOfOctetString_173() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74376,7 +74417,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeListWithListOfOctetString_173() + CHIP_ERROR TestReadAttributeListWithListOfOctetString_174() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74404,7 +74445,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeListWithListOfListStructOctetString_174() + CHIP_ERROR TestWriteAttributeListWithListOfListStructOctetString_175() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74445,7 +74486,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeListWithListOfListStructOctetString_175() + CHIP_ERROR TestReadAttributeListWithListOfListStructOctetString_176() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74481,7 +74522,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithOptionalArgSet_176() + CHIP_ERROR TestSendTestCommandWithOptionalArgSet_177() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74525,7 +74566,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendTestCommandWithoutItsOptionalArg_177() + CHIP_ERROR TestSendTestCommandWithoutItsOptionalArg_178() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74552,7 +74593,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadListOfStructsContainingNullablesAndOptionals_178() + CHIP_ERROR TestReadListOfStructsContainingNullablesAndOptionals_179() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74585,7 +74626,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteListOfStructsContainingNullablesAndOptionals_179() + CHIP_ERROR TestWriteListOfStructsContainingNullablesAndOptionals_180() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74623,7 +74664,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadListOfStructsContainingNullablesAndOptionalsAfterWriting_180() + CHIP_ERROR TestReadListOfStructsContainingNullablesAndOptionalsAfterWriting_181() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74663,7 +74704,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBooleanNull_181() + CHIP_ERROR TestWriteAttributeNullableBooleanNull_182() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74686,7 +74727,7 @@ class TestCluster : public TestCommandBridge { } NSNumber * _Nullable booValueNull; - CHIP_ERROR TestReadAttributeNullableBooleanNull_182() + CHIP_ERROR TestReadAttributeNullableBooleanNull_183() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74713,7 +74754,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBooleanTrue_183() + CHIP_ERROR TestWriteAttributeNullableBooleanTrue_184() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74735,7 +74776,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBooleanTrue_184() + CHIP_ERROR TestReadAttributeNullableBooleanTrue_185() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74760,7 +74801,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBooleanNotNull_185() + CHIP_ERROR TestReadAttributeNullableBooleanNotNull_186() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74783,7 +74824,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap8MaxValue_186() + CHIP_ERROR TestWriteAttributeNullableBitmap8MaxValue_187() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74805,7 +74846,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap8MaxValue_187() + CHIP_ERROR TestReadAttributeNullableBitmap8MaxValue_188() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74830,7 +74871,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap8InvalidValue_188() + CHIP_ERROR TestWriteAttributeNullableBitmap8InvalidValue_189() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74853,7 +74894,7 @@ class TestCluster : public TestCommandBridge { } NSNumber * _Nullable nullableValue254; - CHIP_ERROR TestReadAttributeNullableBitmap8UnchangedValue_189() + CHIP_ERROR TestReadAttributeNullableBitmap8UnchangedValue_190() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74881,7 +74922,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap8NullValue_190() + CHIP_ERROR TestWriteAttributeNullableBitmap8NullValue_191() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74903,7 +74944,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap8NullValue_191() + CHIP_ERROR TestReadAttributeNullableBitmap8NullValue_192() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74927,7 +74968,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap8Not254Value_192() + CHIP_ERROR TestReadAttributeNullableBitmap8Not254Value_193() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74950,7 +74991,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap16MaxValue_193() + CHIP_ERROR TestWriteAttributeNullableBitmap16MaxValue_194() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74972,7 +75013,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap16MaxValue_194() + CHIP_ERROR TestReadAttributeNullableBitmap16MaxValue_195() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -74997,7 +75038,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap16InvalidValue_195() + CHIP_ERROR TestWriteAttributeNullableBitmap16InvalidValue_196() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75019,7 +75060,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap16UnchangedValue_196() + CHIP_ERROR TestReadAttributeNullableBitmap16UnchangedValue_197() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75044,7 +75085,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap16NullValue_197() + CHIP_ERROR TestWriteAttributeNullableBitmap16NullValue_198() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75066,7 +75107,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap16NullValue_198() + CHIP_ERROR TestReadAttributeNullableBitmap16NullValue_199() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75090,7 +75131,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap32MaxValue_199() + CHIP_ERROR TestWriteAttributeNullableBitmap32MaxValue_200() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75112,7 +75153,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap32MaxValue_200() + CHIP_ERROR TestReadAttributeNullableBitmap32MaxValue_201() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75137,7 +75178,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap32InvalidValue_201() + CHIP_ERROR TestWriteAttributeNullableBitmap32InvalidValue_202() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75159,7 +75200,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap32UnchangedValue_202() + CHIP_ERROR TestReadAttributeNullableBitmap32UnchangedValue_203() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75184,7 +75225,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap32NullValue_203() + CHIP_ERROR TestWriteAttributeNullableBitmap32NullValue_204() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75206,7 +75247,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap32NullValue_204() + CHIP_ERROR TestReadAttributeNullableBitmap32NullValue_205() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75230,7 +75271,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap64MaxValue_205() + CHIP_ERROR TestWriteAttributeNullableBitmap64MaxValue_206() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75252,7 +75293,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap64MaxValue_206() + CHIP_ERROR TestReadAttributeNullableBitmap64MaxValue_207() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75277,7 +75318,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap64InvalidValue_207() + CHIP_ERROR TestWriteAttributeNullableBitmap64InvalidValue_208() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75299,7 +75340,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap64UnchangedValue_208() + CHIP_ERROR TestReadAttributeNullableBitmap64UnchangedValue_209() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75324,7 +75365,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableBitmap64NullValue_209() + CHIP_ERROR TestWriteAttributeNullableBitmap64NullValue_210() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75346,7 +75387,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableBitmap64NullValue_210() + CHIP_ERROR TestReadAttributeNullableBitmap64NullValue_211() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75370,7 +75411,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8uMinValue_211() + CHIP_ERROR TestWriteAttributeNullableInt8uMinValue_212() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75392,7 +75433,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uMinValue_212() + CHIP_ERROR TestReadAttributeNullableInt8uMinValue_213() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75417,7 +75458,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8uMaxValue_213() + CHIP_ERROR TestWriteAttributeNullableInt8uMaxValue_214() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75439,7 +75480,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uMaxValue_214() + CHIP_ERROR TestReadAttributeNullableInt8uMaxValue_215() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75464,7 +75505,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8uInvalidValue_215() + CHIP_ERROR TestWriteAttributeNullableInt8uInvalidValue_216() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75485,7 +75526,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uUnchangedValue_216() + CHIP_ERROR TestReadAttributeNullableInt8uUnchangedValue_217() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75510,7 +75551,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uUnchangedValueWithConstraint_217() + CHIP_ERROR TestReadAttributeNullableInt8uUnchangedValueWithConstraint_218() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75533,7 +75574,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8uNullValue_218() + CHIP_ERROR TestWriteAttributeNullableInt8uNullValue_219() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75555,7 +75596,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uNullValue_219() + CHIP_ERROR TestReadAttributeNullableInt8uNullValue_220() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75579,7 +75620,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uNullValueRange_220() + CHIP_ERROR TestReadAttributeNullableInt8uNullValueRange_221() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75604,7 +75645,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uNullValueNot_221() + CHIP_ERROR TestReadAttributeNullableInt8uNullValueNot_222() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75627,7 +75668,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8uValue_222() + CHIP_ERROR TestWriteAttributeNullableInt8uValue_223() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75649,7 +75690,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uValueInRange_223() + CHIP_ERROR TestReadAttributeNullableInt8uValueInRange_224() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75674,7 +75715,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8uNotValueOk_224() + CHIP_ERROR TestReadAttributeNullableInt8uNotValueOk_225() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75697,7 +75738,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16uMinValue_225() + CHIP_ERROR TestWriteAttributeNullableInt16uMinValue_226() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75719,7 +75760,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uMinValue_226() + CHIP_ERROR TestReadAttributeNullableInt16uMinValue_227() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75744,7 +75785,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16uMaxValue_227() + CHIP_ERROR TestWriteAttributeNullableInt16uMaxValue_228() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75766,7 +75807,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uMaxValue_228() + CHIP_ERROR TestReadAttributeNullableInt16uMaxValue_229() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75791,7 +75832,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16uInvalidValue_229() + CHIP_ERROR TestWriteAttributeNullableInt16uInvalidValue_230() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75813,7 +75854,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uUnchangedValue_230() + CHIP_ERROR TestReadAttributeNullableInt16uUnchangedValue_231() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75838,7 +75879,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16uNullValue_231() + CHIP_ERROR TestWriteAttributeNullableInt16uNullValue_232() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75860,7 +75901,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uNullValue_232() + CHIP_ERROR TestReadAttributeNullableInt16uNullValue_233() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75884,7 +75925,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uNullValueRange_233() + CHIP_ERROR TestReadAttributeNullableInt16uNullValueRange_234() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75909,7 +75950,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uNullValueNot_234() + CHIP_ERROR TestReadAttributeNullableInt16uNullValueNot_235() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75932,7 +75973,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16uValue_235() + CHIP_ERROR TestWriteAttributeNullableInt16uValue_236() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75954,7 +75995,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uValueInRange_236() + CHIP_ERROR TestReadAttributeNullableInt16uValueInRange_237() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -75979,7 +76020,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16uNotValueOk_237() + CHIP_ERROR TestReadAttributeNullableInt16uNotValueOk_238() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76002,7 +76043,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32uMinValue_238() + CHIP_ERROR TestWriteAttributeNullableInt32uMinValue_239() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76024,7 +76065,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uMinValue_239() + CHIP_ERROR TestReadAttributeNullableInt32uMinValue_240() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76049,7 +76090,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32uMaxValue_240() + CHIP_ERROR TestWriteAttributeNullableInt32uMaxValue_241() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76071,7 +76112,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uMaxValue_241() + CHIP_ERROR TestReadAttributeNullableInt32uMaxValue_242() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76096,7 +76137,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32uInvalidValue_242() + CHIP_ERROR TestWriteAttributeNullableInt32uInvalidValue_243() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76118,7 +76159,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uUnchangedValue_243() + CHIP_ERROR TestReadAttributeNullableInt32uUnchangedValue_244() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76143,7 +76184,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32uNullValue_244() + CHIP_ERROR TestWriteAttributeNullableInt32uNullValue_245() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76165,7 +76206,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uNullValue_245() + CHIP_ERROR TestReadAttributeNullableInt32uNullValue_246() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76189,7 +76230,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uNullValueRange_246() + CHIP_ERROR TestReadAttributeNullableInt32uNullValueRange_247() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76214,7 +76255,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uNullValueNot_247() + CHIP_ERROR TestReadAttributeNullableInt32uNullValueNot_248() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76237,7 +76278,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32uValue_248() + CHIP_ERROR TestWriteAttributeNullableInt32uValue_249() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76259,7 +76300,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uValueInRange_249() + CHIP_ERROR TestReadAttributeNullableInt32uValueInRange_250() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76284,7 +76325,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32uNotValueOk_250() + CHIP_ERROR TestReadAttributeNullableInt32uNotValueOk_251() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76307,7 +76348,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64uMinValue_251() + CHIP_ERROR TestWriteAttributeNullableInt64uMinValue_252() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76329,7 +76370,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uMinValue_252() + CHIP_ERROR TestReadAttributeNullableInt64uMinValue_253() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76354,7 +76395,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64uMaxValue_253() + CHIP_ERROR TestWriteAttributeNullableInt64uMaxValue_254() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76376,7 +76417,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uMaxValue_254() + CHIP_ERROR TestReadAttributeNullableInt64uMaxValue_255() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76401,7 +76442,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64uInvalidValue_255() + CHIP_ERROR TestWriteAttributeNullableInt64uInvalidValue_256() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76423,7 +76464,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uUnchangedValue_256() + CHIP_ERROR TestReadAttributeNullableInt64uUnchangedValue_257() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76448,7 +76489,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64uNullValue_257() + CHIP_ERROR TestWriteAttributeNullableInt64uNullValue_258() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76470,7 +76511,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uNullValue_258() + CHIP_ERROR TestReadAttributeNullableInt64uNullValue_259() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76494,7 +76535,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uNullValueRange_259() + CHIP_ERROR TestReadAttributeNullableInt64uNullValueRange_260() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76520,7 +76561,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uNullValueNot_260() + CHIP_ERROR TestReadAttributeNullableInt64uNullValueNot_261() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76543,7 +76584,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64uValue_261() + CHIP_ERROR TestWriteAttributeNullableInt64uValue_262() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76565,7 +76606,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uValueInRange_262() + CHIP_ERROR TestReadAttributeNullableInt64uValueInRange_263() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76591,7 +76632,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64uNotValueOk_263() + CHIP_ERROR TestReadAttributeNullableInt64uNotValueOk_264() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76614,7 +76655,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8sMinValue_264() + CHIP_ERROR TestWriteAttributeNullableInt8sMinValue_265() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76636,7 +76677,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sMinValue_265() + CHIP_ERROR TestReadAttributeNullableInt8sMinValue_266() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76661,7 +76702,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8sInvalidValue_266() + CHIP_ERROR TestWriteAttributeNullableInt8sInvalidValue_267() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76682,7 +76723,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sUnchangedValue_267() + CHIP_ERROR TestReadAttributeNullableInt8sUnchangedValue_268() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76707,7 +76748,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8sNullValue_268() + CHIP_ERROR TestWriteAttributeNullableInt8sNullValue_269() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76729,7 +76770,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sNullValue_269() + CHIP_ERROR TestReadAttributeNullableInt8sNullValue_270() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76753,7 +76794,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sNullValueRange_270() + CHIP_ERROR TestReadAttributeNullableInt8sNullValueRange_271() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76778,7 +76819,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sNullValueNot_271() + CHIP_ERROR TestReadAttributeNullableInt8sNullValueNot_272() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76801,7 +76842,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt8sValue_272() + CHIP_ERROR TestWriteAttributeNullableInt8sValue_273() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76823,7 +76864,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sValueInRange_273() + CHIP_ERROR TestReadAttributeNullableInt8sValueInRange_274() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76848,7 +76889,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt8sNotValueOk_274() + CHIP_ERROR TestReadAttributeNullableInt8sNotValueOk_275() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76871,7 +76912,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16sMinValue_275() + CHIP_ERROR TestWriteAttributeNullableInt16sMinValue_276() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76893,7 +76934,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sMinValue_276() + CHIP_ERROR TestReadAttributeNullableInt16sMinValue_277() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76918,7 +76959,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16sInvalidValue_277() + CHIP_ERROR TestWriteAttributeNullableInt16sInvalidValue_278() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76940,7 +76981,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sUnchangedValue_278() + CHIP_ERROR TestReadAttributeNullableInt16sUnchangedValue_279() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76965,7 +77006,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16sNullValue_279() + CHIP_ERROR TestWriteAttributeNullableInt16sNullValue_280() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -76987,7 +77028,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sNullValue_280() + CHIP_ERROR TestReadAttributeNullableInt16sNullValue_281() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77011,7 +77052,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sNullValueRange_281() + CHIP_ERROR TestReadAttributeNullableInt16sNullValueRange_282() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77036,7 +77077,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sNullValueNot_282() + CHIP_ERROR TestReadAttributeNullableInt16sNullValueNot_283() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77059,7 +77100,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt16sValue_283() + CHIP_ERROR TestWriteAttributeNullableInt16sValue_284() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77081,7 +77122,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sValueInRange_284() + CHIP_ERROR TestReadAttributeNullableInt16sValueInRange_285() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77106,7 +77147,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt16sNotValueOk_285() + CHIP_ERROR TestReadAttributeNullableInt16sNotValueOk_286() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77129,7 +77170,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32sMinValue_286() + CHIP_ERROR TestWriteAttributeNullableInt32sMinValue_287() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77151,7 +77192,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sMinValue_287() + CHIP_ERROR TestReadAttributeNullableInt32sMinValue_288() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77176,7 +77217,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32sInvalidValue_288() + CHIP_ERROR TestWriteAttributeNullableInt32sInvalidValue_289() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77198,7 +77239,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sUnchangedValue_289() + CHIP_ERROR TestReadAttributeNullableInt32sUnchangedValue_290() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77223,7 +77264,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32sNullValue_290() + CHIP_ERROR TestWriteAttributeNullableInt32sNullValue_291() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77245,7 +77286,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sNullValue_291() + CHIP_ERROR TestReadAttributeNullableInt32sNullValue_292() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77269,7 +77310,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sNullValueRange_292() + CHIP_ERROR TestReadAttributeNullableInt32sNullValueRange_293() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77294,7 +77335,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sNullValueNot_293() + CHIP_ERROR TestReadAttributeNullableInt32sNullValueNot_294() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77317,7 +77358,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt32sValue_294() + CHIP_ERROR TestWriteAttributeNullableInt32sValue_295() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77339,7 +77380,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sValueInRange_295() + CHIP_ERROR TestReadAttributeNullableInt32sValueInRange_296() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77364,7 +77405,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt32sNotValueOk_296() + CHIP_ERROR TestReadAttributeNullableInt32sNotValueOk_297() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77387,7 +77428,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64sMinValue_297() + CHIP_ERROR TestWriteAttributeNullableInt64sMinValue_298() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77409,7 +77450,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sMinValue_298() + CHIP_ERROR TestReadAttributeNullableInt64sMinValue_299() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77434,7 +77475,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64sInvalidValue_299() + CHIP_ERROR TestWriteAttributeNullableInt64sInvalidValue_300() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77456,7 +77497,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sUnchangedValue_300() + CHIP_ERROR TestReadAttributeNullableInt64sUnchangedValue_301() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77481,7 +77522,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64sNullValue_301() + CHIP_ERROR TestWriteAttributeNullableInt64sNullValue_302() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77503,7 +77544,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sNullValue_302() + CHIP_ERROR TestReadAttributeNullableInt64sNullValue_303() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77527,7 +77568,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sNullValueRange_303() + CHIP_ERROR TestReadAttributeNullableInt64sNullValueRange_304() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77552,7 +77593,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sNullValueNot_304() + CHIP_ERROR TestReadAttributeNullableInt64sNullValueNot_305() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77575,7 +77616,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableInt64sValue_305() + CHIP_ERROR TestWriteAttributeNullableInt64sValue_306() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77597,7 +77638,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sValueInRange_306() + CHIP_ERROR TestReadAttributeNullableInt64sValueInRange_307() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77622,7 +77663,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableInt64sNotValueOk_307() + CHIP_ERROR TestReadAttributeNullableInt64sNotValueOk_308() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77645,7 +77686,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSingleMediumValue_308() + CHIP_ERROR TestWriteAttributeNullableSingleMediumValue_309() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77667,7 +77708,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSingleMediumValue_309() + CHIP_ERROR TestReadAttributeNullableSingleMediumValue_310() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77692,7 +77733,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSingleLargestValue_310() + CHIP_ERROR TestWriteAttributeNullableSingleLargestValue_311() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77714,7 +77755,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSingleLargestValue_311() + CHIP_ERROR TestReadAttributeNullableSingleLargestValue_312() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77739,7 +77780,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSingleSmallestValue_312() + CHIP_ERROR TestWriteAttributeNullableSingleSmallestValue_313() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77761,7 +77802,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSingleSmallestValue_313() + CHIP_ERROR TestReadAttributeNullableSingleSmallestValue_314() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77786,7 +77827,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSingleNullValue_314() + CHIP_ERROR TestWriteAttributeNullableSingleNullValue_315() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77808,7 +77849,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSingleNullValue_315() + CHIP_ERROR TestReadAttributeNullableSingleNullValue_316() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77832,7 +77873,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSingle0Value_316() + CHIP_ERROR TestWriteAttributeNullableSingle0Value_317() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77854,7 +77895,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSingle0Value_317() + CHIP_ERROR TestReadAttributeNullableSingle0Value_318() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77879,7 +77920,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableDoubleMediumValue_318() + CHIP_ERROR TestWriteAttributeNullableDoubleMediumValue_319() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77901,7 +77942,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableDoubleMediumValue_319() + CHIP_ERROR TestReadAttributeNullableDoubleMediumValue_320() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77926,7 +77967,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableDoubleLargestValue_320() + CHIP_ERROR TestWriteAttributeNullableDoubleLargestValue_321() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77948,7 +77989,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableDoubleLargestValue_321() + CHIP_ERROR TestReadAttributeNullableDoubleLargestValue_322() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77973,7 +78014,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableDoubleSmallestValue_322() + CHIP_ERROR TestWriteAttributeNullableDoubleSmallestValue_323() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -77995,7 +78036,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableDoubleSmallestValue_323() + CHIP_ERROR TestReadAttributeNullableDoubleSmallestValue_324() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78020,7 +78061,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableDoubleNullValue_324() + CHIP_ERROR TestWriteAttributeNullableDoubleNullValue_325() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78042,7 +78083,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableDoubleNullValue_325() + CHIP_ERROR TestReadAttributeNullableDoubleNullValue_326() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78066,7 +78107,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableDouble0Value_326() + CHIP_ERROR TestWriteAttributeNullableDouble0Value_327() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78088,7 +78129,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableDouble0Value_327() + CHIP_ERROR TestReadAttributeNullableDouble0Value_328() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78113,7 +78154,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum8MinValue_328() + CHIP_ERROR TestWriteAttributeNullableEnum8MinValue_329() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78135,7 +78176,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum8MinValue_329() + CHIP_ERROR TestReadAttributeNullableEnum8MinValue_330() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78160,7 +78201,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum8MaxValue_330() + CHIP_ERROR TestWriteAttributeNullableEnum8MaxValue_331() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78182,7 +78223,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum8MaxValue_331() + CHIP_ERROR TestReadAttributeNullableEnum8MaxValue_332() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78207,7 +78248,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum8InvalidValue_332() + CHIP_ERROR TestWriteAttributeNullableEnum8InvalidValue_333() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78228,7 +78269,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum8UnchangedValue_333() + CHIP_ERROR TestReadAttributeNullableEnum8UnchangedValue_334() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78253,7 +78294,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum8NullValue_334() + CHIP_ERROR TestWriteAttributeNullableEnum8NullValue_335() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78275,7 +78316,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum8NullValue_335() + CHIP_ERROR TestReadAttributeNullableEnum8NullValue_336() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78299,7 +78340,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum16MinValue_336() + CHIP_ERROR TestWriteAttributeNullableEnum16MinValue_337() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78321,7 +78362,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum16MinValue_337() + CHIP_ERROR TestReadAttributeNullableEnum16MinValue_338() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78346,7 +78387,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum16MaxValue_338() + CHIP_ERROR TestWriteAttributeNullableEnum16MaxValue_339() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78368,7 +78409,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum16MaxValue_339() + CHIP_ERROR TestReadAttributeNullableEnum16MaxValue_340() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78393,7 +78434,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum16InvalidValue_340() + CHIP_ERROR TestWriteAttributeNullableEnum16InvalidValue_341() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78415,7 +78456,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum16UnchangedValue_341() + CHIP_ERROR TestReadAttributeNullableEnum16UnchangedValue_342() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78440,7 +78481,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableEnum16NullValue_342() + CHIP_ERROR TestWriteAttributeNullableEnum16NullValue_343() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78462,7 +78503,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableEnum16NullValue_343() + CHIP_ERROR TestReadAttributeNullableEnum16NullValue_344() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78486,7 +78527,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSimpleEnumMinValue_344() + CHIP_ERROR TestWriteAttributeNullableSimpleEnumMinValue_345() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78508,7 +78549,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSimpleEnumMinValue_345() + CHIP_ERROR TestReadAttributeNullableSimpleEnumMinValue_346() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78533,7 +78574,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSimpleEnumMaxValue_346() + CHIP_ERROR TestWriteAttributeNullableSimpleEnumMaxValue_347() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78542,7 +78583,7 @@ class TestCluster : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id nullableEnumAttrArgument; - nullableEnumAttrArgument = [NSNumber numberWithUnsignedChar:254U]; + nullableEnumAttrArgument = [NSNumber numberWithUnsignedChar:3U]; [cluster writeAttributeNullableEnumAttrWithValue:nullableEnumAttrArgument completionHandler:^(NSError * _Nullable err) { NSLog(@"Write attribute NULLABLE_SIMPLE_ENUM Max Value Error: %@", err); @@ -78555,7 +78596,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSimpleEnumMaxValue_347() + CHIP_ERROR TestReadAttributeNullableSimpleEnumMaxValue_348() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78571,7 +78612,7 @@ class TestCluster : public TestCommandBridge { { id actualValue = value; VerifyOrReturn(CheckValueNonNull("nullable_enum_attr", actualValue)); - VerifyOrReturn(CheckValue("nullable_enum_attr", actualValue, 254U)); + VerifyOrReturn(CheckValue("nullable_enum_attr", actualValue, 3U)); } NextTest(); @@ -78580,7 +78621,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSimpleEnumInvalidValue_348() + CHIP_ERROR TestWriteAttributeNullableSimpleEnumInvalidValue_349() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78601,9 +78642,9 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - NSNumber * _Nullable nullableEnumAttr254; + NSNumber * _Nullable nullableEnumAttr3; - CHIP_ERROR TestReadAttributeNullableSimpleEnumUnchangedValue_349() + CHIP_ERROR TestReadAttributeNullableSimpleEnumUnchangedValue_350() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78619,10 +78660,10 @@ class TestCluster : public TestCommandBridge { { id actualValue = value; VerifyOrReturn(CheckValueNonNull("nullable_enum_attr", actualValue)); - VerifyOrReturn(CheckValue("nullable_enum_attr", actualValue, 254U)); + VerifyOrReturn(CheckValue("nullable_enum_attr", actualValue, 3U)); } { - nullableEnumAttr254 = value; + nullableEnumAttr3 = value; } NextTest(); @@ -78631,7 +78672,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableSimpleEnumNullValue_350() + CHIP_ERROR TestWriteAttributeNullableSimpleEnumNullValue_351() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78653,7 +78694,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSimpleEnumNullValue_351() + CHIP_ERROR TestReadAttributeNullableSimpleEnumNullValue_352() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78677,7 +78718,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableSimpleEnumNot254Value_352() + CHIP_ERROR TestReadAttributeNullableSimpleEnumNot3Value_353() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78686,13 +78727,13 @@ class TestCluster : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeNullableEnumAttrWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute NULLABLE_SIMPLE_ENUM not 254 Value Error: %@", err); + NSLog(@"Read attribute NULLABLE_SIMPLE_ENUM not 3 Value Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); if (value != nil) { } - VerifyOrReturn(CheckConstraintNotValue("nullableEnumAttr", value, nullableEnumAttr254)); + VerifyOrReturn(CheckConstraintNotValue("nullableEnumAttr", value, nullableEnumAttr3)); NextTest(); }]; @@ -78700,7 +78741,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableOctetStringDefaultValue_353() + CHIP_ERROR TestReadAttributeNullableOctetStringDefaultValue_354() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78726,7 +78767,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableOctetString_354() + CHIP_ERROR TestWriteAttributeNullableOctetString_355() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78749,7 +78790,7 @@ class TestCluster : public TestCommandBridge { } NSData * _Nullable nullableOctetStrTestValue; - CHIP_ERROR TestReadAttributeNullableOctetString_355() + CHIP_ERROR TestReadAttributeNullableOctetString_356() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78778,7 +78819,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableOctetString_356() + CHIP_ERROR TestWriteAttributeNullableOctetString_357() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78800,7 +78841,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableOctetString_357() + CHIP_ERROR TestReadAttributeNullableOctetString_358() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78824,7 +78865,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableOctetString_358() + CHIP_ERROR TestWriteAttributeNullableOctetString_359() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78846,7 +78887,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableOctetString_359() + CHIP_ERROR TestReadAttributeNullableOctetString_360() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78872,7 +78913,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableOctetStringNotTestValue_360() + CHIP_ERROR TestReadAttributeNullableOctetStringNotTestValue_361() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78895,7 +78936,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableCharStringDefaultValue_361() + CHIP_ERROR TestReadAttributeNullableCharStringDefaultValue_362() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78920,7 +78961,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableCharString_362() + CHIP_ERROR TestWriteAttributeNullableCharString_363() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78943,7 +78984,7 @@ class TestCluster : public TestCommandBridge { } NSString * _Nullable nullableCharStringSave; - CHIP_ERROR TestReadAttributeNullableCharString_363() + CHIP_ERROR TestReadAttributeNullableCharString_364() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -78971,7 +79012,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableCharString_364() + CHIP_ERROR TestReadAttributeNullableCharString_365() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79000,7 +79041,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableCharStringValueTooLong_365() + CHIP_ERROR TestWriteAttributeNullableCharStringValueTooLong_366() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79022,7 +79063,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableCharString_366() + CHIP_ERROR TestReadAttributeNullableCharString_367() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79046,7 +79087,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeNullableCharStringEmpty_367() + CHIP_ERROR TestWriteAttributeNullableCharStringEmpty_368() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79068,7 +79109,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableCharString_368() + CHIP_ERROR TestReadAttributeNullableCharString_369() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79093,7 +79134,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeNullableCharStringNott_369() + CHIP_ERROR TestReadAttributeNullableCharStringNott_370() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79116,7 +79157,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeFromNonexistentEndpoint_370() + CHIP_ERROR TestReadAttributeFromNonexistentEndpoint_371() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79134,7 +79175,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeFromNonexistentCluster_371() + CHIP_ERROR TestReadAttributeFromNonexistentCluster_372() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79152,7 +79193,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_372() + CHIP_ERROR TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_373() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79174,7 +79215,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_373() + CHIP_ERROR TestSendACommandThatTakesAnOptionalParameterButDoNotSetIt_374() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79197,10 +79238,10 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - bool testSendClusterTestCluster_374_WaitForReport_Fulfilled = false; + bool testSendClusterTestCluster_375_WaitForReport_Fulfilled = false; ResponseHandler _Nullable test_TestCluster_list_int8u_Reported = nil; - CHIP_ERROR TestReportSubscribeToListAttribute_374() + CHIP_ERROR TestReportSubscribeToListAttribute_375() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79222,14 +79263,14 @@ class TestCluster : public TestCommandBridge { VerifyOrReturn(CheckValue("", actualValue[3], 4U)); } - testSendClusterTestCluster_374_WaitForReport_Fulfilled = true; + testSendClusterTestCluster_375_WaitForReport_Fulfilled = true; }; NextTest(); return CHIP_NO_ERROR; } - CHIP_ERROR TestSubscribeToListAttribute_375() + CHIP_ERROR TestSubscribeToListAttribute_376() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79245,7 +79286,7 @@ class TestCluster : public TestCommandBridge { params:params subscriptionEstablished:^{ VerifyOrReturn( - testSendClusterTestCluster_374_WaitForReport_Fulfilled, SetCommandExitStatus(CHIP_ERROR_INCORRECT_STATE)); + testSendClusterTestCluster_375_WaitForReport_Fulfilled, SetCommandExitStatus(CHIP_ERROR_INCORRECT_STATE)); NextTest(); } reportHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { @@ -79262,7 +79303,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteSubscribedToListAttribute_376() + CHIP_ERROR TestWriteSubscribedToListAttribute_377() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79291,7 +79332,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestCheckForListAttributeReport_377() + CHIP_ERROR TestCheckForListAttributeReport_378() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79319,7 +79360,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadRangeRestrictedUnsigned8BitInteger_378() + CHIP_ERROR TestReadRangeRestrictedUnsigned8BitInteger_379() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79343,7 +79384,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToARangeRestrictedUnsigned8BitInteger_379() + CHIP_ERROR TestWriteMinValueToARangeRestrictedUnsigned8BitInteger_380() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79366,7 +79407,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedUnsigned8BitInteger_380() + CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedUnsigned8BitInteger_381() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79390,7 +79431,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedUnsigned8BitInteger_381() + CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedUnsigned8BitInteger_382() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79414,7 +79455,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToARangeRestrictedUnsigned8BitInteger_382() + CHIP_ERROR TestWriteMaxValueToARangeRestrictedUnsigned8BitInteger_383() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79437,7 +79478,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_383() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_384() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79461,7 +79502,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToARangeRestrictedUnsigned8BitInteger_384() + CHIP_ERROR TestWriteMinValidValueToARangeRestrictedUnsigned8BitInteger_385() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79485,7 +79526,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_385() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_386() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79509,7 +79550,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedUnsigned8BitInteger_386() + CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedUnsigned8BitInteger_387() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79533,7 +79574,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_387() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_388() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79557,7 +79598,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedUnsigned8BitInteger_388() + CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedUnsigned8BitInteger_389() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79581,7 +79622,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_389() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_390() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79605,7 +79646,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadRangeRestrictedUnsigned16BitInteger_390() + CHIP_ERROR TestReadRangeRestrictedUnsigned16BitInteger_391() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79629,7 +79670,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToARangeRestrictedUnsigned16BitInteger_391() + CHIP_ERROR TestWriteMinValueToARangeRestrictedUnsigned16BitInteger_392() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79652,7 +79693,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedUnsigned16BitInteger_392() + CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedUnsigned16BitInteger_393() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79676,7 +79717,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedUnsigned16BitInteger_393() + CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedUnsigned16BitInteger_394() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79700,7 +79741,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToARangeRestrictedUnsigned16BitInteger_394() + CHIP_ERROR TestWriteMaxValueToARangeRestrictedUnsigned16BitInteger_395() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79723,7 +79764,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_395() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_396() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79747,7 +79788,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToARangeRestrictedUnsigned16BitInteger_396() + CHIP_ERROR TestWriteMinValidValueToARangeRestrictedUnsigned16BitInteger_397() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79771,7 +79812,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_397() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_398() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79795,7 +79836,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedUnsigned16BitInteger_398() + CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedUnsigned16BitInteger_399() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79819,7 +79860,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_399() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_400() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79843,7 +79884,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedUnsigned16BitInteger_400() + CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedUnsigned16BitInteger_401() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79868,7 +79909,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_401() + CHIP_ERROR TestVerifyRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_402() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79892,7 +79933,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadRangeRestrictedSigned8BitInteger_402() + CHIP_ERROR TestReadRangeRestrictedSigned8BitInteger_403() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79916,7 +79957,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToARangeRestrictedSigned8BitInteger_403() + CHIP_ERROR TestWriteMinValueToARangeRestrictedSigned8BitInteger_404() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79938,7 +79979,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedSigned8BitInteger_404() + CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedSigned8BitInteger_405() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79963,7 +80004,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedSigned8BitInteger_405() + CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedSigned8BitInteger_406() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -79988,7 +80029,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToARangeRestrictedSigned8BitInteger_406() + CHIP_ERROR TestWriteMaxValueToARangeRestrictedSigned8BitInteger_407() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80010,7 +80051,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueHasNotChanged_407() + CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueHasNotChanged_408() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80034,7 +80075,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToARangeRestrictedSigned8BitInteger_408() + CHIP_ERROR TestWriteMinValidValueToARangeRestrictedSigned8BitInteger_409() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80057,7 +80098,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMinValid_409() + CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMinValid_410() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80081,7 +80122,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedSigned8BitInteger_410() + CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedSigned8BitInteger_411() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80104,7 +80145,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_411() + CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_412() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80128,7 +80169,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedSigned8BitInteger_412() + CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedSigned8BitInteger_413() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80152,7 +80193,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMidValid_413() + CHIP_ERROR TestVerifyRangeRestrictedSigned8BitIntegerValueIsAtMidValid_414() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80176,7 +80217,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadRangeRestrictedSigned16BitInteger_414() + CHIP_ERROR TestReadRangeRestrictedSigned16BitInteger_415() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80200,7 +80241,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToARangeRestrictedSigned16BitInteger_415() + CHIP_ERROR TestWriteMinValueToARangeRestrictedSigned16BitInteger_416() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80223,7 +80264,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedSigned16BitInteger_416() + CHIP_ERROR TestWriteJustBelowRangeValueToARangeRestrictedSigned16BitInteger_417() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80247,7 +80288,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedSigned16BitInteger_417() + CHIP_ERROR TestWriteJustAboveRangeValueToARangeRestrictedSigned16BitInteger_418() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80271,7 +80312,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToARangeRestrictedSigned16BitInteger_418() + CHIP_ERROR TestWriteMaxValueToARangeRestrictedSigned16BitInteger_419() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80294,7 +80335,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueHasNotChanged_419() + CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueHasNotChanged_420() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80318,7 +80359,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToARangeRestrictedSigned16BitInteger_420() + CHIP_ERROR TestWriteMinValidValueToARangeRestrictedSigned16BitInteger_421() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80342,7 +80383,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMinValid_421() + CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMinValid_422() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80366,7 +80407,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedSigned16BitInteger_422() + CHIP_ERROR TestWriteMaxValidValueToARangeRestrictedSigned16BitInteger_423() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80390,7 +80431,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_423() + CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_424() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80414,7 +80455,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedSigned16BitInteger_424() + CHIP_ERROR TestWriteMiddleValidValueToARangeRestrictedSigned16BitInteger_425() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80438,7 +80479,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMidValid_425() + CHIP_ERROR TestVerifyRangeRestrictedSigned16BitIntegerValueIsAtMidValid_426() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80462,7 +80503,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadNullableRangeRestrictedUnsigned8BitInteger_426() + CHIP_ERROR TestReadNullableRangeRestrictedUnsigned8BitInteger_427() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80488,7 +80529,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedUnsigned8BitInteger_427() + CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedUnsigned8BitInteger_428() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80512,7 +80553,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned8BitInteger_428() + CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned8BitInteger_429() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80536,7 +80577,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned8BitInteger_429() + CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned8BitInteger_430() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80560,7 +80601,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedUnsigned8BitInteger_430() + CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedUnsigned8BitInteger_431() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80584,7 +80625,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_431() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueHasNotChanged_432() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80610,7 +80651,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedUnsigned8BitInteger_432() + CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedUnsigned8BitInteger_433() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80634,7 +80675,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_433() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMinValid_434() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80660,7 +80701,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedUnsigned8BitInteger_434() + CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedUnsigned8BitInteger_435() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80684,7 +80725,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_435() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMaxValid_436() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80710,7 +80751,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned8BitInteger_436() + CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned8BitInteger_437() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80734,7 +80775,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_437() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsAtMidValid_438() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80760,7 +80801,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedUnsigned8BitInteger_438() + CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedUnsigned8BitInteger_439() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80784,7 +80825,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsNull_439() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned8BitIntegerValueIsNull_440() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80809,7 +80850,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadNullableRangeRestrictedUnsigned16BitInteger_440() + CHIP_ERROR TestReadNullableRangeRestrictedUnsigned16BitInteger_441() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80835,7 +80876,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedUnsigned16BitInteger_441() + CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedUnsigned16BitInteger_442() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80859,7 +80900,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned16BitInteger_442() + CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedUnsigned16BitInteger_443() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80883,7 +80924,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned16BitInteger_443() + CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedUnsigned16BitInteger_444() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80907,7 +80948,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedUnsigned16BitInteger_444() + CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedUnsigned16BitInteger_445() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80931,7 +80972,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_445() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueHasNotChanged_446() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80957,7 +80998,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedUnsigned16BitInteger_446() + CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedUnsigned16BitInteger_447() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -80981,7 +81022,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_447() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMinValid_448() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81007,7 +81048,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedUnsigned16BitInteger_448() + CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedUnsigned16BitInteger_449() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81031,7 +81072,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_449() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMaxValid_450() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81057,7 +81098,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned16BitInteger_450() + CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedUnsigned16BitInteger_451() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81081,7 +81122,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_451() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsAtMidValid_452() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81107,7 +81148,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedUnsigned16BitInteger_452() + CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedUnsigned16BitInteger_453() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81131,7 +81172,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsNull_453() + CHIP_ERROR TestVerifyNullableRangeRestrictedUnsigned16BitIntegerValueIsNull_454() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81156,7 +81197,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadNullableRangeRestrictedSigned8BitInteger_454() + CHIP_ERROR TestReadNullableRangeRestrictedSigned8BitInteger_455() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81182,7 +81223,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedSigned8BitInteger_455() + CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedSigned8BitInteger_456() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81206,7 +81247,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned8BitInteger_456() + CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned8BitInteger_457() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81230,7 +81271,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned8BitInteger_457() + CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned8BitInteger_458() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81254,7 +81295,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedSigned8BitInteger_458() + CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedSigned8BitInteger_459() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81278,7 +81319,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueHasNotChanged_459() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueHasNotChanged_460() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81304,7 +81345,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedSigned8BitInteger_460() + CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedSigned8BitInteger_461() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81328,7 +81369,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMinValid_461() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMinValid_462() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81354,7 +81395,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedSigned8BitInteger_462() + CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedSigned8BitInteger_463() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81378,7 +81419,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_463() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMaxValid_464() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81404,7 +81445,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedSigned8BitInteger_464() + CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedSigned8BitInteger_465() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81428,7 +81469,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMidValid_465() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtMidValid_466() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81454,7 +81495,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedSigned8BitInteger_466() + CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedSigned8BitInteger_467() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81478,7 +81519,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtNull_467() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned8BitIntegerValueIsAtNull_468() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81503,7 +81544,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadNullableRangeRestrictedSigned16BitInteger_468() + CHIP_ERROR TestReadNullableRangeRestrictedSigned16BitInteger_469() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81529,7 +81570,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedSigned16BitInteger_469() + CHIP_ERROR TestWriteMinValueToANullableRangeRestrictedSigned16BitInteger_470() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81553,7 +81594,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned16BitInteger_470() + CHIP_ERROR TestWriteJustBelowRangeValueToANullableRangeRestrictedSigned16BitInteger_471() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81577,7 +81618,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned16BitInteger_471() + CHIP_ERROR TestWriteJustAboveRangeValueToANullableRangeRestrictedSigned16BitInteger_472() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81601,7 +81642,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedSigned16BitInteger_472() + CHIP_ERROR TestWriteMaxValueToANullableRangeRestrictedSigned16BitInteger_473() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81625,7 +81666,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueHasNotChanged_473() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueHasNotChanged_474() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81651,7 +81692,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedSigned16BitInteger_474() + CHIP_ERROR TestWriteMinValidValueToANullableRangeRestrictedSigned16BitInteger_475() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81675,7 +81716,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMinValid_475() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMinValid_476() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81701,7 +81742,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedSigned16BitInteger_476() + CHIP_ERROR TestWriteMaxValidValueToANullableRangeRestrictedSigned16BitInteger_477() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81725,7 +81766,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_477() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMaxValid_478() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81751,7 +81792,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedSigned16BitInteger_478() + CHIP_ERROR TestWriteMiddleValidValueToANullableRangeRestrictedSigned16BitInteger_479() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81775,7 +81816,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMidValid_479() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsAtMidValid_480() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81801,7 +81842,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedSigned16BitInteger_480() + CHIP_ERROR TestWriteNullValueToANullableRangeRestrictedSigned16BitInteger_481() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81825,7 +81866,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsNull_481() + CHIP_ERROR TestVerifyNullableRangeRestrictedSigned16BitIntegerValueIsNull_482() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81850,7 +81891,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeThatReturnsGeneralStatusOnWrite_482() + CHIP_ERROR TestWriteAttributeThatReturnsGeneralStatusOnWrite_483() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81872,7 +81913,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeThatReturnsClusterSpecificStatusOnWrite_483() + CHIP_ERROR TestWriteAttributeThatReturnsClusterSpecificStatusOnWrite_484() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81894,7 +81935,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeThatReturnsGeneralStatusOnRead_484() + CHIP_ERROR TestReadAttributeThatReturnsGeneralStatusOnRead_485() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81912,7 +81953,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeThatReturnsClusterSpecificStatusOnRead_485() + CHIP_ERROR TestReadAttributeThatReturnsClusterSpecificStatusOnRead_486() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81930,7 +81971,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAcceptedCommandListAttribute_486() + CHIP_ERROR TestReadAcceptedCommandListAttribute_487() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -81972,7 +82013,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadGeneratedCommandListAttribute_487() + CHIP_ERROR TestReadGeneratedCommandListAttribute_488() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -82005,7 +82046,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteStructTypedAttribute_488() + CHIP_ERROR TestWriteStructTypedAttribute_489() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device @@ -82036,7 +82077,7 @@ class TestCluster : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadStructTypedAttribute_489() + CHIP_ERROR TestReadStructTypedAttribute_490() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterTestCluster * cluster = [[MTRBaseClusterTestCluster alloc] initWithDevice:device