From d535b905d1c158aedf70eb7e64447cab656af69c Mon Sep 17 00:00:00 2001 From: Amine Alami <43780877+Alami-Amine@users.noreply.github.com> Date: Tue, 29 Oct 2024 21:48:49 +0100 Subject: [PATCH 1/7] Adding a FuzzTest for fuzzing PASE (#36171) --- BUILD.gn | 1 + src/protocols/secure_channel/tests/BUILD.gn | 24 ++ .../secure_channel/tests/FuzzPASE_PW.cpp | 304 ++++++++++++++++++ 3 files changed, 329 insertions(+) create mode 100644 src/protocols/secure_channel/tests/FuzzPASE_PW.cpp diff --git a/BUILD.gn b/BUILD.gn index e05f14312d8a1a..a777fa84b32c99 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -70,6 +70,7 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") { "${chip_root}/src/lib/core/tests:fuzz-tlv-reader-pw(//build/toolchain/pw_fuzzer:chip_pw_fuzztest)", "${chip_root}/src/lib/dnssd/minimal_mdns/tests:fuzz-minmdns-packet-parsing-pw(//build/toolchain/pw_fuzzer:chip_pw_fuzztest)", "${chip_root}/src/lib/format/tests:fuzz-payload-decoder-pw(//build/toolchain/pw_fuzzer:chip_pw_fuzztest)", + "${chip_root}/src/protocols/secure_channel/tests:fuzz-PASE-pw(//build/toolchain/pw_fuzzer:chip_pw_fuzztest)", "${chip_root}/src/setup_payload/tests:fuzz-setup-payload-base38-pw(//build/toolchain/pw_fuzzer:chip_pw_fuzztest)", ] } diff --git a/src/protocols/secure_channel/tests/BUILD.gn b/src/protocols/secure_channel/tests/BUILD.gn index a5e6d73455eaea..415db1bbd76fd0 100644 --- a/src/protocols/secure_channel/tests/BUILD.gn +++ b/src/protocols/secure_channel/tests/BUILD.gn @@ -1,6 +1,8 @@ import("//build_overrides/build.gni") import("//build_overrides/chip.gni") + import("${chip_root}/build/chip/chip_test_suite.gni") +import("${chip_root}/build/chip/fuzz_test.gni") import("${chip_root}/src/app/icd/icd.gni") chip_test_suite("tests") { @@ -45,3 +47,25 @@ chip_test_suite("tests") { public_deps += [ "${chip_root}/src/app/icd/server:configuration-data" ] } } +if (pw_enable_fuzz_test_targets) { + chip_pw_fuzz_target("fuzz-PASE-pw") { + test_source = [ "FuzzPASE_PW.cpp" ] + public_deps = [ + "${chip_root}/src/app/icd/server:icd-server-config", + "${chip_root}/src/credentials/tests:cert_test_vectors", + "${chip_root}/src/crypto/tests:tests.lib", + "${chip_root}/src/lib/core", + "${chip_root}/src/lib/core:string-builder-adapters", + "${chip_root}/src/lib/support", + "${chip_root}/src/lib/support:test_utils", + "${chip_root}/src/lib/support:testing", + "${chip_root}/src/lib/support/tests:pw-test-macros", + "${chip_root}/src/messaging/tests:helpers", + "${chip_root}/src/protocols", + "${chip_root}/src/protocols/secure_channel", + "${chip_root}/src/protocols/secure_channel:check-in-counter", + "${chip_root}/src/transport/raw/tests:helpers", + "${dir_pw_unit_test}", + ] + } +} diff --git a/src/protocols/secure_channel/tests/FuzzPASE_PW.cpp b/src/protocols/secure_channel/tests/FuzzPASE_PW.cpp new file mode 100644 index 00000000000000..d3dc5998112f2a --- /dev/null +++ b/src/protocols/secure_channel/tests/FuzzPASE_PW.cpp @@ -0,0 +1,304 @@ +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +using namespace chip; +using namespace std; + +using namespace chip::Crypto; +using namespace fuzztest; +using namespace chip::Transport; +using namespace chip::Messaging; +using namespace System::Clock::Literals; + +// TODO: #35369 Refactor the classes below to Fixtures once Errors related to FuzzTest Fixtures are resolved +class FuzzLoopbackMessagingContext : public chip::Test::MessagingContext +{ +public: + ~FuzzLoopbackMessagingContext() {} + + // These functions wrap spLoopbackTransportManager methods + static auto & GetSystemLayer() { return spLoopbackTransportManager->GetSystemLayer(); } + static auto & GetLoopback() { return spLoopbackTransportManager->GetLoopback(); } + static auto & GetTransportMgr() { return spLoopbackTransportManager->GetTransportMgr(); } + static auto & GetIOContext() { return spLoopbackTransportManager->GetIOContext(); } + + template + static void DrainAndServiceIO(Ts... args) + { + return spLoopbackTransportManager->DrainAndServiceIO(args...); + } + + // Performs shared setup for all tests in the test suite + static void SetUpTestSuite() + { + // Initialize memory. + ASSERT_EQ(chip::Platform::MemoryInit(), CHIP_NO_ERROR); + // Instantiate the LoopbackTransportManager. + ASSERT_EQ(spLoopbackTransportManager, nullptr); + spLoopbackTransportManager = new chip::Test::LoopbackTransportManager(); + ASSERT_NE(spLoopbackTransportManager, nullptr); + // Initialize the LoopbackTransportManager. + ASSERT_EQ(spLoopbackTransportManager->Init(), CHIP_NO_ERROR); + } + + // Performs shared teardown for all tests in the test suite + static void TearDownTestSuite() + { + // Shutdown the LoopbackTransportManager. + spLoopbackTransportManager->Shutdown(); + // Destroy the LoopbackTransportManager. + if (spLoopbackTransportManager != nullptr) + { + delete spLoopbackTransportManager; + spLoopbackTransportManager = nullptr; + } + // Shutdown memory. + chip::Platform::MemoryShutdown(); + } + + // Performs setup for each individual test in the test suite + void SetUp() { ASSERT_EQ(MessagingContext::Init(&GetTransportMgr(), &GetIOContext()), CHIP_NO_ERROR); } + + // Performs teardown for each individual test in the test suite + void TearDown() { MessagingContext::Shutdown(); } + + static chip::Test::LoopbackTransportManager * spLoopbackTransportManager; +}; +chip::Test::LoopbackTransportManager * FuzzLoopbackMessagingContext::spLoopbackTransportManager = nullptr; + +class TestSecurePairingDelegate : public SessionEstablishmentDelegate +{ +public: + void OnSessionEstablishmentError(CHIP_ERROR error) override { mNumPairingErrors++; } + + void OnSessionEstablished(const SessionHandle & session) override { mNumPairingComplete++; } + + uint32_t mNumPairingErrors = 0; + uint32_t mNumPairingComplete = 0; +}; + +class TestPASESession : public FuzzLoopbackMessagingContext +{ +public: + TestPASESession() + { + ConfigInitializeNodes(false); + FuzzLoopbackMessagingContext::SetUpTestSuite(); + FuzzLoopbackMessagingContext::SetUp(); + } + ~TestPASESession() + { + FuzzLoopbackMessagingContext::TearDown(); + FuzzLoopbackMessagingContext::TearDownTestSuite(); + } + + void SecurePairingHandshake(SessionManager & sessionManager, PASESession & pairingCommissioner, + TestSecurePairingDelegate & delegateCommissioner, TestSecurePairingDelegate & delegateAccessory, + const Spake2pVerifier & verifier, uint32_t pbkdf2IterCount, const ByteSpan & salt, + uint32_t SetUpPINCode); +}; + +class TemporarySessionManager +{ +public: + TemporarySessionManager(TestPASESession & ctx) : mCtx(ctx) + { + EXPECT_EQ(CHIP_NO_ERROR, + mSessionManager.Init(&ctx.GetSystemLayer(), &ctx.GetTransportMgr(), &ctx.GetMessageCounterManager(), &mStorage, + &ctx.GetFabricTable(), ctx.GetSessionKeystore())); + // The setup here is really weird: we are using one session manager for + // the actual messages we send (the PASE handshake, so the + // unauthenticated sessions) and a different one for allocating the PASE + // sessions. Since our Init() set us up as the thing to handle messages + // on the transport manager, undo that. + mCtx.GetTransportMgr().SetSessionManager(&mCtx.GetSecureSessionManager()); + } + + ~TemporarySessionManager() + { + mSessionManager.Shutdown(); + // Reset the session manager on the transport again, just in case + // shutdown messed with it. + mCtx.GetTransportMgr().SetSessionManager(&mCtx.GetSecureSessionManager()); + } + + operator SessionManager &() { return mSessionManager; } + +private: + TestPASESession & mCtx; + TestPersistentStorageDelegate mStorage; + SessionManager mSessionManager; +}; + +class PASETestLoopbackTransportDelegate : public Test::LoopbackTransportDelegate +{ +public: + void OnMessageDropped() override { mMessageDropped = true; } + bool mMessageDropped = false; +}; + +void TestPASESession::SecurePairingHandshake(SessionManager & sessionManager, PASESession & pairingCommissioner, + TestSecurePairingDelegate & delegateCommissioner, + TestSecurePairingDelegate & delegateAccessory, const Spake2pVerifier & verifier, + uint32_t pbkdf2IterCount, const ByteSpan & salt, uint32_t SetUpPINCode) +{ + + PASESession pairingAccessory; + + PASETestLoopbackTransportDelegate delegate; + auto & loopback = GetLoopback(); + loopback.SetLoopbackTransportDelegate(&delegate); + loopback.mSentMessageCount = 0; + + ExchangeContext * contextCommissioner = NewUnauthenticatedExchangeToBob(&pairingCommissioner); + + EXPECT_EQ(GetExchangeManager().RegisterUnsolicitedMessageHandlerForType(Protocols::SecureChannel::MsgType::PBKDFParamRequest, + &pairingAccessory), + CHIP_NO_ERROR); + + pairingAccessory.WaitForPairing(sessionManager, verifier, pbkdf2IterCount, salt, + Optional::Missing(), &delegateAccessory); + DrainAndServiceIO(); + + pairingCommissioner.Pair(sessionManager, SetUpPINCode, Optional::Missing(), contextCommissioner, + &delegateCommissioner); + + DrainAndServiceIO(); +} + +//----------------------------------------**********Fuzz Tests*********------------------------------------------------ + +// This Fuzz Test should always result in Successful PASE Pairing, since all fuzzed inputs are within the valid bounds +void PASESession_Bounded(const uint32_t fuzzedSetupPasscode, const vector & fuzzedSalt, uint32_t fuzzedPBKDF2Iter) +{ + + Spake2pVerifier fuzzedSpake2pVerifier; + ByteSpan fuzzedSaltSpan{ fuzzedSalt.data(), fuzzedSalt.size() }; + + // Generating the Spake2+ verifier from the fuzzed inputs + EXPECT_EQ(fuzzedSpake2pVerifier.Generate(fuzzedPBKDF2Iter, fuzzedSaltSpan, fuzzedSetupPasscode), CHIP_NO_ERROR); + + // TODO: #35369 Move this to a Fixture once Errors related to FuzzTest Fixtures are resolved + TestPASESession PASELoopBack; + TemporarySessionManager sessionManager(PASELoopBack); + + PASESession pairingCommissioner; + + TestSecurePairingDelegate delegateCommissioner; + TestSecurePairingDelegate delegateCommissionee; + + PASELoopBack.SecurePairingHandshake(sessionManager, pairingCommissioner, delegateCommissioner, delegateCommissionee, + fuzzedSpake2pVerifier, fuzzedPBKDF2Iter, fuzzedSaltSpan, fuzzedSetupPasscode); + + // Given that the inputs to this Fuzz Test are within the expected boundaries, the Pairing should Always be successful. + EXPECT_EQ(delegateCommissionee.mNumPairingComplete, 1u); + EXPECT_EQ(delegateCommissioner.mNumPairingComplete, 1u); + + EXPECT_EQ(delegateCommissionee.mNumPairingErrors, 0u); + EXPECT_EQ(delegateCommissioner.mNumPairingErrors, 0u); +} + +FUZZ_TEST(FuzzPASE_PW, PASESession_Bounded) + .WithDomains( + InRange(00000000, 99999998), + Arbitrary>().WithMinSize(kSpake2p_Min_PBKDF_Salt_Length).WithMaxSize(kSpake2p_Max_PBKDF_Salt_Length), + InRange(kSpake2p_Min_PBKDF_Iterations, kSpake2p_Max_PBKDF_Iterations)); + +/* -------------------------------------------------------------------------------------------*/ +// This Fuzz Test is the equivalent of the previous one, but with the fuzzed inputs not being within the valid bounds. +void PASESession_Unbounded(const uint32_t fuzzedSetupPasscode, const vector & fuzzedSalt, uint32_t fuzzedPBKDF2Iter) +{ + + Spake2pVerifier fuzzedSpake2pVerifier; + ByteSpan fuzzedSaltSpan{ fuzzedSalt.data(), fuzzedSalt.size() }; + + // Generating the Spake2+ verifier from fuzzed inputs + fuzzedSpake2pVerifier.Generate(fuzzedPBKDF2Iter, fuzzedSaltSpan, fuzzedSetupPasscode); + + TestPASESession PASELoopBack; + TemporarySessionManager sessionManager(PASELoopBack); + + PASESession pairingCommissioner; + + TestSecurePairingDelegate delegateCommissioner; + TestSecurePairingDelegate delegateCommissionee; + + PASELoopBack.SecurePairingHandshake(sessionManager, pairingCommissioner, delegateCommissioner, delegateCommissionee, + fuzzedSpake2pVerifier, fuzzedPBKDF2Iter, fuzzedSaltSpan, fuzzedSetupPasscode); +} + +FUZZ_TEST(FuzzPASE_PW, PASESession_Unbounded) + .WithDomains(Arbitrary(), Arbitrary>(), Arbitrary()); + +/* -------------------------------------------------------------------------------------------*/ +// In This FuzzTest, the Spake2pVerifier is fuzzed. +void FuzzSpake2pVerifier(const vector & aW0, const vector & aL, const vector & aSalt, + const uint32_t fuzzedPBKDF2Iter, const uint32_t fuzzedSetupPasscode) +{ + Spake2pVerifier fuzzedSpake2pVerifier; + + copy_n(aW0.data(), aW0.size(), fuzzedSpake2pVerifier.mW0); + copy_n(aL.data(), aL.size(), fuzzedSpake2pVerifier.mL); + + ByteSpan fuzzedSaltSpan(aSalt.data(), aSalt.size()); + + TestPASESession PASELoopBack; + TemporarySessionManager sessionManager(PASELoopBack); + + PASESession pairingCommissioner; + + TestSecurePairingDelegate delegateCommissioner; + TestSecurePairingDelegate delegateCommissionee; + + PASELoopBack.SecurePairingHandshake(sessionManager, pairingCommissioner, delegateCommissioner, delegateCommissionee, + fuzzedSpake2pVerifier, fuzzedPBKDF2Iter, fuzzedSaltSpan, fuzzedSetupPasscode); +} +FUZZ_TEST(FuzzPASE_PW, FuzzSpake2pVerifier) + .WithDomains(Arbitrary>().WithMaxSize(kP256_FE_Length), + Arbitrary>().WithMaxSize(kP256_Point_Length), Arbitrary>(), + Arbitrary(), Arbitrary()); + +/* -------------------------------------------------------------------------------------------*/ +// In This FuzzTest, Fuzzed Serialized Verifier is deserialized and Serialized Again, comparing the original with RoundTrip result. +void Spake2pVerifier_Serialize_RoundTrip(const vector & FuzzedSerializedVerifier) +{ + + Spake2pVerifierSerialized FuzzedSerializedVerifierArray; + + copy_n(FuzzedSerializedVerifier.data(), FuzzedSerializedVerifier.size(), FuzzedSerializedVerifierArray); + + // Deserialize the fuzzed SPAKE2+ Verifier + Spake2pVerifier verifier; + EXPECT_EQ(verifier.Deserialize(ByteSpan(FuzzedSerializedVerifierArray)), CHIP_NO_ERROR); + + // Serialize the fuzzed SPAKE2+ Verifier again + Spake2pVerifierSerialized reserializedVerifier; + MutableByteSpan reserializedVerifierSpan(reserializedVerifier); + EXPECT_EQ(verifier.Serialize(reserializedVerifierSpan), CHIP_NO_ERROR); + EXPECT_EQ(reserializedVerifierSpan.size(), kSpake2p_VerifierSerialized_Length); + + // The original fuzzed SPAKE2+ verifier should be the same as the deserialized and re-serialized verifier (RoundTrip). + EXPECT_EQ(memcmp(reserializedVerifier, FuzzedSerializedVerifierArray, kSpake2p_VerifierSerialized_Length), 0); +} + +FUZZ_TEST(FuzzPASE_PW, Spake2pVerifier_Serialize_RoundTrip) + .WithDomains(Arbitrary>().WithSize(kSpake2p_VerifierSerialized_Length)); + +} // namespace From fef41bd0fb76acbf128ea547330d8792ba7ecc65 Mon Sep 17 00:00:00 2001 From: Ethan Zhou <73028112+ethanzhouyc@users.noreply.github.com> Date: Tue, 29 Oct 2024 17:25:17 -0400 Subject: [PATCH 2/7] Revert "Revert Generate Conformance Data with Alchemy" and Remove Attribute Description (#36233) * Revert "Revert "Generate Conformance Data with Alchemy (#36186)" (#36220)" This reverts commit a4a911c70bc3258077ce8a584ff55856d3e21dc5. * move attribute name - move attribute name from description to name inside attribute tag --- .../chip/access-control-cluster.xml | 51 +- .../data-model/chip/account-login-cluster.xml | 11 +- .../zcl/data-model/chip/actions-cluster.xml | 30 +- .../administrator-commissioning-cluster.xml | 19 +- .../data-model/chip/air-quality-cluster.xml | 4 +- .../chip/application-basic-cluster.xml | 34 +- .../chip/application-launcher-cluster.xml | 16 +- .../data-model/chip/audio-output-cluster.xml | 14 +- .../chip/ballast-configuration-cluster.xml | 76 +- .../chip/basic-information-cluster.xml | 95 +- .../zcl/data-model/chip/binding-cluster.xml | 6 +- .../data-model/chip/boolean-state-cluster.xml | 7 +- .../boolean-state-configuration-cluster.xml | 73 +- .../camera-av-stream-management-cluster.xml | 63 +- .../zcl/data-model/chip/channel-cluster.xml | 50 +- .../zcl/data-model/chip/chip-ota.xml | 3 +- .../data-model/chip/color-control-cluster.xml | 449 ++++- .../chip/commissioner-control-cluster.xml | 8 +- .../concentration-measurement-cluster.xml | 1074 ++++++++---- .../chip/content-app-observer-cluster.xml | 2 + .../chip/content-control-cluster.xml | 78 +- .../chip/content-launch-cluster.xml | 28 +- .../data-model/chip/descriptor-cluster.xml | 24 +- .../chip/device-energy-management-cluster.xml | 87 +- .../device-energy-management-mode-cluster.xml | 10 +- .../chip/diagnostic-logs-cluster.xml | 86 +- .../chip/dishwasher-alarm-cluster.xml | 41 +- .../chip/dishwasher-mode-cluster.xml | 12 +- .../zcl/data-model/chip/door-lock-cluster.xml | 1469 ++++++++++------- .../zcl/data-model/chip/drlc-cluster.xml | 37 +- .../chip/ecosystem-information-cluster.xml | 6 +- .../electrical-energy-measurement-cluster.xml | 52 +- .../electrical-power-measurement-cluster.xml | 103 +- .../data-model/chip/energy-evse-cluster.xml | 131 +- .../chip/energy-evse-mode-cluster.xml | 10 +- .../chip/energy-preference-cluster.xml | 31 +- .../ethernet-network-diagnostics-cluster.xml | 64 +- .../data-model/chip/fixed-label-cluster.xml | 4 +- .../chip/flow-measurement-cluster.xml | 16 +- .../chip/general-commissioning-cluster.xml | 83 +- .../chip/general-diagnostics-cluster.xml | 51 +- .../chip/group-key-mgmt-cluster.xml | 26 +- .../zcl/data-model/chip/groups-cluster.xml | 16 +- .../chip/icd-management-cluster.xml | 250 +-- .../zcl/data-model/chip/identify-cluster.xml | 14 +- .../chip/illuminance-measurement-cluster.xml | 36 +- .../data-model/chip/keypad-input-cluster.xml | 2 + .../chip/laundry-dryer-controls-cluster.xml | 14 +- .../chip/laundry-washer-mode-cluster.xml | 12 +- .../data-model/chip/level-control-cluster.xml | 83 +- .../localization-configuration-cluster.xml | 8 +- .../zcl/data-model/chip/low-power-cluster.xml | 1 + .../data-model/chip/media-input-cluster.xml | 14 +- .../chip/media-playback-cluster.xml | 92 +- .../zcl/data-model/chip/messages-cluster.xml | 15 +- .../chip/microwave-oven-control-cluster.xml | 64 +- .../chip/microwave-oven-mode-cluster.xml | 8 +- .../data-model/chip/mode-select-cluster.xml | 28 +- .../chip/network-commissioning-cluster.xml | 268 +-- .../chip/occupancy-sensing-cluster.xml | 252 ++- .../zcl/data-model/chip/onoff-cluster.xml | 50 +- .../chip/operational-credentials-cluster.xml | 38 +- .../chip/operational-state-cluster.xml | 65 +- .../chip/operational-state-oven-cluster.xml | 47 +- .../chip/operational-state-rvc-cluster.xml | 68 +- .../zcl/data-model/chip/oven-mode-cluster.xml | 12 +- .../data-model/chip/power-source-cluster.xml | 202 ++- .../power-source-configuration-cluster.xml | 4 +- .../chip/power-topology-cluster.xml | 12 +- .../chip/pressure-measurement-cluster.xml | 48 +- ...pump-configuration-and-control-cluster.xml | 181 +- .../data-model/chip/refrigerator-alarm.xml | 25 +- ...rature-controlled-cabinet-mode-cluster.xml | 12 +- .../relative-humidity-measurement-cluster.xml | 16 +- .../chip/resource-monitoring-cluster.xml | 66 +- .../chip/rvc-clean-mode-cluster.xml | 10 +- .../data-model/chip/rvc-run-mode-cluster.xml | 10 +- .../zcl/data-model/chip/scene.xml | 31 +- .../data-model/chip/service-area-cluster.xml | 36 +- .../chip/smoke-co-alarm-cluster.xml | 82 +- .../chip/software-diagnostics-cluster.xml | 24 +- .../zcl/data-model/chip/switch-cluster.xml | 42 +- .../chip/target-navigator-cluster.xml | 13 +- .../chip/temperature-control-cluster.xml | 43 +- .../chip/temperature-measurement-cluster.xml | 16 +- .../data-model/chip/thermostat-cluster.xml | 350 +++- ...t-user-interface-configuration-cluster.xml | 14 +- ...hread-border-router-management-cluster.xml | 45 +- .../thread-network-diagnostics-cluster.xml | 345 +++- .../chip/thread-network-directory-cluster.xml | 106 +- .../chip/time-format-localization-cluster.xml | 20 +- .../chip/time-synchronization-cluster.xml | 105 +- .../chip/unit-localization-cluster.xml | 8 +- .../data-model/chip/user-label-cluster.xml | 4 +- ...alve-configuration-and-control-cluster.xml | 60 +- .../data-model/chip/wake-on-lan-cluster.xml | 10 +- .../chip/washer-controls-cluster.xml | 26 +- .../chip/water-heater-management-cluster.xml | 34 +- .../chip/water-heater-mode-cluster.xml | 10 +- .../chip/wifi-network-diagnostics-cluster.xml | 74 +- .../chip/wifi-network-management-cluster.xml | 10 +- .../zcl/data-model/chip/window-covering.xml | 212 ++- 102 files changed, 6057 insertions(+), 2240 deletions(-) diff --git a/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml index edf1b65e941ad0..67a919eac1df0d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml @@ -109,33 +109,55 @@ limitations under the License. and enforce Access Control for the Node's endpoints and their associated cluster instances. - - ACL + + - - Extension + + + + - SubjectsPerAccessControlEntry - TargetsPerAccessControlEntry - AccessControlEntriesPerFabric - CommissioningARL - ARL - + + + + + + + + + + + + + + + + + + + + This command signals to the service associated with the device vendor that the fabric administrator would like a review of the current restrictions on the accessing fabric. - + + + + Returns the review token for the request, which can be used to correlate with a FabricRestrictionReviewUpdate event. + + + @@ -145,6 +167,7 @@ limitations under the License. + @@ -154,6 +177,9 @@ limitations under the License. + + + @@ -162,6 +188,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml index baf74dc3c2e1da..38fcbcaaf9c5e4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml @@ -28,31 +28,36 @@ limitations under the License. Upon receipt, the Content App checks if the account associated with the client Temp Account Identifier Rotating ID is the same acount that is active on the given Content App. If the accounts are the same, then the Content App includes the Setup PIN in the GetSetupPIN Response. - + + Upon receipt, the Content App checks if the account associated with the client’s Temp Account Identifier (Rotating ID) has a current active Setup PIN with the given value. If the Setup PIN is valid for the user account associated with the Temp Account Identifier, then the Content App MAY make that user account active. - + - + + The purpose of this command is to instruct the Content App to clear the current user account. This command SHOULD be used by clients of a Content App to indicate the end of a user session. + This message is sent in response to the GetSetupPIN Request, and contains the Setup PIN code, or null when the accounts identified in the request does not match the active account of the running Content App. + This event can be used by the Content App to indicate that the current user has logged out. In response to this event, the Fabric Admin SHALL remove access to this Content App by the specified Node. If no Node is provided, then the Fabric Admin SHALL remove access to all non-Admin Nodes. + diff --git a/src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml index acf28b88e46414..73c38134ed8150 100644 --- a/src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml @@ -89,11 +89,17 @@ limitations under the License. 0x0025 ACTIONS_CLUSTER This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. - - ActionList - EndpointLists - SetupURL - + + + + + + + + + + + This command triggers an action (state change) on the involved endpoints. @@ -173,17 +179,19 @@ limitations under the License. This event SHALL be generated when there is a change in the Status of an ActionID. - - + + + This event SHALL be generated when there is some error which prevents the action from its normal planned execution. - - - - + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml index 3532c89b931880..ba6b7fd266f4ce 100644 --- a/src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml @@ -43,10 +43,16 @@ limitations under the License. - WindowStatus - AdminFabricIndex - AdminVendorId - + + + + + + + + + + This command is used by a current Administrator to instruct a Node to go into commissioning mode using enhanced commissioning method. @@ -55,17 +61,22 @@ limitations under the License. + This command is used by a current Administrator to instruct a Node to go into commissioning mode using basic commissioning method, if the node supports it. + + + This command is used by a current Administrator to instruct a Node to revoke any active Open Commissioning Window or Open Basic Commissioning Window command. + diff --git a/src/app/zap-templates/zcl/data-model/chip/air-quality-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/air-quality-cluster.xml index bbc57510e85dce..1b5d34b7bacb02 100644 --- a/src/app/zap-templates/zcl/data-model/chip/air-quality-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/air-quality-cluster.xml @@ -41,7 +41,9 @@ limitations under the License. - AirQuality + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml index e6331f698fd423..704b8cadbea19c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml @@ -24,16 +24,30 @@ limitations under the License. true true This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. - VendorName - VendorID - ApplicationName - ProductID - Application - Status - ApplicationVersion - - AllowedVendorList - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml index 50b715e138a744..d69437a298f85e 100644 --- a/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml @@ -31,29 +31,39 @@ limitations under the License. - CatalogList - CurrentApp - + + + + + + + + + Upon receipt, this SHALL launch the specified app with optional data. The TV Device SHALL launch and bring to foreground the identified application in the command if the application is not already launched and in foreground. The TV Device SHALL update state attribute on the Application Basic cluster of the Endpoint corresponding to the launched application. This command returns a Launch Response. + Upon receipt on a Video Player endpoint this SHALL stop the specified application if it is running. + Upon receipt on a Video Player endpoint this SHALL hide the specified application if it is running and visible. + This command SHALL be generated in response to LaunchApp commands. + diff --git a/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml index acaa9deadb6a3b..d24b34f40235c2 100644 --- a/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml @@ -31,12 +31,17 @@ limitations under the License. - OutputList - CurrentOutput - + + + + + + + Upon receipt, this SHALL change the output on the media device to the output at a specific index in the Output List. + @@ -44,6 +49,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml index 32450208914a6d..80119e8ec0a006 100644 --- a/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml @@ -41,53 +41,61 @@ limitations under the License. - PhysicalMinLevel - PhysicalMaxLevel - BallastStatus + + + + + + + + + - - MinLevel - + + + - - MaxLevel - + + + - - IntrinsicBallastFactor - + + + - - BallastFactorAdjustment - + + + - LampQuantity + + + - - LampType - + + + - - LampManufacturer - + + + - - LampRatedHours - + + + - - LampBurnHours - + + + - - LampAlarmMode - + + + - - LampBurnHoursTripPoint - + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml index 7f6320a5880dc9..f08d9dc2be7d2b 100644 --- a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml @@ -74,52 +74,95 @@ limitations under the License. which apply to the whole Node. Also allows setting user device information such as location. - DataModelRevision - VendorName - VendorID - ProductName - ProductID - - NodeLabel + + + + + + + + + + + + + + + + + - - Location + + + + + + + + + + + + + + + + + - HardwareVersion - HardwareVersionString - SoftwareVersion - SoftwareVersionString - ManufacturingDate - PartNumber - ProductURL - ProductLabel - SerialNumber - - LocalConfigDisabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Reachable - UniqueID - CapabilityMinima - ProductAppearance - SpecificationVersion - MaxPathsPerInvoke The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process. + The ShutDown event SHOULD be emitted by a Node prior to any orderly shutdown sequence on a best-effort basis. + The Leave event SHOULD be emitted by a Node prior to permanently leaving the Fabric. + This event (when supported) SHALL be generated when there is a change in the Reachable attribute. diff --git a/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml index 741a5a9372edc0..19f2b0933c82c1 100644 --- a/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml @@ -31,9 +31,9 @@ limitations under the License. 0x001e BINDING_CLUSTER The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. - - Binding - + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml index 0dee692affacee..292067d12aa456 100644 --- a/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml @@ -26,11 +26,14 @@ limitations under the License. true true - StateValue - + + + + This event SHALL be generated when the StateValue attribute changes. + diff --git a/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml index 4fb33dd9749a0e..a301b4eacf066b 100644 --- a/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/boolean-state-configuration-cluster.xml @@ -58,34 +58,89 @@ limitations under the License. - CurrentSensitivityLevel - SupportedSensitivityLevels - DefaultSensitivityLevel - AlarmsActive - AlarmsSuppressed - AlarmsEnabled - AlarmsSupported - SensorFault - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This command is used to suppress the specified alarm mode. + + + This command is used to enable or disable the specified alarm mode. + + + + + + This event SHALL be generated when any bits in the AlarmsActive and/or AlarmsSuppressed attributes change. + + + + + + This event SHALL be generated when the device registers or clears a fault. + diff --git a/src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml index 5cbf1d28ec89d3..13d1f7a9e77be2 100644 --- a/src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml @@ -194,8 +194,7 @@ Git: 0.9-fall2024-411-g9835b5cd7 SupportedSnapshotParams MaxNetworkBandwidth CurrentFrameRate - - HDRModeEnabled + @@ -205,110 +204,90 @@ Git: 0.9-fall2024-411-g9835b5cd7 AllocatedVideoStreams AllocatedAudioStreams AllocatedSnapshotStreams - - RankedVideoStreamPrioritiesList + SoftRecordingPrivacyModeEnabled SoftLivestreamPrivacyModeEnabled HardPrivacyModeOn - - NightVision + - - NightVisionIllum + - - AWBEnabled + - - AutoShutterSpeedEnabled + - - AutoISOEnabled + Viewport - - SpeakerMuted + - - SpeakerVolumeLevel + - - SpeakerMaxLevel + - - SpeakerMinLevel + - - MicrophoneMuted + - - MicrophoneVolumeLevel + - - MicrophoneMaxLevel + - - MicrophoneMinLevel + - - MicrophoneAGCEnabled + ImageRotation ImageFlipHorizontal ImageFlipVertical - - LocalVideoRecordingEnabled + - - LocalSnapshotRecordingEnabled + - - StatusLightEnabled + - - StatusLightBrightness + - - DepthSensorStatus + diff --git a/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml index 25ec7b7062f97a..cb4bcd9adb5ab1 100644 --- a/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml @@ -41,30 +41,54 @@ limitations under the License. - ChannelList - Lineup - CurrentChannel - + + + + + + + + + + + + + + Change the channel on the media player to the channel case-insensitive exact matching the value passed as an argument. + + + + + + Change the channel on the media plaeyer to the channel with the given Number in the ChannelList attribute. + This command provides channel up and channel down functionality, but allows channel index jumps of size Count. When the value of the increase or decrease is larger than the number of channels remaining in the given direction, then the behavior SHALL be to return to the beginning (or end) of the channel list and continue. For example, if the current channel is at index 0 and count value of -1 is given, then the current channel should change to the last channel. + Upon receipt, this SHALL display the active status of the input list on screen. + + + + + + @@ -76,12 +100,18 @@ limitations under the License. + + + This command is a response to the GetProgramGuide command. + + + @@ -90,6 +120,12 @@ limitations under the License. + + + + + + @@ -98,6 +134,12 @@ limitations under the License. + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml b/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml index 04fa27436383b2..14767f6429d6c5 100644 --- a/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml +++ b/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml @@ -121,8 +121,7 @@ limitations under the License. OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER true true - - DefaultOTAProviders + diff --git a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml index 3623ce1ccf925c..b3be97a2176d3c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml @@ -127,135 +127,359 @@ limitations under the License. - CurrentHue + + + + + - CurrentSaturation + + + + + - RemainingTime + + + - CurrentX + + + + + - CurrentY + + + + + - DriftCompensation + + + - CompensationText + + + - ColorTemperatureMireds + + + + + - ColorMode + + + - Options + + + - NumberOfPrimaries + + + - Primary1X + + + + + + + + + + + - Primary1Y + + + + + + + + + + + - Primary1Intensity + + + + + + + + + + + - Primary2X + + + + + + + + + + + - Primary2Y + + + + + + + + + + + - Primary2Intensity + + + + + + + + + + + - Primary3X + + + + + + + + + + + - Primary3Y + + + + + + + + + + + - Primary3Intensity + + + + + + + + + + + - Primary4X + + + + + + + + + + + - Primary4Y + + + + + + + + + + + - Primary4Intensity + + + + + + + + + + + - Primary5X + + + + + + + + + + + - Primary5Y + + + + + + + + + + + - Primary5Intensity + + + + + + + + + + + - Primary6X + + + + + + + + + + + - Primary6Y + + + + + + + + + + + - Primary6Intensity + + + + + + + + + + + - - WhitePointX + + - - WhitePointY + + - - ColorPointRX + + - - ColorPointRY + + - - ColorPointRIntensity + + - - ColorPointGX + + - - ColorPointGY + + - - ColorPointGIntensity + + - - ColorPointBX + + - - ColorPointBY + + - - ColorPointBIntensity + + - CoupleColorTempToLevelMinMireds - - StartUpColorTemperatureMireds + + + + + + + + + + + + + + + @@ -267,6 +491,9 @@ limitations under the License. + + + @@ -277,6 +504,9 @@ limitations under the License. + + + @@ -288,6 +518,9 @@ limitations under the License. + + + @@ -298,6 +531,9 @@ limitations under the License. + + + @@ -308,6 +544,9 @@ limitations under the License. + + + @@ -319,6 +558,9 @@ limitations under the License. + + + @@ -330,6 +572,9 @@ limitations under the License. + + + @@ -341,6 +586,9 @@ limitations under the License. + + + @@ -351,6 +599,9 @@ limitations under the License. + + + @@ -362,6 +613,9 @@ limitations under the License. + + + @@ -372,20 +626,59 @@ limitations under the License. + + + - EnhancedCurrentHue - EnhancedColorMode - ColorLoopActive - ColorLoopDirection - ColorLoopTime - ColorLoopStartEnhancedHue - ColorLoopStoredEnhancedHue - ColorCapabilities - ColorTempPhysicalMinMireds - ColorTempPhysicalMaxMireds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -396,6 +689,9 @@ limitations under the License. + + + @@ -406,6 +702,9 @@ limitations under the License. + + + @@ -417,6 +716,9 @@ limitations under the License. + + + @@ -428,6 +730,9 @@ limitations under the License. + + + @@ -441,6 +746,9 @@ limitations under the License. + + + @@ -449,6 +757,13 @@ limitations under the License. + + + + + + + @@ -461,6 +776,9 @@ limitations under the License. + + + @@ -474,6 +792,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/commissioner-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/commissioner-control-cluster.xml index dcfb1dfa7096b8..1422733cc0af76 100644 --- a/src/app/zap-templates/zcl/data-model/chip/commissioner-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/commissioner-control-cluster.xml @@ -32,9 +32,9 @@ limitations under the License. - - SupportedDeviceCategories + + @@ -44,6 +44,7 @@ limitations under the License. + @@ -51,6 +52,7 @@ limitations under the License. + @@ -60,6 +62,7 @@ limitations under the License. + @@ -68,6 +71,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/concentration-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/concentration-measurement-cluster.xml index 4d03c539103970..27b298ae25d14c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/concentration-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/concentration-measurement-cluster.xml @@ -58,17 +58,59 @@ limitations under the License. - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -113,17 +155,59 @@ limitations under the License. - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -139,45 +223,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -193,45 +319,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -247,45 +415,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -301,45 +511,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -355,45 +607,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -409,45 +703,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -463,45 +799,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -517,45 +895,87 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - PeakMeasuredValue - PeakMeasuredValueWindow - AverageMeasuredValue - AverageMeasuredValueWindow - Uncertainty - MeasurementUnit - MeasurementMedium - LevelValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/content-app-observer-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/content-app-observer-cluster.xml index 6e241c7b5c3cd0..0f5a99b6ba9266 100644 --- a/src/app/zap-templates/zcl/data-model/chip/content-app-observer-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/content-app-observer-cluster.xml @@ -29,6 +29,7 @@ limitations under the License. Upon receipt, the data field MAY be parsed and interpreted. Message encoding is specific to the Content App. A Content App MAY when possible read attributes from the Basic Information Cluster on the Observer and use this to determine the Message encoding. + @@ -36,6 +37,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/content-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/content-control-cluster.xml index 06468c114c42dc..d628663fccaca4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/content-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/content-control-cluster.xml @@ -43,69 +43,131 @@ limitations under the License. - Enabled - OnDemandRatings - OnDemandRatingThreshold - ScheduledContentRatings - ScheduledContentRatingThreshold - ScreenDailyTime - RemainingScreenTime - BlockUnrated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The purpose of this command is to update the PIN used for protecting configuration of the content control settings. Upon success, the old PIN SHALL no longer work. The PIN is used to ensure that only the Node (or User) with the PIN code can make changes to the Content Control settings, for example, turn off Content Controls or modify the ScreenDailyTime. The PIN is composed of a numeric string of up to 6 human readable characters (displayable) . Upon receipt of this command, the media device SHALL check if the OldPIN field of this command is the same as the current PIN. If the PINs are the same, then the PIN code SHALL be set to NewPIN. Otherwise a response with InvalidPINCode error status SHALL be returned. The media device MAY provide a default PIN to the User via an out of band mechanism. For security reasons, it is recommended that a client encourage the user to update the PIN from its default value when performing configuration of the Content Control settings exposed by this cluster. The ResetPIN command can also be used to obtain the default PIN. + + + The purpose of this command is to reset the PIN. If this command is executed successfully, a ResetPINResponse command with a new PIN SHALL be returned. + + + This command SHALL be generated in response to a ResetPIN command. The data for this command SHALL be as follows: + + + The purpose of this command is to turn on the Content Control feature on a media device. On receipt of the Enable command, the media device SHALL set the Enabled attribute to TRUE. + The purpose of this command is to turn off the Content Control feature on a media device. On receipt of the Disable command, the media device SHALL set the Enabled attribute to FALSE. + The purpose of this command is to add the extra screen time for the user. If a client with Operate privilege invokes this command, the media device SHALL check whether the PINCode passed in the command matches the current PINCode value. If these match, then the RemainingScreenTime attribute SHALL be increased by the specified BonusTime value. If the PINs do not match, then a response with InvalidPINCode error status SHALL be returned, and no changes SHALL be made to RemainingScreenTime. If a client with Manage privilege or greater invokes this command, the media device SHALL ignore the PINCode field and directly increase the RemainingScreenTime attribute by the specified BonusTime value. A server that does not support the PM feature SHALL respond with InvalidPINCode to clients that only have Operate privilege unless: It has been provided with the PIN value to expect via an out of band mechanism, and The client has provided a PINCode that matches the expected PIN value. + + + The purpose of this command is to set the ScreenDailyTime attribute. On receipt of the SetScreenDailyTime command, the media device SHALL set the ScreenDailyTime attribute to the ScreenTime value. + + + The purpose of this command is to specify whether programs with no Content rating must be blocked by this media device. On receipt of the BlockUnratedContent command, the media device SHALL set the BlockUnrated attribute to TRUE. + + + The purpose of this command is to specify whether programs with no Content rating must be blocked by this media device. On receipt of the UnblockUnratedContent command, the media device SHALL set the BlockUnrated attribute to FALSE. + + + The purpose of this command is to set the OnDemandRatingThreshold attribute. On receipt of the SetOnDemandRatingThreshold command, the media device SHALL check if the Rating field is one of values present in the OnDemandRatings attribute. If not, then a response with InvalidRating error status SHALL be returned. + + + The purpose of this command is to set ScheduledContentRatingThreshold attribute. On receipt of the SetScheduledContentRatingThreshold command, the media device SHALL check if the Rating field is one of values present in the ScheduledContentRatings attribute. If not, then a response with InvalidRating error status SHALL be returned. + + + This event SHALL be generated when the RemainingScreenTime equals 0. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml index 7058f969799087..4d96173013856f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml @@ -25,10 +25,18 @@ limitations under the License. true This cluster provides an interface for launching content on a media player device such as a TV or Speaker. - - AcceptHeader - SupportedStreamingProtocols - + + + + + + + + + + + + Upon receipt, this SHALL launch the specified content with optional search criteria. @@ -36,6 +44,9 @@ limitations under the License. + + + @@ -43,12 +54,21 @@ limitations under the License. + + + This command SHALL be generated in response to LaunchContent command. + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml index d63dbeb05ca11a..b7495d2d84302d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml @@ -44,11 +44,23 @@ limitations under the License. - - DeviceTypeList - ServerList - ClientList - PartsList - TagList + + + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/device-energy-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/device-energy-management-cluster.xml index 3550dd0301be99..2d551a2d428121 100644 --- a/src/app/zap-templates/zcl/data-model/chip/device-energy-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/device-energy-management-cluster.xml @@ -74,41 +74,87 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 - ESAType - ESACanGenerate - ESAState - AbsMinPower - AbsMaxPower + + + + + + + + + + + + + + + - PowerAdjustmentCapability + + + + + - Forecast - OptOutState + + + + + + + + + + + + + + + + + + + Allows a client to request an adjustment in the power consumption of an ESA for a specified duration. + + + Allows a client to cancel an ongoing PowerAdjustmentRequest operation. + + + Allows a client to adjust the start time of a Forecast sequence that has not yet started operation (i.e. where the current Forecast StartTime is in the future). + + + Allows a client to temporarily pause an operation and reduce the ESAs energy demand. + + + Allows a client to cancel the PauseRequest command and enable earlier resumption of operation. + + + @@ -116,20 +162,36 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + + + Allows a client to ask the ESA to recompute its Forecast based on power and time constraints. + + + Allows a client to request cancellation of a previous adjustment request in a StartTimeAdjustRequest, ModifyForecastRequest or RequestConstraintBasedForecast command. + + + + + + + This event SHALL be generated when the Power Adjustment session is started. + + + @@ -137,15 +199,24 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + + + This event SHALL be generated when the ESA enters the Paused state. + + + This event SHALL be generated when the ESA leaves the Paused state and resumes operation. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/device-energy-management-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/device-energy-management-mode-cluster.xml index c3440adebef3f6..bad3b92e06179c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/device-energy-management-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/device-energy-management-mode-cluster.xml @@ -59,18 +59,24 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 - SupportedModes - CurrentMode + + + + + + This command is used to change device modes. + This command is sent by the device on receipt of the ChangeToMode command. + diff --git a/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml index 27162f66e5e6db..4140fd18a0eaec 100644 --- a/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml @@ -15,46 +15,48 @@ See the License for the specific language governing permissions and limitations under the License. --> - - - - - - - - - - - - - - - - - - - - - - Diagnostic Logs - CHIP - The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. - 0x0032 - DIAGNOSTIC_LOGS_CLUSTER - true - true - - Retrieving diagnostic logs from a Node - - - - - - Response to the RetrieveLogsRequest - - - - - - + + + + + + + + + + + + + + + + + + + + + + Diagnostic Logs + CHIP + The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. + 0x0032 + DIAGNOSTIC_LOGS_CLUSTER + true + true + + Retrieving diagnostic logs from a Node + + + + + + + Response to the RetrieveLogsRequest + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml index 7e41a7a1c03f99..f460f42a1971ae 100644 --- a/src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml @@ -43,27 +43,42 @@ limitations under the License. - Mask - Latch - State - Supported + + + + + + + + + + + + + + - Reset alarm - + Reset alarm + + + + - Modify enabled alarms - + Modify enabled alarms + + - Notify - - - - + Notify + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml index 7c7dec635f3b6c..49403ab54716be 100644 --- a/src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml @@ -57,11 +57,15 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + StartUpMode OnMode - + @@ -69,6 +73,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -77,6 +82,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml index b25cd549d90091..03042ad346ff2d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml @@ -131,659 +131,856 @@ limitations under the License. 3. Everything that depends on a certain feature is optional because we have no way of setting up the dependencies here. Dependencies would be probably resolved in the cluster itself. Those attributes/commands are marked with a special comment. --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This command causes the lock device to lock the door. + + + + + + This command causes the lock device to unlock the door. + + + + + + + This command causes the lock device to unlock the door with a timeout parameter. + + + + + + + + Set a weekly repeating schedule for a specified user. + + + + + + + + + + + + + + + Retrieve the specific weekly schedule for the specific user. + + + + + + + + + + Returns the weekly repeating schedule data for the specified schedule index. + + + + + + + + + + + + + + + Clear the specific weekly schedule or all weekly schedules for the specific user. + + + + + + + + + + Set a time-specific schedule ID for a specified user. + + + + + + + + + + + + Returns the year day schedule data for the specified schedule and user indexes. + + + + + + + + + + Returns the year day schedule data for the specified schedule and user indexes. + + + + + + + + + + + + Clears the specific year day schedule or all year day schedules for the specific user. + + + + + + + + + + Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode. + + + + + + + + + + + + Get the holiday schedule for the specified index. + + + + + + + + + Returns the Holiday Schedule Entry for the specified Holiday ID. + + + + + + + + + + + + Clears the holiday schedule or all holiday schedules. + + + + + + + + + Set User into the lock. + + + + + + + + + + + + + + + Retrieve User. + + + + + + + + + Returns the User for the specified UserIndex. + + + + + + + + + + + + + + + + + Clears a User or all Users. + + + + + + + + + Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser. + + + + + + + + + + + + + + Returns the status for setting the specified credential. + + + + + + + + + + Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index. + + + + + + + + + Returns the status for the specified credential. + + + + + + + + + + + + + Clear one, one type, or all credentials except ProgrammingPIN credential. + + + + + + + + This command causes the lock device to unlock the door without pulling the latch. + + + + + + + + This command communicates an Aliro Reader configuration to the lock. + + + + + + + + + + + This command clears an existing Aliro Reader configuration for the lock. + + + + + - - LockState - LockType - ActuatorEnabled - - DoorState - - - DoorOpenEvents - - - - - - DoorClosedEvents - - - - - - OpenPeriod - - - - - NumberOfTotalUsersSupported - - NumberOfPINUsersSupported - - NumberOfRFIDUsersSupported - - NumberOfWeekDaySchedulesSupportedPerUser - - NumberOfYearDaySchedulesSupportedPerUser - - NumberOfHolidaySchedulesSupported - - MaxPINCodeLength - - MinPINCodeLength - - MaxRFIDCodeLength - - MinRFIDCodeLength - - CredentialRulesSupport - - NumberOfCredentialsSupportedPerUser - - Language - - - - - LEDSettings - - - - - AutoRelockTime - - - - - SoundVolume - - - - - OperatingMode - - - - SupportedOperatingModes - DefaultConfigurationRegister - - EnableLocalProgramming - - - - - EnableOneTouchLocking - - - - - EnableInsideStatusLED - - - - - EnablePrivacyModeButton - - - - - LocalProgrammingFeatures - - - - - - WrongCodeEntryLimit - - - - - - UserCodeTemporaryDisableTime - - - - - - SendPINOverTheAir - - - - - - RequirePINforRemoteOperation - - - - - - - ExpiringUserTimeout - - - - - - AliroReaderVerificationKey - - - - - AliroReaderGroupIdentifier - - - - - AliroReaderGroupSubIdentifier - - - - - AliroExpeditedTransactionSupportedProtocolVersions - - - - - AliroGroupResolvingKey - - - - - AliroSupportedBLEUWBProtocolVersions - - - - - AliroBLEAdvertisingVersion - - - - NumberOfAliroCredentialIssuerKeysSupported - - NumberOfAliroEndpointKeysSupported - - - - This command causes the lock device to lock the door. - - - - - This command causes the lock device to unlock the door. - - - - - - This command causes the lock device to unlock the door with a timeout parameter. - - - - - - - Set a weekly repeating schedule for a specified user. - - - - - - - - - - - - Retrieve the specific weekly schedule for the specific user. - - - - - - - Returns the weekly repeating schedule data for the specified schedule index. - - - - - - - - - - - - Clear the specific weekly schedule or all weekly schedules for the specific user. - - - - - - - Set a time-specific schedule ID for a specified user. - - - - - - - - - Returns the year day schedule data for the specified schedule and user indexes. - - - - - - - Returns the year day schedule data for the specified schedule and user indexes. - - - - - - - - - Clears the specific year day schedule or all year day schedules for the specific user. - - - - - - - Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode. - - - - - - - - - Get the holiday schedule for the specified index. - - - - - - Returns the Holiday Schedule Entry for the specified Holiday ID. - - - - - - - - - Clears the holiday schedule or all holiday schedules. - - - - - - Set User into the lock. - - - - - - - - - - - - Retrieve User. - - - - - - Returns the User for the specified UserIndex. - - - - - - - - - - - - - - Clears a User or all Users. - - - - - - Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser. - - - - - - - - - - - Returns the status for setting the specified credential. - - - - - - - Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index. - - - - - - Returns the status for the specified credential. - - - - - - - - - - Clear one, one type, or all credentials except ProgrammingPIN credential. - - - - - This command causes the lock device to unlock the door without pulling the latch. - - - - - This command communicates an Aliro Reader configuration to the lock. - - - - - - - - This command clears an existing Aliro Reader configuration for the lock. - - - - - - - The door lock cluster provides several alarms which can be sent when there is a critical state on the door lock. - - - - - The door lock server sends out a DoorStateChange event when the door lock door state changes. - - - - The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources. - - - - - - - - - - The door lock server sends out a LockOperationError event when a lock operation fails for various reasons. - - - - - - - - - - - The door lock server sends out a LockUserChange event when a lock user, schedule, or credential change has occurred. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + The door lock cluster provides several alarms which can be sent when there is a critical state on the door lock. + + + + + + The door lock server sends out a DoorStateChange event when the door lock door state changes. + + + + + + + The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources. + + + + + + + + + + + The door lock server sends out a LockOperationError event when a lock operation fails for various reasons. + + + + + + + + + + + + The door lock server sends out a LockUserChange event when a lock user, schedule, or credential change has occurred. + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - - - - + + + + + - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -796,7 +993,7 @@ limitations under the License. - + @@ -808,7 +1005,7 @@ limitations under the License. - + @@ -824,7 +1021,7 @@ limitations under the License. - + @@ -836,7 +1033,7 @@ limitations under the License. - + @@ -846,7 +1043,7 @@ limitations under the License. - + @@ -858,7 +1055,7 @@ limitations under the License. - + diff --git a/src/app/zap-templates/zcl/data-model/chip/drlc-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/drlc-cluster.xml index d64bce1c85b7f6..752a917fd33ff6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/drlc-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/drlc-cluster.xml @@ -199,21 +199,33 @@ limitations under the License. - LoadControlPrograms - NumberOfLoadControlPrograms - Events - ActiveEvents - NumberOfEventsPerProgram - NumberOfTransitions - - DefaultRandomStart + + + + + + + + + + + + + + + + + + + + - - DefaultRandomDuration + + @@ -221,18 +233,21 @@ limitations under the License. Upon receipt, this SHALL insert a new LoadControlProgramStruct into LoadControlPrograms, or if the ProgramID matches an existing LoadControlProgramStruct, then the provider SHALL be updated with the provided values. + Upon receipt, this SHALL remove a the LoadControlProgramStruct from LoadControlPrograms with the matching ProgramID. + On receipt of the AddLoadControlEventsRequest command, the server SHALL add a load control event. + @@ -240,6 +255,7 @@ limitations under the License. + + diff --git a/src/app/zap-templates/zcl/data-model/chip/ecosystem-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ecosystem-information-cluster.xml index 73ae522365f410..06f931ef0783d2 100644 --- a/src/app/zap-templates/zcl/data-model/chip/ecosystem-information-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/ecosystem-information-cluster.xml @@ -44,12 +44,10 @@ limitations under the License. true - - DeviceDirectory + - - LocationDirectory + diff --git a/src/app/zap-templates/zcl/data-model/chip/electrical-energy-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/electrical-energy-measurement-cluster.xml index eb05052538d2de..c8501c412c19d5 100644 --- a/src/app/zap-templates/zcl/data-model/chip/electrical-energy-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/electrical-energy-measurement-cluster.xml @@ -42,25 +42,65 @@ limitations under the License. - Accuracy - CumulativeEnergyImported + + + + + + + + + + + - CumulativeEnergyExported + + + + + + + + - PeriodicEnergyImported + + + + + + + + - PeriodicEnergyExported - CumulativeEnergyReset + + + + + + + + + + + + + CumulativeEnergyMeasured + + + PeriodicEnergyMeasured + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/electrical-power-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/electrical-power-measurement-cluster.xml index 7f49a643d1b1f9..0a4fccb6b914f4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/electrical-power-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/electrical-power-measurement-cluster.xml @@ -51,40 +51,105 @@ limitations under the License. - PowerMode - NumberOfMeasurementTypes - Accuracy - Ranges - Voltage + + + + + + + + + + + + + + + - ActiveCurrent + + + - ReactiveCurrent - ApparentCurrent + + + + + + + + + + - ActivePower + + + - ReactivePower + + + + + - ApparentPower + + + + + - RMSVoltage + + + + + - RMSCurrent + + + + + - RMSPower + + + + + - Frequency + + + + + - HarmonicCurrents + + + + + - HarmonicPhases + + + + + - PowerFactor - NeutralCurrent + + + + + + + + + + MeasurementPeriodRanges + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/energy-evse-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/energy-evse-cluster.xml index 7a4a40d2e39966..8c26a925876744 100644 --- a/src/app/zap-templates/zcl/data-model/chip/energy-evse-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/energy-evse-cluster.xml @@ -128,53 +128,119 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 - State - SupplyState - FaultState - ChargingEnabledUntil + + + + + + + + + + + + - DischargingEnabledUntil - CircuitCapacity - MinimumChargeCurrent - MaximumChargeCurrent + + + + + + + + + + + + + + - MaximumDischargeCurrent + + + + + UserMaximumChargeCurrent + RandomizationDelayWindow + - NextChargeStartTime + + + + + - NextChargeTargetTime + + + + + - NextChargeRequiredEnergy + + + + + - NextChargeTargetSoC + + + + + ApproximateEVEfficiency + + + - StateOfCharge + + + + + - BatteryCapacity + + + + + - VehicleID - SessionID - SessionDuration - SessionEnergyCharged + + + + + + + + + + + + + + - SessionEnergyDischarged + + + + + Allows a client to disable the EVSE from charging and discharging. + @@ -182,39 +248,57 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 This command allows a client to enable the EVSE to charge an EV, and to provide or update the maximum and minimum charge current. + Upon receipt, this SHALL allow a client to enable the discharge of an EV, and to provide or update the maximum discharge current. + + + Allows a client to put the EVSE into a self-diagnostics mode. + Allows a client to set the user specified charging targets. + + + Allows a client to retrieve the current set of charging targets. + + + Allows a client to clear all stored charging targets. + + + The GetTargetsResponse is sent in response to the GetTargets Command. + + + This event SHALL be generated when the EV is plugged in. + @@ -224,6 +308,7 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + @@ -232,6 +317,7 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + @@ -241,6 +327,7 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + @@ -249,11 +336,15 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 + This event SHALL be generated when a RFID card has been read. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/energy-evse-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/energy-evse-mode-cluster.xml index b28daf8899636c..52b066d7b84fdf 100644 --- a/src/app/zap-templates/zcl/data-model/chip/energy-evse-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/energy-evse-mode-cluster.xml @@ -59,18 +59,24 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 - SupportedModes - CurrentMode + + + + + + This command is used to change device modes. + This command is sent by the device on receipt of the ChangeToMode command. + diff --git a/src/app/zap-templates/zcl/data-model/chip/energy-preference-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/energy-preference-cluster.xml index a5e1ea8e950ae1..19fdceb111676f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/energy-preference-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/energy-preference-cluster.xml @@ -34,26 +34,43 @@ limitations under the License. - EnergyBalances - + + + + + + - + - CurrentEnergyBalance + + + - EnergyPriorities + + + + + - LowPowerModeSensitivities + + + + + - + CurrentLowPowerModeSensitivity + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml index f2cf3173c68b29..5474ebaba2eb15 100644 --- a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml @@ -37,26 +37,60 @@ limitations under the License. The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - + + + + + + + + + - - + + - - - - PHYRate - FullDuplex - PacketRxCount - PacketTxCount - TxErrCount - CollisionCount - OverrunCount - CarrierDetect - TimeSinceReset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reception of this command SHALL reset the attributes: PacketRxCount, PacketTxCount, TxErrCount, CollisionCount, OverrunCount to 0 + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml index 96e420f01902de..67506a1827e2fe 100644 --- a/src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml @@ -31,6 +31,8 @@ limitations under the License. FIXED_LABEL_CLUSTER The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only labels. - LabelList + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml index 3e546e968514ea..14b22a16b19e3c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml @@ -24,10 +24,18 @@ limitations under the License. FLOW_MEASUREMENT_CLUSTER true true - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - Tolerance + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml index 167f7d13e322af..f7f81c3f59d624 100644 --- a/src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml @@ -52,45 +52,80 @@ limitations under the License. - - Breadcrumb + + - BasicCommissioningInfo - RegulatoryConfig - LocationCapability - SupportsConcurrentConnection - - TCAcceptedVersion + + + + + + + + + + + + + + + + + + + - - TCMinRequiredVersion + + + + + + + - - TCAcknowledgements + + + + + + + - - TCAcknowledgementsRequired + + + + + + + - - TCUpdateDeadline + + + + + + + Arm the persistent fail-safe timer with an expiry time of now + ExpiryLengthSeconds using device clock + Success/failure response for ArmFailSafe command + Set the regulatory configuration to be used during commissioning @@ -98,30 +133,46 @@ limitations under the License. + Success/failure response for SetRegulatoryConfig command + Signals the Server that the Client has successfully completed all steps of Commissioning/Recofiguration needed during fail-safe period. + Indicates to client whether CommissioningComplete command succeeded + This command sets the user acknowledgements received in the Enhanced Setup Flow Terms and Conditions into the node. + + + + + + This command is used to convey the result from SetTCAcknowledgements. + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml index 26f0e5708dd280..c3bae609c66a21 100644 --- a/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml @@ -92,17 +92,35 @@ limitations under the License. - NetworkInterfaces - RebootCount + + + + + + - UpTime - TotalOperationalHours - BootReason - ActiveHardwareFaults - ActiveRadioFaults - ActiveNetworkFaults - TestEventTriggersEnabled + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -> -> -> -> -> - - - - - - IdleModeDuration - ActiveModeDuration - ActiveModeThreshold - - RegisteredClients - - - - ICDCounter - - - ClientsSupportedPerFabric - UserActiveModeTriggerHint - UserActiveModeTriggerInstruction - OperatingMode - MaximumCheckInBackOff - - - Register a client to the end device - - - - - - - - - - RegisterClient response command - - - - - Unregister a client from an end device - - - - - - - Request the end device to stay in Active Mode for an additional ActiveModeThreshold - - - - - - StayActiveRequest response command - - - + + General + ICD Management + 0x0046 + ICD_MANAGEMENT_CLUSTER + Allows servers to ensure that listed clients are notified when a server is available for communication. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Register a client to the end device + + + + + + + + + + + + + RegisterClient response command + + + + + + + + Unregister a client from an end device + + + + + + + + + + Request the end device to stay in Active Mode for an additional ActiveModeThreshold + + + + + + + + + + + + StayActiveRequest response command + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml index b64eb7702f1517..e2a2a7fd59cdff 100644 --- a/src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml @@ -51,16 +51,21 @@ limitations under the License. true true - - IdentifyTime - IdentifyType - + + + + + + + + Command description for Identify + @@ -69,6 +74,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml index b744964ca0a9aa..be373be05c1f2a 100644 --- a/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml @@ -18,19 +18,29 @@ limitations under the License. - Illuminance Measurement - Measurement & Sensing - Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. - 0x0400 - ILLUMINANCE_MEASUREMENT_CLUSTER - true - true - - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - Tolerance - LightSensorType + Illuminance Measurement + Measurement & Sensing + Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. + 0x0400 + ILLUMINANCE_MEASUREMENT_CLUSTER + true + true + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml index b43ace5c0c8383..c21a58ca0f0fbf 100644 --- a/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml @@ -40,11 +40,13 @@ limitations under the License. Upon receipt, this SHALL process a keycode as input to the media device. + This command SHALL be generated in response to a SendKey Request command. + diff --git a/src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml index f126d8836f720c..e18476fdb230d8 100644 --- a/src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml @@ -36,9 +36,13 @@ limitations under the License. This cluster provides a way to access options associated with the operation of a laundry dryer device type. - - - SupportedDrynessLevels - SelectedDrynessLevel - + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml index b8afd87d76665c..8ceab130559836 100644 --- a/src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml @@ -58,11 +58,15 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + StartUpMode OnMode - + @@ -70,6 +74,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -78,6 +83,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml index 4d0e67ddbd1b47..448b5ff0c98eec 100644 --- a/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml @@ -61,25 +61,63 @@ limitations under the License. - - CurrentLevel - RemainingTime - MinLevel - MaxLevel - CurrentFrequency - MinFrequency - MaxFrequency - - OnOffTransitionTime - OnLevel - OnTransitionTime - OffTransitionTime - DefaultMoveRate - Options - - StartUpCurrentLevel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -90,6 +128,7 @@ limitations under the License. + @@ -100,6 +139,7 @@ limitations under the License. + @@ -111,6 +151,7 @@ limitations under the License. + @@ -119,6 +160,7 @@ limitations under the License. + @@ -129,6 +171,7 @@ limitations under the License. + @@ -139,6 +182,7 @@ limitations under the License. + @@ -150,6 +194,7 @@ limitations under the License. + @@ -158,6 +203,7 @@ limitations under the License. + @@ -166,6 +212,9 @@ limitations under the License. approximation if the exact provided one is not possible. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml index 9bdededd0fcd6e..bd1149e9b0fa4e 100644 --- a/src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml @@ -28,10 +28,12 @@ limitations under the License. standards. As such, Nodes that visually or audibly convey information need a mechanism by which they can be configured to use a user’s preferred language, units, etc - - ActiveLocale + + + + + - SupportedLocales diff --git a/src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml index c1cc5b38ede202..4b9ea09104994e 100644 --- a/src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml @@ -26,6 +26,7 @@ limitations under the License. This cluster provides an interface for managing low power mode on a device. This command shall put the device into low power mode. + diff --git a/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml index 597b285cc1b5dd..1e1da7336593dc 100644 --- a/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml @@ -32,20 +32,27 @@ limitations under the License. - InputList - CurrentInput + + + + + + Upon receipt, this SHALL change the input on the media device to the input at a specific index in the Input List. + Upon receipt, this SHALL display the active status of the input list on screen. + Upon receipt, this SHALL hide the input list from the screen. + @@ -53,6 +60,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml index a77b8fa4befb4c..9e0896f777988c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml @@ -46,87 +46,156 @@ limitations under the License. - CurrentState - StartTime - Duration - SampledPosition - PlaybackSpeed - SeekRangeEnd - SeekRangeStart - ActiveAudioTrack - AvailableAudioTracks - ActiveTextTrack - AvailableTextTracks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Upon receipt, this SHALL play media. + Upon receipt, this SHALL pause media. + Upon receipt, this SHALL stop media. User experience is context-specific. This will often navigate the user back to the location where media was originally launched. + Upon receipt, this SHALL Start Over with the current media playback item. + Upon receipt, this SHALL cause the handler to be invoked for "Previous". User experience is context-specific. This will often Go back to the previous media playback item. + Upon receipt, this SHALL cause the handler to be invoked for "Next". User experience is context-specific. This will often Go forward to the next media playback item. + Upon receipt, this SHALL Rewind through media. Different Rewind speeds can be used on the TV based upon the number of sequential calls to this function. This is to avoid needing to define every speed now (multiple fast, slow motion, etc). + + + Upon receipt, this SHALL Advance through media. Different FF speeds can be used on the TV based upon the number of sequential calls to this function. This is to avoid needing to define every speed now (multiple fast, slow motion, etc). + + + Upon receipt, this SHALL Skip forward in the media by the given number of seconds, using the data as follows: + Upon receipt, this SHALL Skip backward in the media by the given number of seconds, using the data as follows: + Upon receipt, this SHALL Skip backward in the media by the given number of seconds, using the data as follows: + + + This command SHALL be generated in response to various Playback Request commands. + Upon receipt, the server SHALL set the active Audio Track to the one identified by the TrackID in the Track catalog for the streaming media. If the TrackID does not exist in the Track catalog, OR does not correspond to the streaming media OR no media is being streamed at the time of receipt of this command, the server will return an error status of INVALID_ARGUMENT. + + + Upon receipt, the server SHALL set the active Text Track to the one identified by the TrackID in the Track catalog for the streaming media. If the TrackID does not exist in the Track catalog, OR does not correspond to the streaming media OR no media is being streamed at the time of receipt of this command, the server SHALL return an error status of INVALID_ARGUMENT. + + + If a Text Track is active (i.e. being displayed), upon receipt of this command, the server SHALL stop displaying it. + + + @@ -140,6 +209,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml index 741ba801f5c092..52581674888a29 100644 --- a/src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml @@ -91,8 +91,12 @@ limitations under the License. - Messages - ActiveMessageIDs + + + + + + Command for requesting messages be presented @@ -104,20 +108,24 @@ limitations under the License. + Command for cancelling message present requests + This event SHALL be generated when the message is confirmed by the user, or when the expiration date of the message is reached. + This event SHALL be generated when the message is presented to the user. + This event SHALL be generated when the message is confirmed by the user, or when the expiration date of the message is reached. @@ -125,6 +133,7 @@ limitations under the License. + - \ No newline at end of file + diff --git a/src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml index 954bd898b6aa00..6ee5fac92c5210 100644 --- a/src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml @@ -41,27 +41,65 @@ limitations under the License. - CookTime - MaxCookTime - PowerSetting - MinPower - MaxPower - PowerStep - SupportedWatts - SelectedWattIndex - WattRating - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Set Cooking Parameters + Set Cooking Parameters + - Add More Cooking Time - + Add More Cooking Time + + diff --git a/src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml index 856fde36da15ee..f217da41608f3d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml @@ -55,7 +55,11 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml index 443acb1c955c36..adc776dbe68482 100644 --- a/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml @@ -48,19 +48,33 @@ limitations under the License. Attributes and commands for selecting a mode from a list of supported options. - Description - StandardNamespace - SupportedModes - CurrentMode - StartUpMode - OnMode - + + + + + + + + + + + + + + + + + + + + On receipt of this command, if the NewMode field matches the Mode field in an entry of the SupportedModes list, the server SHALL set the CurrentMode attribute to the NewMode value, otherwise, the server SHALL respond with an INVALID_COMMAND status response. + diff --git a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml index 964923be4f2dfa..33533dfa24d4e7 100644 --- a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml @@ -107,120 +107,196 @@ limitations under the License. - - + + + + - - MaxNetworks + + - - Networks + + + + + + + + + + + + + + + + + + - ScanMaxTimeSeconds - ConnectMaxTimeSeconds - - InterfaceEnabled + + - - LastNetworkingStatus + + - - LastNetworkID + + - - LastConnectErrorValue + + - - SupportedWiFiBands + + + + - - SupportedThreadFeatures + + + + - - ThreadVersion + + + + - - Detemine the set of networks the device sees as available. - - - - - - Relay the set of networks the device sees as available back to the client. - - - - - - - Add or update the credentials for a given Wi-Fi network. - - - - - - - - - - Add or update the credentials for a given Thread network. - - - - - - Remove the definition of a given network (including its credentials). - - - - - - Response command for various commands that add/remove/modify network credentials. - - - - - - - - Connect to the specified network, using previously-defined credentials. - - - - - - Command that indicates whether we have succcessfully connected to a network. - - - - - - Modify the order in which networks will be presented in the Networks attribute. - - - - - - - Retrieve details about and optionally proof of possession of a network client identity. - - - - - - Command that contains details about a network client identity and optionally a proof of possession. - - - - + + Detemine the set of networks the device sees as available. + + + + + + + + + + + + Relay the set of networks the device sees as available back to the client. + + + + + + + + + + + + + Add or update the credentials for a given Wi-Fi network. + + + + + + + + + + + + + Add or update the credentials for a given Thread network. + + + + + + + + + Remove the definition of a given network (including its credentials). + + + + + + + + + + + + Response command for various commands that add/remove/modify network credentials. + + + + + + + + + + + + + + Connect to the specified network, using previously-defined credentials. + + + + + + + + + + + + Command that indicates whether we have succcessfully connected to a network. + + + + + + + + + + + + Modify the order in which networks will be presented in the Networks attribute. + + + + + + + + + + + + + Retrieve details about and optionally proof of possession of a network client identity. + + + + + + + + + Command that contains details about a network client identity and optionally a proof of possession. + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml index 0141a7542f4d78..414eb2c287e5e7 100644 --- a/src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml @@ -83,74 +83,274 @@ limitations under the License. - Occupancy - OccupancySensorType - OccupancySensorTypeBitmap - - - HoldTime - + + + + + + + + + + + + + + - HoldTimeLimits + + + + - - PIROccupiedToUnoccupiedDelay + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - PIRUnoccupiedToOccupiedDelay + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - PIRUnoccupiedToOccupiedThreshold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - UltrasonicOccupiedToUnoccupiedDelay + + + + + + + + + + - - UltrasonicUnoccupiedToOccupiedDelay + + + + + + + + + + + + + + + + + - - UltrasonicUnoccupiedToOccupiedThreshold + + + + + + + + + + + + + + + + + - - PhysicalContactOccupiedToUnoccupiedDelay + + + + + + + + + + - - PhysicalContactUnoccupiedToOccupiedDelay + + + + + + + + + + + + + + + + + - - PhysicalContactUnoccupiedToOccupiedThreshold + + + + + + + + + + + + + + + + + If this event is supported, it SHALL be generated when the Occupancy attribute changes. + diff --git a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml index 04dcfed83766e8..6ed5cfec078a96 100644 --- a/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml @@ -81,37 +81,70 @@ limitations under the License. - - OnOff - GlobalSceneControl - OnTime - OffWaitTime - - StartUpOnOff + + + + + + + + + + + + + + + + + + + + + + + On receipt of this command, a device SHALL enter its ‘Off’ state. This state is device dependent, but it is recommended that it is used for power off or similar functions. On receipt of the Off command, the OnTime attribute SHALL be set to 0. + On receipt of this command, a device SHALL enter its ‘On’ state. This state is device dependent, but it is recommended that it is used for power on or similar functions. On receipt of the On command, if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. + + + + + On receipt of this command, if a device is in its ‘Off’ state it SHALL enter its ‘On’ state. Otherwise, if it is in its ‘On’ state it SHALL enter its ‘Off’ state. On receipt of the Toggle command, if the value of the OnOff attribute is equal to FALSE and if the value of the OnTime attribute is equal to 0, the device SHALL set the OffWaitTime attribute to 0. If the value of the OnOff attribute is equal to TRUE, the OnTime attribute SHALL be set to 0. + + + + + The OffWithEffect command allows devices to be turned off using enhanced ways of fading. + + + The OnWithRecallGlobalScene command allows the recall of the settings when the device was turned off. + + + @@ -119,6 +152,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml index 5b06c93e0ab7fd..61dd99e58b5d29 100644 --- a/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml @@ -59,37 +59,51 @@ limitations under the License. OPERATIONAL_CREDENTIALS_CLUSTER This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. - - NOCs + + + + + + + + + + + + + + + + + - Fabrics - SupportedFabrics - CommissionedFabrics - TrustedRootCertificates - CurrentFabricIndex Sender is requesting attestation information from the receiver. + An attestation information confirmation from the server. + Sender is requesting a device attestation certificate from the receiver. + A device attestation certificate (DAC) or product attestation intermediate (PAI) certificate from the server. + @@ -97,6 +111,7 @@ limitations under the License. + @@ -104,6 +119,7 @@ limitations under the License. A certificate signing request (CSR) from the server. + @@ -114,6 +130,7 @@ limitations under the License. + @@ -121,31 +138,36 @@ limitations under the License. + - + Response to AddNOC or UpdateNOC commands. + This command SHALL be used by an Administrative Node to set the user-visible Label field for a given Fabric, as reflected by entries in the Fabrics attribute. + This command is used by Administrative Nodes to remove a given fabric index and delete all associated fabric-scoped data. + This command SHALL add a Trusted Root CA Certificate, provided as its CHIP Certificate representation. + diff --git a/src/app/zap-templates/zcl/data-model/chip/operational-state-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/operational-state-cluster.xml index 53b9c73cad6b3e..07b874e4626c5f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/operational-state-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/operational-state-cluster.xml @@ -58,47 +58,88 @@ limitations under the License. true true This cluster supports remotely monitoring and, where supported, changing the operational state of any device where a state machine is a part of the operation. - - - - PhaseList - CurrentPhase - CountdownTime - OperationalStateList - OperationalState - OperationalError - + + + + + + + + + + + + + + + + + + + + + + Upon receipt, the device SHALL pause its operation if it is possible based on the current function of the server. + + + + + + Upon receipt, the device SHALL stop its operation if it is at a position where it is safe to do so and/or permitted. + + + + + + Upon receipt, the device SHALL start its operation if it is safe to do so and the device is in an operational state from which it can be started. + Upon receipt, the device SHALL resume its operation from the point it was at when it received the Pause command, or from the point when it was paused by means outside of this cluster (for example by manual button press). + + + + + + This command SHALL be generated in response to any of the Start, Stop, Pause, or Resume commands. + + + + + + + + OperationalError - + + OperationCompletion - + + diff --git a/src/app/zap-templates/zcl/data-model/chip/operational-state-oven-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/operational-state-oven-cluster.xml index fd52204b02fe85..0b18947c5dd666 100644 --- a/src/app/zap-templates/zcl/data-model/chip/operational-state-oven-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/operational-state-oven-cluster.xml @@ -53,13 +53,25 @@ limitations under the License. This cluster supports remotely monitoring and, where supported, changing the operational state of an Oven. - - PhaseList - CurrentPhase - CountdownTime - OperationalStateList - OperationalState - OperationalError + + + + + + + + + + + + + + + + + + + Upon receipt, the device SHALL pause its operation if it is possible based on the current function of the server. @@ -67,10 +79,17 @@ limitations under the License. Upon receipt, the device SHALL stop its operation if it is at a position where it is safe to do so and/or permitted. + + + + + + Upon receipt, the device SHALL start its operation if it is safe to do so and the device is in an operational state from which it can be started. + @@ -80,18 +99,28 @@ limitations under the License. This command SHALL be generated in response to any of the Start, Stop, Pause, or Resume commands. + + + + + + + + OperationalError - + + OperationCompletion - + + diff --git a/src/app/zap-templates/zcl/data-model/chip/operational-state-rvc-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/operational-state-rvc-cluster.xml index e3b054fe3fedce..bf09a56329f7a1 100644 --- a/src/app/zap-templates/zcl/data-model/chip/operational-state-rvc-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/operational-state-rvc-cluster.xml @@ -64,24 +64,42 @@ limitations under the License. true true This cluster supports remotely monitoring and, where supported, changing the operational state of a Robotic Vacuum. - - - - PhaseList - CurrentPhase - CountdownTime - OperationalStateList - - - OperationalState - OperationalError + + + + + + Upon receipt, the device SHALL pause its operation if it is possible based on the current function of the server. + + + + + + @@ -90,27 +108,47 @@ both values from this cluster and from the base cluster. Upon receipt, the device SHALL resume its operation from the point it was at when it received the Pause command, or from the point when it was paused by means outside of this cluster (for example by manual button press). + + + + + + This command SHALL be generated in response to any of the Start, Stop, Pause, or Resume commands. + + + + + + + + On receipt of this command, the device SHALL start seeking the charging dock, if possible in the current state of the device. + + + + OperationalError - + + - + OperationCompletion - - + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/oven-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/oven-mode-cluster.xml index 0faa1b037eb318..ff71dcc12cbfe3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/oven-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/oven-mode-cluster.xml @@ -62,11 +62,15 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + StartUpMode OnMode - + @@ -74,6 +78,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -82,6 +87,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml index 5701dc6ec61e65..16b0c0c30787a0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml @@ -43,58 +43,190 @@ limitations under the License. - - Status - Order - Description - - WiredAssessedInputVoltage - WiredAssessedInputFrequency - WiredCurrentType - WiredAssessedCurrent - WiredNominalVoltage - WiredMaximumCurrent - WiredPresent - ActiveWiredFaults - - BatVoltage - BatPercentRemaining - BatTimeRemaining - BatChargeLevel - BatReplacementNeeded - BatReplaceability - BatPresent - ActiveBatFaults - BatReplacementDescription - BatCommonDesignation - BatANSIDesignation - BatIECDesignation - BatApprovedChemistry - BatCapacity - BatQuantity - BatChargeState - BatTimeToFullCharge - BatFunctionalWhileCharging - BatChargingCurrent - ActiveBatChargeFaults - EndpointList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The WiredFaultChange Event SHALL indicate a change in the set of wired faults currently detected by the Node on this wired power source. + + + The BatFaultChange Event SHALL indicate a change in the set of battery faults currently detected by the Node on this battery power source. + + + The BatChargeFaultChange Event SHALL indicate a change in the set of charge faults currently detected by the Node on this battery power source. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml index 04a7cdb121c775..ee99575b3b5cc6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml @@ -26,6 +26,8 @@ limitations under the License. true true - Sources + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/power-topology-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/power-topology-cluster.xml index 3bca0bd43ee8af..9d5aa74931a6e4 100644 --- a/src/app/zap-templates/zcl/data-model/chip/power-topology-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/power-topology-cluster.xml @@ -44,7 +44,15 @@ limitations under the License. - AvailableEndpoints - ActiveEndpoints + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml index f9487af7f3a9e2..61f9ccc1401a2b 100644 --- a/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml @@ -31,16 +31,44 @@ limitations under the License. - - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - Tolerance - ScaledValue - MinScaledValue - MaxScaledValue - ScaledTolerance - Scale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml index 74416092e7c7f8..0158c4077da4d3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml @@ -49,97 +49,222 @@ limitations under the License. - - MaxPressure - MaxSpeed - MaxFlow - MinConstPressure - MaxConstPressure - MinCompPressure - MaxCompPressure - MinConstSpeed - MaxConstSpeed - MinConstFlow - MaxConstFlow - MinConstTemp - MaxConstTemp - PumpStatus - EffectiveOperationMode - EffectiveControlMode - Capacity - Speed - - LifetimeRunningHours + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Power - - LifetimeEnergyConsumed + + - - OperationMode + + - - ControlMode + + SupplyVoltageLow + SupplyVoltageHigh + PowerMissingPhase + SystemPressureLow + SystemPressureHigh + DryRunning + MotorTemperatureHigh + PumpMotorFatalFailure + ElectronicTemperatureHigh + PumpBlocked + SensorFailure + ElectronicNonFatalFailure + ElectronicFatalFailure + GeneralFault + Leakage + AirDetection + TurbineOperation + diff --git a/src/app/zap-templates/zcl/data-model/chip/refrigerator-alarm.xml b/src/app/zap-templates/zcl/data-model/chip/refrigerator-alarm.xml index 58fa70163f65ea..ca091a5deab23e 100644 --- a/src/app/zap-templates/zcl/data-model/chip/refrigerator-alarm.xml +++ b/src/app/zap-templates/zcl/data-model/chip/refrigerator-alarm.xml @@ -28,17 +28,24 @@ limitations under the License. REFRIGERATOR_ALARM_CLUSTER true true - - Mask - State - Supported + + + + + + + + + + - Notify - - - - + Notify + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/refrigerator-and-temperature-controlled-cabinet-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/refrigerator-and-temperature-controlled-cabinet-mode-cluster.xml index e29080ce4a43cb..7ed1160ce7410c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/refrigerator-and-temperature-controlled-cabinet-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/refrigerator-and-temperature-controlled-cabinet-mode-cluster.xml @@ -56,11 +56,15 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + StartUpMode OnMode - + @@ -68,6 +72,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -76,6 +81,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml index e309b75dcc46bd..047258fcbb87f6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml @@ -25,9 +25,17 @@ limitations under the License. true true - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - Tolerance + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml index 66de9ee66cbebd..d85bf3dfb5c7ba 100644 --- a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml @@ -38,16 +38,35 @@ limitations under the License. - Condition - DegradationDirection - ChangeIndication - InPlaceIndicator - LastChangedTime - ReplacementProductList - + + + + + + + + + + + + + + + + + + + + + + + + + Reset the condition of the replaceable to the non degraded state + @@ -73,16 +92,35 @@ limitations under the License. - Condition - DegradationDirection - ChangeIndication - InPlaceIndicator - LastChangedTime - ReplacementProductList - + + + + + + + + + + + + + + + + + + + + + + + + + Reset the condition of the replaceable to the non degraded state + diff --git a/src/app/zap-templates/zcl/data-model/chip/rvc-clean-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/rvc-clean-mode-cluster.xml index 65c2f17a3e8e75..f3ac53b22d3bdc 100644 --- a/src/app/zap-templates/zcl/data-model/chip/rvc-clean-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/rvc-clean-mode-cluster.xml @@ -67,8 +67,12 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + @@ -78,6 +82,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -86,6 +91,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/rvc-run-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/rvc-run-mode-cluster.xml index ce835576396bb8..2ca053546c2234 100644 --- a/src/app/zap-templates/zcl/data-model/chip/rvc-run-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/rvc-run-mode-cluster.xml @@ -73,8 +73,12 @@ limitations under the License. - SupportedModes - CurrentMode + + + + + + @@ -84,6 +88,7 @@ limitations under the License. On receipt of this command the device SHALL respond with a ChangeToModeResponse command. + @@ -92,6 +97,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/scene.xml b/src/app/zap-templates/zcl/data-model/chip/scene.xml index b6315bdc1287c1..ceea35e3759e69 100644 --- a/src/app/zap-templates/zcl/data-model/chip/scene.xml +++ b/src/app/zap-templates/zcl/data-model/chip/scene.xml @@ -80,10 +80,16 @@ limitations under the License. - - LastConfiguredBy - SceneTableSize - FabricSceneInfo + + + + + + + + + + Add a scene to the scene table. Extension field sets are supported, and are inputed as '{"ClusterID": VALUE, "AttributeValueList":[{"AttributeID": VALUE, "Value*": VALUE}]}' @@ -94,6 +100,7 @@ limitations under the License. + @@ -102,6 +109,7 @@ limitations under the License. + @@ -111,6 +119,7 @@ limitations under the License. + @@ -119,6 +128,7 @@ limitations under the License. + @@ -128,6 +138,7 @@ limitations under the License. + @@ -137,6 +148,7 @@ limitations under the License. + @@ -144,6 +156,7 @@ limitations under the License. Get an unused scene identifier when no commissioning tool is in the network, or for a commissioning tool to get the used scene identifiers within a certain group + @@ -155,6 +168,7 @@ limitations under the License. + @@ -164,6 +178,7 @@ limitations under the License. + @@ -176,6 +191,7 @@ limitations under the License. + @@ -185,6 +201,7 @@ limitations under the License. + @@ -193,6 +210,7 @@ limitations under the License. + @@ -202,6 +220,7 @@ limitations under the License. + @@ -212,6 +231,7 @@ limitations under the License. + @@ -221,6 +241,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/service-area-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/service-area-cluster.xml index 8c2ba832c85604..f74647a260e8c0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/service-area-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/service-area-cluster.xml @@ -96,19 +96,37 @@ limitations under the License. - SupportedAreas - SupportedMaps - SelectedAreas - CurrentArea - EstimatedEndTime - Progress - + + + + + + + + + + + + + + + + + + + + + + + + Command used to select a set of device areas, where the device is to operate. + @@ -117,6 +135,7 @@ limitations under the License. + @@ -132,6 +151,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml index 31ae0bba9e7d99..e5a3afb75d39d6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml @@ -46,66 +46,118 @@ limitations under the License. - ExpressedState - SmokeState - COState - BatteryAlert - DeviceMuted - TestInProgress - HardwareFaultAlert - EndOfServiceAlert - InterconnectSmokeAlarm - InterconnectCOAlarm - ContaminationState - - SmokeSensitivityLevel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ExpiryDate - + + + + This command SHALL initiate a device self-test. + This event SHALL be generated when SmokeState attribute changes to either Warning or Critical state. + + + This event SHALL be generated when COState attribute changes to either Warning or Critical state. + + + This event SHALL be generated when BatteryAlert attribute changes to either Warning or Critical state. + This event SHALL be generated when the device detects a hardware fault that leads to setting HardwareFaultAlert to True. + This event SHALL be generated when the EndOfServiceAlert is set to Expired. + This event SHALL be generated when the SelfTest completes, and the attribute TestInProgress changes to False. + This event SHALL be generated when the DeviceMuted attribute changes to Muted. + This event SHALL be generated when DeviceMuted attribute changes to NotMuted. + This event SHALL be generated when the device hosting the server receives a smoke alarm from an interconnected sensor. + + + This event SHALL be generated when the device hosting the server receives a smoke alarm from an interconnected sensor. + + + This event SHALL be generated when ExpressedState attribute returns to Normal state. + diff --git a/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml index 3ac2ba42e8e22e..9d4026187f2420 100644 --- a/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml @@ -37,20 +37,34 @@ limitations under the License. - ThreadMetrics - CurrentHeapFree - CurrentHeapUsed - CurrentHeapHighWatermark + + + + + + + + + + + + + + Reception of this command SHALL reset the values: The StackFreeMinimum field of the ThreadMetrics attribute, CurrentHeapHighWaterMark attribute. + + + Indicate the last software fault that has taken place on the Node. - + + diff --git a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml index 176163fae7fce6..1ab3f1d9509cb3 100644 --- a/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml @@ -78,38 +78,72 @@ Interactions with the switch device are exposed as attributes (for the latching - NumberOfPositions - CurrentPosition - MultiPressMax + + + + + + + + + + + SwitchLatched + + + InitialPress + + + LongPress + + + ShortRelease + + + LongRelease + + + MultiPressOngoing + + + + + + + + MultiPressComplete - + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml index bc665905df1eb2..86edb7478da629 100644 --- a/src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml @@ -25,19 +25,25 @@ limitations under the License. true This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. - TargetList - CurrentTarget - + + + + + + + Upon receipt, this SHALL navigation the UX to the target identified. + This command SHALL be generated in response to NavigateTarget commands. + @@ -45,6 +51,7 @@ limitations under the License. + diff --git a/src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml index da0c0bcee983bb..b3f7b6a86b03a0 100644 --- a/src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml @@ -40,17 +40,42 @@ limitations under the License. - TemperatureSetpoint - MinTemperature - MaxTemperature - Step - SelectedTemperatureLevel - SupportedTemperatureLevels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Set Temperature - - + Set Temperature + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml index d141743fafde56..8b5a4ac7302510 100644 --- a/src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml @@ -24,9 +24,17 @@ limitations under the License. TEMPERATURE_MEASUREMENT_CLUSTER true true - MeasuredValue - MinMeasuredValue - MaxMeasuredValue - Tolerance + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml index 6f75aa45e985f6..d52c730d05ddc9 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml @@ -312,146 +312,308 @@ limitations under the License. - LocalTemperature - OutdoorTemperature - Occupancy - AbsMinHeatSetpointLimit - AbsMaxHeatSetpointLimit - AbsMinCoolSetpointLimit - AbsMaxCoolSetpointLimit - PICoolingDemand - PIHeatingDemand - - HVACSystemTypeConfiguration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - LocalTemperatureCalibration + + + + + + - OccupiedCoolingSetpoint - OccupiedHeatingSetpoint - UnoccupiedCoolingSetpoint - UnoccupiedHeatingSetpoint - - MinHeatSetpointLimit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - MaxHeatSetpointLimit + + + + - - MinCoolSetpointLimit + + + + - - MaxCoolSetpointLimit + + + + - - MinSetpointDeadBand + + + + - - RemoteSensing + + - - ControlSequenceOfOperation + + - - SystemMode + + + + + + + - ThermostatRunningMode - StartOfWeek - NumberOfWeeklyTransitions - NumberOfDailyTransitions - - TemperatureSetpointHold + + + + + + + + + + + + + + + + + - - TemperatureSetpointHoldDuration + + - - ThermostatProgrammingOperationMode + + + + + - ThermostatRunningState - SetpointChangeSource - SetpointChangeAmount - SetpointChangeSourceTimestamp - - OccupiedSetback + + + + + + + + + + + + + + + + + + + + + + + - OccupiedSetbackMin - OccupiedSetbackMax - - UnoccupiedSetback + + + + + + + - UnoccupiedSetbackMin - UnoccupiedSetbackMax - - EmergencyHeatDelta + + + + + + + + + + + + + + + + + + - - ACType + + - - ACCapacity + + - - ACRefrigerantType + + - - ACCompressorType + + - - ACErrorCode + + - - ACLouverPosition + + - ACCoilTemperature - - ACCapacityformat + + + + + + + + + + - PresetTypes - ScheduleTypes - NumberOfPresets - NumberOfSchedules - NumberOfScheduleTransitions - NumberOfScheduleTransitionPerDay - ActivePresetHandle - ActiveScheduleHandle - - Presets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Schedules + + + + + + + - SetpointHoldExpiryTimestamp Upon receipt, the attributes for the indicated setpoint(s) SHALL have the amount specified in the Amount field added to them. + @@ -461,27 +623,42 @@ limitations under the License. + + + The Current Weekly Schedule Command is sent from the server in response to the Get Weekly Schedule Command. + + + This command is used to clear the weekly schedule. + + + Upon receipt, if the Schedules attribute contains a ScheduleStruct whose ScheduleHandle field matches the value of the ScheduleHandle field, the server SHALL set the thermostat's ActiveScheduleHandle attribute to the value of the ScheduleHandle field. + + + ID + + + @@ -491,6 +668,9 @@ limitations under the License. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml index cd3491cc079024..ed0b412570f3dd 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml @@ -29,18 +29,20 @@ limitations under the License. - TemperatureDisplayMode - - - KeypadLockout + + + + + + - - ScheduleProgrammingVisibility + + diff --git a/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml index d05ce70c34aca3..38612b5eb6d117 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml @@ -33,31 +33,46 @@ limitations under the License. - BorderRouterName - - BorderAgentID - - ThreadVersion - - InterfaceEnabled - - ActiveDatasetTimestamp - - PendingDatasetTimestamp - + + + + + + + + + + + + + + + + + + + + + + + + Command to request the active operational dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session + Command to request the pending dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session + - + Generated response to GetActiveDatasetRequest or GetPendingDatasetRequest commands. + @@ -65,12 +80,16 @@ limitations under the License. + Command set or update the pending Dataset of the Thread network to which the Border Router is connected. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml index 77ec8699615156..943f69f58f9378 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml @@ -107,82 +107,299 @@ limitations under the License. - - Channel - RoutingRole - NetworkName - PanId - ExtendedPanId - MeshLocalPrefix - OverrunCount - NeighborTable - RouteTable - PartitionId - Weighting - DataVersion - StableDataVersion - LeaderRouterId - DetachedRoleCount - ChildRoleCount - RouterRoleCount - LeaderRoleCount - AttachAttemptCount - PartitionIdChangeCount - BetterPartitionAttachAttemptCount - ParentChangeCount - TxTotalCount - TxUnicastCount - TxBroadcastCount - TxAckRequestedCount - TxAckedCount - TxNoAckRequestedCount - TxDataCount - TxDataPollCount - TxBeaconCount - TxBeaconRequestCount - TxOtherCount - TxRetryCount - TxDirectMaxRetryExpiryCount - TxIndirectMaxRetryExpiryCount - TxErrCcaCount - TxErrAbortCount - TxErrBusyChannelCount - RxTotalCount - RxUnicastCount - RxBroadcastCount - RxDataCount - RxDataPollCount - RxBeaconCount - RxBeaconRequestCount - RxOtherCount - RxAddressFilteredCount - RxDestAddrFilteredCount - RxDuplicatedCount - RxErrNoFrameCount - RxErrUnknownNeighborCount - RxErrInvalidSrcAddrCount - RxErrSecCount - RxErrFcsCount - RxErrOtherCount - ActiveTimestamp - PendingTimestamp - Delay - SecurityPolicy - ChannelPage0Mask - OperationalDatasetComponents - ActiveNetworkFaultsList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reception of this command SHALL reset the OverrunCount attributes to 0 + + + Indicate that a Node’s connection status to a Thread network has changed + Indicate a change in the set of network faults currently detected by the Node + diff --git a/src/app/zap-templates/zcl/data-model/chip/thread-network-directory-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thread-network-directory-cluster.xml index 3a6445b15bbad3..2b00af31024a29 100644 --- a/src/app/zap-templates/zcl/data-model/chip/thread-network-directory-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/thread-network-directory-cluster.xml @@ -15,58 +15,64 @@ See the License for the specific language governing permissions and limitations under the License. --> - + + + + + + + + + - - - - - - - + + Network Infrastructure + Thread Network Directory + 0x0453 + THREAD_NETWORK_DIRECTORY_CLUSTER + Manages the names and credentials of Thread networks visible to the user. - - Network Infrastructure - Thread Network Directory - 0x0453 - THREAD_NETWORK_DIRECTORY_CLUSTER - Manages the names and credentials of Thread networks visible to the user. + true + true - true - true + + + + + + + + + + + + + + + - - - - - PreferredExtendedPanID - - - - - ThreadNetworks - - - ThreadNetworkTableSize - - - Adds an entry to the ThreadNetworks list. - - - - - Removes an entry from the ThreadNetworks list. - - - - - Retrieves a Thread Operational Dataset from the ThreadNetworks list. - - - - - This is the response to a GetOperationalDataset request. - - - + + Adds an entry to the ThreadNetworks list. + + + + + + Removes an entry from the ThreadNetworks list. + + + + + + Retrieves a Thread Operational Dataset from the ThreadNetworks list. + + + + + + This is the response to a GetOperationalDataset request. + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml index 6ade7abe2e446c..b71b710b707471 100644 --- a/src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml @@ -58,14 +58,20 @@ limitations under the License. - - HourFormat - + + + - - ActiveCalendarType - + + + + + + + + + + - SupportedCalendarTypes diff --git a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml index 9336a6a944735e..a352b2a181b8e8 100644 --- a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml @@ -114,78 +114,153 @@ limitations under the License. - UTCTime - Granularity - TimeSource - TrustedTimeSource - DefaultNTP - TimeZone - DSTOffset - LocalTime - TimeZoneDatabase - NTPServerAvailable - TimeZoneListMaxSize - DSTOffsetListMaxSize - SupportsDNSResolve - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This command MAY be issued by Administrator to set the time. + This command SHALL set TrustedTimeSource. + + + This command SHALL set TimeZone. + + + Response to SetTimeZone. + + + This command SHALL set DSTOffset. + + + This command is used to set DefaultNTP. + + + This event SHALL be generated when the server stops applying the current DSTOffset and there are no entries in the list with a larger ValidStarting time. + + + This event SHALL be generated when the server starts or stops applying a DST offset. - + + + + This event SHALL be generated when the server changes its time zone offset or name. + + + This event SHALL be generated if the node has attempted to update its time, but was unable to find a good time from any source. + This event SHALL be generated if the node attempts to update its time and finds that the TrustedTimeSource is null, or the specified peer cannot be reached. + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml index fb6238add46a4f..d79a265f633a39 100644 --- a/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml @@ -42,9 +42,11 @@ limitations under the License. - - TemperatureUnit - + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml index 24260b78307bd3..acea3035a4029f 100644 --- a/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml @@ -23,10 +23,10 @@ limitations under the License. 0x0041 USER_LABEL_CLUSTER The User Label Cluster provides a feature to tag an endpoint with zero or more labels. - - LabelList + + diff --git a/src/app/zap-templates/zcl/data-model/chip/valve-configuration-and-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/valve-configuration-and-control-cluster.xml index 80c1cdb60c8ccc..6656876c991c92 100644 --- a/src/app/zap-templates/zcl/data-model/chip/valve-configuration-and-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/valve-configuration-and-control-cluster.xml @@ -59,39 +59,75 @@ limitations under the License. - OpenDuration + + + - DefaultOpenDuration - AutoCloseTime - RemainingDuration - CurrentState - TargetState - CurrentLevel - TargetLevel - DefaultOpenLevel - ValveFault - LevelStep - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This command is used to set the valve to its open position. + This command is used to set the valve to its closed position. + This event SHALL be generated when the valve state changed. + This event SHALL be generated when the valve registers or clears a fault. + diff --git a/src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml index 90bd18b5b7baaa..700f25b1986b3a 100644 --- a/src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml @@ -27,8 +27,12 @@ limitations under the License. - - MACAddress - LinkLocalAddress + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml index 2dc01920ae3e37..d566acb28cf306 100644 --- a/src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml @@ -45,11 +45,27 @@ limitations under the License. - - SpinSpeeds - SpinSpeedCurrent - NumberOfRinses - SupportedRinses + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml index beeaf277b77d2e..60fc9ce3e0f009 100644 --- a/src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml @@ -64,30 +64,52 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 true - HeaterTypes - HeatDemand - TankVolume - EstimatedHeatRequired - TankPercentage - BoostState + + + + + + + + + + + + + + + + + + + + + + + + Allows a client to request that the water heater is put into a Boost state. + Allows a client to cancel an ongoing Boost operation. + This event SHALL be generated whenever a Boost command is accepted. + This event SHALL be generated whenever the BoostState transitions from Active to Inactive. + diff --git a/src/app/zap-templates/zcl/data-model/chip/water-heater-mode-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/water-heater-mode-cluster.xml index d9211e808467fb..a1d3b27255f98c 100644 --- a/src/app/zap-templates/zcl/data-model/chip/water-heater-mode-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/water-heater-mode-cluster.xml @@ -58,18 +58,24 @@ Git: 1.4-prerelease-ipr-69-ge15ff5700 - SupportedModes - CurrentMode + + + + + + This command is used to change device modes. + This command is sent by the device on receipt of the ChangeToMode command. + diff --git a/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml index 7fb35aab255ed7..784568337b9773 100644 --- a/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml @@ -63,35 +63,81 @@ limitations under the License. - - BSSID - SecurityType - WiFiVersion - ChannelNumber - RSSI - BeaconLostCount - BeaconRxCount - PacketMulticastRxCount - PacketMulticastTxCount - PacketUnicastRxCount - PacketUnicastTxCount - CurrentMaxRate - OverrunCount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reception of this command SHALL reset the Breacon and Packet related count attributes to 0 + + + Indicate that a Node’s Wi-Fi connection has been disconnected as a result of de-authenticated or dis-association and indicates the reason. + Indicate that a Node has failed to connect, or reconnect, to a Wi-Fi access point. + Indicate that a Node’s connection status to a Wi-Fi network has changed. + diff --git a/src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml index 8c8b4d40c3abdd..1c14050fc24451 100644 --- a/src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml @@ -30,19 +30,23 @@ limitations under the License. - SSID - - PassphraseSurrogate + + + + + Request the current WPA-Personal passphrase or PSK associated with the managed Wi-Fi network. + This is the response to a NetworkPassphraseRequest. + diff --git a/src/app/zap-templates/zcl/data-model/chip/window-covering.xml b/src/app/zap-templates/zcl/data-model/chip/window-covering.xml index 0e1c97a4d45040..5795e8efc34a88 100644 --- a/src/app/zap-templates/zcl/data-model/chip/window-covering.xml +++ b/src/app/zap-templates/zcl/data-model/chip/window-covering.xml @@ -57,91 +57,251 @@ limitations under the License. - Type + + + - PhysicalClosedLimitLift + + + + + + + + + - PhysicalClosedLimitTilt + + + + + + + + + - CurrentPositionLift + + + + + + + + + - CurrentPositionTilt + + + + + + + + + - NumberOfActuationsLift + + + + + - NumberOfActuationsTilt + + + + + - ConfigStatus + + + - CurrentPositionLiftPercentage + + + + + + + + - CurrentPositionTiltPercentage + + + + + + + + - OperationalStatus + + + - TargetPositionLiftPercent100ths + + + + + + + + - TargetPositionTiltPercent100ths + + + + + + + + - EndProductType + + + - CurrentPositionLiftPercent100ths + + + + + + + + - CurrentPositionTiltPercent100ths - + + + + + + + + - InstalledOpenLimitLift - InstalledClosedLimitLift + + + + + + + + + + + + + + + + + + - InstalledOpenLimitTilt - InstalledClosedLimitTilt + + + + + + + + + + + + + + + + + + - - Mode + - + + - SafetyStatus - + + + + Moves window covering to InstalledOpenLimitLift and InstalledOpenLimitTilt + Moves window covering to InstalledClosedLimitLift and InstalledCloseLimitTilt + Stop any adjusting of window covering + Go to lift value specified + + + + + + Go to lift percentage specified + + + + + + + + + + + Go to tilt value specified + + + + + + Go to tilt percentage specified + + + + + + + + + + + From eb5da6eca182b79cc65514b4e7e95e7067c9c1b3 Mon Sep 17 00:00:00 2001 From: yunhanw-google Date: Tue, 29 Oct 2024 21:13:56 -0700 Subject: [PATCH 3/7] [Java][Controller] Add custom cert support for java controller (#33342) * add custom cert support for java controller * Restyled by clang-format * Restyled by gn --------- Co-authored-by: Restyled.io --- src/controller/java/AndroidDeviceControllerWrapper.cpp | 8 +------- src/controller/java/AndroidDeviceControllerWrapper.h | 7 ++----- src/controller/java/BUILD.gn | 2 ++ .../android => controller/java}/CHIPP256KeypairBridge.cpp | 3 +-- .../android => controller/java}/CHIPP256KeypairBridge.h | 0 src/platform/android/BUILD.gn | 2 -- 6 files changed, 6 insertions(+), 16 deletions(-) rename src/{platform/android => controller/java}/CHIPP256KeypairBridge.cpp (98%) rename src/{platform/android => controller/java}/CHIPP256KeypairBridge.h (100%) diff --git a/src/controller/java/AndroidDeviceControllerWrapper.cpp b/src/controller/java/AndroidDeviceControllerWrapper.cpp index ba0342629a73df..7f821fefc0c9ac 100644 --- a/src/controller/java/AndroidDeviceControllerWrapper.cpp +++ b/src/controller/java/AndroidDeviceControllerWrapper.cpp @@ -42,9 +42,7 @@ #include #include #include -#ifndef JAVA_MATTER_CONTROLLER_TEST -#include -#endif // JAVA_MATTER_CONTROLLER_TEST + using namespace chip; using namespace chip::Controller; using namespace chip::Credentials; @@ -54,13 +52,11 @@ AndroidDeviceControllerWrapper::~AndroidDeviceControllerWrapper() { mController->Shutdown(); -#ifndef JAVA_MATTER_CONTROLLER_TEST if (mKeypairBridge != nullptr) { chip::Platform::Delete(mKeypairBridge); mKeypairBridge = nullptr; } -#endif // JAVA_MATTER_CONTROLLER_TEST if (mDeviceAttestationDelegateBridge != nullptr) { @@ -298,7 +294,6 @@ AndroidDeviceControllerWrapper * AndroidDeviceControllerWrapper::AllocateNew( // The lifetime of the ephemeralKey variable must be kept until SetupParams is saved. Crypto::P256Keypair ephemeralKey; -#ifndef JAVA_MATTER_CONTROLLER_TEST if (rootCertificate != nullptr && nodeOperationalCertificate != nullptr && keypairDelegate != nullptr) { CHIPP256KeypairBridge * nativeKeypairBridge = wrapper->GetP256KeypairBridge(); @@ -335,7 +330,6 @@ AndroidDeviceControllerWrapper * AndroidDeviceControllerWrapper::AllocateNew( setupParams.controllerNOC = chip::ByteSpan(wrapper->mNocCertificate.data(), wrapper->mNocCertificate.size()); } else -#endif // JAVA_MATTER_CONTROLLER_TEST { ChipLogProgress(Controller, "No existing credentials provided: generating ephemeral local NOC chain with OperationalCredentialsIssuer"); diff --git a/src/controller/java/AndroidDeviceControllerWrapper.h b/src/controller/java/AndroidDeviceControllerWrapper.h index 02d50499bbbcda..93374a1e0f1795 100644 --- a/src/controller/java/AndroidDeviceControllerWrapper.h +++ b/src/controller/java/AndroidDeviceControllerWrapper.h @@ -28,19 +28,18 @@ #include #include #include +#include #include #include #include #include #include #include - #ifdef JAVA_MATTER_CONTROLLER_TEST #include #include #else #include -#include #endif // JAVA_MATTER_CONTROLLER_TEST #include "AndroidCheckInDelegate.h" @@ -71,7 +70,6 @@ class AndroidDeviceControllerWrapper : public chip::Controller::DevicePairingDel jobject JavaObjectRef() { return mJavaObjectRef.ObjectRef(); } jlong ToJNIHandle(); -#ifndef JAVA_MATTER_CONTROLLER_TEST /** * Returns a CHIPP256KeypairBridge which can be used to delegate signing operations * to a KeypairDelegate in the Java layer. Note that this will always return a pointer @@ -85,7 +83,6 @@ class AndroidDeviceControllerWrapper : public chip::Controller::DevicePairingDel } return mKeypairBridge; } -#endif // JAVA_MATTER_CONTROLLER_TEST void CallJavaIntMethod(const char * methodName, jint argument); void CallJavaLongMethod(const char * methodName, jlong argument); @@ -235,12 +232,12 @@ class AndroidDeviceControllerWrapper : public chip::Controller::DevicePairingDel JavaVM * mJavaVM = nullptr; chip::JniGlobalReference mJavaObjectRef; + CHIPP256KeypairBridge * mKeypairBridge = nullptr; #ifdef JAVA_MATTER_CONTROLLER_TEST ExampleOperationalCredentialsIssuerPtr mOpCredsIssuer; PersistentStorage mExampleStorage; #else AndroidOperationalCredentialsIssuerPtr mOpCredsIssuer; - CHIPP256KeypairBridge * mKeypairBridge = nullptr; #endif // JAVA_MATTER_CONTROLLER_TEST // These fields allow us to release the string/byte array memory later. diff --git a/src/controller/java/BUILD.gn b/src/controller/java/BUILD.gn index 480e30f704ab29..2ae828ad09c47e 100644 --- a/src/controller/java/BUILD.gn +++ b/src/controller/java/BUILD.gn @@ -136,6 +136,8 @@ shared_library("jni") { "AttestationTrustStoreBridge.cpp", "AttestationTrustStoreBridge.h", "CHIPDeviceController-JNI.cpp", + "CHIPP256KeypairBridge.cpp", + "CHIPP256KeypairBridge.h", "DeviceAttestation-JNI.cpp", "DeviceAttestationDelegateBridge.cpp", "DeviceAttestationDelegateBridge.h", diff --git a/src/platform/android/CHIPP256KeypairBridge.cpp b/src/controller/java/CHIPP256KeypairBridge.cpp similarity index 98% rename from src/platform/android/CHIPP256KeypairBridge.cpp rename to src/controller/java/CHIPP256KeypairBridge.cpp index a6be8799ab7b96..a73eb417203c10 100644 --- a/src/platform/android/CHIPP256KeypairBridge.cpp +++ b/src/controller/java/CHIPP256KeypairBridge.cpp @@ -15,7 +15,7 @@ * limitations under the License. */ -#include "platform/android/CHIPP256KeypairBridge.h" +#include "CHIPP256KeypairBridge.h" #include "lib/core/CHIPError.h" #include "lib/support/CHIPJNIError.h" #include "lib/support/JniReferences.h" @@ -26,7 +26,6 @@ #include #include #include -#include #include #include diff --git a/src/platform/android/CHIPP256KeypairBridge.h b/src/controller/java/CHIPP256KeypairBridge.h similarity index 100% rename from src/platform/android/CHIPP256KeypairBridge.h rename to src/controller/java/CHIPP256KeypairBridge.h diff --git a/src/platform/android/BUILD.gn b/src/platform/android/BUILD.gn index 640b52490078eb..9893907f8588ba 100644 --- a/src/platform/android/BUILD.gn +++ b/src/platform/android/BUILD.gn @@ -64,8 +64,6 @@ static_library("android") { "BleConnectCallback-JNI.cpp", "BlePlatformConfig.h", "CHIPDevicePlatformEvent.h", - "CHIPP256KeypairBridge.cpp", - "CHIPP256KeypairBridge.h", "CommissionableDataProviderImpl.cpp", "CommissionableDataProviderImpl.h", "ConfigurationManagerImpl.cpp", From f99a2c3b16d3d26f91a0c5efb2770d1c488697d1 Mon Sep 17 00:00:00 2001 From: Arkadiusz Bokowy Date: Wed, 30 Oct 2024 05:14:25 +0100 Subject: [PATCH 4/7] Install chip-testing package in the final docker image (#36285) * Install cmakeeee from APT * Install PIP from APT * Properly install chip-testing package * Install GI repository dev package --- .../docker/images/chip-cert-bins/Dockerfile | 51 +++++-------------- 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/integrations/docker/images/chip-cert-bins/Dockerfile b/integrations/docker/images/chip-cert-bins/Dockerfile index 37552c983f8eba..59c127dc1f8191 100644 --- a/integrations/docker/images/chip-cert-bins/Dockerfile +++ b/integrations/docker/images/chip-cert-bins/Dockerfile @@ -40,11 +40,13 @@ RUN set -x \ clang \ clang-format \ clang-tidy \ + cmake \ curl \ flex \ - gcc \ g++ \ + gcc \ git \ + git-lfs \ gperf \ iproute2 \ jq \ @@ -54,11 +56,12 @@ RUN set -x \ libcairo2-dev \ libdbus-1-dev \ libdbus-glib-1-dev \ + libdmalloc-dev \ libgif-dev \ + libgirepository1.0-dev \ libglib2.0-dev \ libical-dev \ libjpeg-dev \ - libdmalloc-dev \ libmbedtls-dev \ libncurses5-dev \ libncursesw5-dev \ @@ -79,55 +82,23 @@ RUN set -x \ pkg-config \ python3 \ python3-dev \ + python3-pip \ python3-venv \ rsync \ shellcheck \ + software-properties-common \ strace \ systemd \ udev \ unzip \ wget \ - git-lfs \ zlib1g-dev \ && git lfs install \ && : # last line -# Cmake (Mbed OS requires >=3.19.0-rc3 version which is not available in Ubuntu 20.04 repository) -RUN case ${TARGETPLATFORM} in \ - "linux/amd64") \ - set -x \ - && (cd /tmp \ - && wget --progress=dot:giga https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-x86_64.sh \ - && sh cmake-3.19.3-Linux-x86_64.sh --exclude-subdir --prefix=/usr/local \ - && rm -rf cmake-3.19.3-Linux-x86_64.sh) \ - && exec bash \ - ;; \ - "linux/arm64") \ - set -x \ - && (cd /tmp \ - && wget --progress=dot:giga https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-aarch64.sh \ - && sh cmake-3.19.3-Linux-aarch64.sh --exclude-subdir --prefix=/usr/local \ - && rm -rf cmake-3.19.3-Linux-aarch64.sh) \ - && exec bash \ - ;; \ - *) \ - test -n "$TARGETPLATFORM" \ - echo "Unsupported platform ${TARGETPLATFORM}" \ - ;; \ - esac - -# Python 3 and PIP -RUN set -x \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - libgirepository1.0-dev \ - software-properties-common \ - && add-apt-repository universe \ - && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python3 get-pip.py --break-system-packages \ - && : # last line - RUN set -x \ - && pip3 install attrs coloredlogs PyGithub pygit future portpicker mobly click cxxfilt ghapi pandas tabulate --break-system-packages \ + && pip3 install --break-system-packages \ + attrs coloredlogs PyGithub pygit future portpicker mobly click cxxfilt ghapi pandas tabulate \ && : # last line # build and install gn @@ -327,4 +298,6 @@ RUN pip install --break-system-packages -r /tmp/requirements.txt && rm /tmp/requ # PIP requires MASON package compilation, which seems to require a JDK RUN set -x && DEBIAN_FRONTEND=noninteractive apt-get update; apt-get install -fy openjdk-8-jdk -RUN pip install --break-system-packages --no-cache-dir python_lib/controller/python/chip*.whl +RUN pip install --break-system-packages --no-cache-dir \ + python_lib/python/obj/src/python_testing/matter_testing_infrastructure/chip-testing._build_wheel/chip_testing-*.whl \ + python_lib/controller/python/chip*.whl From 83e2db56b6ff444126914f82cea09b9447465221 Mon Sep 17 00:00:00 2001 From: Junior Martinez <67972863+jmartinez-silabs@users.noreply.github.com> Date: Wed, 30 Oct 2024 09:17:23 -0400 Subject: [PATCH 5/7] Split UniqueId and PersistentUniqueId (#36292) --- .../provision/ProvisionStorageDefault.cpp | 8 +-- .../provision/ProvisionStorageFlash.cpp | 8 +-- src/platform/silabs/SilabsConfig.h | 72 ++++++++++--------- .../silabs/provision/ProvisionStorage.h | 32 +++++---- third_party/silabs/matter_support | 2 +- 5 files changed, 64 insertions(+), 58 deletions(-) diff --git a/examples/platform/silabs/provision/ProvisionStorageDefault.cpp b/examples/platform/silabs/provision/ProvisionStorageDefault.cpp index 5180e031f07238..bc0bfbd8f06918 100644 --- a/examples/platform/silabs/provision/ProvisionStorageDefault.cpp +++ b/examples/platform/silabs/provision/ProvisionStorageDefault.cpp @@ -403,14 +403,14 @@ CHIP_ERROR Storage::GetManufacturingDate(uint8_t * value, size_t max, size_t & s return SilabsConfig::ReadConfigValueStr(SilabsConfig::kConfigKey_ManufacturingDate, (char *) value, max, size); } -CHIP_ERROR Storage::SetUniqueId(const uint8_t * value, size_t size) +CHIP_ERROR Storage::SetPersistentUniqueId(const uint8_t * value, size_t size) { - return SilabsConfig::WriteConfigValueBin(SilabsConfig::kConfigKey_UniqueId, value, size); + return SilabsConfig::WriteConfigValueBin(SilabsConfig::kConfigKey_PersistentUniqueId, value, size); } -CHIP_ERROR Storage::GetUniqueId(uint8_t * value, size_t max, size_t & size) +CHIP_ERROR Storage::GetPersistentUniqueId(uint8_t * value, size_t max, size_t & size) { - return SilabsConfig::ReadConfigValueBin(SilabsConfig::kConfigKey_UniqueId, value, max, size); + return SilabsConfig::ReadConfigValueBin(SilabsConfig::kConfigKey_PersistentUniqueId, value, max, size); } // diff --git a/examples/platform/silabs/provision/ProvisionStorageFlash.cpp b/examples/platform/silabs/provision/ProvisionStorageFlash.cpp index abca012e361b13..fae1b5c713b910 100644 --- a/examples/platform/silabs/provision/ProvisionStorageFlash.cpp +++ b/examples/platform/silabs/provision/ProvisionStorageFlash.cpp @@ -470,14 +470,14 @@ CHIP_ERROR Storage::GetManufacturingDate(uint8_t * value, size_t max, size_t & s return Flash::Get(Parameters::ID::kManufacturingDate, value, max, size); } -CHIP_ERROR Storage::SetUniqueId(const uint8_t * value, size_t size) +CHIP_ERROR Storage::SetPersistentUniqueId(const uint8_t * value, size_t size) { - return Flash::Set(Parameters::ID::kUniqueId, value, size); + return Flash::Set(Parameters::ID::kPersistentUniqueId, value, size); } -CHIP_ERROR Storage::GetUniqueId(uint8_t * value, size_t max, size_t & size) +CHIP_ERROR Storage::GetPersistentUniqueId(uint8_t * value, size_t max, size_t & size) { - return Flash::Get(Parameters::ID::kUniqueId, value, max, size); + return Flash::Get(Parameters::ID::kPersistentUniqueId, value, max, size); } // diff --git a/src/platform/silabs/SilabsConfig.h b/src/platform/silabs/SilabsConfig.h index cef9ca323f74d2..c30d4d653dd6c8 100644 --- a/src/platform/silabs/SilabsConfig.h +++ b/src/platform/silabs/SilabsConfig.h @@ -120,42 +120,46 @@ class SilabsConfig static constexpr Key kConfigKey_hostname = SilabsConfigKey(kMatterFactory_KeyBase, 0x15); static constexpr Key kConfigKey_clientid = SilabsConfigKey(kMatterFactory_KeyBase, 0x16); static constexpr Key kConfigKey_Test_Event_Trigger_Key = SilabsConfigKey(kMatterFactory_KeyBase, 0x17); - static constexpr Key kConfigKey_UniqueId = SilabsConfigKey(kMatterFactory_KeyBase, 0x1F); - static constexpr Key kConfigKey_Creds_KeyId = SilabsConfigKey(kMatterFactory_KeyBase, 0x20); - static constexpr Key kConfigKey_Creds_Base_Addr = SilabsConfigKey(kMatterFactory_KeyBase, 0x21); - static constexpr Key kConfigKey_Creds_DAC_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x22); - static constexpr Key kConfigKey_Creds_DAC_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x23); - static constexpr Key kConfigKey_Creds_PAI_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x24); - static constexpr Key kConfigKey_Creds_PAI_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x25); - static constexpr Key kConfigKey_Creds_CD_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x26); - static constexpr Key kConfigKey_Creds_CD_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x27); - static constexpr Key kConfigKey_Provision_Request = SilabsConfigKey(kMatterFactory_KeyBase, 0x28); - static constexpr Key kConfigKey_Provision_Version = SilabsConfigKey(kMatterFactory_KeyBase, 0x29); - - static constexpr Key kOtaTlvEncryption_KeyId = SilabsConfigKey(kMatterFactory_KeyBase, 0x30); + // kConfigKey_PersistentUniqueId is the inputkey in the generating of the Rotating Device ID + // SHALL NOT be the same as the UniqueID attribute exposed in the Basic Information cluster. + static constexpr Key kConfigKey_PersistentUniqueId = SilabsConfigKey(kMatterFactory_KeyBase, 0x1F); + static constexpr Key kConfigKey_Creds_KeyId = SilabsConfigKey(kMatterFactory_KeyBase, 0x20); + static constexpr Key kConfigKey_Creds_Base_Addr = SilabsConfigKey(kMatterFactory_KeyBase, 0x21); + static constexpr Key kConfigKey_Creds_DAC_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x22); + static constexpr Key kConfigKey_Creds_DAC_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x23); + static constexpr Key kConfigKey_Creds_PAI_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x24); + static constexpr Key kConfigKey_Creds_PAI_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x25); + static constexpr Key kConfigKey_Creds_CD_Offset = SilabsConfigKey(kMatterFactory_KeyBase, 0x26); + static constexpr Key kConfigKey_Creds_CD_Size = SilabsConfigKey(kMatterFactory_KeyBase, 0x27); + static constexpr Key kConfigKey_Provision_Request = SilabsConfigKey(kMatterFactory_KeyBase, 0x28); + static constexpr Key kConfigKey_Provision_Version = SilabsConfigKey(kMatterFactory_KeyBase, 0x29); + static constexpr Key kOtaTlvEncryption_KeyId = SilabsConfigKey(kMatterFactory_KeyBase, 0x30); // Matter Config Keys - static constexpr Key kConfigKey_ServiceConfig = SilabsConfigKey(kMatterConfig_KeyBase, 0x01); - static constexpr Key kConfigKey_PairedAccountId = SilabsConfigKey(kMatterConfig_KeyBase, 0x02); - static constexpr Key kConfigKey_ServiceId = SilabsConfigKey(kMatterConfig_KeyBase, 0x03); - static constexpr Key kConfigKey_LastUsedEpochKeyId = SilabsConfigKey(kMatterConfig_KeyBase, 0x05); - static constexpr Key kConfigKey_FailSafeArmed = SilabsConfigKey(kMatterConfig_KeyBase, 0x06); - static constexpr Key kConfigKey_GroupKey = SilabsConfigKey(kMatterConfig_KeyBase, 0x07); - static constexpr Key kConfigKey_HardwareVersion = SilabsConfigKey(kMatterConfig_KeyBase, 0x08); - static constexpr Key kConfigKey_RegulatoryLocation = SilabsConfigKey(kMatterConfig_KeyBase, 0x09); - static constexpr Key kConfigKey_CountryCode = SilabsConfigKey(kMatterConfig_KeyBase, 0x0A); - static constexpr Key kConfigKey_WiFiSSID = SilabsConfigKey(kMatterConfig_KeyBase, 0x0C); - static constexpr Key kConfigKey_WiFiPSK = SilabsConfigKey(kMatterConfig_KeyBase, 0x0D); - static constexpr Key kConfigKey_WiFiSEC = SilabsConfigKey(kMatterConfig_KeyBase, 0x0E); - static constexpr Key kConfigKey_GroupKeyBase = SilabsConfigKey(kMatterConfig_KeyBase, 0x0F); - static constexpr Key kConfigKey_LockUser = SilabsConfigKey(kMatterConfig_KeyBase, 0x10); - static constexpr Key kConfigKey_Credential = SilabsConfigKey(kMatterConfig_KeyBase, 0x11); - static constexpr Key kConfigKey_LockUserName = SilabsConfigKey(kMatterConfig_KeyBase, 0x12); - static constexpr Key kConfigKey_CredentialData = SilabsConfigKey(kMatterConfig_KeyBase, 0x13); - static constexpr Key kConfigKey_UserCredentials = SilabsConfigKey(kMatterConfig_KeyBase, 0x14); - static constexpr Key kConfigKey_WeekDaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x15); - static constexpr Key kConfigKey_YearDaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x16); - static constexpr Key kConfigKey_HolidaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x17); + static constexpr Key kConfigKey_ServiceConfig = SilabsConfigKey(kMatterConfig_KeyBase, 0x01); + static constexpr Key kConfigKey_PairedAccountId = SilabsConfigKey(kMatterConfig_KeyBase, 0x02); + static constexpr Key kConfigKey_ServiceId = SilabsConfigKey(kMatterConfig_KeyBase, 0x03); + static constexpr Key kConfigKey_LastUsedEpochKeyId = SilabsConfigKey(kMatterConfig_KeyBase, 0x05); + static constexpr Key kConfigKey_FailSafeArmed = SilabsConfigKey(kMatterConfig_KeyBase, 0x06); + static constexpr Key kConfigKey_GroupKey = SilabsConfigKey(kMatterConfig_KeyBase, 0x07); + static constexpr Key kConfigKey_HardwareVersion = SilabsConfigKey(kMatterConfig_KeyBase, 0x08); + static constexpr Key kConfigKey_RegulatoryLocation = SilabsConfigKey(kMatterConfig_KeyBase, 0x09); + static constexpr Key kConfigKey_CountryCode = SilabsConfigKey(kMatterConfig_KeyBase, 0x0A); + static constexpr Key kConfigKey_WiFiSSID = SilabsConfigKey(kMatterConfig_KeyBase, 0x0C); + static constexpr Key kConfigKey_WiFiPSK = SilabsConfigKey(kMatterConfig_KeyBase, 0x0D); + static constexpr Key kConfigKey_WiFiSEC = SilabsConfigKey(kMatterConfig_KeyBase, 0x0E); + static constexpr Key kConfigKey_GroupKeyBase = SilabsConfigKey(kMatterConfig_KeyBase, 0x0F); + static constexpr Key kConfigKey_LockUser = SilabsConfigKey(kMatterConfig_KeyBase, 0x10); + static constexpr Key kConfigKey_Credential = SilabsConfigKey(kMatterConfig_KeyBase, 0x11); + static constexpr Key kConfigKey_LockUserName = SilabsConfigKey(kMatterConfig_KeyBase, 0x12); + static constexpr Key kConfigKey_CredentialData = SilabsConfigKey(kMatterConfig_KeyBase, 0x13); + static constexpr Key kConfigKey_UserCredentials = SilabsConfigKey(kMatterConfig_KeyBase, 0x14); + static constexpr Key kConfigKey_WeekDaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x15); + static constexpr Key kConfigKey_YearDaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x16); + static constexpr Key kConfigKey_HolidaySchedules = SilabsConfigKey(kMatterConfig_KeyBase, 0x17); + // UniqueId exposed in the Basic Information cluster. It is cleared on factoryreset + // We will generate a random ID, if none was previously provided. + static constexpr Key kConfigKey_UniqueId = SilabsConfigKey(kMatterConfig_KeyBase, 0x18); static constexpr Key kConfigKey_OpKeyMap = SilabsConfigKey(kMatterConfig_KeyBase, 0x20); static constexpr Key kConfigKey_BootCount = SilabsConfigKey(kMatterConfig_KeyBase, 0x21); static constexpr Key kConfigKey_TotalOperationalHours = SilabsConfigKey(kMatterConfig_KeyBase, 0x22); diff --git a/src/platform/silabs/provision/ProvisionStorage.h b/src/platform/silabs/provision/ProvisionStorage.h index ff012491ae3d7c..916d088fb66f10 100644 --- a/src/platform/silabs/provision/ProvisionStorage.h +++ b/src/platform/silabs/provision/ProvisionStorage.h @@ -62,18 +62,18 @@ enum ID : uint16_t kCertToolPath = 0x0137, kPylinkLib = 0x0138, // Instance Info, - kSerialNumber = 0x0141, - kVendorId = 0x0142, - kVendorName = 0x0143, - kProductId = 0x0144, - kProductName = 0x0145, - kProductLabel = 0x0146, - kProductUrl = 0x0147, - kPartNumber = 0x0148, - kHwVersion = 0x0151, - kHwVersionStr = 0x0152, - kManufacturingDate = 0x0153, - kUniqueId = 0x0154, + kSerialNumber = 0x0141, + kVendorId = 0x0142, + kVendorName = 0x0143, + kProductId = 0x0144, + kProductName = 0x0145, + kProductLabel = 0x0146, + kProductUrl = 0x0147, + kPartNumber = 0x0148, + kHwVersion = 0x0151, + kHwVersionStr = 0x0152, + kManufacturingDate = 0x0153, + kPersistentUniqueId = 0x0154, // Commissionable Data, kDiscriminator = 0x0161, kSpake2pPasscode = 0x0162, @@ -143,7 +143,7 @@ struct Storage : public GenericStorage, static constexpr size_t kPartNumberLengthMax = 32; static constexpr size_t kHardwareVersionStrLengthMax = 32; static constexpr size_t kManufacturingDateLengthMax = 11; // yyyy-mm-dd + \0 - static constexpr size_t kUniqueIdLengthMax = 16; + static constexpr size_t kPersistentUniqueIdMaxLength = 16; static constexpr size_t kSpake2pVerifierB64LengthMax = BASE64_ENCODED_LEN(chip::Crypto::kSpake2p_VerifierSerialized_Length) + 1; static constexpr size_t kSpake2pSaltB64LengthMax = BASE64_ENCODED_LEN(chip::Crypto::kSpake2p_Max_PBKDF_Salt_Length) + 1; static constexpr size_t kFirmwareInfoSizeMax = 32; @@ -259,8 +259,10 @@ struct Storage : public GenericStorage, CHIP_ERROR SetHardwareVersionString(const char * value, size_t len); CHIP_ERROR SetManufacturingDate(const char * value, size_t len); CHIP_ERROR GetManufacturingDate(uint8_t * value, size_t max, size_t & size); - CHIP_ERROR SetUniqueId(const uint8_t * value, size_t size); - CHIP_ERROR GetUniqueId(uint8_t * value, size_t max, size_t & size); + // PersistentUniqueId is used to generate the RotatingUniqueId + // This PersistentUniqueId SHALL NOT be the same as the UniqueID attribute exposed in the Basic Information cluster. + CHIP_ERROR SetPersistentUniqueId(const uint8_t * value, size_t size); + CHIP_ERROR GetPersistentUniqueId(uint8_t * value, size_t max, size_t & size); // CommissionableDataProvider CHIP_ERROR SetSetupDiscriminator(uint16_t value); CHIP_ERROR SetSpake2pIterationCount(uint32_t value); diff --git a/third_party/silabs/matter_support b/third_party/silabs/matter_support index bf647de36d841e..fddcd73de5d30e 160000 --- a/third_party/silabs/matter_support +++ b/third_party/silabs/matter_support @@ -1 +1 @@ -Subproject commit bf647de36d841e62fdac5d37c0cdfc5ebf9200bc +Subproject commit fddcd73de5d30e41036993dc575f78835fba6e7c From 7e0634cfbcbf4d12885a7ec778e1ce9ba5cb6bd7 Mon Sep 17 00:00:00 2001 From: Raul Marquez <130402456+raul-marquez-csa@users.noreply.github.com> Date: Wed, 30 Oct 2024 06:25:59 -0700 Subject: [PATCH 6/7] Updates variable utcTime to utcTime2 (#33831) --- src/python_testing/TC_VALCC_4_4.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/python_testing/TC_VALCC_4_4.py b/src/python_testing/TC_VALCC_4_4.py index b85ff9a9f024e4..63cc6170ab5888 100644 --- a/src/python_testing/TC_VALCC_4_4.py +++ b/src/python_testing/TC_VALCC_4_4.py @@ -172,17 +172,17 @@ async def test_TC_VALCC_4_4(self): pass self.step(11) - utcTime = await self.read_single_attribute_check_success(endpoint=0, cluster=Clusters.Objects.TimeSynchronization, attribute=Clusters.TimeSynchronization.Attributes.UTCTime) + utcTime2 = await self.read_single_attribute_check_success(endpoint=0, cluster=Clusters.Objects.TimeSynchronization, attribute=Clusters.TimeSynchronization.Attributes.UTCTime) - asserts.assert_true(utcTime is not NullValue, "OpenDuration is null") + asserts.assert_true(utcTime2 is not NullValue, "OpenDuration is null") self.step(12) auto_close_time_dut = await self.read_valcc_attribute_expect_success(endpoint=endpoint, attribute=attributes.AutoCloseTime) asserts.assert_true(auto_close_time_dut is not NullValue, "AutoCloseTime is null") - asserts.assert_greater_equal(auto_close_time_dut, (utcTime + ((defaultOpenDuration - 5) * 1000000)), + asserts.assert_greater_equal(auto_close_time_dut, (utcTime2 + ((defaultOpenDuration - 5) * 1000000)), "AutoCloseTime is not in the expected range") - asserts.assert_less_equal(auto_close_time_dut, (utcTime + (defaultOpenDuration * 1000000)), + asserts.assert_less_equal(auto_close_time_dut, (utcTime2 + (defaultOpenDuration * 1000000)), "AutoCloseTime is not in the expected range") self.step(13) From 7df767603817b737bd2d173d30da9751492bca39 Mon Sep 17 00:00:00 2001 From: Shubham Patil Date: Wed, 30 Oct 2024 19:26:12 +0530 Subject: [PATCH 7/7] OpenThread: ClearAllSrpHostAndServices should be guarded with CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT (#36284) The code block added in #35065 should be guarded, if the thread stack manager is not pulled in then this function is not available and breaks the compilation. --- .../OpenThread/GenericNetworkCommissioningThreadDriver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp index 0c1d482f84c751..fe5bd40a0afb42 100644 --- a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp +++ b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp @@ -189,6 +189,7 @@ void GenericThreadDriver::ConnectNetwork(ByteSpan networkId, ConnectCallback * c status = Status::kUnknownError; } +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT if (status == Status::kSuccess && ThreadStackMgrImpl().IsThreadAttached()) { Thread::OperationalDataset currentDataset; @@ -206,6 +207,7 @@ void GenericThreadDriver::ConnectNetwork(ByteSpan networkId, ConnectCallback * c status = Status::kUnknownError; } } +#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT if (status == Status::kSuccess && DeviceLayer::ThreadStackMgrImpl().AttachToThreadNetwork(mStagingNetwork, callback) != CHIP_NO_ERROR)