Imported more library files

Not compiling currently
This commit is contained in:
2025-04-12 23:37:19 +01:00
parent 264a3462e0
commit 9d06f983af
2518 changed files with 1021900 additions and 52 deletions

View File

@@ -0,0 +1,862 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#include <cstdint>
#include <cinttypes>
#include <app-common/zap-generated/callback.h>
#include <app-common/zap-generated/cluster-objects.h>
#include <app-common/zap-generated/ids/Clusters.h>
#include <app-common/zap-generated/ids/Commands.h>
#include <app/util/util.h>
#include <app/CommandHandler.h>
#include <app/InteractionModelEngine.h>
#include <lib/core/CHIPSafeCasts.h>
#include <lib/support/TypeTraits.h>
namespace chip {
namespace app {
// Cluster specific command parsing
namespace Clusters {
namespace AdministratorCommissioning {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::OpenCommissioningWindow::Id: {
Commands::OpenCommissioningWindow::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::OpenBasicCommissioningWindow::Id: {
Commands::OpenBasicCommissioningWindow::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::RevokeCommissioning::Id: {
Commands::RevokeCommissioning::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfAdministratorCommissioningClusterRevokeCommissioningCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace GeneralCommissioning {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::ArmFailSafe::Id: {
Commands::ArmFailSafe::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGeneralCommissioningClusterArmFailSafeCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::SetRegulatoryConfig::Id: {
Commands::SetRegulatoryConfig::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGeneralCommissioningClusterSetRegulatoryConfigCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::CommissioningComplete::Id: {
Commands::CommissioningComplete::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGeneralCommissioningClusterCommissioningCompleteCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace GeneralDiagnostics {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::TestEventTrigger::Id: {
Commands::TestEventTrigger::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGeneralDiagnosticsClusterTestEventTriggerCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::TimeSnapshot::Id: {
Commands::TimeSnapshot::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGeneralDiagnosticsClusterTimeSnapshotCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace GroupKeyManagement {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::KeySetWrite::Id: {
Commands::KeySetWrite::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupKeyManagementClusterKeySetWriteCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::KeySetRead::Id: {
Commands::KeySetRead::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupKeyManagementClusterKeySetReadCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::KeySetRemove::Id: {
Commands::KeySetRemove::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupKeyManagementClusterKeySetRemoveCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::KeySetReadAllIndices::Id: {
Commands::KeySetReadAllIndices::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupKeyManagementClusterKeySetReadAllIndicesCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace Groups {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::AddGroup::Id: {
Commands::AddGroup::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterAddGroupCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::ViewGroup::Id: {
Commands::ViewGroup::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterViewGroupCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::GetGroupMembership::Id: {
Commands::GetGroupMembership::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterGetGroupMembershipCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::RemoveGroup::Id: {
Commands::RemoveGroup::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterRemoveGroupCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::RemoveAllGroups::Id: {
Commands::RemoveAllGroups::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterRemoveAllGroupsCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::AddGroupIfIdentifying::Id: {
Commands::AddGroupIfIdentifying::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfGroupsClusterAddGroupIfIdentifyingCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace Identify {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::Identify::Id: {
Commands::Identify::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfIdentifyClusterIdentifyCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::TriggerEffect::Id: {
Commands::TriggerEffect::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfIdentifyClusterTriggerEffectCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace LevelControl {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::MoveToLevel::Id: {
Commands::MoveToLevel::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterMoveToLevelCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::Move::Id: {
Commands::Move::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterMoveCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::Step::Id: {
Commands::Step::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterStepCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::Stop::Id: {
Commands::Stop::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterStopCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::MoveToLevelWithOnOff::Id: {
Commands::MoveToLevelWithOnOff::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterMoveToLevelWithOnOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::MoveWithOnOff::Id: {
Commands::MoveWithOnOff::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterMoveWithOnOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::StepWithOnOff::Id: {
Commands::StepWithOnOff::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterStepWithOnOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::StopWithOnOff::Id: {
Commands::StopWithOnOff::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfLevelControlClusterStopWithOnOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace OtaSoftwareUpdateRequestor {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::AnnounceOTAProvider::Id: {
Commands::AnnounceOTAProvider::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOtaSoftwareUpdateRequestorClusterAnnounceOTAProviderCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace OnOff {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::Off::Id: {
Commands::Off::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::On::Id: {
Commands::On::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterOnCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::Toggle::Id: {
Commands::Toggle::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterToggleCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::OffWithEffect::Id: {
Commands::OffWithEffect::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterOffWithEffectCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::OnWithRecallGlobalScene::Id: {
Commands::OnWithRecallGlobalScene::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterOnWithRecallGlobalSceneCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::OnWithTimedOff::Id: {
Commands::OnWithTimedOff::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOnOffClusterOnWithTimedOffCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace OperationalCredentials {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::AttestationRequest::Id: {
Commands::AttestationRequest::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterAttestationRequestCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::CertificateChainRequest::Id: {
Commands::CertificateChainRequest::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterCertificateChainRequestCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::CSRRequest::Id: {
Commands::CSRRequest::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterCSRRequestCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::AddNOC::Id: {
Commands::AddNOC::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterAddNOCCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::UpdateNOC::Id: {
Commands::UpdateNOC::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterUpdateNOCCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::UpdateFabricLabel::Id: {
Commands::UpdateFabricLabel::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterUpdateFabricLabelCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::RemoveFabric::Id: {
Commands::RemoveFabric::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterRemoveFabricCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
case Commands::AddTrustedRootCertificate::Id: {
Commands::AddTrustedRootCertificate::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfOperationalCredentialsClusterAddTrustedRootCertificateCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace SoftwareDiagnostics {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::ResetWatermarks::Id: {
Commands::ResetWatermarks::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfSoftwareDiagnosticsClusterResetWatermarksCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace ThreadNetworkDiagnostics {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::ResetCounts::Id: {
Commands::ResetCounts::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfThreadNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
namespace WiFiNetworkDiagnostics {
void DispatchServerCommand(CommandHandler * apCommandObj, const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aDataTlv)
{
CHIP_ERROR TLVError = CHIP_NO_ERROR;
bool wasHandled = false;
{
switch (aCommandPath.mCommandId)
{
case Commands::ResetCounts::Id: {
Commands::ResetCounts::DecodableType commandData;
TLVError = DataModel::Decode(aDataTlv, commandData);
if (TLVError == CHIP_NO_ERROR)
{
wasHandled = emberAfWiFiNetworkDiagnosticsClusterResetCountsCallback(apCommandObj, aCommandPath, commandData);
}
break;
}
default: {
// Unrecognized command ID, error status will apply.
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::UnsupportedCommand);
ChipLogError(Zcl, "Unknown command " ChipLogFormatMEI " for cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mCommandId), ChipLogValueMEI(aCommandPath.mClusterId));
return;
}
}
}
if (CHIP_NO_ERROR != TLVError || !wasHandled)
{
apCommandObj->AddStatus(aCommandPath, Protocols::InteractionModel::Status::InvalidCommand);
ChipLogProgress(Zcl, "Failed to dispatch command, TLVError=%" CHIP_ERROR_FORMAT, TLVError.Format());
}
}
}
} // namespace Clusters
void DispatchSingleClusterCommand(const ConcreteCommandPath & aCommandPath, TLV::TLVReader & aReader, CommandHandler * apCommandObj)
{
switch (aCommandPath.mClusterId)
{
case Clusters::AdministratorCommissioning::Id:
Clusters::AdministratorCommissioning::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::GeneralCommissioning::Id:
Clusters::GeneralCommissioning::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::GeneralDiagnostics::Id:
Clusters::GeneralDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::GroupKeyManagement::Id:
Clusters::GroupKeyManagement::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::Groups::Id:
Clusters::Groups::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::Identify::Id:
Clusters::Identify::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::LevelControl::Id:
Clusters::LevelControl::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::OtaSoftwareUpdateRequestor::Id:
Clusters::OtaSoftwareUpdateRequestor::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::OnOff::Id:
Clusters::OnOff::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::OperationalCredentials::Id:
Clusters::OperationalCredentials::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::SoftwareDiagnostics::Id:
Clusters::SoftwareDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::ThreadNetworkDiagnostics::Id:
Clusters::ThreadNetworkDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
case Clusters::WiFiNetworkDiagnostics::Id:
Clusters::WiFiNetworkDiagnostics::DispatchServerCommand(apCommandObj, aCommandPath, aReader);
break;
default:
ChipLogError(Zcl, "Unknown cluster " ChipLogFormatMEI, ChipLogValueMEI(aCommandPath.mClusterId));
apCommandObj->AddStatus(
aCommandPath,
Protocols::InteractionModel::Status::UnsupportedCluster
);
break;
}
}
} // namespace app
} // namespace chip

View File

@@ -0,0 +1,299 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
// Prevent multiple inclusion
#pragma once
#include <access/Privilege.h>
// Prevent changing generated format
// clang-format off
////////////////////////////////////////////////////////////////////////////////
// Parallel array data (*cluster*, attribute, privilege) for read attribute
#define GENERATED_ACCESS_READ_ATTRIBUTE__CLUSTER { \
/* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: view */ \
/* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: view */ \
0x0000001F, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
0x0000001F, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
/* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
/* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: view */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \
/* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \
}
// Parallel array data (cluster, *attribute*, privilege) for read attribute
#define GENERATED_ACCESS_READ_ATTRIBUTE__ATTRIBUTE { \
/* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: view */ \
/* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: view */ \
0x00000000, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
0x00000001, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
/* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000000, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000001, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
/* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: view */ \
0x00000005, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \
0x00000006, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \
0x00000007, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \
0x00000000, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \
/* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \
}
// Parallel array data (cluster, attribute, *privilege*) for read attribute
#define GENERATED_ACCESS_READ_ATTRIBUTE__PRIVILEGE { \
/* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: view */ \
/* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: view */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
/* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
/* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: view */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: LastNetworkingStatus, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: LastNetworkID, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: LastConnectErrorValue, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Attribute: NOCs, Privilege: administer */ \
/* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: view */ \
}
////////////////////////////////////////////////////////////////////////////////
// Parallel array data (*cluster*, attribute, privilege) for write attribute
#define GENERATED_ACCESS_WRITE_ATTRIBUTE__CLUSTER { \
0x00000006, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \
0x00000008, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \
0x0000001F, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
0x0000001F, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
0x00000028, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000028, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000028, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
0x0000002A, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x0000002B, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
0x00000030, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \
0x0000003F, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \
}
// Parallel array data (cluster, *attribute*, privilege) for write attribute
#define GENERATED_ACCESS_WRITE_ATTRIBUTE__ATTRIBUTE { \
0x00004003, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \
0x00004000, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \
0x00000000, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
0x00000001, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
0x00000005, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000006, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000010, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
0x00000000, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x00000000, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x00000000, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x00000001, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
0x00000000, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \
0x00000004, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \
0x00000000, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \
}
// Parallel array data (cluster, attribute, *privilege*) for write attribute
#define GENERATED_ACCESS_WRITE_ATTRIBUTE__PRIVILEGE { \
chip::Access::Privilege::kManage, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Attribute: InterfaceEnabled, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: Group Key Management, Attribute: GroupKeyMap, Privilege: manage */ \
}
////////////////////////////////////////////////////////////////////////////////
// Parallel array data (*cluster*, command, privilege) for invoke command
#define GENERATED_ACCESS_INVOKE_COMMAND__CLUSTER { \
0x00000003, /* Cluster: Identify, Command: Identify, Privilege: manage */ \
0x00000003, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \
0x00000004, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \
0x00000004, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
0x00000004, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
0x00000030, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
0x00000030, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
0x00000030, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \
0x00000033, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \
0x00000034, /* Cluster: Software Diagnostics, Command: ResetWatermarks, Privilege: manage */ \
0x00000035, /* Cluster: Thread Network Diagnostics, Command: ResetCounts, Privilege: manage */ \
0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \
0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \
0x0000003C, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \
0x0000003E, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \
0x0000003F, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \
0x0000003F, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \
0x0000003F, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \
0x0000003F, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \
0x00000062, /* Cluster: Scenes Management, Command: AddScene, Privilege: manage */ \
0x00000062, /* Cluster: Scenes Management, Command: RemoveScene, Privilege: manage */ \
0x00000062, /* Cluster: Scenes Management, Command: RemoveAllScenes, Privilege: manage */ \
0x00000062, /* Cluster: Scenes Management, Command: StoreScene, Privilege: manage */ \
}
// Parallel array data (cluster, *command*, privilege) for invoke command
#define GENERATED_ACCESS_INVOKE_COMMAND__COMMAND { \
0x00000000, /* Cluster: Identify, Command: Identify, Privilege: manage */ \
0x00000040, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \
0x00000000, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \
0x00000003, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
0x00000005, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
0x00000000, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
0x00000002, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
0x00000004, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
0x00000000, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \
0x00000002, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \
0x00000003, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \
0x00000004, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \
0x00000006, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \
0x00000008, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \
0x00000000, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \
0x00000000, /* Cluster: Software Diagnostics, Command: ResetWatermarks, Privilege: manage */ \
0x00000000, /* Cluster: Thread Network Diagnostics, Command: ResetCounts, Privilege: manage */ \
0x00000000, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \
0x00000001, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \
0x00000002, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \
0x00000000, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \
0x00000002, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \
0x00000004, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \
0x00000006, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \
0x00000007, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \
0x00000009, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \
0x0000000A, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \
0x0000000B, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \
0x00000000, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \
0x00000001, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \
0x00000003, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \
0x00000004, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \
0x00000000, /* Cluster: Scenes Management, Command: AddScene, Privilege: manage */ \
0x00000002, /* Cluster: Scenes Management, Command: RemoveScene, Privilege: manage */ \
0x00000003, /* Cluster: Scenes Management, Command: RemoveAllScenes, Privilege: manage */ \
0x00000004, /* Cluster: Scenes Management, Command: StoreScene, Privilege: manage */ \
}
// Parallel array data (cluster, command, *privilege*) for invoke command
#define GENERATED_ACCESS_INVOKE_COMMAND__PRIVILEGE { \
chip::Access::Privilege::kManage, /* Cluster: Identify, Command: Identify, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Identify, Command: TriggerEffect, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: AddGroup, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: RemoveGroup, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: ScanNetworks, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: AddOrUpdateWiFiNetwork, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: AddOrUpdateThreadNetwork, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: RemoveNetwork, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Software Diagnostics, Command: ResetWatermarks, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Thread Network Diagnostics, Command: ResetCounts, Privilege: manage */ \
chip::Access::Privilege::kAdminister, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: AttestationRequest, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: CertificateChainRequest, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: CSRRequest, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: AddNOC, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: UpdateNOC, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: UpdateFabricLabel, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: RemoveFabric, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Operational Credentials, Command: AddTrustedRootCertificate, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Group Key Management, Command: KeySetWrite, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Group Key Management, Command: KeySetRead, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Group Key Management, Command: KeySetRemove, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Group Key Management, Command: KeySetReadAllIndices, Privilege: administer */ \
chip::Access::Privilege::kManage, /* Cluster: Scenes Management, Command: AddScene, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Scenes Management, Command: RemoveScene, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Scenes Management, Command: RemoveAllScenes, Privilege: manage */ \
chip::Access::Privilege::kManage, /* Cluster: Scenes Management, Command: StoreScene, Privilege: manage */ \
}
////////////////////////////////////////////////////////////////////////////////
// Parallel array data (*cluster*, event, privilege) for read event
#define GENERATED_ACCESS_READ_EVENT__CLUSTER { \
0x0000001F, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \
0x0000001F, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \
0x0000001F, /* Cluster: Access Control, Event: FabricRestrictionReviewUpdate, Privilege: administer */ \
}
// Parallel array data (cluster, *event*, privilege) for read event
#define GENERATED_ACCESS_READ_EVENT__EVENT { \
0x00000000, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \
0x00000001, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \
0x00000002, /* Cluster: Access Control, Event: FabricRestrictionReviewUpdate, Privilege: administer */ \
}
// Parallel array data (cluster, event, *privilege*) for read event
#define GENERATED_ACCESS_READ_EVENT__PRIVILEGE { \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Event: AccessControlEntryChanged, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Event: AccessControlExtensionChanged, Privilege: administer */ \
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Event: FabricRestrictionReviewUpdate, Privilege: administer */ \
}
////////////////////////////////////////////////////////////////////////////////
// clang-format on

View File

@@ -0,0 +1,140 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
// Prevent multiple inclusion
#pragma once
#include <cstdint>
// ZCL attribute types
enum {
ZCL_NO_DATA_ATTRIBUTE_TYPE = 0x00, // No data
ZCL_BOOLEAN_ATTRIBUTE_TYPE = 0x10, // Boolean
ZCL_BITMAP8_ATTRIBUTE_TYPE = 0x18, // 8-bit bitmap
ZCL_BITMAP16_ATTRIBUTE_TYPE = 0x19, // 16-bit bitmap
ZCL_BITMAP32_ATTRIBUTE_TYPE = 0x1B, // 32-bit bitmap
ZCL_BITMAP64_ATTRIBUTE_TYPE = 0x1F, // 64-bit bitmap
ZCL_INT8U_ATTRIBUTE_TYPE = 0x20, // Unsigned 8-bit integer
ZCL_INT16U_ATTRIBUTE_TYPE = 0x21, // Unsigned 16-bit integer
ZCL_INT24U_ATTRIBUTE_TYPE = 0x22, // Unsigned 24-bit integer
ZCL_INT32U_ATTRIBUTE_TYPE = 0x23, // Unsigned 32-bit integer
ZCL_INT40U_ATTRIBUTE_TYPE = 0x24, // Unsigned 40-bit integer
ZCL_INT48U_ATTRIBUTE_TYPE = 0x25, // Unsigned 48-bit integer
ZCL_INT56U_ATTRIBUTE_TYPE = 0x26, // Unsigned 56-bit integer
ZCL_INT64U_ATTRIBUTE_TYPE = 0x27, // Unsigned 64-bit integer
ZCL_INT8S_ATTRIBUTE_TYPE = 0x28, // Signed 8-bit integer
ZCL_INT16S_ATTRIBUTE_TYPE = 0x29, // Signed 16-bit integer
ZCL_INT24S_ATTRIBUTE_TYPE = 0x2A, // Signed 24-bit integer
ZCL_INT32S_ATTRIBUTE_TYPE = 0x2B, // Signed 32-bit integer
ZCL_INT40S_ATTRIBUTE_TYPE = 0x2C, // Signed 40-bit integer
ZCL_INT48S_ATTRIBUTE_TYPE = 0x2D, // Signed 48-bit integer
ZCL_INT56S_ATTRIBUTE_TYPE = 0x2E, // Signed 56-bit integer
ZCL_INT64S_ATTRIBUTE_TYPE = 0x2F, // Signed 64-bit integer
ZCL_ENUM8_ATTRIBUTE_TYPE = 0x30, // 8-bit enumeration
ZCL_ENUM16_ATTRIBUTE_TYPE = 0x31, // 16-bit enumeration
ZCL_PRIORITY_ATTRIBUTE_TYPE = 0x32, // Priority
ZCL_STATUS_ATTRIBUTE_TYPE = 0x33, // Status Code
ZCL_SINGLE_ATTRIBUTE_TYPE = 0x39, // Single precision
ZCL_DOUBLE_ATTRIBUTE_TYPE = 0x3A, // Double precision
ZCL_OCTET_STRING_ATTRIBUTE_TYPE = 0x41, // Octet String
ZCL_CHAR_STRING_ATTRIBUTE_TYPE = 0x42, // Character String
ZCL_LONG_OCTET_STRING_ATTRIBUTE_TYPE = 0x43, // Long Octet String
ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE = 0x44, // Long Character String
ZCL_ARRAY_ATTRIBUTE_TYPE = 0x48, // List
ZCL_STRUCT_ATTRIBUTE_TYPE = 0x4C, // Structure
ZCL_GROUP_ID_ATTRIBUTE_TYPE = 0xC0, // Group ID
ZCL_ENDPOINT_NO_ATTRIBUTE_TYPE = 0xC1, // Endpoint Number
ZCL_VENDOR_ID_ATTRIBUTE_TYPE = 0xC2, // Vendor ID
ZCL_DEVTYPE_ID_ATTRIBUTE_TYPE = 0xC3, // Device Type ID
ZCL_FABRIC_ID_ATTRIBUTE_TYPE = 0xC4, // Fabric ID
ZCL_FABRIC_IDX_ATTRIBUTE_TYPE = 0xC5, // Fabric Index
ZCL_ENTRY_IDX_ATTRIBUTE_TYPE = 0xC6, // Entry Index
ZCL_DATA_VER_ATTRIBUTE_TYPE = 0xC7, // Data Version
ZCL_EVENT_NO_ATTRIBUTE_TYPE = 0xC8, // Event Number
ZCL_SEMTAG_ATTRIBUTE_TYPE = 0xC9, // Semantic Tag
ZCL_NAMESPACE_ATTRIBUTE_TYPE = 0xCA, // Namespace
ZCL_TAG_ATTRIBUTE_TYPE = 0xCB, // Tag
ZCL_SYSTIME_US_ATTRIBUTE_TYPE = 0xD0, // System Time Microseconds
ZCL_SYSTIME_MS_ATTRIBUTE_TYPE = 0xD1, // System Time Milliseconds
ZCL_ELAPSED_S_ATTRIBUTE_TYPE = 0xD2, // Elapsed Time Seconds
ZCL_TEMPERATURE_ATTRIBUTE_TYPE = 0xD8, // Temperature
ZCL_POWER_MW_ATTRIBUTE_TYPE = 0xD9, // Power milliwatts
ZCL_AMPERAGE_MA_ATTRIBUTE_TYPE = 0xDA, // Amperage milliamps
ZCL_VOLTAGE_MV_ATTRIBUTE_TYPE = 0xDB, // Voltage millivolts
ZCL_ENERGY_MWH_ATTRIBUTE_TYPE = 0xDC, // Energy milliwatt-hours
ZCL_TOD_ATTRIBUTE_TYPE = 0xE0, // Time of day
ZCL_DATE_ATTRIBUTE_TYPE = 0xE1, // Date
ZCL_EPOCH_US_ATTRIBUTE_TYPE = 0xE3, // Epoch Microseconds
ZCL_EPOCH_S_ATTRIBUTE_TYPE = 0xE4, // Epoch Seconds
ZCL_POSIX_MS_ATTRIBUTE_TYPE = 0xE5, // Posix Time Milliseconds
ZCL_PERCENT_ATTRIBUTE_TYPE = 0xE6, // Percentage units 1%
ZCL_PERCENT100THS_ATTRIBUTE_TYPE = 0xE7, // Percentage units 0.01%
ZCL_CLUSTER_ID_ATTRIBUTE_TYPE = 0xE8, // Cluster ID
ZCL_ATTRIB_ID_ATTRIBUTE_TYPE = 0xE9, // Attribute ID
ZCL_FIELD_ID_ATTRIBUTE_TYPE = 0xEB, // Field ID
ZCL_EVENT_ID_ATTRIBUTE_TYPE = 0xEC, // Event ID
ZCL_COMMAND_ID_ATTRIBUTE_TYPE = 0xED, // Command ID
ZCL_ACTION_ID_ATTRIBUTE_TYPE = 0xEE, // Action ID
ZCL_TRANS_ID_ATTRIBUTE_TYPE = 0xEF, // Transaction ID
ZCL_NODE_ID_ATTRIBUTE_TYPE = 0xF0, // Node ID
ZCL_IPADR_ATTRIBUTE_TYPE = 0xF2, // IP Address
ZCL_IPV4ADR_ATTRIBUTE_TYPE = 0xF3, // IPv4 Address
ZCL_IPV6ADR_ATTRIBUTE_TYPE = 0xF4, // IPv6 Address
ZCL_IPV6PRE_ATTRIBUTE_TYPE = 0xF5, // IPv6 Prefix
ZCL_HWADR_ATTRIBUTE_TYPE = 0xF6, // Hardware Address
ZCL_UNKNOWN_ATTRIBUTE_TYPE = 0xFF, // Unknown
};
namespace chip {
namespace app {
inline bool IsSignedAttributeType(uint8_t attributeType)
{
switch (attributeType) {
case ZCL_INT8S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT16S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT24S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT32S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT40S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT48S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT56S_ATTRIBUTE_TYPE:
return true;
case ZCL_INT64S_ATTRIBUTE_TYPE:
return true;
case ZCL_TEMPERATURE_ATTRIBUTE_TYPE:
return true;
case ZCL_POWER_MW_ATTRIBUTE_TYPE:
return true;
case ZCL_AMPERAGE_MA_ATTRIBUTE_TYPE:
return true;
case ZCL_VOLTAGE_MV_ATTRIBUTE_TYPE:
return true;
case ZCL_ENERGY_MWH_ATTRIBUTE_TYPE:
return true;
default:
return false;
}
}
} // namespace app
} // namespace chip

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,403 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#pragma once
#include <app/util/basic-types.h>
namespace chip {
namespace app {
namespace Clusters {
namespace Identify {
static constexpr ClusterId Id = 0x00000003;
} // namespace Identify {
namespace Groups {
static constexpr ClusterId Id = 0x00000004;
} // namespace Groups {
namespace OnOff {
static constexpr ClusterId Id = 0x00000006;
} // namespace OnOff {
namespace LevelControl {
static constexpr ClusterId Id = 0x00000008;
} // namespace LevelControl {
namespace PulseWidthModulation {
static constexpr ClusterId Id = 0x0000001C;
} // namespace PulseWidthModulation {
namespace Descriptor {
static constexpr ClusterId Id = 0x0000001D;
} // namespace Descriptor {
namespace Binding {
static constexpr ClusterId Id = 0x0000001E;
} // namespace Binding {
namespace AccessControl {
static constexpr ClusterId Id = 0x0000001F;
} // namespace AccessControl {
namespace Actions {
static constexpr ClusterId Id = 0x00000025;
} // namespace Actions {
namespace BasicInformation {
static constexpr ClusterId Id = 0x00000028;
} // namespace BasicInformation {
namespace OtaSoftwareUpdateProvider {
static constexpr ClusterId Id = 0x00000029;
} // namespace OtaSoftwareUpdateProvider {
namespace OtaSoftwareUpdateRequestor {
static constexpr ClusterId Id = 0x0000002A;
} // namespace OtaSoftwareUpdateRequestor {
namespace LocalizationConfiguration {
static constexpr ClusterId Id = 0x0000002B;
} // namespace LocalizationConfiguration {
namespace TimeFormatLocalization {
static constexpr ClusterId Id = 0x0000002C;
} // namespace TimeFormatLocalization {
namespace UnitLocalization {
static constexpr ClusterId Id = 0x0000002D;
} // namespace UnitLocalization {
namespace PowerSourceConfiguration {
static constexpr ClusterId Id = 0x0000002E;
} // namespace PowerSourceConfiguration {
namespace PowerSource {
static constexpr ClusterId Id = 0x0000002F;
} // namespace PowerSource {
namespace GeneralCommissioning {
static constexpr ClusterId Id = 0x00000030;
} // namespace GeneralCommissioning {
namespace NetworkCommissioning {
static constexpr ClusterId Id = 0x00000031;
} // namespace NetworkCommissioning {
namespace DiagnosticLogs {
static constexpr ClusterId Id = 0x00000032;
} // namespace DiagnosticLogs {
namespace GeneralDiagnostics {
static constexpr ClusterId Id = 0x00000033;
} // namespace GeneralDiagnostics {
namespace SoftwareDiagnostics {
static constexpr ClusterId Id = 0x00000034;
} // namespace SoftwareDiagnostics {
namespace ThreadNetworkDiagnostics {
static constexpr ClusterId Id = 0x00000035;
} // namespace ThreadNetworkDiagnostics {
namespace WiFiNetworkDiagnostics {
static constexpr ClusterId Id = 0x00000036;
} // namespace WiFiNetworkDiagnostics {
namespace EthernetNetworkDiagnostics {
static constexpr ClusterId Id = 0x00000037;
} // namespace EthernetNetworkDiagnostics {
namespace TimeSynchronization {
static constexpr ClusterId Id = 0x00000038;
} // namespace TimeSynchronization {
namespace BridgedDeviceBasicInformation {
static constexpr ClusterId Id = 0x00000039;
} // namespace BridgedDeviceBasicInformation {
namespace Switch {
static constexpr ClusterId Id = 0x0000003B;
} // namespace Switch {
namespace AdministratorCommissioning {
static constexpr ClusterId Id = 0x0000003C;
} // namespace AdministratorCommissioning {
namespace OperationalCredentials {
static constexpr ClusterId Id = 0x0000003E;
} // namespace OperationalCredentials {
namespace GroupKeyManagement {
static constexpr ClusterId Id = 0x0000003F;
} // namespace GroupKeyManagement {
namespace FixedLabel {
static constexpr ClusterId Id = 0x00000040;
} // namespace FixedLabel {
namespace UserLabel {
static constexpr ClusterId Id = 0x00000041;
} // namespace UserLabel {
namespace ProxyConfiguration {
static constexpr ClusterId Id = 0x00000042;
} // namespace ProxyConfiguration {
namespace ProxyDiscovery {
static constexpr ClusterId Id = 0x00000043;
} // namespace ProxyDiscovery {
namespace ProxyValid {
static constexpr ClusterId Id = 0x00000044;
} // namespace ProxyValid {
namespace BooleanState {
static constexpr ClusterId Id = 0x00000045;
} // namespace BooleanState {
namespace IcdManagement {
static constexpr ClusterId Id = 0x00000046;
} // namespace IcdManagement {
namespace Timer {
static constexpr ClusterId Id = 0x00000047;
} // namespace Timer {
namespace OvenCavityOperationalState {
static constexpr ClusterId Id = 0x00000048;
} // namespace OvenCavityOperationalState {
namespace OvenMode {
static constexpr ClusterId Id = 0x00000049;
} // namespace OvenMode {
namespace LaundryDryerControls {
static constexpr ClusterId Id = 0x0000004A;
} // namespace LaundryDryerControls {
namespace ModeSelect {
static constexpr ClusterId Id = 0x00000050;
} // namespace ModeSelect {
namespace LaundryWasherMode {
static constexpr ClusterId Id = 0x00000051;
} // namespace LaundryWasherMode {
namespace RefrigeratorAndTemperatureControlledCabinetMode {
static constexpr ClusterId Id = 0x00000052;
} // namespace RefrigeratorAndTemperatureControlledCabinetMode {
namespace LaundryWasherControls {
static constexpr ClusterId Id = 0x00000053;
} // namespace LaundryWasherControls {
namespace RvcRunMode {
static constexpr ClusterId Id = 0x00000054;
} // namespace RvcRunMode {
namespace RvcCleanMode {
static constexpr ClusterId Id = 0x00000055;
} // namespace RvcCleanMode {
namespace TemperatureControl {
static constexpr ClusterId Id = 0x00000056;
} // namespace TemperatureControl {
namespace RefrigeratorAlarm {
static constexpr ClusterId Id = 0x00000057;
} // namespace RefrigeratorAlarm {
namespace DishwasherMode {
static constexpr ClusterId Id = 0x00000059;
} // namespace DishwasherMode {
namespace AirQuality {
static constexpr ClusterId Id = 0x0000005B;
} // namespace AirQuality {
namespace SmokeCoAlarm {
static constexpr ClusterId Id = 0x0000005C;
} // namespace SmokeCoAlarm {
namespace DishwasherAlarm {
static constexpr ClusterId Id = 0x0000005D;
} // namespace DishwasherAlarm {
namespace MicrowaveOvenMode {
static constexpr ClusterId Id = 0x0000005E;
} // namespace MicrowaveOvenMode {
namespace MicrowaveOvenControl {
static constexpr ClusterId Id = 0x0000005F;
} // namespace MicrowaveOvenControl {
namespace OperationalState {
static constexpr ClusterId Id = 0x00000060;
} // namespace OperationalState {
namespace RvcOperationalState {
static constexpr ClusterId Id = 0x00000061;
} // namespace RvcOperationalState {
namespace ScenesManagement {
static constexpr ClusterId Id = 0x00000062;
} // namespace ScenesManagement {
namespace HepaFilterMonitoring {
static constexpr ClusterId Id = 0x00000071;
} // namespace HepaFilterMonitoring {
namespace ActivatedCarbonFilterMonitoring {
static constexpr ClusterId Id = 0x00000072;
} // namespace ActivatedCarbonFilterMonitoring {
namespace BooleanStateConfiguration {
static constexpr ClusterId Id = 0x00000080;
} // namespace BooleanStateConfiguration {
namespace ValveConfigurationAndControl {
static constexpr ClusterId Id = 0x00000081;
} // namespace ValveConfigurationAndControl {
namespace ElectricalPowerMeasurement {
static constexpr ClusterId Id = 0x00000090;
} // namespace ElectricalPowerMeasurement {
namespace ElectricalEnergyMeasurement {
static constexpr ClusterId Id = 0x00000091;
} // namespace ElectricalEnergyMeasurement {
namespace WaterHeaterManagement {
static constexpr ClusterId Id = 0x00000094;
} // namespace WaterHeaterManagement {
namespace DemandResponseLoadControl {
static constexpr ClusterId Id = 0x00000096;
} // namespace DemandResponseLoadControl {
namespace Messages {
static constexpr ClusterId Id = 0x00000097;
} // namespace Messages {
namespace DeviceEnergyManagement {
static constexpr ClusterId Id = 0x00000098;
} // namespace DeviceEnergyManagement {
namespace EnergyEvse {
static constexpr ClusterId Id = 0x00000099;
} // namespace EnergyEvse {
namespace EnergyPreference {
static constexpr ClusterId Id = 0x0000009B;
} // namespace EnergyPreference {
namespace PowerTopology {
static constexpr ClusterId Id = 0x0000009C;
} // namespace PowerTopology {
namespace EnergyEvseMode {
static constexpr ClusterId Id = 0x0000009D;
} // namespace EnergyEvseMode {
namespace WaterHeaterMode {
static constexpr ClusterId Id = 0x0000009E;
} // namespace WaterHeaterMode {
namespace DeviceEnergyManagementMode {
static constexpr ClusterId Id = 0x0000009F;
} // namespace DeviceEnergyManagementMode {
namespace DoorLock {
static constexpr ClusterId Id = 0x00000101;
} // namespace DoorLock {
namespace WindowCovering {
static constexpr ClusterId Id = 0x00000102;
} // namespace WindowCovering {
namespace ServiceArea {
static constexpr ClusterId Id = 0x00000150;
} // namespace ServiceArea {
namespace PumpConfigurationAndControl {
static constexpr ClusterId Id = 0x00000200;
} // namespace PumpConfigurationAndControl {
namespace Thermostat {
static constexpr ClusterId Id = 0x00000201;
} // namespace Thermostat {
namespace FanControl {
static constexpr ClusterId Id = 0x00000202;
} // namespace FanControl {
namespace ThermostatUserInterfaceConfiguration {
static constexpr ClusterId Id = 0x00000204;
} // namespace ThermostatUserInterfaceConfiguration {
namespace ColorControl {
static constexpr ClusterId Id = 0x00000300;
} // namespace ColorControl {
namespace BallastConfiguration {
static constexpr ClusterId Id = 0x00000301;
} // namespace BallastConfiguration {
namespace IlluminanceMeasurement {
static constexpr ClusterId Id = 0x00000400;
} // namespace IlluminanceMeasurement {
namespace TemperatureMeasurement {
static constexpr ClusterId Id = 0x00000402;
} // namespace TemperatureMeasurement {
namespace PressureMeasurement {
static constexpr ClusterId Id = 0x00000403;
} // namespace PressureMeasurement {
namespace FlowMeasurement {
static constexpr ClusterId Id = 0x00000404;
} // namespace FlowMeasurement {
namespace RelativeHumidityMeasurement {
static constexpr ClusterId Id = 0x00000405;
} // namespace RelativeHumidityMeasurement {
namespace OccupancySensing {
static constexpr ClusterId Id = 0x00000406;
} // namespace OccupancySensing {
namespace CarbonMonoxideConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000040C;
} // namespace CarbonMonoxideConcentrationMeasurement {
namespace CarbonDioxideConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000040D;
} // namespace CarbonDioxideConcentrationMeasurement {
namespace NitrogenDioxideConcentrationMeasurement {
static constexpr ClusterId Id = 0x00000413;
} // namespace NitrogenDioxideConcentrationMeasurement {
namespace OzoneConcentrationMeasurement {
static constexpr ClusterId Id = 0x00000415;
} // namespace OzoneConcentrationMeasurement {
namespace Pm25ConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042A;
} // namespace Pm25ConcentrationMeasurement {
namespace FormaldehydeConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042B;
} // namespace FormaldehydeConcentrationMeasurement {
namespace Pm1ConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042C;
} // namespace Pm1ConcentrationMeasurement {
namespace Pm10ConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042D;
} // namespace Pm10ConcentrationMeasurement {
namespace TotalVolatileOrganicCompoundsConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042E;
} // namespace TotalVolatileOrganicCompoundsConcentrationMeasurement {
namespace RadonConcentrationMeasurement {
static constexpr ClusterId Id = 0x0000042F;
} // namespace RadonConcentrationMeasurement {
namespace WiFiNetworkManagement {
static constexpr ClusterId Id = 0x00000451;
} // namespace WiFiNetworkManagement {
namespace ThreadBorderRouterManagement {
static constexpr ClusterId Id = 0x00000452;
} // namespace ThreadBorderRouterManagement {
namespace ThreadNetworkDirectory {
static constexpr ClusterId Id = 0x00000453;
} // namespace ThreadNetworkDirectory {
namespace WakeOnLan {
static constexpr ClusterId Id = 0x00000503;
} // namespace WakeOnLan {
namespace Channel {
static constexpr ClusterId Id = 0x00000504;
} // namespace Channel {
namespace TargetNavigator {
static constexpr ClusterId Id = 0x00000505;
} // namespace TargetNavigator {
namespace MediaPlayback {
static constexpr ClusterId Id = 0x00000506;
} // namespace MediaPlayback {
namespace MediaInput {
static constexpr ClusterId Id = 0x00000507;
} // namespace MediaInput {
namespace LowPower {
static constexpr ClusterId Id = 0x00000508;
} // namespace LowPower {
namespace KeypadInput {
static constexpr ClusterId Id = 0x00000509;
} // namespace KeypadInput {
namespace ContentLauncher {
static constexpr ClusterId Id = 0x0000050A;
} // namespace ContentLauncher {
namespace AudioOutput {
static constexpr ClusterId Id = 0x0000050B;
} // namespace AudioOutput {
namespace ApplicationLauncher {
static constexpr ClusterId Id = 0x0000050C;
} // namespace ApplicationLauncher {
namespace ApplicationBasic {
static constexpr ClusterId Id = 0x0000050D;
} // namespace ApplicationBasic {
namespace AccountLogin {
static constexpr ClusterId Id = 0x0000050E;
} // namespace AccountLogin {
namespace ContentControl {
static constexpr ClusterId Id = 0x0000050F;
} // namespace ContentControl {
namespace ContentAppObserver {
static constexpr ClusterId Id = 0x00000510;
} // namespace ContentAppObserver {
namespace WebRTCTransportProvider {
static constexpr ClusterId Id = 0x00000553;
} // namespace WebRTCTransportProvider {
namespace Chime {
static constexpr ClusterId Id = 0x00000556;
} // namespace Chime {
namespace EcosystemInformation {
static constexpr ClusterId Id = 0x00000750;
} // namespace EcosystemInformation {
namespace CommissionerControl {
static constexpr ClusterId Id = 0x00000751;
} // namespace CommissionerControl {
namespace UnitTesting {
static constexpr ClusterId Id = 0xFFF1FC05;
} // namespace UnitTesting {
namespace FaultInjection {
static constexpr ClusterId Id = 0xFFF1FC06;
} // namespace FaultInjection {
namespace SampleMei {
static constexpr ClusterId Id = 0xFFF1FC20;
} // namespace SampleMei {
} // namespace Clusters
} // namespace app
} // namespace chip

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,727 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#pragma once
#include <app/util/basic-types.h>
namespace chip {
namespace app {
namespace Clusters {
namespace AccessControl {
namespace Events {
namespace AccessControlEntryChanged {
static constexpr EventId Id = 0x00000000;
} // namespace AccessControlEntryChanged
namespace AccessControlExtensionChanged {
static constexpr EventId Id = 0x00000001;
} // namespace AccessControlExtensionChanged
namespace FabricRestrictionReviewUpdate {
static constexpr EventId Id = 0x00000002;
} // namespace FabricRestrictionReviewUpdate
} // namespace Events
} // namespace AccessControl
namespace Actions {
namespace Events {
namespace StateChanged {
static constexpr EventId Id = 0x00000000;
} // namespace StateChanged
namespace ActionFailed {
static constexpr EventId Id = 0x00000001;
} // namespace ActionFailed
} // namespace Events
} // namespace Actions
namespace BasicInformation {
namespace Events {
namespace StartUp {
static constexpr EventId Id = 0x00000000;
} // namespace StartUp
namespace ShutDown {
static constexpr EventId Id = 0x00000001;
} // namespace ShutDown
namespace Leave {
static constexpr EventId Id = 0x00000002;
} // namespace Leave
namespace ReachableChanged {
static constexpr EventId Id = 0x00000003;
} // namespace ReachableChanged
} // namespace Events
} // namespace BasicInformation
namespace OtaSoftwareUpdateRequestor {
namespace Events {
namespace StateTransition {
static constexpr EventId Id = 0x00000000;
} // namespace StateTransition
namespace VersionApplied {
static constexpr EventId Id = 0x00000001;
} // namespace VersionApplied
namespace DownloadError {
static constexpr EventId Id = 0x00000002;
} // namespace DownloadError
} // namespace Events
} // namespace OtaSoftwareUpdateRequestor
namespace PowerSource {
namespace Events {
namespace WiredFaultChange {
static constexpr EventId Id = 0x00000000;
} // namespace WiredFaultChange
namespace BatFaultChange {
static constexpr EventId Id = 0x00000001;
} // namespace BatFaultChange
namespace BatChargeFaultChange {
static constexpr EventId Id = 0x00000002;
} // namespace BatChargeFaultChange
} // namespace Events
} // namespace PowerSource
namespace GeneralDiagnostics {
namespace Events {
namespace HardwareFaultChange {
static constexpr EventId Id = 0x00000000;
} // namespace HardwareFaultChange
namespace RadioFaultChange {
static constexpr EventId Id = 0x00000001;
} // namespace RadioFaultChange
namespace NetworkFaultChange {
static constexpr EventId Id = 0x00000002;
} // namespace NetworkFaultChange
namespace BootReason {
static constexpr EventId Id = 0x00000003;
} // namespace BootReason
} // namespace Events
} // namespace GeneralDiagnostics
namespace SoftwareDiagnostics {
namespace Events {
namespace SoftwareFault {
static constexpr EventId Id = 0x00000000;
} // namespace SoftwareFault
} // namespace Events
} // namespace SoftwareDiagnostics
namespace ThreadNetworkDiagnostics {
namespace Events {
namespace ConnectionStatus {
static constexpr EventId Id = 0x00000000;
} // namespace ConnectionStatus
namespace NetworkFaultChange {
static constexpr EventId Id = 0x00000001;
} // namespace NetworkFaultChange
} // namespace Events
} // namespace ThreadNetworkDiagnostics
namespace WiFiNetworkDiagnostics {
namespace Events {
namespace Disconnection {
static constexpr EventId Id = 0x00000000;
} // namespace Disconnection
namespace AssociationFailure {
static constexpr EventId Id = 0x00000001;
} // namespace AssociationFailure
namespace ConnectionStatus {
static constexpr EventId Id = 0x00000002;
} // namespace ConnectionStatus
} // namespace Events
} // namespace WiFiNetworkDiagnostics
namespace TimeSynchronization {
namespace Events {
namespace DSTTableEmpty {
static constexpr EventId Id = 0x00000000;
} // namespace DSTTableEmpty
namespace DSTStatus {
static constexpr EventId Id = 0x00000001;
} // namespace DSTStatus
namespace TimeZoneStatus {
static constexpr EventId Id = 0x00000002;
} // namespace TimeZoneStatus
namespace TimeFailure {
static constexpr EventId Id = 0x00000003;
} // namespace TimeFailure
namespace MissingTrustedTimeSource {
static constexpr EventId Id = 0x00000004;
} // namespace MissingTrustedTimeSource
} // namespace Events
} // namespace TimeSynchronization
namespace BridgedDeviceBasicInformation {
namespace Events {
namespace StartUp {
static constexpr EventId Id = 0x00000000;
} // namespace StartUp
namespace ShutDown {
static constexpr EventId Id = 0x00000001;
} // namespace ShutDown
namespace Leave {
static constexpr EventId Id = 0x00000002;
} // namespace Leave
namespace ReachableChanged {
static constexpr EventId Id = 0x00000003;
} // namespace ReachableChanged
namespace ActiveChanged {
static constexpr EventId Id = 0x00000080;
} // namespace ActiveChanged
} // namespace Events
} // namespace BridgedDeviceBasicInformation
namespace Switch {
namespace Events {
namespace SwitchLatched {
static constexpr EventId Id = 0x00000000;
} // namespace SwitchLatched
namespace InitialPress {
static constexpr EventId Id = 0x00000001;
} // namespace InitialPress
namespace LongPress {
static constexpr EventId Id = 0x00000002;
} // namespace LongPress
namespace ShortRelease {
static constexpr EventId Id = 0x00000003;
} // namespace ShortRelease
namespace LongRelease {
static constexpr EventId Id = 0x00000004;
} // namespace LongRelease
namespace MultiPressOngoing {
static constexpr EventId Id = 0x00000005;
} // namespace MultiPressOngoing
namespace MultiPressComplete {
static constexpr EventId Id = 0x00000006;
} // namespace MultiPressComplete
} // namespace Events
} // namespace Switch
namespace BooleanState {
namespace Events {
namespace StateChange {
static constexpr EventId Id = 0x00000000;
} // namespace StateChange
} // namespace Events
} // namespace BooleanState
namespace OvenCavityOperationalState {
namespace Events {
namespace OperationalError {
static constexpr EventId Id = 0x00000000;
} // namespace OperationalError
namespace OperationCompletion {
static constexpr EventId Id = 0x00000001;
} // namespace OperationCompletion
} // namespace Events
} // namespace OvenCavityOperationalState
namespace RefrigeratorAlarm {
namespace Events {
namespace Notify {
static constexpr EventId Id = 0x00000000;
} // namespace Notify
} // namespace Events
} // namespace RefrigeratorAlarm
namespace SmokeCoAlarm {
namespace Events {
namespace SmokeAlarm {
static constexpr EventId Id = 0x00000000;
} // namespace SmokeAlarm
namespace COAlarm {
static constexpr EventId Id = 0x00000001;
} // namespace COAlarm
namespace LowBattery {
static constexpr EventId Id = 0x00000002;
} // namespace LowBattery
namespace HardwareFault {
static constexpr EventId Id = 0x00000003;
} // namespace HardwareFault
namespace EndOfService {
static constexpr EventId Id = 0x00000004;
} // namespace EndOfService
namespace SelfTestComplete {
static constexpr EventId Id = 0x00000005;
} // namespace SelfTestComplete
namespace AlarmMuted {
static constexpr EventId Id = 0x00000006;
} // namespace AlarmMuted
namespace MuteEnded {
static constexpr EventId Id = 0x00000007;
} // namespace MuteEnded
namespace InterconnectSmokeAlarm {
static constexpr EventId Id = 0x00000008;
} // namespace InterconnectSmokeAlarm
namespace InterconnectCOAlarm {
static constexpr EventId Id = 0x00000009;
} // namespace InterconnectCOAlarm
namespace AllClear {
static constexpr EventId Id = 0x0000000A;
} // namespace AllClear
} // namespace Events
} // namespace SmokeCoAlarm
namespace DishwasherAlarm {
namespace Events {
namespace Notify {
static constexpr EventId Id = 0x00000000;
} // namespace Notify
} // namespace Events
} // namespace DishwasherAlarm
namespace OperationalState {
namespace Events {
namespace OperationalError {
static constexpr EventId Id = 0x00000000;
} // namespace OperationalError
namespace OperationCompletion {
static constexpr EventId Id = 0x00000001;
} // namespace OperationCompletion
} // namespace Events
} // namespace OperationalState
namespace RvcOperationalState {
namespace Events {
namespace OperationalError {
static constexpr EventId Id = 0x00000000;
} // namespace OperationalError
namespace OperationCompletion {
static constexpr EventId Id = 0x00000001;
} // namespace OperationCompletion
} // namespace Events
} // namespace RvcOperationalState
namespace BooleanStateConfiguration {
namespace Events {
namespace AlarmsStateChanged {
static constexpr EventId Id = 0x00000000;
} // namespace AlarmsStateChanged
namespace SensorFault {
static constexpr EventId Id = 0x00000001;
} // namespace SensorFault
} // namespace Events
} // namespace BooleanStateConfiguration
namespace ValveConfigurationAndControl {
namespace Events {
namespace ValveStateChanged {
static constexpr EventId Id = 0x00000000;
} // namespace ValveStateChanged
namespace ValveFault {
static constexpr EventId Id = 0x00000001;
} // namespace ValveFault
} // namespace Events
} // namespace ValveConfigurationAndControl
namespace ElectricalPowerMeasurement {
namespace Events {
namespace MeasurementPeriodRanges {
static constexpr EventId Id = 0x00000000;
} // namespace MeasurementPeriodRanges
} // namespace Events
} // namespace ElectricalPowerMeasurement
namespace ElectricalEnergyMeasurement {
namespace Events {
namespace CumulativeEnergyMeasured {
static constexpr EventId Id = 0x00000000;
} // namespace CumulativeEnergyMeasured
namespace PeriodicEnergyMeasured {
static constexpr EventId Id = 0x00000001;
} // namespace PeriodicEnergyMeasured
} // namespace Events
} // namespace ElectricalEnergyMeasurement
namespace WaterHeaterManagement {
namespace Events {
namespace BoostStarted {
static constexpr EventId Id = 0x00000000;
} // namespace BoostStarted
namespace BoostEnded {
static constexpr EventId Id = 0x00000001;
} // namespace BoostEnded
} // namespace Events
} // namespace WaterHeaterManagement
namespace DemandResponseLoadControl {
namespace Events {
namespace LoadControlEventStatusChange {
static constexpr EventId Id = 0x00000000;
} // namespace LoadControlEventStatusChange
} // namespace Events
} // namespace DemandResponseLoadControl
namespace Messages {
namespace Events {
namespace MessageQueued {
static constexpr EventId Id = 0x00000000;
} // namespace MessageQueued
namespace MessagePresented {
static constexpr EventId Id = 0x00000001;
} // namespace MessagePresented
namespace MessageComplete {
static constexpr EventId Id = 0x00000002;
} // namespace MessageComplete
} // namespace Events
} // namespace Messages
namespace DeviceEnergyManagement {
namespace Events {
namespace PowerAdjustStart {
static constexpr EventId Id = 0x00000000;
} // namespace PowerAdjustStart
namespace PowerAdjustEnd {
static constexpr EventId Id = 0x00000001;
} // namespace PowerAdjustEnd
namespace Paused {
static constexpr EventId Id = 0x00000002;
} // namespace Paused
namespace Resumed {
static constexpr EventId Id = 0x00000003;
} // namespace Resumed
} // namespace Events
} // namespace DeviceEnergyManagement
namespace EnergyEvse {
namespace Events {
namespace EVConnected {
static constexpr EventId Id = 0x00000000;
} // namespace EVConnected
namespace EVNotDetected {
static constexpr EventId Id = 0x00000001;
} // namespace EVNotDetected
namespace EnergyTransferStarted {
static constexpr EventId Id = 0x00000002;
} // namespace EnergyTransferStarted
namespace EnergyTransferStopped {
static constexpr EventId Id = 0x00000003;
} // namespace EnergyTransferStopped
namespace Fault {
static constexpr EventId Id = 0x00000004;
} // namespace Fault
namespace Rfid {
static constexpr EventId Id = 0x00000005;
} // namespace Rfid
} // namespace Events
} // namespace EnergyEvse
namespace DoorLock {
namespace Events {
namespace DoorLockAlarm {
static constexpr EventId Id = 0x00000000;
} // namespace DoorLockAlarm
namespace DoorStateChange {
static constexpr EventId Id = 0x00000001;
} // namespace DoorStateChange
namespace LockOperation {
static constexpr EventId Id = 0x00000002;
} // namespace LockOperation
namespace LockOperationError {
static constexpr EventId Id = 0x00000003;
} // namespace LockOperationError
namespace LockUserChange {
static constexpr EventId Id = 0x00000004;
} // namespace LockUserChange
} // namespace Events
} // namespace DoorLock
namespace PumpConfigurationAndControl {
namespace Events {
namespace SupplyVoltageLow {
static constexpr EventId Id = 0x00000000;
} // namespace SupplyVoltageLow
namespace SupplyVoltageHigh {
static constexpr EventId Id = 0x00000001;
} // namespace SupplyVoltageHigh
namespace PowerMissingPhase {
static constexpr EventId Id = 0x00000002;
} // namespace PowerMissingPhase
namespace SystemPressureLow {
static constexpr EventId Id = 0x00000003;
} // namespace SystemPressureLow
namespace SystemPressureHigh {
static constexpr EventId Id = 0x00000004;
} // namespace SystemPressureHigh
namespace DryRunning {
static constexpr EventId Id = 0x00000005;
} // namespace DryRunning
namespace MotorTemperatureHigh {
static constexpr EventId Id = 0x00000006;
} // namespace MotorTemperatureHigh
namespace PumpMotorFatalFailure {
static constexpr EventId Id = 0x00000007;
} // namespace PumpMotorFatalFailure
namespace ElectronicTemperatureHigh {
static constexpr EventId Id = 0x00000008;
} // namespace ElectronicTemperatureHigh
namespace PumpBlocked {
static constexpr EventId Id = 0x00000009;
} // namespace PumpBlocked
namespace SensorFailure {
static constexpr EventId Id = 0x0000000A;
} // namespace SensorFailure
namespace ElectronicNonFatalFailure {
static constexpr EventId Id = 0x0000000B;
} // namespace ElectronicNonFatalFailure
namespace ElectronicFatalFailure {
static constexpr EventId Id = 0x0000000C;
} // namespace ElectronicFatalFailure
namespace GeneralFault {
static constexpr EventId Id = 0x0000000D;
} // namespace GeneralFault
namespace Leakage {
static constexpr EventId Id = 0x0000000E;
} // namespace Leakage
namespace AirDetection {
static constexpr EventId Id = 0x0000000F;
} // namespace AirDetection
namespace TurbineOperation {
static constexpr EventId Id = 0x00000010;
} // namespace TurbineOperation
} // namespace Events
} // namespace PumpConfigurationAndControl
namespace OccupancySensing {
namespace Events {
namespace OccupancyChanged {
static constexpr EventId Id = 0x00000000;
} // namespace OccupancyChanged
} // namespace Events
} // namespace OccupancySensing
namespace TargetNavigator {
namespace Events {
namespace TargetUpdated {
static constexpr EventId Id = 0x00000000;
} // namespace TargetUpdated
} // namespace Events
} // namespace TargetNavigator
namespace MediaPlayback {
namespace Events {
namespace StateChanged {
static constexpr EventId Id = 0x00000000;
} // namespace StateChanged
} // namespace Events
} // namespace MediaPlayback
namespace AccountLogin {
namespace Events {
namespace LoggedOut {
static constexpr EventId Id = 0x00000000;
} // namespace LoggedOut
} // namespace Events
} // namespace AccountLogin
namespace ContentControl {
namespace Events {
namespace RemainingScreenTimeExpired {
static constexpr EventId Id = 0x00000000;
} // namespace RemainingScreenTimeExpired
} // namespace Events
} // namespace ContentControl
namespace CommissionerControl {
namespace Events {
namespace CommissioningRequestResult {
static constexpr EventId Id = 0x00000000;
} // namespace CommissioningRequestResult
} // namespace Events
} // namespace CommissionerControl
namespace UnitTesting {
namespace Events {
namespace TestEvent {
static constexpr EventId Id = 0x00000001;
} // namespace TestEvent
namespace TestFabricScopedEvent {
static constexpr EventId Id = 0x00000002;
} // namespace TestFabricScopedEvent
namespace TestDifferentVendorMeiEvent {
static constexpr EventId Id = 0xFFF200EE;
} // namespace TestDifferentVendorMeiEvent
} // namespace Events
} // namespace UnitTesting
namespace SampleMei {
namespace Events {
namespace PingCountEvent {
static constexpr EventId Id = 0x00000000;
} // namespace PingCountEvent
} // namespace Events
} // namespace SampleMei
} // namespace Clusters
} // namespace app
} // namespace chip

View File

@@ -0,0 +1,44 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
#pragma once
void MatterIdentifyPluginServerInitCallback();
void MatterGroupsPluginServerInitCallback();
void MatterOnOffPluginServerInitCallback();
void MatterLevelControlPluginServerInitCallback();
void MatterDescriptorPluginServerInitCallback();
void MatterAccessControlPluginServerInitCallback();
void MatterBasicInformationPluginServerInitCallback();
void MatterOtaSoftwareUpdateRequestorPluginServerInitCallback();
void MatterLocalizationConfigurationPluginServerInitCallback();
void MatterTimeFormatLocalizationPluginServerInitCallback();
void MatterGeneralCommissioningPluginServerInitCallback();
void MatterNetworkCommissioningPluginServerInitCallback();
void MatterGeneralDiagnosticsPluginServerInitCallback();
void MatterSoftwareDiagnosticsPluginServerInitCallback();
void MatterThreadNetworkDiagnosticsPluginServerInitCallback();
void MatterWiFiNetworkDiagnosticsPluginServerInitCallback();
void MatterAdministratorCommissioningPluginServerInitCallback();
void MatterOperationalCredentialsPluginServerInitCallback();
void MatterGroupKeyManagementPluginServerInitCallback();
void MatterFixedLabelPluginServerInitCallback();
void MatterScenesManagementPluginServerInitCallback();
#define MATTER_PLUGINS_INIT MatterIdentifyPluginServerInitCallback(); MatterGroupsPluginServerInitCallback(); MatterOnOffPluginServerInitCallback(); MatterLevelControlPluginServerInitCallback(); MatterDescriptorPluginServerInitCallback(); MatterAccessControlPluginServerInitCallback(); MatterBasicInformationPluginServerInitCallback(); MatterOtaSoftwareUpdateRequestorPluginServerInitCallback(); MatterLocalizationConfigurationPluginServerInitCallback(); MatterTimeFormatLocalizationPluginServerInitCallback(); MatterGeneralCommissioningPluginServerInitCallback(); MatterNetworkCommissioningPluginServerInitCallback(); MatterGeneralDiagnosticsPluginServerInitCallback(); MatterSoftwareDiagnosticsPluginServerInitCallback(); MatterThreadNetworkDiagnosticsPluginServerInitCallback(); MatterWiFiNetworkDiagnosticsPluginServerInitCallback(); MatterAdministratorCommissioningPluginServerInitCallback(); MatterOperationalCredentialsPluginServerInitCallback(); MatterGroupKeyManagementPluginServerInitCallback(); MatterFixedLabelPluginServerInitCallback(); MatterScenesManagementPluginServerInitCallback();

View File

@@ -0,0 +1,114 @@
#include <app-common/zap-generated/callback.h>
using namespace chip;
void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfBasicInformationClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfDescriptorClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfFixedLabelClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfGeneralCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfGeneralDiagnosticsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfGroupKeyManagementClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfGroupsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfIdentifyClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfLevelControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfLocalizationConfigurationClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfNetworkCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfOtaSoftwareUpdateProviderClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfOtaSoftwareUpdateRequestorClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfOnOffClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfOperationalCredentialsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfScenesManagementClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfSoftwareDiagnosticsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfThreadNetworkDiagnosticsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfTimeFormatLocalizationClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfWiFiNetworkDiagnosticsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}

View File

@@ -0,0 +1,83 @@
#include <app-common/zap-generated/callback.h>
#include <app-common/zap-generated/ids/Clusters.h>
#include <lib/support/Span.h>
#include <protocols/interaction_model/Constants.h>
using namespace chip;
// Cluster Init Functions
void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
{
switch (clusterId)
{
case app::Clusters::AccessControl::Id:
emberAfAccessControlClusterInitCallback(endpoint);
break;
case app::Clusters::AdministratorCommissioning::Id:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
case app::Clusters::BasicInformation::Id:
emberAfBasicInformationClusterInitCallback(endpoint);
break;
case app::Clusters::Descriptor::Id:
emberAfDescriptorClusterInitCallback(endpoint);
break;
case app::Clusters::FixedLabel::Id:
emberAfFixedLabelClusterInitCallback(endpoint);
break;
case app::Clusters::GeneralCommissioning::Id:
emberAfGeneralCommissioningClusterInitCallback(endpoint);
break;
case app::Clusters::GeneralDiagnostics::Id:
emberAfGeneralDiagnosticsClusterInitCallback(endpoint);
break;
case app::Clusters::GroupKeyManagement::Id:
emberAfGroupKeyManagementClusterInitCallback(endpoint);
break;
case app::Clusters::Groups::Id:
emberAfGroupsClusterInitCallback(endpoint);
break;
case app::Clusters::Identify::Id:
emberAfIdentifyClusterInitCallback(endpoint);
break;
case app::Clusters::LevelControl::Id:
emberAfLevelControlClusterInitCallback(endpoint);
break;
case app::Clusters::LocalizationConfiguration::Id:
emberAfLocalizationConfigurationClusterInitCallback(endpoint);
break;
case app::Clusters::NetworkCommissioning::Id:
emberAfNetworkCommissioningClusterInitCallback(endpoint);
break;
case app::Clusters::OtaSoftwareUpdateProvider::Id:
emberAfOtaSoftwareUpdateProviderClusterInitCallback(endpoint);
break;
case app::Clusters::OtaSoftwareUpdateRequestor::Id:
emberAfOtaSoftwareUpdateRequestorClusterInitCallback(endpoint);
break;
case app::Clusters::OnOff::Id:
emberAfOnOffClusterInitCallback(endpoint);
break;
case app::Clusters::OperationalCredentials::Id:
emberAfOperationalCredentialsClusterInitCallback(endpoint);
break;
case app::Clusters::ScenesManagement::Id:
emberAfScenesManagementClusterInitCallback(endpoint);
break;
case app::Clusters::SoftwareDiagnostics::Id:
emberAfSoftwareDiagnosticsClusterInitCallback(endpoint);
break;
case app::Clusters::ThreadNetworkDiagnostics::Id:
emberAfThreadNetworkDiagnosticsClusterInitCallback(endpoint);
break;
case app::Clusters::TimeFormatLocalization::Id:
emberAfTimeFormatLocalizationClusterInitCallback(endpoint);
break;
case app::Clusters::WiFiNetworkDiagnostics::Id:
emberAfWiFiNetworkDiagnosticsClusterInitCallback(endpoint);
break;
default:
// Unrecognized cluster ID
break;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,897 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
#include <app/util/endpoint-config-defines.h>
// Default values for the attributes longer than a pointer,
// in a form of a binary blob
// Separate block is generated for big-endian and little-endian cases.
#if CHIP_CONFIG_BIG_ENDIAN_TARGET
#define GENERATED_DEFAULTS { \
\
/* Endpoint: 0, Cluster: Localization Configuration (server), big-endian */\
\
/* 0 - ActiveLocale, */\
5, 'e', 'n', '-', 'U', 'S', \
\
\
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */\
\
/* 6 - Breadcrumb, */\
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
\
}
#else // !CHIP_CONFIG_BIG_ENDIAN_TARGET
#define GENERATED_DEFAULTS { \
\
/* Endpoint: 0, Cluster: Localization Configuration (server), little-endian */\
\
/* 0 - ActiveLocale, */\
5, 'e', 'n', '-', 'U', 'S', \
\
\
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian */\
\
/* 6 - Breadcrumb, */\
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
}
#endif // CHIP_CONFIG_BIG_ENDIAN_TARGET
#define GENERATED_DEFAULTS_COUNT (2)
// This is an array of EmberAfAttributeMinMaxValue structures.
#define GENERATED_MIN_MAX_DEFAULT_COUNT 3
#define GENERATED_MIN_MAX_DEFAULTS { \
\
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ (uint16_t)0xFF, (uint16_t)0x0, (uint16_t)0x2 }, /* StartUpOnOff */ \
\
/* Endpoint: 1, Cluster: Level Control (server) */ \
{ (uint16_t)0x0, (uint16_t)0x0, (uint16_t)0x3 }, /* Options */ \
{ (uint16_t)0x32, (uint16_t)0x1, (uint16_t)0xFF } /* DefaultMoveRate */ \
}
// This is an array of EmberAfAttributeMetadata structures.
#define GENERATED_ATTRIBUTE_COUNT 228
#define GENERATED_ATTRIBUTES { \
\
/* Endpoint: 0, Cluster: Descriptor (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DeviceTypeList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ServerList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClientList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartsList */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FeatureMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Access Control (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ACL */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Extension */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SubjectsPerAccessControlEntry */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TargetsPerAccessControlEntry */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* AccessControlEntriesPerFabric */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Basic Information (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* DataModelRevision */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* VendorName */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(VENDOR_ID), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* VendorID */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductName */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductID */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* NodeLabel */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000006, 3, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Location */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000007, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* HardwareVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000008, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* HardwareVersionString */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SoftwareVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000A, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SoftwareVersionString */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000B, 17, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ManufacturingDate */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000C, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* PartNumber */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000D, 258, ZAP_TYPE(LONG_CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductURL */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000E, 65, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ProductLabel */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000F, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SerialNumber */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00000010, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* LocalConfigDisabled */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x00000011, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* Reachable */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000012, 33, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* UniqueID */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000013, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CapabilityMinima */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000015, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* SpecificationVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000016, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* MaxPathsPerInvoke */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(3), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(SINGLETON) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* DefaultOTAProviders */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x00000001, 1, ZAP_TYPE(BOOLEAN), 0 }, /* UpdatePossible */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00000002, 1, ZAP_TYPE(ENUM8), 0 }, /* UpdateState */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00000003, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* UpdateStateProgress */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
{ ZAP_LONG_DEFAULTS_INDEX(0), 0x00000000, 36, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ActiveLocale */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedLocales */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00000000, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* HourFormat */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ActiveCalendarType */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedCalendarTypes */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ ZAP_LONG_DEFAULTS_INDEX(6), 0x00000000, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Breadcrumb */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BasicCommissioningInfo */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RegulatoryConfig */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LocationCapability */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportsConcurrentConnection */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(INT8U), 0 }, /* MaxNetworks */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* Networks */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(INT8U), 0 }, /* ScanMaxTimeSeconds */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(INT8U), 0 }, /* ConnectMaxTimeSeconds */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* InterfaceEnabled */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastNetworkingStatus */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000006, 33, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastNetworkID */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000007, 4, ZAP_TYPE(INT32S), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LastConnectErrorValue */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000008, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedWiFiBands */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000009, 2, ZAP_TYPE(BITMAP16), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedThreadFeatures */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000A, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ThreadVersion */ \
{ ZAP_SIMPLE_DEFAULT(2), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NetworkInterfaces */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RebootCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* UpTime */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TotalOperationalHours */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BootReason */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveHardwareFaults */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000006, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveRadioFaults */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000007, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveNetworkFaults */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000008, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TestEventTriggersEnabled */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FeatureMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ThreadMetrics */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapFree */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapUsed */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentHeapHighWatermark */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Channel */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* RoutingRole */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 17, ZAP_TYPE(CHAR_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* NetworkName */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PanId */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ExtendedPanId */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 18, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* MeshLocalPrefix */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000006, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* OverrunCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000007, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NeighborTable */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000008, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RouteTable */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PartitionId */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000A, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Weighting */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000B, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* DataVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000C, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StableDataVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000D, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* LeaderRouterId */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000E, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DetachedRoleCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000F, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ChildRoleCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000010, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RouterRoleCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000011, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LeaderRoleCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000012, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* AttachAttemptCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000013, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartitionIdChangeCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000014, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* BetterPartitionAttachAttemptCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000015, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ParentChangeCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000016, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxTotalCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000017, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxUnicastCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000018, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBroadcastCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000019, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxAckRequestedCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxAckedCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001B, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxNoAckRequestedCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001C, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDataCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001D, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDataPollCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001E, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBeaconCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000001F, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxBeaconRequestCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000020, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxOtherCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000021, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxRetryCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000022, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxDirectMaxRetryExpiryCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000023, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxIndirectMaxRetryExpiryCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000024, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrCcaCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000025, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrAbortCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000026, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TxErrBusyChannelCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000027, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxTotalCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000028, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxUnicastCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000029, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBroadcastCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDataCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002B, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDataPollCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002C, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBeaconCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002D, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxBeaconRequestCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002E, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxOtherCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002F, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxAddressFilteredCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000030, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDestAddrFilteredCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000031, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxDuplicatedCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000032, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrNoFrameCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000033, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrUnknownNeighborCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000034, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrInvalidSrcAddrCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000035, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrSecCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000036, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrFcsCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000037, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* RxErrOtherCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000038, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ActiveTimestamp */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000039, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PendingTimestamp */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Delay */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003B, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SecurityPolicy */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003C, 5, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ChannelPage0Mask */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003D, 0, ZAP_TYPE(STRUCT), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OperationalDatasetComponents */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003E, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ActiveNetworkFaultsList */ \
{ ZAP_SIMPLE_DEFAULT(0x000F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(2), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Wi-Fi Network Diagnostics (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 7, ZAP_TYPE(OCTET_STRING), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BSSID */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SecurityType */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* WiFiVersion */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ChannelNumber */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 1, ZAP_TYPE(INT8S), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* RSSI */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BeaconLostCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000006, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* BeaconRxCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000007, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketMulticastRxCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000008, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketMulticastTxCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000009, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketUnicastRxCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000A, 4, ZAP_TYPE(INT32U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PacketUnicastTxCount */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000B, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CurrentMaxRate */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000000C, 8, ZAP_TYPE(INT64U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OverrunCount */ \
{ ZAP_SIMPLE_DEFAULT(3), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Administrator Commissioning (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* WindowStatus */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 1, ZAP_TYPE(FABRIC_IDX), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* AdminFabricIndex */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(VENDOR_ID), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* AdminVendorId */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* NOCs */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* Fabrics */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* SupportedFabrics */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CommissionedFabrics */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000004, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* TrustedRootCertificates */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000005, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* CurrentFabricIndex */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* GroupKeyMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* GroupTable */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* MaxGroupsPerFabric */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* MaxGroupKeysPerFabric */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FeatureMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* LabelList */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Identify (server) */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x00000000, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* IdentifyTime */ \
{ ZAP_SIMPLE_DEFAULT(0x0), 0x00000001, 1, ZAP_TYPE(ENUM8), 0 }, /* IdentifyType */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Groups (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 1, ZAP_TYPE(BITMAP8), 0 }, /* NameSupport */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(4), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ ZAP_SIMPLE_DEFAULT(0x00), 0x00000000, 1, ZAP_TYPE(BOOLEAN), ZAP_ATTRIBUTE_MASK(TOKENIZE) }, /* OnOff */ \
{ ZAP_SIMPLE_DEFAULT(0x01), 0x00004000, 1, ZAP_TYPE(BOOLEAN), 0 }, /* GlobalSceneControl */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x00004001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnTime */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x00004002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OffWaitTime */ \
{ ZAP_MIN_MAX_DEFAULTS_INDEX(0), 0x00004003, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpOnOff */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(6), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Level Control (server) */ \
{ ZAP_SIMPLE_DEFAULT(0xFE), 0x00000000, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* CurrentLevel */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x00000001, 2, ZAP_TYPE(INT16U), 0 }, /* RemainingTime */ \
{ ZAP_SIMPLE_DEFAULT(0x01), 0x00000002, 1, ZAP_TYPE(INT8U), 0 }, /* MinLevel */ \
{ ZAP_SIMPLE_DEFAULT(0xFE), 0x00000003, 1, ZAP_TYPE(INT8U), 0 }, /* MaxLevel */ \
{ ZAP_MIN_MAX_DEFAULTS_INDEX(1), 0x0000000F, 1, ZAP_TYPE(BITMAP8), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* Options */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x00000010, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnOffTransitionTime */ \
{ ZAP_SIMPLE_DEFAULT(0xFF), 0x00000011, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OnLevel */ \
{ ZAP_SIMPLE_DEFAULT(0xFFFF), 0x00000012, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OnTransitionTime */ \
{ ZAP_SIMPLE_DEFAULT(0xFFFF), 0x00000013, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* OffTransitionTime */ \
{ ZAP_MIN_MAX_DEFAULTS_INDEX(2), 0x00000014, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* DefaultMoveRate */ \
{ ZAP_SIMPLE_DEFAULT(0xFF), 0x00004000, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpCurrentLevel */ \
{ ZAP_SIMPLE_DEFAULT(3), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(5), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Descriptor (server) */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000000, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* DeviceTypeList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000001, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ServerList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClientList */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000003, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* PartsList */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FeatureMap */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000FFFD, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Scenes Management (server) */ \
{ ZAP_SIMPLE_DEFAULT(16), 0x00000001, 2, ZAP_TYPE(INT16U), 0 }, /* SceneTableSize */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000002, 0, ZAP_TYPE(ARRAY), ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) }, /* FabricSceneInfo */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(1), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
}
// clang-format off
#define GENERATED_EVENT_COUNT 0
#define GENERATED_EVENTS { \
}
// clang-format on
// Cluster function static arrays
#define GENERATED_FUNCTION_ARRAYS \
const EmberAfGenericClusterFunction chipFuncArrayLocalizationConfigurationServer[] = {\
(EmberAfGenericClusterFunction) emberAfLocalizationConfigurationClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayTimeFormatLocalizationServer[] = {\
(EmberAfGenericClusterFunction) emberAfTimeFormatLocalizationClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayIdentifyServer[] = {\
(EmberAfGenericClusterFunction) emberAfIdentifyClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterIdentifyClusterServerAttributeChangedCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayGroupsServer[] = {\
(EmberAfGenericClusterFunction) emberAfGroupsClusterServerInitCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = {\
(EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterOnOffClusterServerShutdownCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = {\
(EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterLevelControlClusterServerShutdownCallback,\
};\
const EmberAfGenericClusterFunction chipFuncArrayScenesManagementServer[] = {\
(EmberAfGenericClusterFunction) emberAfScenesManagementClusterServerInitCallback,\
(EmberAfGenericClusterFunction) MatterScenesManagementClusterServerShutdownCallback,\
};\
// clang-format off
#define GENERATED_COMMANDS { \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */\
/* AcceptedCommandList (index=0) */ \
0x00000000 /* AnnounceOTAProvider */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: General Commissioning (server) */\
/* AcceptedCommandList (index=2) */ \
0x00000000 /* ArmFailSafe */, \
0x00000002 /* SetRegulatoryConfig */, \
0x00000004 /* CommissioningComplete */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=6)*/ \
0x00000001 /* ArmFailSafeResponse */, \
0x00000003 /* SetRegulatoryConfigResponse */, \
0x00000005 /* CommissioningCompleteResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Network Commissioning (server) */\
/* AcceptedCommandList (index=10) */ \
0x00000000 /* ScanNetworks */, \
0x00000002 /* AddOrUpdateWiFiNetwork */, \
0x00000003 /* AddOrUpdateThreadNetwork */, \
0x00000004 /* RemoveNetwork */, \
0x00000006 /* ConnectNetwork */, \
0x00000008 /* ReorderNetwork */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=17)*/ \
0x00000001 /* ScanNetworksResponse */, \
0x00000005 /* NetworkConfigResponse */, \
0x00000007 /* ConnectNetworkResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: General Diagnostics (server) */\
/* AcceptedCommandList (index=21) */ \
0x00000000 /* TestEventTrigger */, \
0x00000001 /* TimeSnapshot */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=24)*/ \
0x00000002 /* TimeSnapshotResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */\
/* AcceptedCommandList (index=26) */ \
0x00000000 /* ResetWatermarks */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */\
/* AcceptedCommandList (index=28) */ \
0x00000000 /* ResetCounts */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Wi-Fi Network Diagnostics (server) */\
/* AcceptedCommandList (index=30) */ \
0x00000000 /* ResetCounts */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Administrator Commissioning (server) */\
/* AcceptedCommandList (index=32) */ \
0x00000000 /* OpenCommissioningWindow */, \
0x00000001 /* OpenBasicCommissioningWindow */, \
0x00000002 /* RevokeCommissioning */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Operational Credentials (server) */\
/* AcceptedCommandList (index=36) */ \
0x00000000 /* AttestationRequest */, \
0x00000002 /* CertificateChainRequest */, \
0x00000004 /* CSRRequest */, \
0x00000006 /* AddNOC */, \
0x00000007 /* UpdateNOC */, \
0x00000009 /* UpdateFabricLabel */, \
0x0000000A /* RemoveFabric */, \
0x0000000B /* AddTrustedRootCertificate */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=45)*/ \
0x00000001 /* AttestationResponse */, \
0x00000003 /* CertificateChainResponse */, \
0x00000005 /* CSRResponse */, \
0x00000008 /* NOCResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Group Key Management (server) */\
/* AcceptedCommandList (index=50) */ \
0x00000000 /* KeySetWrite */, \
0x00000001 /* KeySetRead */, \
0x00000003 /* KeySetRemove */, \
0x00000004 /* KeySetReadAllIndices */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=55)*/ \
0x00000002 /* KeySetReadResponse */, \
0x00000005 /* KeySetReadAllIndicesResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Identify (server) */\
/* AcceptedCommandList (index=58) */ \
0x00000000 /* Identify */, \
0x00000040 /* TriggerEffect */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Groups (server) */\
/* AcceptedCommandList (index=61) */ \
0x00000000 /* AddGroup */, \
0x00000001 /* ViewGroup */, \
0x00000002 /* GetGroupMembership */, \
0x00000003 /* RemoveGroup */, \
0x00000004 /* RemoveAllGroups */, \
0x00000005 /* AddGroupIfIdentifying */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=68)*/ \
0x00000000 /* AddGroupResponse */, \
0x00000001 /* ViewGroupResponse */, \
0x00000002 /* GetGroupMembershipResponse */, \
0x00000003 /* RemoveGroupResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: On/Off (server) */\
/* AcceptedCommandList (index=73) */ \
0x00000000 /* Off */, \
0x00000001 /* On */, \
0x00000002 /* Toggle */, \
0x00000040 /* OffWithEffect */, \
0x00000041 /* OnWithRecallGlobalScene */, \
0x00000042 /* OnWithTimedOff */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Level Control (server) */\
/* AcceptedCommandList (index=80) */ \
0x00000000 /* MoveToLevel */, \
0x00000001 /* Move */, \
0x00000002 /* Step */, \
0x00000003 /* Stop */, \
0x00000004 /* MoveToLevelWithOnOff */, \
0x00000005 /* MoveWithOnOff */, \
0x00000006 /* StepWithOnOff */, \
0x00000007 /* StopWithOnOff */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Scenes Management (server) */\
/* AcceptedCommandList (index=89) */ \
0x00000000 /* AddScene */, \
0x00000001 /* ViewScene */, \
0x00000002 /* RemoveScene */, \
0x00000003 /* RemoveAllScenes */, \
0x00000004 /* StoreScene */, \
0x00000005 /* RecallScene */, \
0x00000006 /* GetSceneMembership */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=97)*/ \
0x00000000 /* AddSceneResponse */, \
0x00000001 /* ViewSceneResponse */, \
0x00000002 /* RemoveSceneResponse */, \
0x00000003 /* RemoveAllScenesResponse */, \
0x00000004 /* StoreSceneResponse */, \
0x00000006 /* GetSceneMembershipResponse */, \
chip::kInvalidCommandId /* end of list */, \
}
// clang-format on
// This is an array of EmberAfCluster structures.
#define GENERATED_CLUSTER_COUNT 23
// clang-format off
#define GENERATED_CLUSTERS { \
{ \
/* Endpoint: 0, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
.attributes = ZAP_ATTRIBUTE_INDEX(0), \
.attributeCount = 6, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Access Control (server) */ \
.clusterId = 0x0000001F, \
.attributes = ZAP_ATTRIBUTE_INDEX(6), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Basic Information (server) */ \
.clusterId = 0x00000028, \
.attributes = ZAP_ATTRIBUTE_INDEX(13), \
.attributeCount = 24, \
.clusterSize = 41, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
.clusterId = 0x00000029, \
.attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
.clusterId = 0x0000002A, \
.attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 6, \
.clusterSize = 9, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 0 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
.attributes = ZAP_ATTRIBUTE_INDEX(43), \
.attributeCount = 4, \
.clusterSize = 42, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayLocalizationConfigurationServer, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
.attributes = ZAP_ATTRIBUTE_INDEX(47), \
.attributeCount = 5, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayTimeFormatLocalizationServer, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
.attributes = ZAP_ATTRIBUTE_INDEX(52), \
.attributeCount = 7, \
.clusterSize = 14, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 2 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 6 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
.attributes = ZAP_ATTRIBUTE_INDEX(59), \
.attributeCount = 13, \
.clusterSize = 48, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 10 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 17 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
.attributes = ZAP_ATTRIBUTE_INDEX(72), \
.attributeCount = 11, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 21 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 24 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
.attributes = ZAP_ATTRIBUTE_INDEX(83), \
.attributeCount = 6, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 26 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
.attributes = ZAP_ATTRIBUTE_INDEX(89), \
.attributeCount = 65, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 28 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Wi-Fi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
.attributes = ZAP_ATTRIBUTE_INDEX(154), \
.attributeCount = 15, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 30 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Administrator Commissioning (server) */ \
.clusterId = 0x0000003C, \
.attributes = ZAP_ATTRIBUTE_INDEX(169), \
.attributeCount = 5, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 32 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
.attributes = ZAP_ATTRIBUTE_INDEX(174), \
.attributeCount = 8, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 36 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 45 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
.clusterId = 0x0000003F, \
.attributes = ZAP_ATTRIBUTE_INDEX(182), \
.attributeCount = 6, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 50 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 55 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
.attributes = ZAP_ATTRIBUTE_INDEX(188), \
.attributeCount = 3, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
.attributes = ZAP_ATTRIBUTE_INDEX(191), \
.attributeCount = 4, \
.clusterSize = 9, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayIdentifyServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 58 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: Groups (server) */ \
.clusterId = 0x00000004, \
.attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
.functions = chipFuncArrayGroupsServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 61 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 68 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
.attributes = ZAP_ATTRIBUTE_INDEX(198), \
.attributeCount = 7, \
.clusterSize = 13, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \
.functions = chipFuncArrayOnOffServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 73 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
.attributes = ZAP_ATTRIBUTE_INDEX(205), \
.attributeCount = 13, \
.clusterSize = 21, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \
.functions = chipFuncArrayLevelControlServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 80 ), \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
.attributes = ZAP_ATTRIBUTE_INDEX(218), \
.attributeCount = 6, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr, \
.generatedCommandList = nullptr, \
.eventList = nullptr, \
.eventCount = 0, \
},\
{ \
/* Endpoint: 1, Cluster: Scenes Management (server) */ \
.clusterId = 0x00000062, \
.attributes = ZAP_ATTRIBUTE_INDEX(224), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(SHUTDOWN_FUNCTION), \
.functions = chipFuncArrayScenesManagementServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 89 ), \
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 97 ), \
.eventList = nullptr, \
.eventCount = 0, \
},\
}
// clang-format on
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES { \
{ ZAP_CLUSTER_INDEX(0), 17, 198 }, \
{ ZAP_CLUSTER_INDEX(17), 6, 58 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE,
"ATTRIBUTE_LARGEST larger than expected");
// Total size of singleton attributes
#define ATTRIBUTE_SINGLETONS_SIZE (37)
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (256)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
// Array of endpoints that are supported, the data inside
// the array is the endpoint number.
#define FIXED_ENDPOINT_ARRAY { 0x0000, 0x0001 }
// Array of profile ids
#define FIXED_PROFILE_IDS { 0x0103, 0x0103 }
// Array of device types
#define FIXED_DEVICE_TYPES {{0x00000016,1},{0x0000010B,2}}
// Array of device type offsets
#define FIXED_DEVICE_TYPE_OFFSETS { 0,1}
// Array of device type lengths
#define FIXED_DEVICE_TYPE_LENGTHS { 1,1}
// Array of endpoint types supported on each endpoint
#define FIXED_ENDPOINT_TYPES { 0, 1 }
// Array of parent endpoints for each endpoint
#define FIXED_PARENT_ENDPOINTS { kInvalidEndpointId, kInvalidEndpointId }

View File

@@ -0,0 +1,193 @@
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
// Prevent multiple inclusion
#pragma once
/**** Cluster endpoint counts ****/
#define MATTER_DM_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
#define MATTER_DM_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_BASIC_INFORMATION_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define MATTER_DM_OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_TIME_FORMAT_LOCALIZATION_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_NETWORK_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_GENERAL_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_FIXED_LABEL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define MATTER_DM_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT (1)
/**** Cluster Plugins ****/
// Use this macro to check if the server side of the Identify cluster is included
#define ZCL_USING_IDENTIFY_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_IDENTIFY_SERVER
#define MATTER_DM_PLUGIN_IDENTIFY
// Use this macro to check if the server side of the Groups cluster is included
#define ZCL_USING_GROUPS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_GROUPS_SERVER
#define MATTER_DM_PLUGIN_GROUPS
// Use this macro to check if the server side of the On/Off cluster is included
#define ZCL_USING_ON_OFF_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_ON_OFF_SERVER
#define MATTER_DM_PLUGIN_ON_OFF
// Use this macro to check if the server side of the Level Control cluster is included
#define ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_LEVEL_CONTROL_SERVER
#define MATTER_DM_PLUGIN_LEVEL_CONTROL
// User options for server plugin Level Control
#define MATTER_DM_PLUGIN_LEVEL_CONTROL_MAXIMUM_LEVEL 254
#define MATTER_DM_PLUGIN_LEVEL_CONTROL_MINIMUM_LEVEL 0
#define MATTER_DM_PLUGIN_LEVEL_CONTROL_RATE 0
// Use this macro to check if the server side of the Descriptor cluster is included
#define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_DESCRIPTOR_SERVER
#define MATTER_DM_PLUGIN_DESCRIPTOR
// Use this macro to check if the server side of the Access Control cluster is included
#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_ACCESS_CONTROL_SERVER
#define MATTER_DM_PLUGIN_ACCESS_CONTROL
// Use this macro to check if the server side of the Basic Information cluster is included
#define ZCL_USING_BASIC_INFORMATION_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_BASIC_INFORMATION_SERVER
#define MATTER_DM_PLUGIN_BASIC_INFORMATION
// Use this macro to check if the client side of the OTA Software Update Provider cluster is included
#define ZCL_USING_OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_CLIENT
#define MATTER_DM_PLUGIN_OTA_SOFTWARE_UPDATE_PROVIDER_CLIENT
// Use this macro to check if the server side of the OTA Software Update Requestor cluster is included
#define ZCL_USING_OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_OTA_SOFTWARE_UPDATE_REQUESTOR_SERVER
#define MATTER_DM_PLUGIN_OTA_SOFTWARE_UPDATE_REQUESTOR
// Use this macro to check if the server side of the Localization Configuration cluster is included
#define ZCL_USING_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_LOCALIZATION_CONFIGURATION_SERVER
#define MATTER_DM_PLUGIN_LOCALIZATION_CONFIGURATION
// Use this macro to check if the server side of the Time Format Localization cluster is included
#define ZCL_USING_TIME_FORMAT_LOCALIZATION_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_TIME_FORMAT_LOCALIZATION_SERVER
#define MATTER_DM_PLUGIN_TIME_FORMAT_LOCALIZATION
// Use this macro to check if the server side of the General Commissioning cluster is included
#define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_GENERAL_COMMISSIONING_SERVER
#define MATTER_DM_PLUGIN_GENERAL_COMMISSIONING
// Use this macro to check if the server side of the Network Commissioning cluster is included
#define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_NETWORK_COMMISSIONING_SERVER
#define MATTER_DM_PLUGIN_NETWORK_COMMISSIONING
// Use this macro to check if the server side of the General Diagnostics cluster is included
#define ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_GENERAL_DIAGNOSTICS_SERVER
#define MATTER_DM_PLUGIN_GENERAL_DIAGNOSTICS
// Use this macro to check if the server side of the Software Diagnostics cluster is included
#define ZCL_USING_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_SOFTWARE_DIAGNOSTICS_SERVER
#define MATTER_DM_PLUGIN_SOFTWARE_DIAGNOSTICS
// Use this macro to check if the server side of the Thread Network Diagnostics cluster is included
#define ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_THREAD_NETWORK_DIAGNOSTICS_SERVER
#define MATTER_DM_PLUGIN_THREAD_NETWORK_DIAGNOSTICS
// Use this macro to check if the server side of the Wi-Fi Network Diagnostics cluster is included
#define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS_SERVER
#define MATTER_DM_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS
// Use this macro to check if the server side of the Administrator Commissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
#define MATTER_DM_PLUGIN_ADMINISTRATOR_COMMISSIONING
// Use this macro to check if the server side of the Operational Credentials cluster is included
#define ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_OPERATIONAL_CREDENTIALS_SERVER
#define MATTER_DM_PLUGIN_OPERATIONAL_CREDENTIALS
// Use this macro to check if the server side of the Group Key Management cluster is included
#define ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_GROUP_KEY_MANAGEMENT_SERVER
#define MATTER_DM_PLUGIN_GROUP_KEY_MANAGEMENT
// Use this macro to check if the server side of the Fixed Label cluster is included
#define ZCL_USING_FIXED_LABEL_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_FIXED_LABEL_SERVER
#define MATTER_DM_PLUGIN_FIXED_LABEL
// Use this macro to check if the server side of the Scenes Management cluster is included
#define ZCL_USING_SCENES_CLUSTER_SERVER
#define MATTER_DM_PLUGIN_SCENES_MANAGEMENT_SERVER
#define MATTER_DM_PLUGIN_SCENES_MANAGEMENT
// User options for server plugin Scenes Management
// Cluster spec 1.4.8.7
#define SCENES_MANAGEMENT_TABLE_SIZE 16
// Scenes FeatureMap Attribute Toggle Scenes Name feature
// App cluster specs 1.4.4
#define MATTER_CLUSTER_SCENE_NAME_SUPPORT_MASK 0x0001
#define MATTER_CLUSTER_SCENE_NAME_SUPPORT (0x0000 & MATTER_CLUSTER_SCENE_NAME_SUPPORT_MASK)
// Scenes FeatureMap Table Size feature used for the SCENES_MANAGEMENT_TABLE_SIZE define
// App cluster specs 1.4.4.2
#define MATTER_CLUSTER_TABLE_SIZE_SUPPORT_MASK 0x0001
#define MATTER_CLUSTER_TABLE_SIZE_SUPPORT (0x0000 & MATTER_CLUSTER_TABLE_SIZE_SUPPORT_MASK)