blob: dfec5c89571a87e47f5b564710a42613e1aabafd [file] [log] [blame]
/*
*
* 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 <cstdint>
#include <string>
#include <type_traits>
#include <app-common/zap-generated/cluster-objects.h>
#include <commands/clusters/ClusterCommand.h>
#include <commands/clusters/ComplexArgument.h>
#include <commands/clusters/ReportCommand.h>
#include <commands/clusters/SubscriptionsCommands.h>
#include <commands/clusters/WriteAttributeCommand.h>
/*----------------------------------------------------------------------------*\
| Cluster Name | ID |
|---------------------------------------------------------------------+--------|
| Identify | 0x0003 |
| Groups | 0x0004 |
| Scenes | 0x0005 |
| OnOff | 0x0006 |
| OnOffSwitchConfiguration | 0x0007 |
| LevelControl | 0x0008 |
| BinaryInputBasic | 0x000F |
| PulseWidthModulation | 0x001C |
| Descriptor | 0x001D |
| Binding | 0x001E |
| AccessControl | 0x001F |
| BridgedActions | 0x0025 |
| Basic | 0x0028 |
| OtaSoftwareUpdateProvider | 0x0029 |
| OtaSoftwareUpdateRequestor | 0x002A |
| LocalizationConfiguration | 0x002B |
| TimeFormatLocalization | 0x002C |
| UnitLocalization | 0x002D |
| PowerSourceConfiguration | 0x002E |
| PowerSource | 0x002F |
| GeneralCommissioning | 0x0030 |
| NetworkCommissioning | 0x0031 |
| DiagnosticLogs | 0x0032 |
| GeneralDiagnostics | 0x0033 |
| SoftwareDiagnostics | 0x0034 |
| ThreadNetworkDiagnostics | 0x0035 |
| WiFiNetworkDiagnostics | 0x0036 |
| EthernetNetworkDiagnostics | 0x0037 |
| TimeSynchronization | 0x0038 |
| BridgedDeviceBasic | 0x0039 |
| Switch | 0x003B |
| AdministratorCommissioning | 0x003C |
| OperationalCredentials | 0x003E |
| GroupKeyManagement | 0x003F |
| FixedLabel | 0x0040 |
| UserLabel | 0x0041 |
| ProxyConfiguration | 0x0042 |
| ProxyDiscovery | 0x0043 |
| ProxyValid | 0x0044 |
| BooleanState | 0x0045 |
| ModeSelect | 0x0050 |
| DoorLock | 0x0101 |
| WindowCovering | 0x0102 |
| BarrierControl | 0x0103 |
| PumpConfigurationAndControl | 0x0200 |
| Thermostat | 0x0201 |
| FanControl | 0x0202 |
| ThermostatUserInterfaceConfiguration | 0x0204 |
| ColorControl | 0x0300 |
| BallastConfiguration | 0x0301 |
| IlluminanceMeasurement | 0x0400 |
| TemperatureMeasurement | 0x0402 |
| PressureMeasurement | 0x0403 |
| FlowMeasurement | 0x0404 |
| RelativeHumidityMeasurement | 0x0405 |
| OccupancySensing | 0x0406 |
| WakeOnLan | 0x0503 |
| Channel | 0x0504 |
| TargetNavigator | 0x0505 |
| MediaPlayback | 0x0506 |
| MediaInput | 0x0507 |
| LowPower | 0x0508 |
| KeypadInput | 0x0509 |
| ContentLauncher | 0x050A |
| AudioOutput | 0x050B |
| ApplicationLauncher | 0x050C |
| ApplicationBasic | 0x050D |
| AccountLogin | 0x050E |
| ElectricalMeasurement | 0x0B04 |
| TestCluster | 0xFFF1FC05|
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Identify | 0x0003 |
|------------------------------------------------------------------------------|
| Commands: | |
| * Identify | 0x00 |
| * TriggerEffect | 0x40 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * IdentifyTime | 0x0000 |
| * IdentifyType | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command Identify
*/
class IdentifyIdentify : public ClusterCommand
{
public:
IdentifyIdentify(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("identify", credsIssuerConfig)
{
AddArgument("IdentifyTime", 0, UINT16_MAX, &mRequest.identifyTime);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000003, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000003, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Identify::Commands::Identify::Type mRequest;
};
/*
* Command TriggerEffect
*/
class IdentifyTriggerEffect : public ClusterCommand
{
public:
IdentifyTriggerEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("trigger-effect", credsIssuerConfig)
{
AddArgument("EffectIdentifier", 0, UINT8_MAX, &mRequest.effectIdentifier);
AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000003, 0x00000040, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000003) command (0x00000040) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000003, 0x00000040, mRequest);
}
private:
chip::app::Clusters::Identify::Commands::TriggerEffect::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster Groups | 0x0004 |
|------------------------------------------------------------------------------|
| Commands: | |
| * AddGroup | 0x00 |
| * ViewGroup | 0x01 |
| * GetGroupMembership | 0x02 |
| * RemoveGroup | 0x03 |
| * RemoveAllGroups | 0x04 |
| * AddGroupIfIdentifying | 0x05 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * NameSupport | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command AddGroup
*/
class GroupsAddGroup : public ClusterCommand
{
public:
GroupsAddGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-group", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("GroupName", &mRequest.groupName);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::AddGroup::Type mRequest;
};
/*
* Command ViewGroup
*/
class GroupsViewGroup : public ClusterCommand
{
public:
GroupsViewGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-group", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000001, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::ViewGroup::Type mRequest;
};
/*
* Command GetGroupMembership
*/
class GroupsGetGroupMembership : public ClusterCommand
{
public:
GroupsGetGroupMembership(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-group-membership", credsIssuerConfig), mComplex_GroupList(&mRequest.groupList)
{
AddArgument("GroupList", &mComplex_GroupList);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000002, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::GetGroupMembership::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::GroupId>> mComplex_GroupList;
};
/*
* Command RemoveGroup
*/
class GroupsRemoveGroup : public ClusterCommand
{
public:
GroupsRemoveGroup(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-group", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000003, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::RemoveGroup::Type mRequest;
};
/*
* Command RemoveAllGroups
*/
class GroupsRemoveAllGroups : public ClusterCommand
{
public:
GroupsRemoveAllGroups(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-groups", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000004, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::RemoveAllGroups::Type mRequest;
};
/*
* Command AddGroupIfIdentifying
*/
class GroupsAddGroupIfIdentifying : public ClusterCommand
{
public:
GroupsAddGroupIfIdentifying(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("add-group-if-identifying", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("GroupName", &mRequest.groupName);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000004, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000004) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000004, 0x00000005, mRequest);
}
private:
chip::app::Clusters::Groups::Commands::AddGroupIfIdentifying::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster Scenes | 0x0005 |
|------------------------------------------------------------------------------|
| Commands: | |
| * AddScene | 0x00 |
| * ViewScene | 0x01 |
| * RemoveScene | 0x02 |
| * RemoveAllScenes | 0x03 |
| * StoreScene | 0x04 |
| * RecallScene | 0x05 |
| * GetSceneMembership | 0x06 |
| * EnhancedAddScene | 0x40 |
| * EnhancedViewScene | 0x41 |
| * CopyScene | 0x42 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * SceneCount | 0x0000 |
| * CurrentScene | 0x0001 |
| * CurrentGroup | 0x0002 |
| * SceneValid | 0x0003 |
| * NameSupport | 0x0004 |
| * LastConfiguredBy | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command AddScene
*/
class ScenesAddScene : public ClusterCommand
{
public:
ScenesAddScene(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("add-scene", credsIssuerConfig), mComplex_ExtensionFieldSets(&mRequest.extensionFieldSets)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("SceneName", &mRequest.sceneName);
AddArgument("ExtensionFieldSets", &mComplex_ExtensionFieldSets);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::AddScene::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::Type>>
mComplex_ExtensionFieldSets;
};
/*
* Command ViewScene
*/
class ScenesViewScene : public ClusterCommand
{
public:
ScenesViewScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("view-scene", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000001, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::ViewScene::Type mRequest;
};
/*
* Command RemoveScene
*/
class ScenesRemoveScene : public ClusterCommand
{
public:
ScenesRemoveScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-scene", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000002, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::RemoveScene::Type mRequest;
};
/*
* Command RemoveAllScenes
*/
class ScenesRemoveAllScenes : public ClusterCommand
{
public:
ScenesRemoveAllScenes(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("remove-all-scenes", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000003, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::RemoveAllScenes::Type mRequest;
};
/*
* Command StoreScene
*/
class ScenesStoreScene : public ClusterCommand
{
public:
ScenesStoreScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("store-scene", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000004, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::StoreScene::Type mRequest;
};
/*
* Command RecallScene
*/
class ScenesRecallScene : public ClusterCommand
{
public:
ScenesRecallScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("recall-scene", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000005, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::RecallScene::Type mRequest;
};
/*
* Command GetSceneMembership
*/
class ScenesGetSceneMembership : public ClusterCommand
{
public:
ScenesGetSceneMembership(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-scene-membership", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000006, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::GetSceneMembership::Type mRequest;
};
/*
* Command EnhancedAddScene
*/
class ScenesEnhancedAddScene : public ClusterCommand
{
public:
ScenesEnhancedAddScene(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enhanced-add-scene", credsIssuerConfig), mComplex_ExtensionFieldSets(&mRequest.extensionFieldSets)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("SceneName", &mRequest.sceneName);
AddArgument("ExtensionFieldSets", &mComplex_ExtensionFieldSets);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000040) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000040, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000040) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000040, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::EnhancedAddScene::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::Type>>
mComplex_ExtensionFieldSets;
};
/*
* Command EnhancedViewScene
*/
class ScenesEnhancedViewScene : public ClusterCommand
{
public:
ScenesEnhancedViewScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enhanced-view-scene", credsIssuerConfig)
{
AddArgument("GroupId", 0, UINT16_MAX, &mRequest.groupId);
AddArgument("SceneId", 0, UINT8_MAX, &mRequest.sceneId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000041) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000041, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000041) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000041, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::EnhancedViewScene::Type mRequest;
};
/*
* Command CopyScene
*/
class ScenesCopyScene : public ClusterCommand
{
public:
ScenesCopyScene(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("copy-scene", credsIssuerConfig)
{
AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode);
AddArgument("GroupIdFrom", 0, UINT16_MAX, &mRequest.groupIdFrom);
AddArgument("SceneIdFrom", 0, UINT8_MAX, &mRequest.sceneIdFrom);
AddArgument("GroupIdTo", 0, UINT16_MAX, &mRequest.groupIdTo);
AddArgument("SceneIdTo", 0, UINT8_MAX, &mRequest.sceneIdTo);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000042) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000005, 0x00000042, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000005) command (0x00000042) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000005, 0x00000042, mRequest);
}
private:
chip::app::Clusters::Scenes::Commands::CopyScene::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster OnOff | 0x0006 |
|------------------------------------------------------------------------------|
| Commands: | |
| * Off | 0x00 |
| * On | 0x01 |
| * Toggle | 0x02 |
| * OffWithEffect | 0x40 |
| * OnWithRecallGlobalScene | 0x41 |
| * OnWithTimedOff | 0x42 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * OnOff | 0x0000 |
| * GlobalSceneControl | 0x4000 |
| * OnTime | 0x4001 |
| * OffWaitTime | 0x4002 |
| * StartUpOnOff | 0x4003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command Off
*/
class OnOffOff : public ClusterCommand
{
public:
OnOffOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000000, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::Off::Type mRequest;
};
/*
* Command On
*/
class OnOffOn : public ClusterCommand
{
public:
OnOffOn(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000001, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::On::Type mRequest;
};
/*
* Command Toggle
*/
class OnOffToggle : public ClusterCommand
{
public:
OnOffToggle(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("toggle", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000002, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::Toggle::Type mRequest;
};
/*
* Command OffWithEffect
*/
class OnOffOffWithEffect : public ClusterCommand
{
public:
OnOffOffWithEffect(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("off-with-effect", credsIssuerConfig)
{
AddArgument("EffectId", 0, UINT8_MAX, &mRequest.effectId);
AddArgument("EffectVariant", 0, UINT8_MAX, &mRequest.effectVariant);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000040) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000040, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000040) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000040, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::OffWithEffect::Type mRequest;
};
/*
* Command OnWithRecallGlobalScene
*/
class OnOffOnWithRecallGlobalScene : public ClusterCommand
{
public:
OnOffOnWithRecallGlobalScene(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("on-with-recall-global-scene", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000041) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000041, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000041) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000041, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::OnWithRecallGlobalScene::Type mRequest;
};
/*
* Command OnWithTimedOff
*/
class OnOffOnWithTimedOff : public ClusterCommand
{
public:
OnOffOnWithTimedOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("on-with-timed-off", credsIssuerConfig)
{
AddArgument("OnOffControl", 0, UINT8_MAX, &mRequest.onOffControl);
AddArgument("OnTime", 0, UINT16_MAX, &mRequest.onTime);
AddArgument("OffWaitTime", 0, UINT16_MAX, &mRequest.offWaitTime);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000042) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000006, 0x00000042, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000006) command (0x00000042) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000006, 0x00000042, mRequest);
}
private:
chip::app::Clusters::OnOff::Commands::OnWithTimedOff::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster OnOffSwitchConfiguration | 0x0007 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * SwitchType | 0x0000 |
| * SwitchActions | 0x0010 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster LevelControl | 0x0008 |
|------------------------------------------------------------------------------|
| Commands: | |
| * MoveToLevel | 0x00 |
| * Move | 0x01 |
| * Step | 0x02 |
| * Stop | 0x03 |
| * MoveToLevelWithOnOff | 0x04 |
| * MoveWithOnOff | 0x05 |
| * StepWithOnOff | 0x06 |
| * StopWithOnOff | 0x07 |
| * MoveToClosestFrequency | 0x08 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * CurrentLevel | 0x0000 |
| * RemainingTime | 0x0001 |
| * MinLevel | 0x0002 |
| * MaxLevel | 0x0003 |
| * CurrentFrequency | 0x0004 |
| * MinFrequency | 0x0005 |
| * MaxFrequency | 0x0006 |
| * Options | 0x000F |
| * OnOffTransitionTime | 0x0010 |
| * OnLevel | 0x0011 |
| * OnTransitionTime | 0x0012 |
| * OffTransitionTime | 0x0013 |
| * DefaultMoveRate | 0x0014 |
| * StartUpCurrentLevel | 0x4000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command MoveToLevel
*/
class LevelControlMoveToLevel : public ClusterCommand
{
public:
LevelControlMoveToLevel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-level", credsIssuerConfig)
{
AddArgument("Level", 0, UINT8_MAX, &mRequest.level);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000000, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type mRequest;
};
/*
* Command Move
*/
class LevelControlMove : public ClusterCommand
{
public:
LevelControlMove(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000001, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::Move::Type mRequest;
};
/*
* Command Step
*/
class LevelControlStep : public ClusterCommand
{
public:
LevelControlStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000002, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::Step::Type mRequest;
};
/*
* Command Stop
*/
class LevelControlStop : public ClusterCommand
{
public:
LevelControlStop(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop", credsIssuerConfig)
{
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000003, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::Stop::Type mRequest;
};
/*
* Command MoveToLevelWithOnOff
*/
class LevelControlMoveToLevelWithOnOff : public ClusterCommand
{
public:
LevelControlMoveToLevelWithOnOff(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-to-level-with-on-off", credsIssuerConfig)
{
AddArgument("Level", 0, UINT8_MAX, &mRequest.level);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000004, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::MoveToLevelWithOnOff::Type mRequest;
};
/*
* Command MoveWithOnOff
*/
class LevelControlMoveWithOnOff : public ClusterCommand
{
public:
LevelControlMoveWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-with-on-off", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000005, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::MoveWithOnOff::Type mRequest;
};
/*
* Command StepWithOnOff
*/
class LevelControlStepWithOnOff : public ClusterCommand
{
public:
LevelControlStepWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-with-on-off", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000006, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::StepWithOnOff::Type mRequest;
};
/*
* Command StopWithOnOff
*/
class LevelControlStopWithOnOff : public ClusterCommand
{
public:
LevelControlStopWithOnOff(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-with-on-off", credsIssuerConfig)
{
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000007, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::StopWithOnOff::Type mRequest;
};
/*
* Command MoveToClosestFrequency
*/
class LevelControlMoveToClosestFrequency : public ClusterCommand
{
public:
LevelControlMoveToClosestFrequency(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-to-closest-frequency", credsIssuerConfig)
{
AddArgument("Frequency", 0, UINT16_MAX, &mRequest.frequency);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000008, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000008) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000008, 0x00000008, mRequest);
}
private:
chip::app::Clusters::LevelControl::Commands::MoveToClosestFrequency::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster BinaryInputBasic | 0x000F |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * ActiveText | 0x0004 |
| * Description | 0x001C |
| * InactiveText | 0x002E |
| * OutOfService | 0x0051 |
| * Polarity | 0x0054 |
| * PresentValue | 0x0055 |
| * Reliability | 0x0067 |
| * StatusFlags | 0x006F |
| * ApplicationType | 0x0100 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster PulseWidthModulation | 0x001C |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Descriptor | 0x001D |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * DeviceList | 0x0000 |
| * ServerList | 0x0001 |
| * ClientList | 0x0002 |
| * PartsList | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Binding | 0x001E |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Binding | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster AccessControl | 0x001F |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Acl | 0x0000 |
| * Extension | 0x0001 |
| * SubjectsPerAccessControlEntry | 0x0002 |
| * TargetsPerAccessControlEntry | 0x0003 |
| * AccessControlEntriesPerFabric | 0x0004 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * AccessControlEntryChanged | 0x0000 |
| * AccessControlExtensionChanged | 0x0001 |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster BridgedActions | 0x0025 |
|------------------------------------------------------------------------------|
| Commands: | |
| * InstantAction | 0x00 |
| * InstantActionWithTransition | 0x01 |
| * StartAction | 0x02 |
| * StartActionWithDuration | 0x03 |
| * StopAction | 0x04 |
| * PauseAction | 0x05 |
| * PauseActionWithDuration | 0x06 |
| * ResumeAction | 0x07 |
| * EnableAction | 0x08 |
| * EnableActionWithDuration | 0x09 |
| * DisableAction | 0x0A |
| * DisableActionWithDuration | 0x0B |
|------------------------------------------------------------------------------|
| Attributes: | |
| * ActionList | 0x0000 |
| * EndpointList | 0x0001 |
| * SetupUrl | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * StateChanged | 0x0000 |
| * ActionFailed | 0x0001 |
\*----------------------------------------------------------------------------*/
/*
* Command InstantAction
*/
class BridgedActionsInstantAction : public ClusterCommand
{
public:
BridgedActionsInstantAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("instant-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000000, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::InstantAction::Type mRequest;
};
/*
* Command InstantActionWithTransition
*/
class BridgedActionsInstantActionWithTransition : public ClusterCommand
{
public:
BridgedActionsInstantActionWithTransition(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("instant-action-with-transition", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000001, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::InstantActionWithTransition::Type mRequest;
};
/*
* Command StartAction
*/
class BridgedActionsStartAction : public ClusterCommand
{
public:
BridgedActionsStartAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000002, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::StartAction::Type mRequest;
};
/*
* Command StartActionWithDuration
*/
class BridgedActionsStartActionWithDuration : public ClusterCommand
{
public:
BridgedActionsStartActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("start-action-with-duration", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000003, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::StartActionWithDuration::Type mRequest;
};
/*
* Command StopAction
*/
class BridgedActionsStopAction : public ClusterCommand
{
public:
BridgedActionsStopAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000004, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::StopAction::Type mRequest;
};
/*
* Command PauseAction
*/
class BridgedActionsPauseAction : public ClusterCommand
{
public:
BridgedActionsPauseAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000005, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::PauseAction::Type mRequest;
};
/*
* Command PauseActionWithDuration
*/
class BridgedActionsPauseActionWithDuration : public ClusterCommand
{
public:
BridgedActionsPauseActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("pause-action-with-duration", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000006, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::PauseActionWithDuration::Type mRequest;
};
/*
* Command ResumeAction
*/
class BridgedActionsResumeAction : public ClusterCommand
{
public:
BridgedActionsResumeAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("resume-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000007, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::ResumeAction::Type mRequest;
};
/*
* Command EnableAction
*/
class BridgedActionsEnableAction : public ClusterCommand
{
public:
BridgedActionsEnableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("enable-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000008, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::EnableAction::Type mRequest;
};
/*
* Command EnableActionWithDuration
*/
class BridgedActionsEnableActionWithDuration : public ClusterCommand
{
public:
BridgedActionsEnableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enable-action-with-duration", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x00000009, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x00000009) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x00000009, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::EnableActionWithDuration::Type mRequest;
};
/*
* Command DisableAction
*/
class BridgedActionsDisableAction : public ClusterCommand
{
public:
BridgedActionsDisableAction(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("disable-action", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000A, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000A) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000A, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::DisableAction::Type mRequest;
};
/*
* Command DisableActionWithDuration
*/
class BridgedActionsDisableActionWithDuration : public ClusterCommand
{
public:
BridgedActionsDisableActionWithDuration(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("disable-action-with-duration", credsIssuerConfig)
{
AddArgument("ActionID", 0, UINT16_MAX, &mRequest.actionID);
AddArgument("InvokeID", 0, UINT32_MAX, &mRequest.invokeID);
AddArgument("Duration", 0, UINT32_MAX, &mRequest.duration);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000025, 0x0000000B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000025) command (0x0000000B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000025, 0x0000000B, mRequest);
}
private:
chip::app::Clusters::BridgedActions::Commands::DisableActionWithDuration::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster Basic | 0x0028 |
|------------------------------------------------------------------------------|
| Commands: | |
| * MfgSpecificPing | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * DataModelRevision | 0x0000 |
| * VendorName | 0x0001 |
| * VendorID | 0x0002 |
| * ProductName | 0x0003 |
| * ProductID | 0x0004 |
| * NodeLabel | 0x0005 |
| * Location | 0x0006 |
| * HardwareVersion | 0x0007 |
| * HardwareVersionString | 0x0008 |
| * SoftwareVersion | 0x0009 |
| * SoftwareVersionString | 0x000A |
| * ManufacturingDate | 0x000B |
| * PartNumber | 0x000C |
| * ProductURL | 0x000D |
| * ProductLabel | 0x000E |
| * SerialNumber | 0x000F |
| * LocalConfigDisabled | 0x0010 |
| * Reachable | 0x0011 |
| * UniqueID | 0x0012 |
| * CapabilityMinima | 0x0013 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * StartUp | 0x0000 |
| * ShutDown | 0x0001 |
| * Leave | 0x0002 |
| * ReachableChanged | 0x0003 |
\*----------------------------------------------------------------------------*/
/*
* Command MfgSpecificPing
*/
class BasicMfgSpecificPing : public ClusterCommand
{
public:
BasicMfgSpecificPing(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("mfg-specific-ping", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000028, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000028) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000028, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Basic::Commands::MfgSpecificPing::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster OtaSoftwareUpdateProvider | 0x0029 |
|------------------------------------------------------------------------------|
| Commands: | |
| * QueryImage | 0x00 |
| * ApplyUpdateRequest | 0x02 |
| * NotifyUpdateApplied | 0x04 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command QueryImage
*/
class OtaSoftwareUpdateProviderQueryImage : public ClusterCommand
{
public:
OtaSoftwareUpdateProviderQueryImage(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("query-image", credsIssuerConfig), mComplex_ProtocolsSupported(&mRequest.protocolsSupported)
{
AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId);
AddArgument("ProductId", 0, UINT16_MAX, &mRequest.productId);
AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion);
AddArgument("ProtocolsSupported", &mComplex_ProtocolsSupported);
AddArgument("HardwareVersion", 0, UINT16_MAX, &mRequest.hardwareVersion);
AddArgument("Location", &mRequest.location);
AddArgument("RequestorCanConsent", 0, 1, &mRequest.requestorCanConsent);
AddArgument("MetadataForProvider", &mRequest.metadataForProvider);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000000, mRequest);
}
private:
chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::QueryImage::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::OtaSoftwareUpdateProvider::OTADownloadProtocol>>
mComplex_ProtocolsSupported;
};
/*
* Command ApplyUpdateRequest
*/
class OtaSoftwareUpdateProviderApplyUpdateRequest : public ClusterCommand
{
public:
OtaSoftwareUpdateProviderApplyUpdateRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("apply-update-request", credsIssuerConfig)
{
AddArgument("UpdateToken", &mRequest.updateToken);
AddArgument("NewVersion", 0, UINT32_MAX, &mRequest.newVersion);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000002, mRequest);
}
private:
chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::ApplyUpdateRequest::Type mRequest;
};
/*
* Command NotifyUpdateApplied
*/
class OtaSoftwareUpdateProviderNotifyUpdateApplied : public ClusterCommand
{
public:
OtaSoftwareUpdateProviderNotifyUpdateApplied(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("notify-update-applied", credsIssuerConfig)
{
AddArgument("UpdateToken", &mRequest.updateToken);
AddArgument("SoftwareVersion", 0, UINT32_MAX, &mRequest.softwareVersion);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000029, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000029) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000029, 0x00000004, mRequest);
}
private:
chip::app::Clusters::OtaSoftwareUpdateProvider::Commands::NotifyUpdateApplied::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster OtaSoftwareUpdateRequestor | 0x002A |
|------------------------------------------------------------------------------|
| Commands: | |
| * AnnounceOtaProvider | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * DefaultOtaProviders | 0x0000 |
| * UpdatePossible | 0x0001 |
| * UpdateState | 0x0002 |
| * UpdateStateProgress | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * StateTransition | 0x0000 |
| * VersionApplied | 0x0001 |
| * DownloadError | 0x0002 |
\*----------------------------------------------------------------------------*/
/*
* Command AnnounceOtaProvider
*/
class OtaSoftwareUpdateRequestorAnnounceOtaProvider : public ClusterCommand
{
public:
OtaSoftwareUpdateRequestorAnnounceOtaProvider(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("announce-ota-provider", credsIssuerConfig)
{
AddArgument("ProviderNodeId", 0, UINT64_MAX, &mRequest.providerNodeId);
AddArgument("VendorId", 0, UINT16_MAX, &mRequest.vendorId);
AddArgument("AnnouncementReason", 0, UINT8_MAX, &mRequest.announcementReason);
AddArgument("MetadataForNode", &mRequest.metadataForNode);
AddArgument("Endpoint", 0, UINT16_MAX, &mRequest.endpoint);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000002A, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000002A) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000002A, 0x00000000, mRequest);
}
private:
chip::app::Clusters::OtaSoftwareUpdateRequestor::Commands::AnnounceOtaProvider::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster LocalizationConfiguration | 0x002B |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * ActiveLocale | 0x0000 |
| * SupportedLocales | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster TimeFormatLocalization | 0x002C |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * HourFormat | 0x0000 |
| * ActiveCalendarType | 0x0001 |
| * SupportedCalendarTypes | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster UnitLocalization | 0x002D |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * TemperatureUnit | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster PowerSourceConfiguration | 0x002E |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Sources | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster PowerSource | 0x002F |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Status | 0x0000 |
| * Order | 0x0001 |
| * Description | 0x0002 |
| * WiredAssessedInputVoltage | 0x0003 |
| * WiredAssessedInputFrequency | 0x0004 |
| * WiredCurrentType | 0x0005 |
| * WiredAssessedCurrent | 0x0006 |
| * WiredNominalVoltage | 0x0007 |
| * WiredMaximumCurrent | 0x0008 |
| * WiredPresent | 0x0009 |
| * ActiveWiredFaults | 0x000A |
| * BatVoltage | 0x000B |
| * BatPercentRemaining | 0x000C |
| * BatTimeRemaining | 0x000D |
| * BatChargeLevel | 0x000E |
| * BatReplacementNeeded | 0x000F |
| * BatReplaceability | 0x0010 |
| * BatPresent | 0x0011 |
| * ActiveBatFaults | 0x0012 |
| * BatReplacementDescription | 0x0013 |
| * BatCommonDesignation | 0x0014 |
| * BatANSIDesignation | 0x0015 |
| * BatIECDesignation | 0x0016 |
| * BatApprovedChemistry | 0x0017 |
| * BatCapacity | 0x0018 |
| * BatQuantity | 0x0019 |
| * BatChargeState | 0x001A |
| * BatTimeToFullCharge | 0x001B |
| * BatFunctionalWhileCharging | 0x001C |
| * BatChargingCurrent | 0x001D |
| * ActiveBatChargeFaults | 0x001E |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster GeneralCommissioning | 0x0030 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ArmFailSafe | 0x00 |
| * SetRegulatoryConfig | 0x02 |
| * CommissioningComplete | 0x04 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Breadcrumb | 0x0000 |
| * BasicCommissioningInfo | 0x0001 |
| * RegulatoryConfig | 0x0002 |
| * LocationCapability | 0x0003 |
| * SupportsConcurrentConnection | 0x0004 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command ArmFailSafe
*/
class GeneralCommissioningArmFailSafe : public ClusterCommand
{
public:
GeneralCommissioningArmFailSafe(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("arm-fail-safe", credsIssuerConfig)
{
AddArgument("ExpiryLengthSeconds", 0, UINT16_MAX, &mRequest.expiryLengthSeconds);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000000, mRequest);
}
private:
chip::app::Clusters::GeneralCommissioning::Commands::ArmFailSafe::Type mRequest;
};
/*
* Command SetRegulatoryConfig
*/
class GeneralCommissioningSetRegulatoryConfig : public ClusterCommand
{
public:
GeneralCommissioningSetRegulatoryConfig(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-regulatory-config", credsIssuerConfig)
{
AddArgument("NewRegulatoryConfig", 0, UINT8_MAX, &mRequest.newRegulatoryConfig);
AddArgument("CountryCode", &mRequest.countryCode);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000002, mRequest);
}
private:
chip::app::Clusters::GeneralCommissioning::Commands::SetRegulatoryConfig::Type mRequest;
};
/*
* Command CommissioningComplete
*/
class GeneralCommissioningCommissioningComplete : public ClusterCommand
{
public:
GeneralCommissioningCommissioningComplete(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("commissioning-complete", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000030, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000030) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000030, 0x00000004, mRequest);
}
private:
chip::app::Clusters::GeneralCommissioning::Commands::CommissioningComplete::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster NetworkCommissioning | 0x0031 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ScanNetworks | 0x00 |
| * AddOrUpdateWiFiNetwork | 0x02 |
| * AddOrUpdateThreadNetwork | 0x03 |
| * RemoveNetwork | 0x04 |
| * ConnectNetwork | 0x06 |
| * ReorderNetwork | 0x08 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MaxNetworks | 0x0000 |
| * Networks | 0x0001 |
| * ScanMaxTimeSeconds | 0x0002 |
| * ConnectMaxTimeSeconds | 0x0003 |
| * InterfaceEnabled | 0x0004 |
| * LastNetworkingStatus | 0x0005 |
| * LastNetworkID | 0x0006 |
| * LastConnectErrorValue | 0x0007 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command ScanNetworks
*/
class NetworkCommissioningScanNetworks : public ClusterCommand
{
public:
NetworkCommissioningScanNetworks(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("scan-networks", credsIssuerConfig)
{
AddArgument("Ssid", &mRequest.ssid);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000000, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::ScanNetworks::Type mRequest;
};
/*
* Command AddOrUpdateWiFiNetwork
*/
class NetworkCommissioningAddOrUpdateWiFiNetwork : public ClusterCommand
{
public:
NetworkCommissioningAddOrUpdateWiFiNetwork(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("add-or-update-wi-fi-network", credsIssuerConfig)
{
AddArgument("Ssid", &mRequest.ssid);
AddArgument("Credentials", &mRequest.credentials);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000002, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateWiFiNetwork::Type mRequest;
};
/*
* Command AddOrUpdateThreadNetwork
*/
class NetworkCommissioningAddOrUpdateThreadNetwork : public ClusterCommand
{
public:
NetworkCommissioningAddOrUpdateThreadNetwork(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("add-or-update-thread-network", credsIssuerConfig)
{
AddArgument("OperationalDataset", &mRequest.operationalDataset);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000003, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::AddOrUpdateThreadNetwork::Type mRequest;
};
/*
* Command RemoveNetwork
*/
class NetworkCommissioningRemoveNetwork : public ClusterCommand
{
public:
NetworkCommissioningRemoveNetwork(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("remove-network", credsIssuerConfig)
{
AddArgument("NetworkID", &mRequest.networkID);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000004, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::RemoveNetwork::Type mRequest;
};
/*
* Command ConnectNetwork
*/
class NetworkCommissioningConnectNetwork : public ClusterCommand
{
public:
NetworkCommissioningConnectNetwork(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("connect-network", credsIssuerConfig)
{
AddArgument("NetworkID", &mRequest.networkID);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000006, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::ConnectNetwork::Type mRequest;
};
/*
* Command ReorderNetwork
*/
class NetworkCommissioningReorderNetwork : public ClusterCommand
{
public:
NetworkCommissioningReorderNetwork(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("reorder-network", credsIssuerConfig)
{
AddArgument("NetworkID", &mRequest.networkID);
AddArgument("NetworkIndex", 0, UINT8_MAX, &mRequest.networkIndex);
AddArgument("Breadcrumb", 0, UINT64_MAX, &mRequest.breadcrumb);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000031, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000031) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000031, 0x00000008, mRequest);
}
private:
chip::app::Clusters::NetworkCommissioning::Commands::ReorderNetwork::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster DiagnosticLogs | 0x0032 |
|------------------------------------------------------------------------------|
| Commands: | |
| * RetrieveLogsRequest | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command RetrieveLogsRequest
*/
class DiagnosticLogsRetrieveLogsRequest : public ClusterCommand
{
public:
DiagnosticLogsRetrieveLogsRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("retrieve-logs-request", credsIssuerConfig)
{
AddArgument("Intent", 0, UINT8_MAX, &mRequest.intent);
AddArgument("RequestedProtocol", 0, UINT8_MAX, &mRequest.requestedProtocol);
AddArgument("TransferFileDesignator", &mRequest.transferFileDesignator);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000032, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000032) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000032, 0x00000000, mRequest);
}
private:
chip::app::Clusters::DiagnosticLogs::Commands::RetrieveLogsRequest::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster GeneralDiagnostics | 0x0033 |
|------------------------------------------------------------------------------|
| Commands: | |
| * TestEventTrigger | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * NetworkInterfaces | 0x0000 |
| * RebootCount | 0x0001 |
| * UpTime | 0x0002 |
| * TotalOperationalHours | 0x0003 |
| * BootReasons | 0x0004 |
| * ActiveHardwareFaults | 0x0005 |
| * ActiveRadioFaults | 0x0006 |
| * ActiveNetworkFaults | 0x0007 |
| * TestEventTriggersEnabled | 0x0008 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * HardwareFaultChange | 0x0000 |
| * RadioFaultChange | 0x0001 |
| * NetworkFaultChange | 0x0002 |
| * BootReason | 0x0003 |
\*----------------------------------------------------------------------------*/
/*
* Command TestEventTrigger
*/
class GeneralDiagnosticsTestEventTrigger : public ClusterCommand
{
public:
GeneralDiagnosticsTestEventTrigger(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-event-trigger", credsIssuerConfig)
{
AddArgument("EnableKey", &mRequest.enableKey);
AddArgument("EventTrigger", 0, UINT64_MAX, &mRequest.eventTrigger);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000033, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000033) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000033, 0x00000000, mRequest);
}
private:
chip::app::Clusters::GeneralDiagnostics::Commands::TestEventTrigger::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster SoftwareDiagnostics | 0x0034 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ResetWatermarks | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * ThreadMetrics | 0x0000 |
| * CurrentHeapFree | 0x0001 |
| * CurrentHeapUsed | 0x0002 |
| * CurrentHeapHighWatermark | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * SoftwareFault | 0x0000 |
\*----------------------------------------------------------------------------*/
/*
* Command ResetWatermarks
*/
class SoftwareDiagnosticsResetWatermarks : public ClusterCommand
{
public:
SoftwareDiagnosticsResetWatermarks(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("reset-watermarks", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000034, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000034) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000034, 0x00000000, mRequest);
}
private:
chip::app::Clusters::SoftwareDiagnostics::Commands::ResetWatermarks::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster ThreadNetworkDiagnostics | 0x0035 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ResetCounts | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Channel | 0x0000 |
| * RoutingRole | 0x0001 |
| * NetworkName | 0x0002 |
| * PanId | 0x0003 |
| * ExtendedPanId | 0x0004 |
| * MeshLocalPrefix | 0x0005 |
| * OverrunCount | 0x0006 |
| * NeighborTableList | 0x0007 |
| * RouteTableList | 0x0008 |
| * PartitionId | 0x0009 |
| * Weighting | 0x000A |
| * DataVersion | 0x000B |
| * StableDataVersion | 0x000C |
| * LeaderRouterId | 0x000D |
| * DetachedRoleCount | 0x000E |
| * ChildRoleCount | 0x000F |
| * RouterRoleCount | 0x0010 |
| * LeaderRoleCount | 0x0011 |
| * AttachAttemptCount | 0x0012 |
| * PartitionIdChangeCount | 0x0013 |
| * BetterPartitionAttachAttemptCount | 0x0014 |
| * ParentChangeCount | 0x0015 |
| * TxTotalCount | 0x0016 |
| * TxUnicastCount | 0x0017 |
| * TxBroadcastCount | 0x0018 |
| * TxAckRequestedCount | 0x0019 |
| * TxAckedCount | 0x001A |
| * TxNoAckRequestedCount | 0x001B |
| * TxDataCount | 0x001C |
| * TxDataPollCount | 0x001D |
| * TxBeaconCount | 0x001E |
| * TxBeaconRequestCount | 0x001F |
| * TxOtherCount | 0x0020 |
| * TxRetryCount | 0x0021 |
| * TxDirectMaxRetryExpiryCount | 0x0022 |
| * TxIndirectMaxRetryExpiryCount | 0x0023 |
| * TxErrCcaCount | 0x0024 |
| * TxErrAbortCount | 0x0025 |
| * TxErrBusyChannelCount | 0x0026 |
| * RxTotalCount | 0x0027 |
| * RxUnicastCount | 0x0028 |
| * RxBroadcastCount | 0x0029 |
| * RxDataCount | 0x002A |
| * RxDataPollCount | 0x002B |
| * RxBeaconCount | 0x002C |
| * RxBeaconRequestCount | 0x002D |
| * RxOtherCount | 0x002E |
| * RxAddressFilteredCount | 0x002F |
| * RxDestAddrFilteredCount | 0x0030 |
| * RxDuplicatedCount | 0x0031 |
| * RxErrNoFrameCount | 0x0032 |
| * RxErrUnknownNeighborCount | 0x0033 |
| * RxErrInvalidSrcAddrCount | 0x0034 |
| * RxErrSecCount | 0x0035 |
| * RxErrFcsCount | 0x0036 |
| * RxErrOtherCount | 0x0037 |
| * ActiveTimestamp | 0x0038 |
| * PendingTimestamp | 0x0039 |
| * Delay | 0x003A |
| * SecurityPolicy | 0x003B |
| * ChannelPage0Mask | 0x003C |
| * OperationalDatasetComponents | 0x003D |
| * ActiveNetworkFaultsList | 0x003E |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * ConnectionStatus | 0x0000 |
| * NetworkFaultChange | 0x0001 |
\*----------------------------------------------------------------------------*/
/*
* Command ResetCounts
*/
class ThreadNetworkDiagnosticsResetCounts : public ClusterCommand
{
public:
ThreadNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("reset-counts", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000035, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000035) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000035, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ThreadNetworkDiagnostics::Commands::ResetCounts::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster WiFiNetworkDiagnostics | 0x0036 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ResetCounts | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Bssid | 0x0000 |
| * SecurityType | 0x0001 |
| * WiFiVersion | 0x0002 |
| * ChannelNumber | 0x0003 |
| * Rssi | 0x0004 |
| * BeaconLostCount | 0x0005 |
| * BeaconRxCount | 0x0006 |
| * PacketMulticastRxCount | 0x0007 |
| * PacketMulticastTxCount | 0x0008 |
| * PacketUnicastRxCount | 0x0009 |
| * PacketUnicastTxCount | 0x000A |
| * CurrentMaxRate | 0x000B |
| * OverrunCount | 0x000C |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * Disconnection | 0x0000 |
| * AssociationFailure | 0x0001 |
| * ConnectionStatus | 0x0002 |
\*----------------------------------------------------------------------------*/
/*
* Command ResetCounts
*/
class WiFiNetworkDiagnosticsResetCounts : public ClusterCommand
{
public:
WiFiNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("reset-counts", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000036, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000036) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000036, 0x00000000, mRequest);
}
private:
chip::app::Clusters::WiFiNetworkDiagnostics::Commands::ResetCounts::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster EthernetNetworkDiagnostics | 0x0037 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ResetCounts | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * PHYRate | 0x0000 |
| * FullDuplex | 0x0001 |
| * PacketRxCount | 0x0002 |
| * PacketTxCount | 0x0003 |
| * TxErrCount | 0x0004 |
| * CollisionCount | 0x0005 |
| * OverrunCount | 0x0006 |
| * CarrierDetect | 0x0007 |
| * TimeSinceReset | 0x0008 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command ResetCounts
*/
class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand
{
public:
EthernetNetworkDiagnosticsResetCounts(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("reset-counts", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000037, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000037) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000037, 0x00000000, mRequest);
}
private:
chip::app::Clusters::EthernetNetworkDiagnostics::Commands::ResetCounts::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster TimeSynchronization | 0x0038 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster BridgedDeviceBasic | 0x0039 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * VendorName | 0x0001 |
| * VendorID | 0x0002 |
| * ProductName | 0x0003 |
| * NodeLabel | 0x0005 |
| * HardwareVersion | 0x0007 |
| * HardwareVersionString | 0x0008 |
| * SoftwareVersion | 0x0009 |
| * SoftwareVersionString | 0x000A |
| * ManufacturingDate | 0x000B |
| * PartNumber | 0x000C |
| * ProductURL | 0x000D |
| * ProductLabel | 0x000E |
| * SerialNumber | 0x000F |
| * Reachable | 0x0011 |
| * UniqueID | 0x0012 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * StartUp | 0x0000 |
| * ShutDown | 0x0001 |
| * Leave | 0x0002 |
| * ReachableChanged | 0x0003 |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Switch | 0x003B |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * NumberOfPositions | 0x0000 |
| * CurrentPosition | 0x0001 |
| * MultiPressMax | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * SwitchLatched | 0x0000 |
| * InitialPress | 0x0001 |
| * LongPress | 0x0002 |
| * ShortRelease | 0x0003 |
| * LongRelease | 0x0004 |
| * MultiPressOngoing | 0x0005 |
| * MultiPressComplete | 0x0006 |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster AdministratorCommissioning | 0x003C |
|------------------------------------------------------------------------------|
| Commands: | |
| * OpenCommissioningWindow | 0x00 |
| * OpenBasicCommissioningWindow | 0x01 |
| * RevokeCommissioning | 0x02 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * WindowStatus | 0x0000 |
| * AdminFabricIndex | 0x0001 |
| * AdminVendorId | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command OpenCommissioningWindow
*/
class AdministratorCommissioningOpenCommissioningWindow : public ClusterCommand
{
public:
AdministratorCommissioningOpenCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("open-commissioning-window", credsIssuerConfig)
{
AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout);
AddArgument("PAKEVerifier", &mRequest.PAKEVerifier);
AddArgument("Discriminator", 0, UINT16_MAX, &mRequest.discriminator);
AddArgument("Iterations", 0, UINT32_MAX, &mRequest.iterations);
AddArgument("Salt", &mRequest.salt);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000000, mRequest);
}
private:
chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type mRequest;
};
/*
* Command OpenBasicCommissioningWindow
*/
class AdministratorCommissioningOpenBasicCommissioningWindow : public ClusterCommand
{
public:
AdministratorCommissioningOpenBasicCommissioningWindow(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("open-basic-commissioning-window", credsIssuerConfig)
{
AddArgument("CommissioningTimeout", 0, UINT16_MAX, &mRequest.commissioningTimeout);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000001, mRequest);
}
private:
chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type mRequest;
};
/*
* Command RevokeCommissioning
*/
class AdministratorCommissioningRevokeCommissioning : public ClusterCommand
{
public:
AdministratorCommissioningRevokeCommissioning(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("revoke-commissioning", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003C, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003C) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003C, 0x00000002, mRequest);
}
private:
chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster OperationalCredentials | 0x003E |
|------------------------------------------------------------------------------|
| Commands: | |
| * AttestationRequest | 0x00 |
| * CertificateChainRequest | 0x02 |
| * CSRRequest | 0x04 |
| * AddNOC | 0x06 |
| * UpdateNOC | 0x07 |
| * UpdateFabricLabel | 0x09 |
| * RemoveFabric | 0x0A |
| * AddTrustedRootCertificate | 0x0B |
|------------------------------------------------------------------------------|
| Attributes: | |
| * NOCs | 0x0000 |
| * Fabrics | 0x0001 |
| * SupportedFabrics | 0x0002 |
| * CommissionedFabrics | 0x0003 |
| * TrustedRootCertificates | 0x0004 |
| * CurrentFabricIndex | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command AttestationRequest
*/
class OperationalCredentialsAttestationRequest : public ClusterCommand
{
public:
OperationalCredentialsAttestationRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("attestation-request", credsIssuerConfig)
{
AddArgument("AttestationNonce", &mRequest.attestationNonce);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000000, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::AttestationRequest::Type mRequest;
};
/*
* Command CertificateChainRequest
*/
class OperationalCredentialsCertificateChainRequest : public ClusterCommand
{
public:
OperationalCredentialsCertificateChainRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("certificate-chain-request", credsIssuerConfig)
{
AddArgument("CertificateType", 0, UINT8_MAX, &mRequest.certificateType);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000002, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::CertificateChainRequest::Type mRequest;
};
/*
* Command CSRRequest
*/
class OperationalCredentialsCSRRequest : public ClusterCommand
{
public:
OperationalCredentialsCSRRequest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("csrrequest", credsIssuerConfig)
{
AddArgument("CSRNonce", &mRequest.CSRNonce);
AddArgument("IsForUpdateNOC", 0, 1, &mRequest.isForUpdateNOC);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000004, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::CSRRequest::Type mRequest;
};
/*
* Command AddNOC
*/
class OperationalCredentialsAddNOC : public ClusterCommand
{
public:
OperationalCredentialsAddNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("add-noc", credsIssuerConfig)
{
AddArgument("NOCValue", &mRequest.NOCValue);
AddArgument("ICACValue", &mRequest.ICACValue);
AddArgument("IPKValue", &mRequest.IPKValue);
AddArgument("CaseAdminSubject", 0, UINT64_MAX, &mRequest.caseAdminSubject);
AddArgument("AdminVendorId", 0, UINT16_MAX, &mRequest.adminVendorId);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000006, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::AddNOC::Type mRequest;
};
/*
* Command UpdateNOC
*/
class OperationalCredentialsUpdateNOC : public ClusterCommand
{
public:
OperationalCredentialsUpdateNOC(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("update-noc", credsIssuerConfig)
{
AddArgument("NOCValue", &mRequest.NOCValue);
AddArgument("ICACValue", &mRequest.ICACValue);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000007, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::UpdateNOC::Type mRequest;
};
/*
* Command UpdateFabricLabel
*/
class OperationalCredentialsUpdateFabricLabel : public ClusterCommand
{
public:
OperationalCredentialsUpdateFabricLabel(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("update-fabric-label", credsIssuerConfig)
{
AddArgument("Label", &mRequest.label);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x00000009, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x00000009) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x00000009, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::UpdateFabricLabel::Type mRequest;
};
/*
* Command RemoveFabric
*/
class OperationalCredentialsRemoveFabric : public ClusterCommand
{
public:
OperationalCredentialsRemoveFabric(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("remove-fabric", credsIssuerConfig)
{
AddArgument("FabricIndex", 0, UINT8_MAX, &mRequest.fabricIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000A, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000A) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000A, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type mRequest;
};
/*
* Command AddTrustedRootCertificate
*/
class OperationalCredentialsAddTrustedRootCertificate : public ClusterCommand
{
public:
OperationalCredentialsAddTrustedRootCertificate(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("add-trusted-root-certificate", credsIssuerConfig)
{
AddArgument("RootCertificate", &mRequest.rootCertificate);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003E, 0x0000000B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003E) command (0x0000000B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003E, 0x0000000B, mRequest);
}
private:
chip::app::Clusters::OperationalCredentials::Commands::AddTrustedRootCertificate::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster GroupKeyManagement | 0x003F |
|------------------------------------------------------------------------------|
| Commands: | |
| * KeySetWrite | 0x00 |
| * KeySetRead | 0x01 |
| * KeySetRemove | 0x03 |
| * KeySetReadAllIndices | 0x04 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GroupKeyMap | 0x0000 |
| * GroupTable | 0x0001 |
| * MaxGroupsPerFabric | 0x0002 |
| * MaxGroupKeysPerFabric | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command KeySetWrite
*/
class GroupKeyManagementKeySetWrite : public ClusterCommand
{
public:
GroupKeyManagementKeySetWrite(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("key-set-write", credsIssuerConfig), mComplex_GroupKeySet(&mRequest.groupKeySet)
{
AddArgument("GroupKeySet", &mComplex_GroupKeySet);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000000, mRequest);
}
private:
chip::app::Clusters::GroupKeyManagement::Commands::KeySetWrite::Type mRequest;
TypedComplexArgument<chip::app::Clusters::GroupKeyManagement::Structs::GroupKeySetStruct::Type> mComplex_GroupKeySet;
};
/*
* Command KeySetRead
*/
class GroupKeyManagementKeySetRead : public ClusterCommand
{
public:
GroupKeyManagementKeySetRead(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("key-set-read", credsIssuerConfig)
{
AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000001, mRequest);
}
private:
chip::app::Clusters::GroupKeyManagement::Commands::KeySetRead::Type mRequest;
};
/*
* Command KeySetRemove
*/
class GroupKeyManagementKeySetRemove : public ClusterCommand
{
public:
GroupKeyManagementKeySetRemove(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("key-set-remove", credsIssuerConfig)
{
AddArgument("GroupKeySetID", 0, UINT16_MAX, &mRequest.groupKeySetID);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000003, mRequest);
}
private:
chip::app::Clusters::GroupKeyManagement::Commands::KeySetRemove::Type mRequest;
};
/*
* Command KeySetReadAllIndices
*/
class GroupKeyManagementKeySetReadAllIndices : public ClusterCommand
{
public:
GroupKeyManagementKeySetReadAllIndices(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("key-set-read-all-indices", credsIssuerConfig), mComplex_GroupKeySetIDs(&mRequest.groupKeySetIDs)
{
AddArgument("GroupKeySetIDs", &mComplex_GroupKeySetIDs);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000003F, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000003F) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000003F, 0x00000004, mRequest);
}
private:
chip::app::Clusters::GroupKeyManagement::Commands::KeySetReadAllIndices::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const uint16_t>> mComplex_GroupKeySetIDs;
};
/*----------------------------------------------------------------------------*\
| Cluster FixedLabel | 0x0040 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * LabelList | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster UserLabel | 0x0041 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * LabelList | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ProxyConfiguration | 0x0042 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ProxyDiscovery | 0x0043 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ProxyValid | 0x0044 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster BooleanState | 0x0045 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * StateValue | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * StateChange | 0x0000 |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ModeSelect | 0x0050 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ChangeToMode | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Description | 0x0000 |
| * StandardNamespace | 0x0001 |
| * SupportedModes | 0x0002 |
| * CurrentMode | 0x0003 |
| * StartUpMode | 0x0004 |
| * OnMode | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command ChangeToMode
*/
class ModeSelectChangeToMode : public ClusterCommand
{
public:
ModeSelectChangeToMode(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-to-mode", credsIssuerConfig)
{
AddArgument("NewMode", 0, UINT8_MAX, &mRequest.newMode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000050, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000050) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000050, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ModeSelect::Commands::ChangeToMode::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster DoorLock | 0x0101 |
|------------------------------------------------------------------------------|
| Commands: | |
| * LockDoor | 0x00 |
| * UnlockDoor | 0x01 |
| * UnlockWithTimeout | 0x03 |
| * SetWeekDaySchedule | 0x0B |
| * GetWeekDaySchedule | 0x0C |
| * ClearWeekDaySchedule | 0x0D |
| * SetYearDaySchedule | 0x0E |
| * GetYearDaySchedule | 0x0F |
| * ClearYearDaySchedule | 0x10 |
| * SetHolidaySchedule | 0x11 |
| * GetHolidaySchedule | 0x12 |
| * ClearHolidaySchedule | 0x13 |
| * SetUser | 0x1A |
| * GetUser | 0x1B |
| * ClearUser | 0x1D |
| * SetCredential | 0x22 |
| * GetCredentialStatus | 0x24 |
| * ClearCredential | 0x26 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * LockState | 0x0000 |
| * LockType | 0x0001 |
| * ActuatorEnabled | 0x0002 |
| * DoorState | 0x0003 |
| * DoorOpenEvents | 0x0004 |
| * DoorClosedEvents | 0x0005 |
| * OpenPeriod | 0x0006 |
| * NumberOfTotalUsersSupported | 0x0011 |
| * NumberOfPINUsersSupported | 0x0012 |
| * NumberOfRFIDUsersSupported | 0x0013 |
| * NumberOfWeekDaySchedulesSupportedPerUser | 0x0014 |
| * NumberOfYearDaySchedulesSupportedPerUser | 0x0015 |
| * NumberOfHolidaySchedulesSupported | 0x0016 |
| * MaxPINCodeLength | 0x0017 |
| * MinPINCodeLength | 0x0018 |
| * MaxRFIDCodeLength | 0x0019 |
| * MinRFIDCodeLength | 0x001A |
| * CredentialRulesSupport | 0x001B |
| * NumberOfCredentialsSupportedPerUser | 0x001C |
| * Language | 0x0021 |
| * LEDSettings | 0x0022 |
| * AutoRelockTime | 0x0023 |
| * SoundVolume | 0x0024 |
| * OperatingMode | 0x0025 |
| * SupportedOperatingModes | 0x0026 |
| * DefaultConfigurationRegister | 0x0027 |
| * EnableLocalProgramming | 0x0028 |
| * EnableOneTouchLocking | 0x0029 |
| * EnableInsideStatusLED | 0x002A |
| * EnablePrivacyModeButton | 0x002B |
| * LocalProgrammingFeatures | 0x002C |
| * WrongCodeEntryLimit | 0x0030 |
| * UserCodeTemporaryDisableTime | 0x0031 |
| * SendPINOverTheAir | 0x0032 |
| * RequirePINforRemoteOperation | 0x0033 |
| * ExpiringUserTimeout | 0x0035 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * DoorLockAlarm | 0x0000 |
| * DoorStateChange | 0x0001 |
| * LockOperation | 0x0002 |
| * LockOperationError | 0x0003 |
| * LockUserChange | 0x0004 |
\*----------------------------------------------------------------------------*/
/*
* Command LockDoor
*/
class DoorLockLockDoor : public ClusterCommand
{
public:
DoorLockLockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("lock-door", credsIssuerConfig)
{
AddArgument("PinCode", &mRequest.pinCode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000000, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::LockDoor::Type mRequest;
};
/*
* Command UnlockDoor
*/
class DoorLockUnlockDoor : public ClusterCommand
{
public:
DoorLockUnlockDoor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("unlock-door", credsIssuerConfig)
{
AddArgument("PinCode", &mRequest.pinCode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000001, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::UnlockDoor::Type mRequest;
};
/*
* Command UnlockWithTimeout
*/
class DoorLockUnlockWithTimeout : public ClusterCommand
{
public:
DoorLockUnlockWithTimeout(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("unlock-with-timeout", credsIssuerConfig)
{
AddArgument("Timeout", 0, UINT16_MAX, &mRequest.timeout);
AddArgument("PinCode", &mRequest.pinCode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000003, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::UnlockWithTimeout::Type mRequest;
};
/*
* Command SetWeekDaySchedule
*/
class DoorLockSetWeekDaySchedule : public ClusterCommand
{
public:
DoorLockSetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-week-day-schedule", credsIssuerConfig)
{
AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
AddArgument("DaysMask", 0, UINT8_MAX, &mRequest.daysMask);
AddArgument("StartHour", 0, UINT8_MAX, &mRequest.startHour);
AddArgument("StartMinute", 0, UINT8_MAX, &mRequest.startMinute);
AddArgument("EndHour", 0, UINT8_MAX, &mRequest.endHour);
AddArgument("EndMinute", 0, UINT8_MAX, &mRequest.endMinute);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000B, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::SetWeekDaySchedule::Type mRequest;
};
/*
* Command GetWeekDaySchedule
*/
class DoorLockGetWeekDaySchedule : public ClusterCommand
{
public:
DoorLockGetWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-week-day-schedule", credsIssuerConfig)
{
AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000C, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000C) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000C, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::GetWeekDaySchedule::Type mRequest;
};
/*
* Command ClearWeekDaySchedule
*/
class DoorLockClearWeekDaySchedule : public ClusterCommand
{
public:
DoorLockClearWeekDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("clear-week-day-schedule", credsIssuerConfig)
{
AddArgument("WeekDayIndex", 0, UINT8_MAX, &mRequest.weekDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000D, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000D) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000D, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::ClearWeekDaySchedule::Type mRequest;
};
/*
* Command SetYearDaySchedule
*/
class DoorLockSetYearDaySchedule : public ClusterCommand
{
public:
DoorLockSetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-year-day-schedule", credsIssuerConfig)
{
AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
AddArgument("LocalStartTime", 0, UINT32_MAX, &mRequest.localStartTime);
AddArgument("LocalEndTime", 0, UINT32_MAX, &mRequest.localEndTime);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000E, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000E) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000E, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::SetYearDaySchedule::Type mRequest;
};
/*
* Command GetYearDaySchedule
*/
class DoorLockGetYearDaySchedule : public ClusterCommand
{
public:
DoorLockGetYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-year-day-schedule", credsIssuerConfig)
{
AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000000F, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000000F) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000000F, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::GetYearDaySchedule::Type mRequest;
};
/*
* Command ClearYearDaySchedule
*/
class DoorLockClearYearDaySchedule : public ClusterCommand
{
public:
DoorLockClearYearDaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("clear-year-day-schedule", credsIssuerConfig)
{
AddArgument("YearDayIndex", 0, UINT8_MAX, &mRequest.yearDayIndex);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000010, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000010) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000010, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::ClearYearDaySchedule::Type mRequest;
};
/*
* Command SetHolidaySchedule
*/
class DoorLockSetHolidaySchedule : public ClusterCommand
{
public:
DoorLockSetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-holiday-schedule", credsIssuerConfig)
{
AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex);
AddArgument("LocalStartTime", 0, UINT32_MAX, &mRequest.localStartTime);
AddArgument("LocalEndTime", 0, UINT32_MAX, &mRequest.localEndTime);
AddArgument("OperatingMode", 0, UINT8_MAX, &mRequest.operatingMode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000011, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000011) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000011, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::SetHolidaySchedule::Type mRequest;
};
/*
* Command GetHolidaySchedule
*/
class DoorLockGetHolidaySchedule : public ClusterCommand
{
public:
DoorLockGetHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-holiday-schedule", credsIssuerConfig)
{
AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000012, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000012) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000012, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::GetHolidaySchedule::Type mRequest;
};
/*
* Command ClearHolidaySchedule
*/
class DoorLockClearHolidaySchedule : public ClusterCommand
{
public:
DoorLockClearHolidaySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("clear-holiday-schedule", credsIssuerConfig)
{
AddArgument("HolidayIndex", 0, UINT8_MAX, &mRequest.holidayIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000013, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000013) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000013, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::ClearHolidaySchedule::Type mRequest;
};
/*
* Command SetUser
*/
class DoorLockSetUser : public ClusterCommand
{
public:
DoorLockSetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("set-user", credsIssuerConfig)
{
AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
AddArgument("UserName", &mRequest.userName);
AddArgument("UserUniqueId", 0, UINT32_MAX, &mRequest.userUniqueId);
AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus);
AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType);
AddArgument("CredentialRule", 0, UINT8_MAX, &mRequest.credentialRule);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001A, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001A) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001A, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::SetUser::Type mRequest;
};
/*
* Command GetUser
*/
class DoorLockGetUser : public ClusterCommand
{
public:
DoorLockGetUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-user", credsIssuerConfig)
{
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001B, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::GetUser::Type mRequest;
};
/*
* Command ClearUser
*/
class DoorLockClearUser : public ClusterCommand
{
public:
DoorLockClearUser(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("clear-user", credsIssuerConfig)
{
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x0000001D, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x0000001D) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x0000001D, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::ClearUser::Type mRequest;
};
/*
* Command SetCredential
*/
class DoorLockSetCredential : public ClusterCommand
{
public:
DoorLockSetCredential(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential)
{
AddArgument("OperationType", 0, UINT8_MAX, &mRequest.operationType);
AddArgument("Credential", &mComplex_Credential);
AddArgument("CredentialData", &mRequest.credentialData);
AddArgument("UserIndex", 0, UINT16_MAX, &mRequest.userIndex);
AddArgument("UserStatus", 0, UINT8_MAX, &mRequest.userStatus);
AddArgument("UserType", 0, UINT8_MAX, &mRequest.userType);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000022, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000022) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000022, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::SetCredential::Type mRequest;
TypedComplexArgument<chip::app::Clusters::DoorLock::Structs::DlCredential::Type> mComplex_Credential;
};
/*
* Command GetCredentialStatus
*/
class DoorLockGetCredentialStatus : public ClusterCommand
{
public:
DoorLockGetCredentialStatus(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-credential-status", credsIssuerConfig), mComplex_Credential(&mRequest.credential)
{
AddArgument("Credential", &mComplex_Credential);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000024, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000024) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000024, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::GetCredentialStatus::Type mRequest;
TypedComplexArgument<chip::app::Clusters::DoorLock::Structs::DlCredential::Type> mComplex_Credential;
};
/*
* Command ClearCredential
*/
class DoorLockClearCredential : public ClusterCommand
{
public:
DoorLockClearCredential(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("clear-credential", credsIssuerConfig), mComplex_Credential(&mRequest.credential)
{
AddArgument("Credential", &mComplex_Credential);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000101, 0x00000026, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000101) command (0x00000026) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000101, 0x00000026, mRequest);
}
private:
chip::app::Clusters::DoorLock::Commands::ClearCredential::Type mRequest;
TypedComplexArgument<chip::app::DataModel::Nullable<chip::app::Clusters::DoorLock::Structs::DlCredential::Type>>
mComplex_Credential;
};
/*----------------------------------------------------------------------------*\
| Cluster WindowCovering | 0x0102 |
|------------------------------------------------------------------------------|
| Commands: | |
| * UpOrOpen | 0x00 |
| * DownOrClose | 0x01 |
| * StopMotion | 0x02 |
| * GoToLiftValue | 0x04 |
| * GoToLiftPercentage | 0x05 |
| * GoToTiltValue | 0x07 |
| * GoToTiltPercentage | 0x08 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Type | 0x0000 |
| * PhysicalClosedLimitLift | 0x0001 |
| * PhysicalClosedLimitTilt | 0x0002 |
| * CurrentPositionLift | 0x0003 |
| * CurrentPositionTilt | 0x0004 |
| * NumberOfActuationsLift | 0x0005 |
| * NumberOfActuationsTilt | 0x0006 |
| * ConfigStatus | 0x0007 |
| * CurrentPositionLiftPercentage | 0x0008 |
| * CurrentPositionTiltPercentage | 0x0009 |
| * OperationalStatus | 0x000A |
| * TargetPositionLiftPercent100ths | 0x000B |
| * TargetPositionTiltPercent100ths | 0x000C |
| * EndProductType | 0x000D |
| * CurrentPositionLiftPercent100ths | 0x000E |
| * CurrentPositionTiltPercent100ths | 0x000F |
| * InstalledOpenLimitLift | 0x0010 |
| * InstalledClosedLimitLift | 0x0011 |
| * InstalledOpenLimitTilt | 0x0012 |
| * InstalledClosedLimitTilt | 0x0013 |
| * Mode | 0x0017 |
| * SafetyStatus | 0x001A |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command UpOrOpen
*/
class WindowCoveringUpOrOpen : public ClusterCommand
{
public:
WindowCoveringUpOrOpen(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("up-or-open", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000000, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::UpOrOpen::Type mRequest;
};
/*
* Command DownOrClose
*/
class WindowCoveringDownOrClose : public ClusterCommand
{
public:
WindowCoveringDownOrClose(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("down-or-close", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000001, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::DownOrClose::Type mRequest;
};
/*
* Command StopMotion
*/
class WindowCoveringStopMotion : public ClusterCommand
{
public:
WindowCoveringStopMotion(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-motion", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000002, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::StopMotion::Type mRequest;
};
/*
* Command GoToLiftValue
*/
class WindowCoveringGoToLiftValue : public ClusterCommand
{
public:
WindowCoveringGoToLiftValue(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("go-to-lift-value", credsIssuerConfig)
{
AddArgument("LiftValue", 0, UINT16_MAX, &mRequest.liftValue);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000004, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::GoToLiftValue::Type mRequest;
};
/*
* Command GoToLiftPercentage
*/
class WindowCoveringGoToLiftPercentage : public ClusterCommand
{
public:
WindowCoveringGoToLiftPercentage(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("go-to-lift-percentage", credsIssuerConfig)
{
AddArgument("LiftPercent100thsValue", 0, UINT16_MAX, &mRequest.liftPercent100thsValue);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000005, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::GoToLiftPercentage::Type mRequest;
};
/*
* Command GoToTiltValue
*/
class WindowCoveringGoToTiltValue : public ClusterCommand
{
public:
WindowCoveringGoToTiltValue(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("go-to-tilt-value", credsIssuerConfig)
{
AddArgument("TiltValue", 0, UINT16_MAX, &mRequest.tiltValue);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000007, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::GoToTiltValue::Type mRequest;
};
/*
* Command GoToTiltPercentage
*/
class WindowCoveringGoToTiltPercentage : public ClusterCommand
{
public:
WindowCoveringGoToTiltPercentage(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("go-to-tilt-percentage", credsIssuerConfig)
{
AddArgument("TiltPercent100thsValue", 0, UINT16_MAX, &mRequest.tiltPercent100thsValue);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000102, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000102) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000102, 0x00000008, mRequest);
}
private:
chip::app::Clusters::WindowCovering::Commands::GoToTiltPercentage::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster BarrierControl | 0x0103 |
|------------------------------------------------------------------------------|
| Commands: | |
| * BarrierControlGoToPercent | 0x00 |
| * BarrierControlStop | 0x01 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * BarrierMovingState | 0x0001 |
| * BarrierSafetyStatus | 0x0002 |
| * BarrierCapabilities | 0x0003 |
| * BarrierOpenEvents | 0x0004 |
| * BarrierCloseEvents | 0x0005 |
| * BarrierCommandOpenEvents | 0x0006 |
| * BarrierCommandCloseEvents | 0x0007 |
| * BarrierOpenPeriod | 0x0008 |
| * BarrierClosePeriod | 0x0009 |
| * BarrierPosition | 0x000A |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command BarrierControlGoToPercent
*/
class BarrierControlBarrierControlGoToPercent : public ClusterCommand
{
public:
BarrierControlBarrierControlGoToPercent(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("barrier-control-go-to-percent", credsIssuerConfig)
{
AddArgument("PercentOpen", 0, UINT8_MAX, &mRequest.percentOpen);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000000, mRequest);
}
private:
chip::app::Clusters::BarrierControl::Commands::BarrierControlGoToPercent::Type mRequest;
};
/*
* Command BarrierControlStop
*/
class BarrierControlBarrierControlStop : public ClusterCommand
{
public:
BarrierControlBarrierControlStop(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("barrier-control-stop", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000103, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000103) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000103, 0x00000001, mRequest);
}
private:
chip::app::Clusters::BarrierControl::Commands::BarrierControlStop::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster PumpConfigurationAndControl | 0x0200 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MaxPressure | 0x0000 |
| * MaxSpeed | 0x0001 |
| * MaxFlow | 0x0002 |
| * MinConstPressure | 0x0003 |
| * MaxConstPressure | 0x0004 |
| * MinCompPressure | 0x0005 |
| * MaxCompPressure | 0x0006 |
| * MinConstSpeed | 0x0007 |
| * MaxConstSpeed | 0x0008 |
| * MinConstFlow | 0x0009 |
| * MaxConstFlow | 0x000A |
| * MinConstTemp | 0x000B |
| * MaxConstTemp | 0x000C |
| * PumpStatus | 0x0010 |
| * EffectiveOperationMode | 0x0011 |
| * EffectiveControlMode | 0x0012 |
| * Capacity | 0x0013 |
| * Speed | 0x0014 |
| * LifetimeRunningHours | 0x0015 |
| * Power | 0x0016 |
| * LifetimeEnergyConsumed | 0x0017 |
| * OperationMode | 0x0020 |
| * ControlMode | 0x0021 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * SupplyVoltageLow | 0x0000 |
| * SupplyVoltageHigh | 0x0001 |
| * PowerMissingPhase | 0x0002 |
| * SystemPressureLow | 0x0003 |
| * SystemPressureHigh | 0x0004 |
| * DryRunning | 0x0005 |
| * MotorTemperatureHigh | 0x0006 |
| * PumpMotorFatalFailure | 0x0007 |
| * ElectronicTemperatureHigh | 0x0008 |
| * PumpBlocked | 0x0009 |
| * SensorFailure | 0x000A |
| * ElectronicNonFatalFailure | 0x000B |
| * ElectronicFatalFailure | 0x000C |
| * GeneralFault | 0x000D |
| * Leakage | 0x000E |
| * AirDetection | 0x000F |
| * TurbineOperation | 0x0010 |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Thermostat | 0x0201 |
|------------------------------------------------------------------------------|
| Commands: | |
| * SetpointRaiseLower | 0x00 |
| * SetWeeklySchedule | 0x01 |
| * GetWeeklySchedule | 0x02 |
| * ClearWeeklySchedule | 0x03 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * LocalTemperature | 0x0000 |
| * OutdoorTemperature | 0x0001 |
| * Occupancy | 0x0002 |
| * AbsMinHeatSetpointLimit | 0x0003 |
| * AbsMaxHeatSetpointLimit | 0x0004 |
| * AbsMinCoolSetpointLimit | 0x0005 |
| * AbsMaxCoolSetpointLimit | 0x0006 |
| * PICoolingDemand | 0x0007 |
| * PIHeatingDemand | 0x0008 |
| * HVACSystemTypeConfiguration | 0x0009 |
| * LocalTemperatureCalibration | 0x0010 |
| * OccupiedCoolingSetpoint | 0x0011 |
| * OccupiedHeatingSetpoint | 0x0012 |
| * UnoccupiedCoolingSetpoint | 0x0013 |
| * UnoccupiedHeatingSetpoint | 0x0014 |
| * MinHeatSetpointLimit | 0x0015 |
| * MaxHeatSetpointLimit | 0x0016 |
| * MinCoolSetpointLimit | 0x0017 |
| * MaxCoolSetpointLimit | 0x0018 |
| * MinSetpointDeadBand | 0x0019 |
| * RemoteSensing | 0x001A |
| * ControlSequenceOfOperation | 0x001B |
| * SystemMode | 0x001C |
| * ThermostatRunningMode | 0x001E |
| * StartOfWeek | 0x0020 |
| * NumberOfWeeklyTransitions | 0x0021 |
| * NumberOfDailyTransitions | 0x0022 |
| * TemperatureSetpointHold | 0x0023 |
| * TemperatureSetpointHoldDuration | 0x0024 |
| * ThermostatProgrammingOperationMode | 0x0025 |
| * ThermostatRunningState | 0x0029 |
| * SetpointChangeSource | 0x0030 |
| * SetpointChangeAmount | 0x0031 |
| * SetpointChangeSourceTimestamp | 0x0032 |
| * OccupiedSetback | 0x0034 |
| * OccupiedSetbackMin | 0x0035 |
| * OccupiedSetbackMax | 0x0036 |
| * UnoccupiedSetback | 0x0037 |
| * UnoccupiedSetbackMin | 0x0038 |
| * UnoccupiedSetbackMax | 0x0039 |
| * EmergencyHeatDelta | 0x003A |
| * ACType | 0x0040 |
| * ACCapacity | 0x0041 |
| * ACRefrigerantType | 0x0042 |
| * ACCompressorType | 0x0043 |
| * ACErrorCode | 0x0044 |
| * ACLouverPosition | 0x0045 |
| * ACCoilTemperature | 0x0046 |
| * ACCapacityformat | 0x0047 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command SetpointRaiseLower
*/
class ThermostatSetpointRaiseLower : public ClusterCommand
{
public:
ThermostatSetpointRaiseLower(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("setpoint-raise-lower", credsIssuerConfig)
{
AddArgument("Mode", 0, UINT8_MAX, &mRequest.mode);
AddArgument("Amount", INT8_MIN, INT8_MAX, &mRequest.amount);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type mRequest;
};
/*
* Command SetWeeklySchedule
*/
class ThermostatSetWeeklySchedule : public ClusterCommand
{
public:
ThermostatSetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("set-weekly-schedule", credsIssuerConfig), mComplex_Transitions(&mRequest.transitions)
{
AddArgument("NumberOfTransitionsForSequence", 0, UINT8_MAX, &mRequest.numberOfTransitionsForSequence);
AddArgument("DayOfWeekForSequence", 0, UINT8_MAX, &mRequest.dayOfWeekForSequence);
AddArgument("ModeForSequence", 0, UINT8_MAX, &mRequest.modeForSequence);
AddArgument("Transitions", &mComplex_Transitions);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000001, mRequest);
}
private:
chip::app::Clusters::Thermostat::Commands::SetWeeklySchedule::Type mRequest;
TypedComplexArgument<
chip::app::DataModel::List<const chip::app::Clusters::Thermostat::Structs::ThermostatScheduleTransition::Type>>
mComplex_Transitions;
};
/*
* Command GetWeeklySchedule
*/
class ThermostatGetWeeklySchedule : public ClusterCommand
{
public:
ThermostatGetWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-weekly-schedule", credsIssuerConfig)
{
AddArgument("DaysToReturn", 0, UINT8_MAX, &mRequest.daysToReturn);
AddArgument("ModeToReturn", 0, UINT8_MAX, &mRequest.modeToReturn);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000002, mRequest);
}
private:
chip::app::Clusters::Thermostat::Commands::GetWeeklySchedule::Type mRequest;
};
/*
* Command ClearWeeklySchedule
*/
class ThermostatClearWeeklySchedule : public ClusterCommand
{
public:
ThermostatClearWeeklySchedule(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("clear-weekly-schedule", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000201, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000201) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000201, 0x00000003, mRequest);
}
private:
chip::app::Clusters::Thermostat::Commands::ClearWeeklySchedule::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster FanControl | 0x0202 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * FanMode | 0x0000 |
| * FanModeSequence | 0x0001 |
| * PercentSetting | 0x0002 |
| * PercentCurrent | 0x0003 |
| * SpeedMax | 0x0004 |
| * SpeedSetting | 0x0005 |
| * SpeedCurrent | 0x0006 |
| * RockSupport | 0x0007 |
| * RockSetting | 0x0008 |
| * WindSupport | 0x0009 |
| * WindSetting | 0x000A |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ThermostatUserInterfaceConfiguration | 0x0204 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * TemperatureDisplayMode | 0x0000 |
| * KeypadLockout | 0x0001 |
| * ScheduleProgrammingVisibility | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster ColorControl | 0x0300 |
|------------------------------------------------------------------------------|
| Commands: | |
| * MoveToHue | 0x00 |
| * MoveHue | 0x01 |
| * StepHue | 0x02 |
| * MoveToSaturation | 0x03 |
| * MoveSaturation | 0x04 |
| * StepSaturation | 0x05 |
| * MoveToHueAndSaturation | 0x06 |
| * MoveToColor | 0x07 |
| * MoveColor | 0x08 |
| * StepColor | 0x09 |
| * MoveToColorTemperature | 0x0A |
| * EnhancedMoveToHue | 0x40 |
| * EnhancedMoveHue | 0x41 |
| * EnhancedStepHue | 0x42 |
| * EnhancedMoveToHueAndSaturation | 0x43 |
| * ColorLoopSet | 0x44 |
| * StopMoveStep | 0x47 |
| * MoveColorTemperature | 0x4B |
| * StepColorTemperature | 0x4C |
|------------------------------------------------------------------------------|
| Attributes: | |
| * CurrentHue | 0x0000 |
| * CurrentSaturation | 0x0001 |
| * RemainingTime | 0x0002 |
| * CurrentX | 0x0003 |
| * CurrentY | 0x0004 |
| * DriftCompensation | 0x0005 |
| * CompensationText | 0x0006 |
| * ColorTemperature | 0x0007 |
| * ColorMode | 0x0008 |
| * Options | 0x000F |
| * NumberOfPrimaries | 0x0010 |
| * Primary1X | 0x0011 |
| * Primary1Y | 0x0012 |
| * Primary1Intensity | 0x0013 |
| * Primary2X | 0x0015 |
| * Primary2Y | 0x0016 |
| * Primary2Intensity | 0x0017 |
| * Primary3X | 0x0019 |
| * Primary3Y | 0x001A |
| * Primary3Intensity | 0x001B |
| * Primary4X | 0x0020 |
| * Primary4Y | 0x0021 |
| * Primary4Intensity | 0x0022 |
| * Primary5X | 0x0024 |
| * Primary5Y | 0x0025 |
| * Primary5Intensity | 0x0026 |
| * Primary6X | 0x0028 |
| * Primary6Y | 0x0029 |
| * Primary6Intensity | 0x002A |
| * WhitePointX | 0x0030 |
| * WhitePointY | 0x0031 |
| * ColorPointRX | 0x0032 |
| * ColorPointRY | 0x0033 |
| * ColorPointRIntensity | 0x0034 |
| * ColorPointGX | 0x0036 |
| * ColorPointGY | 0x0037 |
| * ColorPointGIntensity | 0x0038 |
| * ColorPointBX | 0x003A |
| * ColorPointBY | 0x003B |
| * ColorPointBIntensity | 0x003C |
| * EnhancedCurrentHue | 0x4000 |
| * EnhancedColorMode | 0x4001 |
| * ColorLoopActive | 0x4002 |
| * ColorLoopDirection | 0x4003 |
| * ColorLoopTime | 0x4004 |
| * ColorLoopStartEnhancedHue | 0x4005 |
| * ColorLoopStoredEnhancedHue | 0x4006 |
| * ColorCapabilities | 0x400A |
| * ColorTempPhysicalMinMireds | 0x400B |
| * ColorTempPhysicalMaxMireds | 0x400C |
| * CoupleColorTempToLevelMinMireds | 0x400D |
| * StartUpColorTemperatureMireds | 0x4010 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command MoveToHue
*/
class ColorControlMoveToHue : public ClusterCommand
{
public:
ColorControlMoveToHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-hue", credsIssuerConfig)
{
AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue);
AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveToHue::Type mRequest;
};
/*
* Command MoveHue
*/
class ColorControlMoveHue : public ClusterCommand
{
public:
ColorControlMoveHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-hue", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000001, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveHue::Type mRequest;
};
/*
* Command StepHue
*/
class ColorControlStepHue : public ClusterCommand
{
public:
ColorControlStepHue(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-hue", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000002, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::StepHue::Type mRequest;
};
/*
* Command MoveToSaturation
*/
class ColorControlMoveToSaturation : public ClusterCommand
{
public:
ColorControlMoveToSaturation(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-to-saturation", credsIssuerConfig)
{
AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000003, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveToSaturation::Type mRequest;
};
/*
* Command MoveSaturation
*/
class ColorControlMoveSaturation : public ClusterCommand
{
public:
ColorControlMoveSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-saturation", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT8_MAX, &mRequest.rate);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000004, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveSaturation::Type mRequest;
};
/*
* Command StepSaturation
*/
class ColorControlStepSaturation : public ClusterCommand
{
public:
ColorControlStepSaturation(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-saturation", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT8_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT8_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000005, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::StepSaturation::Type mRequest;
};
/*
* Command MoveToHueAndSaturation
*/
class ColorControlMoveToHueAndSaturation : public ClusterCommand
{
public:
ColorControlMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-to-hue-and-saturation", credsIssuerConfig)
{
AddArgument("Hue", 0, UINT8_MAX, &mRequest.hue);
AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000006, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveToHueAndSaturation::Type mRequest;
};
/*
* Command MoveToColor
*/
class ColorControlMoveToColor : public ClusterCommand
{
public:
ColorControlMoveToColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-to-color", credsIssuerConfig)
{
AddArgument("ColorX", 0, UINT16_MAX, &mRequest.colorX);
AddArgument("ColorY", 0, UINT16_MAX, &mRequest.colorY);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000007, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveToColor::Type mRequest;
};
/*
* Command MoveColor
*/
class ColorControlMoveColor : public ClusterCommand
{
public:
ColorControlMoveColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("move-color", credsIssuerConfig)
{
AddArgument("RateX", INT16_MIN, INT16_MAX, &mRequest.rateX);
AddArgument("RateY", INT16_MIN, INT16_MAX, &mRequest.rateY);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000008, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveColor::Type mRequest;
};
/*
* Command StepColor
*/
class ColorControlStepColor : public ClusterCommand
{
public:
ColorControlStepColor(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("step-color", credsIssuerConfig)
{
AddArgument("StepX", INT16_MIN, INT16_MAX, &mRequest.stepX);
AddArgument("StepY", INT16_MIN, INT16_MAX, &mRequest.stepY);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000009, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000009) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000009, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::StepColor::Type mRequest;
};
/*
* Command MoveToColorTemperature
*/
class ColorControlMoveToColorTemperature : public ClusterCommand
{
public:
ColorControlMoveToColorTemperature(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-to-color-temperature", credsIssuerConfig)
{
AddArgument("ColorTemperature", 0, UINT16_MAX, &mRequest.colorTemperature);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000000A, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000000A) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000000A, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveToColorTemperature::Type mRequest;
};
/*
* Command EnhancedMoveToHue
*/
class ColorControlEnhancedMoveToHue : public ClusterCommand
{
public:
ColorControlEnhancedMoveToHue(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enhanced-move-to-hue", credsIssuerConfig)
{
AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue);
AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000040, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000040) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000040, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHue::Type mRequest;
};
/*
* Command EnhancedMoveHue
*/
class ColorControlEnhancedMoveHue : public ClusterCommand
{
public:
ColorControlEnhancedMoveHue(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enhanced-move-hue", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000041, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000041) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000041, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::EnhancedMoveHue::Type mRequest;
};
/*
* Command EnhancedStepHue
*/
class ColorControlEnhancedStepHue : public ClusterCommand
{
public:
ColorControlEnhancedStepHue(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enhanced-step-hue", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000042, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000042) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000042, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::EnhancedStepHue::Type mRequest;
};
/*
* Command EnhancedMoveToHueAndSaturation
*/
class ColorControlEnhancedMoveToHueAndSaturation : public ClusterCommand
{
public:
ColorControlEnhancedMoveToHueAndSaturation(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("enhanced-move-to-hue-and-saturation", credsIssuerConfig)
{
AddArgument("EnhancedHue", 0, UINT16_MAX, &mRequest.enhancedHue);
AddArgument("Saturation", 0, UINT8_MAX, &mRequest.saturation);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000043, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000043) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000043, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::EnhancedMoveToHueAndSaturation::Type mRequest;
};
/*
* Command ColorLoopSet
*/
class ColorControlColorLoopSet : public ClusterCommand
{
public:
ColorControlColorLoopSet(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("color-loop-set", credsIssuerConfig)
{
AddArgument("UpdateFlags", 0, UINT8_MAX, &mRequest.updateFlags);
AddArgument("Action", 0, UINT8_MAX, &mRequest.action);
AddArgument("Direction", 0, UINT8_MAX, &mRequest.direction);
AddArgument("Time", 0, UINT16_MAX, &mRequest.time);
AddArgument("StartHue", 0, UINT16_MAX, &mRequest.startHue);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000044, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000044) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000044, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::ColorLoopSet::Type mRequest;
};
/*
* Command StopMoveStep
*/
class ColorControlStopMoveStep : public ClusterCommand
{
public:
ColorControlStopMoveStep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-move-step", credsIssuerConfig)
{
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x00000047, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x00000047) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x00000047, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::StopMoveStep::Type mRequest;
};
/*
* Command MoveColorTemperature
*/
class ColorControlMoveColorTemperature : public ClusterCommand
{
public:
ColorControlMoveColorTemperature(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("move-color-temperature", credsIssuerConfig)
{
AddArgument("MoveMode", 0, UINT8_MAX, &mRequest.moveMode);
AddArgument("Rate", 0, UINT16_MAX, &mRequest.rate);
AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds);
AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004B, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::MoveColorTemperature::Type mRequest;
};
/*
* Command StepColorTemperature
*/
class ColorControlStepColorTemperature : public ClusterCommand
{
public:
ColorControlStepColorTemperature(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("step-color-temperature", credsIssuerConfig)
{
AddArgument("StepMode", 0, UINT8_MAX, &mRequest.stepMode);
AddArgument("StepSize", 0, UINT16_MAX, &mRequest.stepSize);
AddArgument("TransitionTime", 0, UINT16_MAX, &mRequest.transitionTime);
AddArgument("ColorTemperatureMinimumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMinimumMireds);
AddArgument("ColorTemperatureMaximumMireds", 0, UINT16_MAX, &mRequest.colorTemperatureMaximumMireds);
AddArgument("OptionsMask", 0, UINT8_MAX, &mRequest.optionsMask);
AddArgument("OptionsOverride", 0, UINT8_MAX, &mRequest.optionsOverride);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000300, 0x0000004C, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000300) command (0x0000004C) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000300, 0x0000004C, mRequest);
}
private:
chip::app::Clusters::ColorControl::Commands::StepColorTemperature::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster BallastConfiguration | 0x0301 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * PhysicalMinLevel | 0x0000 |
| * PhysicalMaxLevel | 0x0001 |
| * BallastStatus | 0x0002 |
| * MinLevel | 0x0010 |
| * MaxLevel | 0x0011 |
| * IntrinsicBalanceFactor | 0x0014 |
| * BallastFactorAdjustment | 0x0015 |
| * LampQuantity | 0x0020 |
| * LampType | 0x0030 |
| * LampManufacturer | 0x0031 |
| * LampRatedHours | 0x0032 |
| * LampBurnHours | 0x0033 |
| * LampAlarmMode | 0x0034 |
| * LampBurnHoursTripPoint | 0x0035 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster IlluminanceMeasurement | 0x0400 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasuredValue | 0x0000 |
| * MinMeasuredValue | 0x0001 |
| * MaxMeasuredValue | 0x0002 |
| * Tolerance | 0x0003 |
| * LightSensorType | 0x0004 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster TemperatureMeasurement | 0x0402 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasuredValue | 0x0000 |
| * MinMeasuredValue | 0x0001 |
| * MaxMeasuredValue | 0x0002 |
| * Tolerance | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster PressureMeasurement | 0x0403 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasuredValue | 0x0000 |
| * MinMeasuredValue | 0x0001 |
| * MaxMeasuredValue | 0x0002 |
| * Tolerance | 0x0003 |
| * ScaledValue | 0x0010 |
| * MinScaledValue | 0x0011 |
| * MaxScaledValue | 0x0012 |
| * ScaledTolerance | 0x0013 |
| * Scale | 0x0014 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster FlowMeasurement | 0x0404 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasuredValue | 0x0000 |
| * MinMeasuredValue | 0x0001 |
| * MaxMeasuredValue | 0x0002 |
| * Tolerance | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster RelativeHumidityMeasurement | 0x0405 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasuredValue | 0x0000 |
| * MinMeasuredValue | 0x0001 |
| * MaxMeasuredValue | 0x0002 |
| * Tolerance | 0x0003 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster OccupancySensing | 0x0406 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Occupancy | 0x0000 |
| * OccupancySensorType | 0x0001 |
| * OccupancySensorTypeBitmap | 0x0002 |
| * PirOccupiedToUnoccupiedDelay | 0x0010 |
| * PirUnoccupiedToOccupiedDelay | 0x0011 |
| * PirUnoccupiedToOccupiedThreshold | 0x0012 |
| * UltrasonicOccupiedToUnoccupiedDelay | 0x0020 |
| * UltrasonicUnoccupiedToOccupiedDelay | 0x0021 |
| * UltrasonicUnoccupiedToOccupiedThreshold | 0x0022 |
| * PhysicalContactOccupiedToUnoccupiedDelay | 0x0030 |
| * PhysicalContactUnoccupiedToOccupiedDelay | 0x0031 |
| * PhysicalContactUnoccupiedToOccupiedThreshold | 0x0032 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster WakeOnLan | 0x0503 |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MACAddress | 0x0000 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster Channel | 0x0504 |
|------------------------------------------------------------------------------|
| Commands: | |
| * ChangeChannel | 0x00 |
| * ChangeChannelByNumber | 0x02 |
| * SkipChannel | 0x03 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * ChannelList | 0x0000 |
| * Lineup | 0x0001 |
| * CurrentChannel | 0x0002 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command ChangeChannel
*/
class ChannelChangeChannel : public ClusterCommand
{
public:
ChannelChangeChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("change-channel", credsIssuerConfig)
{
AddArgument("Match", &mRequest.match);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000000, mRequest);
}
private:
chip::app::Clusters::Channel::Commands::ChangeChannel::Type mRequest;
};
/*
* Command ChangeChannelByNumber
*/
class ChannelChangeChannelByNumber : public ClusterCommand
{
public:
ChannelChangeChannelByNumber(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("change-channel-by-number", credsIssuerConfig)
{
AddArgument("MajorNumber", 0, UINT16_MAX, &mRequest.majorNumber);
AddArgument("MinorNumber", 0, UINT16_MAX, &mRequest.minorNumber);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000002, mRequest);
}
private:
chip::app::Clusters::Channel::Commands::ChangeChannelByNumber::Type mRequest;
};
/*
* Command SkipChannel
*/
class ChannelSkipChannel : public ClusterCommand
{
public:
ChannelSkipChannel(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-channel", credsIssuerConfig)
{
AddArgument("Count", 0, UINT16_MAX, &mRequest.count);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000504, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000504) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000504, 0x00000003, mRequest);
}
private:
chip::app::Clusters::Channel::Commands::SkipChannel::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster TargetNavigator | 0x0505 |
|------------------------------------------------------------------------------|
| Commands: | |
| * NavigateTarget | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * TargetList | 0x0000 |
| * CurrentTarget | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command NavigateTarget
*/
class TargetNavigatorNavigateTarget : public ClusterCommand
{
public:
TargetNavigatorNavigateTarget(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("navigate-target", credsIssuerConfig)
{
AddArgument("Target", 0, UINT8_MAX, &mRequest.target);
AddArgument("Data", &mRequest.data);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000505, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000505) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000505, 0x00000000, mRequest);
}
private:
chip::app::Clusters::TargetNavigator::Commands::NavigateTarget::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster MediaPlayback | 0x0506 |
|------------------------------------------------------------------------------|
| Commands: | |
| * Play | 0x00 |
| * Pause | 0x01 |
| * StopPlayback | 0x02 |
| * StartOver | 0x03 |
| * Previous | 0x04 |
| * Next | 0x05 |
| * Rewind | 0x06 |
| * FastForward | 0x07 |
| * SkipForward | 0x08 |
| * SkipBackward | 0x09 |
| * Seek | 0x0B |
|------------------------------------------------------------------------------|
| Attributes: | |
| * CurrentState | 0x0000 |
| * StartTime | 0x0001 |
| * Duration | 0x0002 |
| * SampledPosition | 0x0003 |
| * PlaybackSpeed | 0x0004 |
| * SeekRangeEnd | 0x0005 |
| * SeekRangeStart | 0x0006 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command Play
*/
class MediaPlaybackPlay : public ClusterCommand
{
public:
MediaPlaybackPlay(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("play", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000000, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Play::Type mRequest;
};
/*
* Command Pause
*/
class MediaPlaybackPause : public ClusterCommand
{
public:
MediaPlaybackPause(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("pause", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000001, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Pause::Type mRequest;
};
/*
* Command StopPlayback
*/
class MediaPlaybackStopPlayback : public ClusterCommand
{
public:
MediaPlaybackStopPlayback(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("stop-playback", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000002, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::StopPlayback::Type mRequest;
};
/*
* Command StartOver
*/
class MediaPlaybackStartOver : public ClusterCommand
{
public:
MediaPlaybackStartOver(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("start-over", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000003, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::StartOver::Type mRequest;
};
/*
* Command Previous
*/
class MediaPlaybackPrevious : public ClusterCommand
{
public:
MediaPlaybackPrevious(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("previous", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000004, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Previous::Type mRequest;
};
/*
* Command Next
*/
class MediaPlaybackNext : public ClusterCommand
{
public:
MediaPlaybackNext(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("next", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000005, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Next::Type mRequest;
};
/*
* Command Rewind
*/
class MediaPlaybackRewind : public ClusterCommand
{
public:
MediaPlaybackRewind(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rewind", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000006, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Rewind::Type mRequest;
};
/*
* Command FastForward
*/
class MediaPlaybackFastForward : public ClusterCommand
{
public:
MediaPlaybackFastForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("fast-forward", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000007, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::FastForward::Type mRequest;
};
/*
* Command SkipForward
*/
class MediaPlaybackSkipForward : public ClusterCommand
{
public:
MediaPlaybackSkipForward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-forward", credsIssuerConfig)
{
AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000008, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::SkipForward::Type mRequest;
};
/*
* Command SkipBackward
*/
class MediaPlaybackSkipBackward : public ClusterCommand
{
public:
MediaPlaybackSkipBackward(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("skip-backward", credsIssuerConfig)
{
AddArgument("DeltaPositionMilliseconds", 0, UINT64_MAX, &mRequest.deltaPositionMilliseconds);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x00000009, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x00000009) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x00000009, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::SkipBackward::Type mRequest;
};
/*
* Command Seek
*/
class MediaPlaybackSeek : public ClusterCommand
{
public:
MediaPlaybackSeek(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("seek", credsIssuerConfig)
{
AddArgument("Position", 0, UINT64_MAX, &mRequest.position);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000506, 0x0000000B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000506) command (0x0000000B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000506, 0x0000000B, mRequest);
}
private:
chip::app::Clusters::MediaPlayback::Commands::Seek::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster MediaInput | 0x0507 |
|------------------------------------------------------------------------------|
| Commands: | |
| * SelectInput | 0x00 |
| * ShowInputStatus | 0x01 |
| * HideInputStatus | 0x02 |
| * RenameInput | 0x03 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * InputList | 0x0000 |
| * CurrentInput | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command SelectInput
*/
class MediaInputSelectInput : public ClusterCommand
{
public:
MediaInputSelectInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-input", credsIssuerConfig)
{
AddArgument("Index", 0, UINT8_MAX, &mRequest.index);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000000, mRequest);
}
private:
chip::app::Clusters::MediaInput::Commands::SelectInput::Type mRequest;
};
/*
* Command ShowInputStatus
*/
class MediaInputShowInputStatus : public ClusterCommand
{
public:
MediaInputShowInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("show-input-status", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000001, mRequest);
}
private:
chip::app::Clusters::MediaInput::Commands::ShowInputStatus::Type mRequest;
};
/*
* Command HideInputStatus
*/
class MediaInputHideInputStatus : public ClusterCommand
{
public:
MediaInputHideInputStatus(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("hide-input-status", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000002, mRequest);
}
private:
chip::app::Clusters::MediaInput::Commands::HideInputStatus::Type mRequest;
};
/*
* Command RenameInput
*/
class MediaInputRenameInput : public ClusterCommand
{
public:
MediaInputRenameInput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-input", credsIssuerConfig)
{
AddArgument("Index", 0, UINT8_MAX, &mRequest.index);
AddArgument("Name", &mRequest.name);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000507, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000507) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000507, 0x00000003, mRequest);
}
private:
chip::app::Clusters::MediaInput::Commands::RenameInput::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster LowPower | 0x0508 |
|------------------------------------------------------------------------------|
| Commands: | |
| * Sleep | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command Sleep
*/
class LowPowerSleep : public ClusterCommand
{
public:
LowPowerSleep(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("sleep", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000508, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000508) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000508, 0x00000000, mRequest);
}
private:
chip::app::Clusters::LowPower::Commands::Sleep::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster KeypadInput | 0x0509 |
|------------------------------------------------------------------------------|
| Commands: | |
| * SendKey | 0x00 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command SendKey
*/
class KeypadInputSendKey : public ClusterCommand
{
public:
KeypadInputSendKey(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("send-key", credsIssuerConfig)
{
AddArgument("KeyCode", 0, UINT8_MAX, &mRequest.keyCode);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000509, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000509) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000509, 0x00000000, mRequest);
}
private:
chip::app::Clusters::KeypadInput::Commands::SendKey::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster ContentLauncher | 0x050A |
|------------------------------------------------------------------------------|
| Commands: | |
| * LaunchContent | 0x00 |
| * LaunchURL | 0x01 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * AcceptHeader | 0x0000 |
| * SupportedStreamingProtocols | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command LaunchContent
*/
class ContentLauncherLaunchContent : public ClusterCommand
{
public:
ContentLauncherLaunchContent(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("launch-content", credsIssuerConfig), mComplex_Search(&mRequest.search)
{
AddArgument("Search", &mComplex_Search);
AddArgument("AutoPlay", 0, 1, &mRequest.autoPlay);
AddArgument("Data", &mRequest.data);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ContentLauncher::Commands::LaunchContent::Type mRequest;
TypedComplexArgument<chip::app::Clusters::ContentLauncher::Structs::ContentSearch::Type> mComplex_Search;
};
/*
* Command LaunchURL
*/
class ContentLauncherLaunchURL : public ClusterCommand
{
public:
ContentLauncherLaunchURL(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("launch-url", credsIssuerConfig), mComplex_BrandingInformation(&mRequest.brandingInformation)
{
AddArgument("ContentURL", &mRequest.contentURL);
AddArgument("DisplayString", &mRequest.displayString);
AddArgument("BrandingInformation", &mComplex_BrandingInformation);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050A, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050A) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050A, 0x00000001, mRequest);
}
private:
chip::app::Clusters::ContentLauncher::Commands::LaunchURL::Type mRequest;
TypedComplexArgument<chip::Optional<chip::app::Clusters::ContentLauncher::Structs::BrandingInformation::Type>>
mComplex_BrandingInformation;
};
/*----------------------------------------------------------------------------*\
| Cluster AudioOutput | 0x050B |
|------------------------------------------------------------------------------|
| Commands: | |
| * SelectOutput | 0x00 |
| * RenameOutput | 0x01 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * OutputList | 0x0000 |
| * CurrentOutput | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command SelectOutput
*/
class AudioOutputSelectOutput : public ClusterCommand
{
public:
AudioOutputSelectOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("select-output", credsIssuerConfig)
{
AddArgument("Index", 0, UINT8_MAX, &mRequest.index);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000000, mRequest);
}
private:
chip::app::Clusters::AudioOutput::Commands::SelectOutput::Type mRequest;
};
/*
* Command RenameOutput
*/
class AudioOutputRenameOutput : public ClusterCommand
{
public:
AudioOutputRenameOutput(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("rename-output", credsIssuerConfig)
{
AddArgument("Index", 0, UINT8_MAX, &mRequest.index);
AddArgument("Name", &mRequest.name);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050B, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050B) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050B, 0x00000001, mRequest);
}
private:
chip::app::Clusters::AudioOutput::Commands::RenameOutput::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster ApplicationLauncher | 0x050C |
|------------------------------------------------------------------------------|
| Commands: | |
| * LaunchApp | 0x00 |
| * StopApp | 0x01 |
| * HideApp | 0x02 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * CatalogList | 0x0000 |
| * CurrentApp | 0x0001 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command LaunchApp
*/
class ApplicationLauncherLaunchApp : public ClusterCommand
{
public:
ApplicationLauncherLaunchApp(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("launch-app", credsIssuerConfig), mComplex_Application(&mRequest.application)
{
AddArgument("Application", &mComplex_Application);
AddArgument("Data", &mRequest.data);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ApplicationLauncher::Commands::LaunchApp::Type mRequest;
TypedComplexArgument<chip::app::Clusters::ApplicationLauncher::Structs::Application::Type> mComplex_Application;
};
/*
* Command StopApp
*/
class ApplicationLauncherStopApp : public ClusterCommand
{
public:
ApplicationLauncherStopApp(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("stop-app", credsIssuerConfig), mComplex_Application(&mRequest.application)
{
AddArgument("Application", &mComplex_Application);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000001, mRequest);
}
private:
chip::app::Clusters::ApplicationLauncher::Commands::StopApp::Type mRequest;
TypedComplexArgument<chip::app::Clusters::ApplicationLauncher::Structs::Application::Type> mComplex_Application;
};
/*
* Command HideApp
*/
class ApplicationLauncherHideApp : public ClusterCommand
{
public:
ApplicationLauncherHideApp(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("hide-app", credsIssuerConfig), mComplex_Application(&mRequest.application)
{
AddArgument("Application", &mComplex_Application);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050C, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050C) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050C, 0x00000002, mRequest);
}
private:
chip::app::Clusters::ApplicationLauncher::Commands::HideApp::Type mRequest;
TypedComplexArgument<chip::app::Clusters::ApplicationLauncher::Structs::Application::Type> mComplex_Application;
};
/*----------------------------------------------------------------------------*\
| Cluster ApplicationBasic | 0x050D |
|------------------------------------------------------------------------------|
| Commands: | |
|------------------------------------------------------------------------------|
| Attributes: | |
| * VendorName | 0x0000 |
| * VendorID | 0x0001 |
| * ApplicationName | 0x0002 |
| * ProductID | 0x0003 |
| * Application | 0x0004 |
| * Status | 0x0005 |
| * ApplicationVersion | 0x0006 |
| * AllowedVendorList | 0x0007 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
| Cluster AccountLogin | 0x050E |
|------------------------------------------------------------------------------|
| Commands: | |
| * GetSetupPIN | 0x00 |
| * Login | 0x02 |
| * Logout | 0x03 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command GetSetupPIN
*/
class AccountLoginGetSetupPIN : public ClusterCommand
{
public:
AccountLoginGetSetupPIN(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("get-setup-pin", credsIssuerConfig)
{
AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000000, mRequest);
}
private:
chip::app::Clusters::AccountLogin::Commands::GetSetupPIN::Type mRequest;
};
/*
* Command Login
*/
class AccountLoginLogin : public ClusterCommand
{
public:
AccountLoginLogin(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("login", credsIssuerConfig)
{
AddArgument("TempAccountIdentifier", &mRequest.tempAccountIdentifier);
AddArgument("SetupPIN", &mRequest.setupPIN);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000002, mRequest);
}
private:
chip::app::Clusters::AccountLogin::Commands::Login::Type mRequest;
};
/*
* Command Logout
*/
class AccountLoginLogout : public ClusterCommand
{
public:
AccountLoginLogout(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("logout", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x0000050E, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x0000050E) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x0000050E, 0x00000003, mRequest);
}
private:
chip::app::Clusters::AccountLogin::Commands::Logout::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster ElectricalMeasurement | 0x0B04 |
|------------------------------------------------------------------------------|
| Commands: | |
| * GetProfileInfoCommand | 0x00 |
| * GetMeasurementProfileCommand | 0x01 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * MeasurementType | 0x0000 |
| * DcVoltage | 0x0100 |
| * DcVoltageMin | 0x0101 |
| * DcVoltageMax | 0x0102 |
| * DcCurrent | 0x0103 |
| * DcCurrentMin | 0x0104 |
| * DcCurrentMax | 0x0105 |
| * DcPower | 0x0106 |
| * DcPowerMin | 0x0107 |
| * DcPowerMax | 0x0108 |
| * DcVoltageMultiplier | 0x0200 |
| * DcVoltageDivisor | 0x0201 |
| * DcCurrentMultiplier | 0x0202 |
| * DcCurrentDivisor | 0x0203 |
| * DcPowerMultiplier | 0x0204 |
| * DcPowerDivisor | 0x0205 |
| * AcFrequency | 0x0300 |
| * AcFrequencyMin | 0x0301 |
| * AcFrequencyMax | 0x0302 |
| * NeutralCurrent | 0x0303 |
| * TotalActivePower | 0x0304 |
| * TotalReactivePower | 0x0305 |
| * TotalApparentPower | 0x0306 |
| * Measured1stHarmonicCurrent | 0x0307 |
| * Measured3rdHarmonicCurrent | 0x0308 |
| * Measured5thHarmonicCurrent | 0x0309 |
| * Measured7thHarmonicCurrent | 0x030A |
| * Measured9thHarmonicCurrent | 0x030B |
| * Measured11thHarmonicCurrent | 0x030C |
| * MeasuredPhase1stHarmonicCurrent | 0x030D |
| * MeasuredPhase3rdHarmonicCurrent | 0x030E |
| * MeasuredPhase5thHarmonicCurrent | 0x030F |
| * MeasuredPhase7thHarmonicCurrent | 0x0310 |
| * MeasuredPhase9thHarmonicCurrent | 0x0311 |
| * MeasuredPhase11thHarmonicCurrent | 0x0312 |
| * AcFrequencyMultiplier | 0x0400 |
| * AcFrequencyDivisor | 0x0401 |
| * PowerMultiplier | 0x0402 |
| * PowerDivisor | 0x0403 |
| * HarmonicCurrentMultiplier | 0x0404 |
| * PhaseHarmonicCurrentMultiplier | 0x0405 |
| * InstantaneousVoltage | 0x0500 |
| * InstantaneousLineCurrent | 0x0501 |
| * InstantaneousActiveCurrent | 0x0502 |
| * InstantaneousReactiveCurrent | 0x0503 |
| * InstantaneousPower | 0x0504 |
| * RmsVoltage | 0x0505 |
| * RmsVoltageMin | 0x0506 |
| * RmsVoltageMax | 0x0507 |
| * RmsCurrent | 0x0508 |
| * RmsCurrentMin | 0x0509 |
| * RmsCurrentMax | 0x050A |
| * ActivePower | 0x050B |
| * ActivePowerMin | 0x050C |
| * ActivePowerMax | 0x050D |
| * ReactivePower | 0x050E |
| * ApparentPower | 0x050F |
| * PowerFactor | 0x0510 |
| * AverageRmsVoltageMeasurementPeriod | 0x0511 |
| * AverageRmsUnderVoltageCounter | 0x0513 |
| * RmsExtremeOverVoltagePeriod | 0x0514 |
| * RmsExtremeUnderVoltagePeriod | 0x0515 |
| * RmsVoltageSagPeriod | 0x0516 |
| * RmsVoltageSwellPeriod | 0x0517 |
| * AcVoltageMultiplier | 0x0600 |
| * AcVoltageDivisor | 0x0601 |
| * AcCurrentMultiplier | 0x0602 |
| * AcCurrentDivisor | 0x0603 |
| * AcPowerMultiplier | 0x0604 |
| * AcPowerDivisor | 0x0605 |
| * OverloadAlarmsMask | 0x0700 |
| * VoltageOverload | 0x0701 |
| * CurrentOverload | 0x0702 |
| * AcOverloadAlarmsMask | 0x0800 |
| * AcVoltageOverload | 0x0801 |
| * AcCurrentOverload | 0x0802 |
| * AcActivePowerOverload | 0x0803 |
| * AcReactivePowerOverload | 0x0804 |
| * AverageRmsOverVoltage | 0x0805 |
| * AverageRmsUnderVoltage | 0x0806 |
| * RmsExtremeOverVoltage | 0x0807 |
| * RmsExtremeUnderVoltage | 0x0808 |
| * RmsVoltageSag | 0x0809 |
| * RmsVoltageSwell | 0x080A |
| * LineCurrentPhaseB | 0x0901 |
| * ActiveCurrentPhaseB | 0x0902 |
| * ReactiveCurrentPhaseB | 0x0903 |
| * RmsVoltagePhaseB | 0x0905 |
| * RmsVoltageMinPhaseB | 0x0906 |
| * RmsVoltageMaxPhaseB | 0x0907 |
| * RmsCurrentPhaseB | 0x0908 |
| * RmsCurrentMinPhaseB | 0x0909 |
| * RmsCurrentMaxPhaseB | 0x090A |
| * ActivePowerPhaseB | 0x090B |
| * ActivePowerMinPhaseB | 0x090C |
| * ActivePowerMaxPhaseB | 0x090D |
| * ReactivePowerPhaseB | 0x090E |
| * ApparentPowerPhaseB | 0x090F |
| * PowerFactorPhaseB | 0x0910 |
| * AverageRmsVoltageMeasurementPeriodPhaseB | 0x0911 |
| * AverageRmsOverVoltageCounterPhaseB | 0x0912 |
| * AverageRmsUnderVoltageCounterPhaseB | 0x0913 |
| * RmsExtremeOverVoltagePeriodPhaseB | 0x0914 |
| * RmsExtremeUnderVoltagePeriodPhaseB | 0x0915 |
| * RmsVoltageSagPeriodPhaseB | 0x0916 |
| * RmsVoltageSwellPeriodPhaseB | 0x0917 |
| * LineCurrentPhaseC | 0x0A01 |
| * ActiveCurrentPhaseC | 0x0A02 |
| * ReactiveCurrentPhaseC | 0x0A03 |
| * RmsVoltagePhaseC | 0x0A05 |
| * RmsVoltageMinPhaseC | 0x0A06 |
| * RmsVoltageMaxPhaseC | 0x0A07 |
| * RmsCurrentPhaseC | 0x0A08 |
| * RmsCurrentMinPhaseC | 0x0A09 |
| * RmsCurrentMaxPhaseC | 0x0A0A |
| * ActivePowerPhaseC | 0x0A0B |
| * ActivePowerMinPhaseC | 0x0A0C |
| * ActivePowerMaxPhaseC | 0x0A0D |
| * ReactivePowerPhaseC | 0x0A0E |
| * ApparentPowerPhaseC | 0x0A0F |
| * PowerFactorPhaseC | 0x0A10 |
| * AverageRmsVoltageMeasurementPeriodPhaseC | 0x0A11 |
| * AverageRmsOverVoltageCounterPhaseC | 0x0A12 |
| * AverageRmsUnderVoltageCounterPhaseC | 0x0A13 |
| * RmsExtremeOverVoltagePeriodPhaseC | 0x0A14 |
| * RmsExtremeUnderVoltagePeriodPhaseC | 0x0A15 |
| * RmsVoltageSagPeriodPhaseC | 0x0A16 |
| * RmsVoltageSwellPeriodPhaseC | 0x0A17 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
\*----------------------------------------------------------------------------*/
/*
* Command GetProfileInfoCommand
*/
class ElectricalMeasurementGetProfileInfoCommand : public ClusterCommand
{
public:
ElectricalMeasurementGetProfileInfoCommand(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-profile-info-command", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B04, 0x00000000, mRequest);
}
private:
chip::app::Clusters::ElectricalMeasurement::Commands::GetProfileInfoCommand::Type mRequest;
};
/*
* Command GetMeasurementProfileCommand
*/
class ElectricalMeasurementGetMeasurementProfileCommand : public ClusterCommand
{
public:
ElectricalMeasurementGetMeasurementProfileCommand(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("get-measurement-profile-command", credsIssuerConfig)
{
AddArgument("AttributeId", 0, UINT16_MAX, &mRequest.attributeId);
AddArgument("StartTime", 0, UINT32_MAX, &mRequest.startTime);
AddArgument("NumberOfIntervals", 0, UINT8_MAX, &mRequest.numberOfIntervals);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0x00000B04, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0x00000B04) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0x00000B04, 0x00000001, mRequest);
}
private:
chip::app::Clusters::ElectricalMeasurement::Commands::GetMeasurementProfileCommand::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Cluster TestCluster | 0xFFF1FC05|
|------------------------------------------------------------------------------|
| Commands: | |
| * Test | 0x00 |
| * TestNotHandled | 0x01 |
| * TestSpecific | 0x02 |
| * TestUnknownCommand | 0x03 |
| * TestAddArguments | 0x04 |
| * TestSimpleArgumentRequest | 0x05 |
| * TestStructArrayArgumentRequest | 0x06 |
| * TestStructArgumentRequest | 0x07 |
| * TestNestedStructArgumentRequest | 0x08 |
| * TestListStructArgumentRequest | 0x09 |
| * TestListInt8UArgumentRequest | 0x0A |
| * TestNestedStructListArgumentRequest | 0x0B |
| * TestListNestedStructListArgumentRequest | 0x0C |
| * TestListInt8UReverseRequest | 0x0D |
| * TestEnumsRequest | 0x0E |
| * TestNullableOptionalRequest | 0x0F |
| * TestComplexNullableOptionalRequest | 0x10 |
| * SimpleStructEchoRequest | 0x11 |
| * TimedInvokeRequest | 0x12 |
| * TestSimpleOptionalArgumentRequest | 0x13 |
| * TestEmitTestEventRequest | 0x14 |
| * TestEmitTestFabricScopedEventRequest | 0x15 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * Boolean | 0x0000 |
| * Bitmap8 | 0x0001 |
| * Bitmap16 | 0x0002 |
| * Bitmap32 | 0x0003 |
| * Bitmap64 | 0x0004 |
| * Int8u | 0x0005 |
| * Int16u | 0x0006 |
| * Int24u | 0x0007 |
| * Int32u | 0x0008 |
| * Int40u | 0x0009 |
| * Int48u | 0x000A |
| * Int56u | 0x000B |
| * Int64u | 0x000C |
| * Int8s | 0x000D |
| * Int16s | 0x000E |
| * Int24s | 0x000F |
| * Int32s | 0x0010 |
| * Int40s | 0x0011 |
| * Int48s | 0x0012 |
| * Int56s | 0x0013 |
| * Int64s | 0x0014 |
| * Enum8 | 0x0015 |
| * Enum16 | 0x0016 |
| * FloatSingle | 0x0017 |
| * FloatDouble | 0x0018 |
| * OctetString | 0x0019 |
| * ListInt8u | 0x001A |
| * ListOctetString | 0x001B |
| * ListStructOctetString | 0x001C |
| * LongOctetString | 0x001D |
| * CharString | 0x001E |
| * LongCharString | 0x001F |
| * EpochUs | 0x0020 |
| * EpochS | 0x0021 |
| * VendorId | 0x0022 |
| * ListNullablesAndOptionalsStruct | 0x0023 |
| * EnumAttr | 0x0024 |
| * StructAttr | 0x0025 |
| * RangeRestrictedInt8u | 0x0026 |
| * RangeRestrictedInt8s | 0x0027 |
| * RangeRestrictedInt16u | 0x0028 |
| * RangeRestrictedInt16s | 0x0029 |
| * ListLongOctetString | 0x002A |
| * ListFabricScoped | 0x002B |
| * TimedWriteBoolean | 0x0030 |
| * GeneralErrorBoolean | 0x0031 |
| * ClusterErrorBoolean | 0x0032 |
| * Unsupported | 0x00FF |
| * NullableBoolean | 0x4000 |
| * NullableBitmap8 | 0x4001 |
| * NullableBitmap16 | 0x4002 |
| * NullableBitmap32 | 0x4003 |
| * NullableBitmap64 | 0x4004 |
| * NullableInt8u | 0x4005 |
| * NullableInt16u | 0x4006 |
| * NullableInt24u | 0x4007 |
| * NullableInt32u | 0x4008 |
| * NullableInt40u | 0x4009 |
| * NullableInt48u | 0x400A |
| * NullableInt56u | 0x400B |
| * NullableInt64u | 0x400C |
| * NullableInt8s | 0x400D |
| * NullableInt16s | 0x400E |
| * NullableInt24s | 0x400F |
| * NullableInt32s | 0x4010 |
| * NullableInt40s | 0x4011 |
| * NullableInt48s | 0x4012 |
| * NullableInt56s | 0x4013 |
| * NullableInt64s | 0x4014 |
| * NullableEnum8 | 0x4015 |
| * NullableEnum16 | 0x4016 |
| * NullableFloatSingle | 0x4017 |
| * NullableFloatDouble | 0x4018 |
| * NullableOctetString | 0x4019 |
| * NullableCharString | 0x401E |
| * NullableEnumAttr | 0x4024 |
| * NullableStruct | 0x4025 |
| * NullableRangeRestrictedInt8u | 0x4026 |
| * NullableRangeRestrictedInt8s | 0x4027 |
| * NullableRangeRestrictedInt16u | 0x4028 |
| * NullableRangeRestrictedInt16s | 0x4029 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * AttributeList | 0xFFFB |
| * FeatureMap | 0xFFFC |
| * ClusterRevision | 0xFFFD |
|------------------------------------------------------------------------------|
| Events: | |
| * TestEvent | 0x0001 |
| * TestFabricScopedEvent | 0x0002 |
\*----------------------------------------------------------------------------*/
/*
* Command Test
*/
class TestClusterTest : public ClusterCommand
{
public:
TestClusterTest(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000000, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000000) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000000, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::Test::Type mRequest;
};
/*
* Command TestNotHandled
*/
class TestClusterTestNotHandled : public ClusterCommand
{
public:
TestClusterTestNotHandled(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-not-handled", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000001, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000001) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000001, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestNotHandled::Type mRequest;
};
/*
* Command TestSpecific
*/
class TestClusterTestSpecific : public ClusterCommand
{
public:
TestClusterTestSpecific(CredentialIssuerCommands * credsIssuerConfig) : ClusterCommand("test-specific", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000002, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000002) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000002, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestSpecific::Type mRequest;
};
/*
* Command TestUnknownCommand
*/
class TestClusterTestUnknownCommand : public ClusterCommand
{
public:
TestClusterTestUnknownCommand(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-unknown-command", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000003, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000003) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000003, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestUnknownCommand::Type mRequest;
};
/*
* Command TestAddArguments
*/
class TestClusterTestAddArguments : public ClusterCommand
{
public:
TestClusterTestAddArguments(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-add-arguments", credsIssuerConfig)
{
AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1);
AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000004, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000004) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000004, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestAddArguments::Type mRequest;
};
/*
* Command TestSimpleArgumentRequest
*/
class TestClusterTestSimpleArgumentRequest : public ClusterCommand
{
public:
TestClusterTestSimpleArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-simple-argument-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, 1, &mRequest.arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000005, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000005) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000005, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestSimpleArgumentRequest::Type mRequest;
};
/*
* Command TestStructArrayArgumentRequest
*/
class TestClusterTestStructArrayArgumentRequest : public ClusterCommand
{
public:
TestClusterTestStructArrayArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-struct-array-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1),
mComplex_Arg2(&mRequest.arg2), mComplex_Arg3(&mRequest.arg3), mComplex_Arg4(&mRequest.arg4)
{
AddArgument("Arg1", &mComplex_Arg1);
AddArgument("Arg2", &mComplex_Arg2);
AddArgument("Arg3", &mComplex_Arg3);
AddArgument("Arg4", &mComplex_Arg4);
AddArgument("Arg5", 0, UINT8_MAX, &mRequest.arg5);
AddArgument("Arg6", 0, 1, &mRequest.arg6);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000006, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000006) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000006, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestStructArrayArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::NestedStructList::Type>>
mComplex_Arg1;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>
mComplex_Arg2;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::SimpleEnum>> mComplex_Arg3;
TypedComplexArgument<chip::app::DataModel::List<const bool>> mComplex_Arg4;
};
/*
* Command TestStructArgumentRequest
*/
class TestClusterTestStructArgumentRequest : public ClusterCommand
{
public:
TestClusterTestStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000007, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000007) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000007, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestStructArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type> mComplex_Arg1;
};
/*
* Command TestNestedStructArgumentRequest
*/
class TestClusterTestNestedStructArgumentRequest : public ClusterCommand
{
public:
TestClusterTestNestedStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-nested-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000008, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000008) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000008, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestNestedStructArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::Clusters::TestCluster::Structs::NestedStruct::Type> mComplex_Arg1;
};
/*
* Command TestListStructArgumentRequest
*/
class TestClusterTestListStructArgumentRequest : public ClusterCommand
{
public:
TestClusterTestListStructArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-list-struct-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000009, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000009) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000009, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestListStructArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>
mComplex_Arg1;
};
/*
* Command TestListInt8UArgumentRequest
*/
class TestClusterTestListInt8UArgumentRequest : public ClusterCommand
{
public:
TestClusterTestListInt8UArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-list-int8uargument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000A, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000A) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000A, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestListInt8UArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const uint8_t>> mComplex_Arg1;
};
/*
* Command TestNestedStructListArgumentRequest
*/
class TestClusterTestNestedStructListArgumentRequest : public ClusterCommand
{
public:
TestClusterTestNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000B, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000B) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000B, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestNestedStructListArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::Clusters::TestCluster::Structs::NestedStructList::Type> mComplex_Arg1;
};
/*
* Command TestListNestedStructListArgumentRequest
*/
class TestClusterTestListNestedStructListArgumentRequest : public ClusterCommand
{
public:
TestClusterTestListNestedStructListArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-list-nested-struct-list-argument-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000C, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000C) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000C, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestListNestedStructListArgumentRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::NestedStructList::Type>>
mComplex_Arg1;
};
/*
* Command TestListInt8UReverseRequest
*/
class TestClusterTestListInt8UReverseRequest : public ClusterCommand
{
public:
TestClusterTestListInt8UReverseRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-list-int8ureverse-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000D, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000D) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000D, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestListInt8UReverseRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::List<const uint8_t>> mComplex_Arg1;
};
/*
* Command TestEnumsRequest
*/
class TestClusterTestEnumsRequest : public ClusterCommand
{
public:
TestClusterTestEnumsRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-enums-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, UINT16_MAX, &mRequest.arg1);
AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000E, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000E) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000E, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestEnumsRequest::Type mRequest;
};
/*
* Command TestNullableOptionalRequest
*/
class TestClusterTestNullableOptionalRequest : public ClusterCommand
{
public:
TestClusterTestNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-nullable-optional-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x0000000F, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x0000000F) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x0000000F, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestNullableOptionalRequest::Type mRequest;
};
/*
* Command TestComplexNullableOptionalRequest
*/
class TestClusterTestComplexNullableOptionalRequest : public ClusterCommand
{
public:
TestClusterTestComplexNullableOptionalRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-complex-nullable-optional-request", credsIssuerConfig),
mComplex_NullableStruct(&mRequest.nullableStruct), mComplex_OptionalStruct(&mRequest.optionalStruct),
mComplex_NullableOptionalStruct(&mRequest.nullableOptionalStruct), mComplex_NullableList(&mRequest.nullableList),
mComplex_OptionalList(&mRequest.optionalList), mComplex_NullableOptionalList(&mRequest.nullableOptionalList)
{
AddArgument("NullableInt", 0, UINT16_MAX, &mRequest.nullableInt);
AddArgument("OptionalInt", 0, UINT16_MAX, &mRequest.optionalInt);
AddArgument("NullableOptionalInt", 0, UINT16_MAX, &mRequest.nullableOptionalInt);
AddArgument("NullableString", &mRequest.nullableString);
AddArgument("OptionalString", &mRequest.optionalString);
AddArgument("NullableOptionalString", &mRequest.nullableOptionalString);
AddArgument("NullableStruct", &mComplex_NullableStruct);
AddArgument("OptionalStruct", &mComplex_OptionalStruct);
AddArgument("NullableOptionalStruct", &mComplex_NullableOptionalStruct);
AddArgument("NullableList", &mComplex_NullableList);
AddArgument("OptionalList", &mComplex_OptionalList);
AddArgument("NullableOptionalList", &mComplex_NullableOptionalList);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000010, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000010) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000010, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestComplexNullableOptionalRequest::Type mRequest;
TypedComplexArgument<chip::app::DataModel::Nullable<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>
mComplex_NullableStruct;
TypedComplexArgument<chip::Optional<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>> mComplex_OptionalStruct;
TypedComplexArgument<
chip::Optional<chip::app::DataModel::Nullable<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>>
mComplex_NullableOptionalStruct;
TypedComplexArgument<
chip::app::DataModel::Nullable<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::SimpleEnum>>>
mComplex_NullableList;
TypedComplexArgument<chip::Optional<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::SimpleEnum>>>
mComplex_OptionalList;
TypedComplexArgument<chip::Optional<
chip::app::DataModel::Nullable<chip::app::DataModel::List<const chip::app::Clusters::TestCluster::SimpleEnum>>>>
mComplex_NullableOptionalList;
};
/*
* Command SimpleStructEchoRequest
*/
class TestClusterSimpleStructEchoRequest : public ClusterCommand
{
public:
TestClusterSimpleStructEchoRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("simple-struct-echo-request", credsIssuerConfig), mComplex_Arg1(&mRequest.arg1)
{
AddArgument("Arg1", &mComplex_Arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000011, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000011) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000011, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::SimpleStructEchoRequest::Type mRequest;
TypedComplexArgument<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type> mComplex_Arg1;
};
/*
* Command TimedInvokeRequest
*/
class TestClusterTimedInvokeRequest : public ClusterCommand
{
public:
TestClusterTimedInvokeRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("timed-invoke-request", credsIssuerConfig)
{
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000012, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000012) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000012, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TimedInvokeRequest::Type mRequest;
};
/*
* Command TestSimpleOptionalArgumentRequest
*/
class TestClusterTestSimpleOptionalArgumentRequest : public ClusterCommand
{
public:
TestClusterTestSimpleOptionalArgumentRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-simple-optional-argument-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, 1, &mRequest.arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000013, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000013) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000013, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestSimpleOptionalArgumentRequest::Type mRequest;
};
/*
* Command TestEmitTestEventRequest
*/
class TestClusterTestEmitTestEventRequest : public ClusterCommand
{
public:
TestClusterTestEmitTestEventRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-emit-test-event-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1);
AddArgument("Arg2", 0, UINT8_MAX, &mRequest.arg2);
AddArgument("Arg3", 0, 1, &mRequest.arg3);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000014, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000014) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000014, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestEmitTestEventRequest::Type mRequest;
};
/*
* Command TestEmitTestFabricScopedEventRequest
*/
class TestClusterTestEmitTestFabricScopedEventRequest : public ClusterCommand
{
public:
TestClusterTestEmitTestFabricScopedEventRequest(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("test-emit-test-fabric-scoped-event-request", credsIssuerConfig)
{
AddArgument("Arg1", 0, UINT8_MAX, &mRequest.arg1);
ClusterCommand::AddArguments();
}
CHIP_ERROR SendCommand(chip::DeviceProxy * device, std::vector<chip::EndpointId> endpointIds) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on endpoint %u", endpointIds.at(0));
return ClusterCommand::SendCommand(device, endpointIds.at(0), 0xFFF1FC05, 0x00000015, mRequest);
}
CHIP_ERROR SendGroupCommand(chip::GroupId groupId, chip::FabricIndex fabricIndex) override
{
ChipLogProgress(chipTool, "Sending cluster (0xFFF1FC05) command (0x00000015) on Group %u", groupId);
return ClusterCommand::SendGroupCommand(groupId, fabricIndex, 0xFFF1FC05, 0x00000015, mRequest);
}
private:
chip::app::Clusters::TestCluster::Commands::TestEmitTestFabricScopedEventRequest::Type mRequest;
};
/*----------------------------------------------------------------------------*\
| Register all Clusters commands |
\*----------------------------------------------------------------------------*/
void registerClusterIdentify(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Identify;
const char * clusterName = "Identify";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<IdentifyIdentify>(credsIssuerConfig), //
make_unique<IdentifyTriggerEffect>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "identify-time", 0, UINT16_MAX, Attributes::IdentifyTime::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "identify-time", Attributes::IdentifyTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "identify-type", Attributes::IdentifyType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterGroups(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Groups;
const char * clusterName = "Groups";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<GroupsAddGroup>(credsIssuerConfig), //
make_unique<GroupsViewGroup>(credsIssuerConfig), //
make_unique<GroupsGetGroupMembership>(credsIssuerConfig), //
make_unique<GroupsRemoveGroup>(credsIssuerConfig), //
make_unique<GroupsRemoveAllGroups>(credsIssuerConfig), //
make_unique<GroupsAddGroupIfIdentifying>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterScenes(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Scenes;
const char * clusterName = "Scenes";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ScenesAddScene>(credsIssuerConfig), //
make_unique<ScenesViewScene>(credsIssuerConfig), //
make_unique<ScenesRemoveScene>(credsIssuerConfig), //
make_unique<ScenesRemoveAllScenes>(credsIssuerConfig), //
make_unique<ScenesStoreScene>(credsIssuerConfig), //
make_unique<ScenesRecallScene>(credsIssuerConfig), //
make_unique<ScenesGetSceneMembership>(credsIssuerConfig), //
make_unique<ScenesEnhancedAddScene>(credsIssuerConfig), //
make_unique<ScenesEnhancedViewScene>(credsIssuerConfig), //
make_unique<ScenesCopyScene>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "last-configured-by", Attributes::LastConfiguredBy::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scene-count", Attributes::SceneCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-scene", Attributes::CurrentScene::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-group", Attributes::CurrentGroup::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scene-valid", Attributes::SceneValid::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "name-support", Attributes::NameSupport::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "last-configured-by", Attributes::LastConfiguredBy::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOnOff(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OnOff;
const char * clusterName = "OnOff";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<OnOffOff>(credsIssuerConfig), //
make_unique<OnOffOn>(credsIssuerConfig), //
make_unique<OnOffToggle>(credsIssuerConfig), //
make_unique<OnOffOffWithEffect>(credsIssuerConfig), //
make_unique<OnOffOnWithRecallGlobalScene>(credsIssuerConfig), //
make_unique<OnOffOnWithTimedOff>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "on-time", 0, UINT16_MAX, Attributes::OnTime::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "off-wait-time", 0, UINT16_MAX, Attributes::OffWaitTime::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<chip::app::Clusters::OnOff::OnOffStartUpOnOff>>>(
Id, "start-up-on-off", 0, UINT8_MAX, Attributes::StartUpOnOff::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-off", Attributes::OnOff::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "global-scene-control", Attributes::GlobalSceneControl::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-time", Attributes::OnTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "off-wait-time", Attributes::OffWaitTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-up-on-off", Attributes::StartUpOnOff::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOnOffSwitchConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OnOffSwitchConfiguration;
const char * clusterName = "OnOffSwitchConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "switch-actions", 0, UINT8_MAX, Attributes::SwitchActions::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "switch-type", Attributes::SwitchType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "switch-actions", Attributes::SwitchActions::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterLevelControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::LevelControl;
const char * clusterName = "LevelControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<LevelControlMoveToLevel>(credsIssuerConfig), //
make_unique<LevelControlMove>(credsIssuerConfig), //
make_unique<LevelControlStep>(credsIssuerConfig), //
make_unique<LevelControlStop>(credsIssuerConfig), //
make_unique<LevelControlMoveToLevelWithOnOff>(credsIssuerConfig), //
make_unique<LevelControlMoveWithOnOff>(credsIssuerConfig), //
make_unique<LevelControlStepWithOnOff>(credsIssuerConfig), //
make_unique<LevelControlStopWithOnOff>(credsIssuerConfig), //
make_unique<LevelControlMoveToClosestFrequency>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "options", Attributes::Options::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "on-off-transition-time", 0, UINT16_MAX, Attributes::OnOffTransitionTime::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "on-level", 0, UINT8_MAX, Attributes::OnLevel::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(
Id, "on-transition-time", 0, UINT16_MAX, Attributes::OnTransitionTime::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(
Id, "off-transition-time", 0, UINT16_MAX, Attributes::OffTransitionTime::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "default-move-rate", 0, UINT8_MAX,
Attributes::DefaultMoveRate::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "start-up-current-level", 0, UINT8_MAX, Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-level", Attributes::CurrentLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-frequency", Attributes::CurrentFrequency::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-frequency", Attributes::MinFrequency::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-frequency", Attributes::MaxFrequency::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "options", Attributes::Options::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-off-transition-time", Attributes::OnOffTransitionTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-level", Attributes::OnLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-transition-time", Attributes::OnTransitionTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "off-transition-time", Attributes::OffTransitionTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "default-move-rate", Attributes::DefaultMoveRate::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-up-current-level", Attributes::StartUpCurrentLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBinaryInputBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BinaryInputBasic;
const char * clusterName = "BinaryInputBasic";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-text", Attributes::ActiveText::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "inactive-text", Attributes::InactiveText::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "polarity", Attributes::Polarity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reliability", Attributes::Reliability::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "application-type", Attributes::ApplicationType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "active-text", Attributes::ActiveText::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "inactive-text", Attributes::InactiveText::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "out-of-service", 0, 1, Attributes::OutOfService::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "present-value", 0, 1, Attributes::PresentValue::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "reliability", 0, UINT8_MAX, Attributes::Reliability::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-text", Attributes::ActiveText::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "inactive-text", Attributes::InactiveText::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "out-of-service", Attributes::OutOfService::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "polarity", Attributes::Polarity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "present-value", Attributes::PresentValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reliability", Attributes::Reliability::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "status-flags", Attributes::StatusFlags::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "application-type", Attributes::ApplicationType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterPulseWidthModulation(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::PulseWidthModulation;
const char * clusterName = "PulseWidthModulation";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterDescriptor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Descriptor;
const char * clusterName = "Descriptor";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "device-list", Attributes::DeviceList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "server-list", Attributes::ServerList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "client-list", Attributes::ClientList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "parts-list", Attributes::PartsList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBinding(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Binding;
const char * clusterName = "Binding";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<
WriteAttributeAsComplex<chip::app::DataModel::List<const chip::app::Clusters::Binding::Structs::TargetStruct::Type>>>(
Id, "binding", Attributes::Binding::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "binding", Attributes::Binding::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterAccessControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::AccessControl;
const char * clusterName = "AccessControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>>>(
Id, "acl", Attributes::Acl::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>>>(
Id, "extension", Attributes::Extension::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "acl", Attributes::Acl::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "extension", Attributes::Extension::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "subjects-per-access-control-entry", Attributes::SubjectsPerAccessControlEntry::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "targets-per-access-control-entry", Attributes::TargetsPerAccessControlEntry::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "access-control-entries-per-fabric", Attributes::AccessControlEntriesPerFabric::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id,
credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "access-control-entry-changed", Events::AccessControlEntryChanged::Id,
credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "access-control-extension-changed", Events::AccessControlExtensionChanged::Id,
credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBridgedActions(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BridgedActions;
const char * clusterName = "BridgedActions";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<BridgedActionsInstantAction>(credsIssuerConfig), //
make_unique<BridgedActionsInstantActionWithTransition>(credsIssuerConfig), //
make_unique<BridgedActionsStartAction>(credsIssuerConfig), //
make_unique<BridgedActionsStartActionWithDuration>(credsIssuerConfig), //
make_unique<BridgedActionsStopAction>(credsIssuerConfig), //
make_unique<BridgedActionsPauseAction>(credsIssuerConfig), //
make_unique<BridgedActionsPauseActionWithDuration>(credsIssuerConfig), //
make_unique<BridgedActionsResumeAction>(credsIssuerConfig), //
make_unique<BridgedActionsEnableAction>(credsIssuerConfig), //
make_unique<BridgedActionsEnableActionWithDuration>(credsIssuerConfig), //
make_unique<BridgedActionsDisableAction>(credsIssuerConfig), //
make_unique<BridgedActionsDisableActionWithDuration>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "action-list", Attributes::ActionList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "endpoint-list", Attributes::EndpointList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "setup-url", Attributes::SetupUrl::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "state-changed", Events::StateChanged::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "action-failed", Events::ActionFailed::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Basic;
const char * clusterName = "Basic";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<BasicMfgSpecificPing>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "location", Attributes::Location::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "location", Attributes::Location::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "local-config-disabled", 0, 1, Attributes::LocalConfigDisabled::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "data-model-revision", Attributes::DataModelRevision::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "location", Attributes::Location::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "local-config-disabled", Attributes::LocalConfigDisabled::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "capability-minima", Attributes::CapabilityMinima::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "leave", Events::Leave::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "leave", Events::Leave::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOtaSoftwareUpdateProvider(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OtaSoftwareUpdateProvider;
const char * clusterName = "OtaSoftwareUpdateProvider";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<OtaSoftwareUpdateProviderQueryImage>(credsIssuerConfig), //
make_unique<OtaSoftwareUpdateProviderApplyUpdateRequest>(credsIssuerConfig), //
make_unique<OtaSoftwareUpdateProviderNotifyUpdateApplied>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOtaSoftwareUpdateRequestor(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OtaSoftwareUpdateRequestor;
const char * clusterName = "OtaSoftwareUpdateRequestor";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<OtaSoftwareUpdateRequestorAnnounceOtaProvider>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::Type>>>(
Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "default-ota-providers", Attributes::DefaultOtaProviders::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "update-possible", Attributes::UpdatePossible::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "update-state", Attributes::UpdateState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "update-state-progress", Attributes::UpdateStateProgress::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "state-transition", Events::StateTransition::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "version-applied", Events::VersionApplied::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "download-error", Events::DownloadError::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterLocalizationConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::LocalizationConfiguration;
const char * clusterName = "LocalizationConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-locale", Attributes::ActiveLocale::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-locales", Attributes::SupportedLocales::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterTimeFormatLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::TimeFormatLocalization;
const char * clusterName = "TimeFormatLocalization";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::TimeFormatLocalization::HourFormat>>(
Id, "hour-format", 0, UINT8_MAX, Attributes::HourFormat::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::TimeFormatLocalization::CalendarType>>(
Id, "active-calendar-type", 0, UINT8_MAX, Attributes::ActiveCalendarType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hour-format", Attributes::HourFormat::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-calendar-type", Attributes::ActiveCalendarType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-calendar-types", Attributes::SupportedCalendarTypes::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterUnitLocalization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::UnitLocalization;
const char * clusterName = "UnitLocalization";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::UnitLocalization::TempUnit>>(
Id, "temperature-unit", 0, UINT8_MAX, Attributes::TemperatureUnit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "temperature-unit", Attributes::TemperatureUnit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterPowerSourceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::PowerSourceConfiguration;
const char * clusterName = "PowerSourceConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "sources", Attributes::Sources::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterPowerSource(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::PowerSource;
const char * clusterName = "PowerSource";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "status", Attributes::Status::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "order", Attributes::Order::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-assessed-input-voltage", Attributes::WiredAssessedInputVoltage::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-assessed-input-frequency", Attributes::WiredAssessedInputFrequency::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-current-type", Attributes::WiredCurrentType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-assessed-current", Attributes::WiredAssessedCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-nominal-voltage", Attributes::WiredNominalVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-maximum-current", Attributes::WiredMaximumCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wired-present", Attributes::WiredPresent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-wired-faults", Attributes::ActiveWiredFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "status", Attributes::Status::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "order", Attributes::Order::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-assessed-input-voltage", Attributes::WiredAssessedInputVoltage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-assessed-input-frequency", Attributes::WiredAssessedInputFrequency::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-current-type", Attributes::WiredCurrentType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-assessed-current", Attributes::WiredAssessedCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-nominal-voltage", Attributes::WiredNominalVoltage::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-maximum-current", Attributes::WiredMaximumCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wired-present", Attributes::WiredPresent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-wired-faults", Attributes::ActiveWiredFaults::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-voltage", Attributes::BatVoltage::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-percent-remaining", Attributes::BatPercentRemaining::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-time-remaining", Attributes::BatTimeRemaining::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-charge-level", Attributes::BatChargeLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-replacement-needed", Attributes::BatReplacementNeeded::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-replaceability", Attributes::BatReplaceability::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-present", Attributes::BatPresent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-bat-faults", Attributes::ActiveBatFaults::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-replacement-description", Attributes::BatReplacementDescription::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-common-designation", Attributes::BatCommonDesignation::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-ansidesignation", Attributes::BatANSIDesignation::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-iecdesignation", Attributes::BatIECDesignation::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-approved-chemistry", Attributes::BatApprovedChemistry::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-capacity", Attributes::BatCapacity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-quantity", Attributes::BatQuantity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-charge-state", Attributes::BatChargeState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-time-to-full-charge", Attributes::BatTimeToFullCharge::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-functional-while-charging", Attributes::BatFunctionalWhileCharging::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bat-charging-current", Attributes::BatChargingCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-bat-charge-faults", Attributes::ActiveBatChargeFaults::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterGeneralCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::GeneralCommissioning;
const char * clusterName = "GeneralCommissioning";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<GeneralCommissioningArmFailSafe>(credsIssuerConfig), //
make_unique<GeneralCommissioningSetRegulatoryConfig>(credsIssuerConfig), //
make_unique<GeneralCommissioningCommissioningComplete>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "breadcrumb", 0, UINT64_MAX, Attributes::Breadcrumb::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "breadcrumb", Attributes::Breadcrumb::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "basic-commissioning-info", Attributes::BasicCommissioningInfo::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "regulatory-config", Attributes::RegulatoryConfig::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "location-capability", Attributes::LocationCapability::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supports-concurrent-connection", Attributes::SupportsConcurrentConnection::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::NetworkCommissioning;
const char * clusterName = "NetworkCommissioning";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<NetworkCommissioningScanNetworks>(credsIssuerConfig), //
make_unique<NetworkCommissioningAddOrUpdateWiFiNetwork>(credsIssuerConfig), //
make_unique<NetworkCommissioningAddOrUpdateThreadNetwork>(credsIssuerConfig), //
make_unique<NetworkCommissioningRemoveNetwork>(credsIssuerConfig), //
make_unique<NetworkCommissioningConnectNetwork>(credsIssuerConfig), //
make_unique<NetworkCommissioningReorderNetwork>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "interface-enabled", 0, 1, Attributes::InterfaceEnabled::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterDiagnosticLogs(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::DiagnosticLogs;
const char * clusterName = "DiagnosticLogs";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<DiagnosticLogsRetrieveLogsRequest>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterGeneralDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::GeneralDiagnostics;
const char * clusterName = "GeneralDiagnostics";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<GeneralDiagnosticsTestEventTrigger>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "network-interfaces", Attributes::NetworkInterfaces::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reboot-count", Attributes::RebootCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "up-time", Attributes::UpTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "total-operational-hours", Attributes::TotalOperationalHours::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "boot-reasons", Attributes::BootReasons::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-hardware-faults", Attributes::ActiveHardwareFaults::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-radio-faults", Attributes::ActiveRadioFaults::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-network-faults", Attributes::ActiveNetworkFaults::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "test-event-triggers-enabled", Attributes::TestEventTriggersEnabled::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "hardware-fault-change", Events::HardwareFaultChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "radio-fault-change", Events::RadioFaultChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "boot-reason", Events::BootReason::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterSoftwareDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::SoftwareDiagnostics;
const char * clusterName = "SoftwareDiagnostics";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<SoftwareDiagnosticsResetWatermarks>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "thread-metrics", Attributes::ThreadMetrics::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-heap-free", Attributes::CurrentHeapFree::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-heap-used", Attributes::CurrentHeapUsed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-heap-high-watermark", Attributes::CurrentHeapHighWatermark::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "software-fault", Events::SoftwareFault::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterThreadNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ThreadNetworkDiagnostics;
const char * clusterName = "ThreadNetworkDiagnostics";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ThreadNetworkDiagnosticsResetCounts>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "better-partition-attach-attempt-count", Attributes::BetterPartitionAttachAttemptCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "channel-page0mask", Attributes::ChannelPage0Mask::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "channel", Attributes::Channel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "routing-role", Attributes::RoutingRole::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "network-name", Attributes::NetworkName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pan-id", Attributes::PanId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "extended-pan-id", Attributes::ExtendedPanId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "mesh-local-prefix", Attributes::MeshLocalPrefix::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "neighbor-table-list", Attributes::NeighborTableList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "route-table-list", Attributes::RouteTableList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "partition-id", Attributes::PartitionId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "weighting", Attributes::Weighting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "data-version", Attributes::DataVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "stable-data-version", Attributes::StableDataVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "leader-router-id", Attributes::LeaderRouterId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "detached-role-count", Attributes::DetachedRoleCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "child-role-count", Attributes::ChildRoleCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "router-role-count", Attributes::RouterRoleCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "leader-role-count", Attributes::LeaderRoleCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attach-attempt-count", Attributes::AttachAttemptCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "partition-id-change-count", Attributes::PartitionIdChangeCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "better-partition-attach-attempt-count",
Attributes::BetterPartitionAttachAttemptCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "parent-change-count", Attributes::ParentChangeCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-total-count", Attributes::TxTotalCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-unicast-count", Attributes::TxUnicastCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-broadcast-count", Attributes::TxBroadcastCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-ack-requested-count", Attributes::TxAckRequestedCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-acked-count", Attributes::TxAckedCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-no-ack-requested-count", Attributes::TxNoAckRequestedCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-data-count", Attributes::TxDataCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-data-poll-count", Attributes::TxDataPollCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-beacon-count", Attributes::TxBeaconCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-beacon-request-count", Attributes::TxBeaconRequestCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-other-count", Attributes::TxOtherCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-retry-count", Attributes::TxRetryCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-direct-max-retry-expiry-count", Attributes::TxDirectMaxRetryExpiryCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-indirect-max-retry-expiry-count", Attributes::TxIndirectMaxRetryExpiryCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-err-cca-count", Attributes::TxErrCcaCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-err-abort-count", Attributes::TxErrAbortCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-err-busy-channel-count", Attributes::TxErrBusyChannelCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-total-count", Attributes::RxTotalCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-unicast-count", Attributes::RxUnicastCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-broadcast-count", Attributes::RxBroadcastCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-data-count", Attributes::RxDataCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-data-poll-count", Attributes::RxDataPollCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-beacon-count", Attributes::RxBeaconCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-beacon-request-count", Attributes::RxBeaconRequestCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-other-count", Attributes::RxOtherCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-address-filtered-count", Attributes::RxAddressFilteredCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-dest-addr-filtered-count", Attributes::RxDestAddrFilteredCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-duplicated-count", Attributes::RxDuplicatedCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-no-frame-count", Attributes::RxErrNoFrameCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-unknown-neighbor-count", Attributes::RxErrUnknownNeighborCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-invalid-src-addr-count", Attributes::RxErrInvalidSrcAddrCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-sec-count", Attributes::RxErrSecCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-fcs-count", Attributes::RxErrFcsCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rx-err-other-count", Attributes::RxErrOtherCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-timestamp", Attributes::ActiveTimestamp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pending-timestamp", Attributes::PendingTimestamp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "delay", Attributes::Delay::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "security-policy", Attributes::SecurityPolicy::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "channel-page0mask", Attributes::ChannelPage0Mask::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "operational-dataset-components", Attributes::OperationalDatasetComponents::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-network-faults-list", Attributes::ActiveNetworkFaultsList::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "network-fault-change", Events::NetworkFaultChange::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterWiFiNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::WiFiNetworkDiagnostics;
const char * clusterName = "WiFiNetworkDiagnostics";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<WiFiNetworkDiagnosticsResetCounts>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bssid", Attributes::Bssid::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "security-type", Attributes::SecurityType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wi-fi-version", Attributes::WiFiVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "channel-number", Attributes::ChannelNumber::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rssi", Attributes::Rssi::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "beacon-lost-count", Attributes::BeaconLostCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "beacon-rx-count", Attributes::BeaconRxCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-multicast-rx-count", Attributes::PacketMulticastRxCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-multicast-tx-count", Attributes::PacketMulticastTxCount::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-unicast-rx-count", Attributes::PacketUnicastRxCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-unicast-tx-count", Attributes::PacketUnicastTxCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-max-rate", Attributes::CurrentMaxRate::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "disconnection", Events::Disconnection::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "association-failure", Events::AssociationFailure::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "connection-status", Events::ConnectionStatus::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterEthernetNetworkDiagnostics(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::EthernetNetworkDiagnostics;
const char * clusterName = "EthernetNetworkDiagnostics";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<EthernetNetworkDiagnosticsResetCounts>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "phyrate", Attributes::PHYRate::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "full-duplex", Attributes::FullDuplex::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-rx-count", Attributes::PacketRxCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "packet-tx-count", Attributes::PacketTxCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tx-err-count", Attributes::TxErrCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "collision-count", Attributes::CollisionCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "overrun-count", Attributes::OverrunCount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "carrier-detect", Attributes::CarrierDetect::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "time-since-reset", Attributes::TimeSinceReset::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::TimeSynchronization;
const char * clusterName = "TimeSynchronization";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BridgedDeviceBasic;
const char * clusterName = "BridgedDeviceBasic";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-name", Attributes::ProductName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "node-label", Attributes::NodeLabel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hardware-version", Attributes::HardwareVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hardware-version-string", Attributes::HardwareVersionString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "software-version", Attributes::SoftwareVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "software-version-string", Attributes::SoftwareVersionString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "manufacturing-date", Attributes::ManufacturingDate::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "part-number", Attributes::PartNumber::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-url", Attributes::ProductURL::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "leave", Events::Leave::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "start-up", Events::StartUp::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "shut-down", Events::ShutDown::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "leave", Events::Leave::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "reachable-changed", Events::ReachableChanged::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterSwitch(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Switch;
const char * clusterName = "Switch";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-positions", Attributes::NumberOfPositions::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position", Attributes::CurrentPosition::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "multi-press-max", Attributes::MultiPressMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "switch-latched", Events::SwitchLatched::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "initial-press", Events::InitialPress::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "long-press", Events::LongPress::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "short-release", Events::ShortRelease::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "long-release", Events::LongRelease::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "multi-press-ongoing", Events::MultiPressOngoing::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "multi-press-complete", Events::MultiPressComplete::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterAdministratorCommissioning(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::AdministratorCommissioning;
const char * clusterName = "AdministratorCommissioning";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<AdministratorCommissioningOpenCommissioningWindow>(credsIssuerConfig), //
make_unique<AdministratorCommissioningOpenBasicCommissioningWindow>(credsIssuerConfig), //
make_unique<AdministratorCommissioningRevokeCommissioning>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "window-status", Attributes::WindowStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "admin-fabric-index", Attributes::AdminFabricIndex::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "admin-vendor-id", Attributes::AdminVendorId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOperationalCredentials(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OperationalCredentials;
const char * clusterName = "OperationalCredentials";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<OperationalCredentialsAttestationRequest>(credsIssuerConfig), //
make_unique<OperationalCredentialsCertificateChainRequest>(credsIssuerConfig), //
make_unique<OperationalCredentialsCSRRequest>(credsIssuerConfig), //
make_unique<OperationalCredentialsAddNOC>(credsIssuerConfig), //
make_unique<OperationalCredentialsUpdateNOC>(credsIssuerConfig), //
make_unique<OperationalCredentialsUpdateFabricLabel>(credsIssuerConfig), //
make_unique<OperationalCredentialsRemoveFabric>(credsIssuerConfig), //
make_unique<OperationalCredentialsAddTrustedRootCertificate>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "fabrics", Attributes::Fabrics::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nocs", Attributes::NOCs::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "fabrics", Attributes::Fabrics::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-fabrics", Attributes::SupportedFabrics::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "commissioned-fabrics", Attributes::CommissionedFabrics::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "trusted-root-certificates", Attributes::TrustedRootCertificates::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-fabric-index", Attributes::CurrentFabricIndex::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterGroupKeyManagement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::GroupKeyManagement;
const char * clusterName = "GroupKeyManagement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<GroupKeyManagementKeySetWrite>(credsIssuerConfig), //
make_unique<GroupKeyManagementKeySetRead>(credsIssuerConfig), //
make_unique<GroupKeyManagementKeySetRemove>(credsIssuerConfig), //
make_unique<GroupKeyManagementKeySetReadAllIndices>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::GroupKeyManagement::Structs::GroupKeyMapStruct::Type>>>(
Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "group-key-map", Attributes::GroupKeyMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "group-table", Attributes::GroupTable::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-groups-per-fabric", Attributes::MaxGroupsPerFabric::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-group-keys-per-fabric", Attributes::MaxGroupKeysPerFabric::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterFixedLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::FixedLabel;
const char * clusterName = "FixedLabel";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterUserLabel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::UserLabel;
const char * clusterName = "UserLabel";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<
WriteAttributeAsComplex<chip::app::DataModel::List<const chip::app::Clusters::UserLabel::Structs::LabelStruct::Type>>>(
Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "label-list", Attributes::LabelList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterProxyConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ProxyConfiguration;
const char * clusterName = "ProxyConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterProxyDiscovery(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ProxyDiscovery;
const char * clusterName = "ProxyDiscovery";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterProxyValid(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ProxyValid;
const char * clusterName = "ProxyValid";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBooleanState(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BooleanState;
const char * clusterName = "BooleanState";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "state-value", Attributes::StateValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "state-change", Events::StateChange::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterModeSelect(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ModeSelect;
const char * clusterName = "ModeSelect";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ModeSelectChangeToMode>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "start-up-mode", 0, UINT8_MAX,
Attributes::StartUpMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "on-mode", 0, UINT8_MAX, Attributes::OnMode::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "description", Attributes::Description::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "standard-namespace", Attributes::StandardNamespace::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-modes", Attributes::SupportedModes::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-mode", Attributes::CurrentMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-up-mode", Attributes::StartUpMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "on-mode", Attributes::OnMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterDoorLock(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::DoorLock;
const char * clusterName = "DoorLock";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<DoorLockLockDoor>(credsIssuerConfig), //
make_unique<DoorLockUnlockDoor>(credsIssuerConfig), //
make_unique<DoorLockUnlockWithTimeout>(credsIssuerConfig), //
make_unique<DoorLockSetWeekDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockGetWeekDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockClearWeekDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockSetYearDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockGetYearDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockClearYearDaySchedule>(credsIssuerConfig), //
make_unique<DoorLockSetHolidaySchedule>(credsIssuerConfig), //
make_unique<DoorLockGetHolidaySchedule>(credsIssuerConfig), //
make_unique<DoorLockClearHolidaySchedule>(credsIssuerConfig), //
make_unique<DoorLockSetUser>(credsIssuerConfig), //
make_unique<DoorLockGetUser>(credsIssuerConfig), //
make_unique<DoorLockClearUser>(credsIssuerConfig), //
make_unique<DoorLockSetCredential>(credsIssuerConfig), //
make_unique<DoorLockGetCredentialStatus>(credsIssuerConfig), //
make_unique<DoorLockClearCredential>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "door-open-events", Attributes::DoorOpenEvents::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "door-closed-events", Attributes::DoorClosedEvents::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "open-period", Attributes::OpenPeriod::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-week-day-schedules-supported-per-user",
Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-year-day-schedules-supported-per-user",
Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-holiday-schedules-supported", Attributes::NumberOfHolidaySchedulesSupported::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "credential-rules-support", Attributes::CredentialRulesSupport::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-credentials-supported-per-user",
Attributes::NumberOfCredentialsSupportedPerUser::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "language", Attributes::Language::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ledsettings", Attributes::LEDSettings::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "default-configuration-register", Attributes::DefaultConfigurationRegister::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enable-local-programming", Attributes::EnableLocalProgramming::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enable-inside-status-led", Attributes::EnableInsideStatusLED::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "local-programming-features", Attributes::LocalProgrammingFeatures::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "user-code-temporary-disable-time", Attributes::UserCodeTemporaryDisableTime::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "send-pinover-the-air", Attributes::SendPINOverTheAir::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "require-pinfor-remote-operation", Attributes::RequirePINforRemoteOperation::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "expiring-user-timeout", Attributes::ExpiringUserTimeout::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "door-open-events", 0, UINT32_MAX, Attributes::DoorOpenEvents::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "door-closed-events", 0, UINT32_MAX, Attributes::DoorClosedEvents::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "open-period", 0, UINT16_MAX, Attributes::OpenPeriod::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "language", Attributes::Language::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "ledsettings", 0, UINT8_MAX, Attributes::LEDSettings::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "auto-relock-time", 0, UINT32_MAX, Attributes::AutoRelockTime::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "sound-volume", 0, UINT8_MAX, Attributes::SoundVolume::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::DoorLock::DlOperatingMode>>(
Id, "operating-mode", 0, UINT8_MAX, Attributes::OperatingMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "enable-local-programming", 0, 1, Attributes::EnableLocalProgramming::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "enable-one-touch-locking", 0, 1, Attributes::EnableOneTouchLocking::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "enable-inside-status-led", 0, 1, Attributes::EnableInsideStatusLED::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "enable-privacy-mode-button", 0, 1, Attributes::EnablePrivacyModeButton::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::DoorLock::DlLocalProgrammingFeatures>>>(
Id, "local-programming-features", 0, UINT8_MAX, Attributes::LocalProgrammingFeatures::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "wrong-code-entry-limit", 0, UINT8_MAX, Attributes::WrongCodeEntryLimit::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "user-code-temporary-disable-time", 0, UINT8_MAX,
Attributes::UserCodeTemporaryDisableTime::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "send-pinover-the-air", 0, 1, Attributes::SendPINOverTheAir::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "require-pinfor-remote-operation", 0, 1, Attributes::RequirePINforRemoteOperation::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "expiring-user-timeout", 0, UINT16_MAX, Attributes::ExpiringUserTimeout::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lock-state", Attributes::LockState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lock-type", Attributes::LockType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "actuator-enabled", Attributes::ActuatorEnabled::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "door-state", Attributes::DoorState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "door-open-events", Attributes::DoorOpenEvents::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "door-closed-events", Attributes::DoorClosedEvents::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "open-period", Attributes::OpenPeriod::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-total-users-supported", Attributes::NumberOfTotalUsersSupported::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-pinusers-supported", Attributes::NumberOfPINUsersSupported::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-rfidusers-supported", Attributes::NumberOfRFIDUsersSupported::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-week-day-schedules-supported-per-user",
Attributes::NumberOfWeekDaySchedulesSupportedPerUser::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-year-day-schedules-supported-per-user",
Attributes::NumberOfYearDaySchedulesSupportedPerUser::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-holiday-schedules-supported",
Attributes::NumberOfHolidaySchedulesSupported::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-pincode-length", Attributes::MaxPINCodeLength::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-pincode-length", Attributes::MinPINCodeLength::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-rfidcode-length", Attributes::MaxRFIDCodeLength::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-rfidcode-length", Attributes::MinRFIDCodeLength::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "credential-rules-support", Attributes::CredentialRulesSupport::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-credentials-supported-per-user",
Attributes::NumberOfCredentialsSupportedPerUser::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "language", Attributes::Language::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ledsettings", Attributes::LEDSettings::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "auto-relock-time", Attributes::AutoRelockTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "sound-volume", Attributes::SoundVolume::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "operating-mode", Attributes::OperatingMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-operating-modes", Attributes::SupportedOperatingModes::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "default-configuration-register", Attributes::DefaultConfigurationRegister::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enable-local-programming", Attributes::EnableLocalProgramming::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enable-one-touch-locking", Attributes::EnableOneTouchLocking::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enable-inside-status-led", Attributes::EnableInsideStatusLED::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enable-privacy-mode-button", Attributes::EnablePrivacyModeButton::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "local-programming-features", Attributes::LocalProgrammingFeatures::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wrong-code-entry-limit", Attributes::WrongCodeEntryLimit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "user-code-temporary-disable-time", Attributes::UserCodeTemporaryDisableTime::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "send-pinover-the-air", Attributes::SendPINOverTheAir::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "require-pinfor-remote-operation", Attributes::RequirePINforRemoteOperation::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "expiring-user-timeout", Attributes::ExpiringUserTimeout::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "door-lock-alarm", Events::DoorLockAlarm::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "door-state-change", Events::DoorStateChange::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "lock-operation", Events::LockOperation::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "lock-operation-error", Events::LockOperationError::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "lock-user-change", Events::LockUserChange::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterWindowCovering(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::WindowCovering;
const char * clusterName = "WindowCovering";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<WindowCoveringUpOrOpen>(credsIssuerConfig), //
make_unique<WindowCoveringDownOrClose>(credsIssuerConfig), //
make_unique<WindowCoveringStopMotion>(credsIssuerConfig), //
make_unique<WindowCoveringGoToLiftValue>(credsIssuerConfig), //
make_unique<WindowCoveringGoToLiftPercentage>(credsIssuerConfig), //
make_unique<WindowCoveringGoToTiltValue>(credsIssuerConfig), //
make_unique<WindowCoveringGoToTiltPercentage>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "type", Attributes::Type::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-closed-limit-lift", Attributes::PhysicalClosedLimitLift::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-closed-limit-tilt", Attributes::PhysicalClosedLimitTilt::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-actuations-lift", Attributes::NumberOfActuationsLift::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-actuations-tilt", Attributes::NumberOfActuationsTilt::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::WindowCovering::Mode>>>(
Id, "mode", 0, UINT8_MAX, Attributes::Mode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "type", Attributes::Type::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-closed-limit-lift", Attributes::PhysicalClosedLimitLift::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-closed-limit-tilt", Attributes::PhysicalClosedLimitTilt::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-lift", Attributes::CurrentPositionLift::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-tilt", Attributes::CurrentPositionTilt::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-actuations-lift", Attributes::NumberOfActuationsLift::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-actuations-tilt", Attributes::NumberOfActuationsTilt::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "config-status", Attributes::ConfigStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-lift-percentage", Attributes::CurrentPositionLiftPercentage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-tilt-percentage", Attributes::CurrentPositionTiltPercentage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "operational-status", Attributes::OperationalStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "target-position-lift-percent100ths", Attributes::TargetPositionLiftPercent100ths::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "target-position-tilt-percent100ths", Attributes::TargetPositionTiltPercent100ths::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "end-product-type", Attributes::EndProductType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-lift-percent100ths", Attributes::CurrentPositionLiftPercent100ths::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-position-tilt-percent100ths", Attributes::CurrentPositionTiltPercent100ths::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "installed-open-limit-lift", Attributes::InstalledOpenLimitLift::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "installed-closed-limit-lift", Attributes::InstalledClosedLimitLift::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "installed-open-limit-tilt", Attributes::InstalledOpenLimitTilt::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "installed-closed-limit-tilt", Attributes::InstalledClosedLimitTilt::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "mode", Attributes::Mode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "safety-status", Attributes::SafetyStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBarrierControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BarrierControl;
const char * clusterName = "BarrierControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<BarrierControlBarrierControlGoToPercent>(credsIssuerConfig), //
make_unique<BarrierControlBarrierControlStop>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-open-events", Attributes::BarrierOpenEvents::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-close-events", Attributes::BarrierCloseEvents::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-command-open-events", Attributes::BarrierCommandOpenEvents::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-open-period", Attributes::BarrierOpenPeriod::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-close-period", Attributes::BarrierClosePeriod::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-open-events", 0, UINT16_MAX, Attributes::BarrierOpenEvents::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-close-events", 0, UINT16_MAX, Attributes::BarrierCloseEvents::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-command-open-events", 0, UINT16_MAX,
Attributes::BarrierCommandOpenEvents::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-command-close-events", 0, UINT16_MAX,
Attributes::BarrierCommandCloseEvents::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-open-period", 0, UINT16_MAX, Attributes::BarrierOpenPeriod::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "barrier-close-period", 0, UINT16_MAX, Attributes::BarrierClosePeriod::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-moving-state", Attributes::BarrierMovingState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-safety-status", Attributes::BarrierSafetyStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-capabilities", Attributes::BarrierCapabilities::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-open-events", Attributes::BarrierOpenEvents::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-close-events", Attributes::BarrierCloseEvents::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-command-open-events", Attributes::BarrierCommandOpenEvents::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-command-close-events", Attributes::BarrierCommandCloseEvents::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-open-period", Attributes::BarrierOpenPeriod::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-close-period", Attributes::BarrierClosePeriod::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "barrier-position", Attributes::BarrierPosition::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterPumpConfigurationAndControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::PumpConfigurationAndControl;
const char * clusterName = "PumpConfigurationAndControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power", Attributes::Power::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(
Id, "lifetime-running-hours", 0, UINT32_MAX, Attributes::LifetimeRunningHours::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(
Id, "lifetime-energy-consumed", 0, UINT32_MAX, Attributes::LifetimeEnergyConsumed::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::PumpConfigurationAndControl::PumpOperationMode>>(
Id, "operation-mode", 0, UINT8_MAX, Attributes::OperationMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::PumpConfigurationAndControl::PumpControlMode>>(
Id, "control-mode", 0, UINT8_MAX, Attributes::ControlMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-pressure", Attributes::MaxPressure::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-speed", Attributes::MaxSpeed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-flow", Attributes::MaxFlow::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-const-pressure", Attributes::MinConstPressure::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-const-pressure", Attributes::MaxConstPressure::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-comp-pressure", Attributes::MinCompPressure::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-comp-pressure", Attributes::MaxCompPressure::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-const-speed", Attributes::MinConstSpeed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-const-speed", Attributes::MaxConstSpeed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-const-flow", Attributes::MinConstFlow::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-const-flow", Attributes::MaxConstFlow::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-const-temp", Attributes::MinConstTemp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-const-temp", Attributes::MaxConstTemp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pump-status", Attributes::PumpStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "effective-operation-mode", Attributes::EffectiveOperationMode::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "effective-control-mode", Attributes::EffectiveControlMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "capacity", Attributes::Capacity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "speed", Attributes::Speed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lifetime-running-hours", Attributes::LifetimeRunningHours::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power", Attributes::Power::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lifetime-energy-consumed", Attributes::LifetimeEnergyConsumed::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "operation-mode", Attributes::OperationMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "control-mode", Attributes::ControlMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "supply-voltage-low", Events::SupplyVoltageLow::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "supply-voltage-high", Events::SupplyVoltageHigh::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "power-missing-phase", Events::PowerMissingPhase::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "system-pressure-low", Events::SystemPressureLow::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "system-pressure-high", Events::SystemPressureHigh::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "dry-running", Events::DryRunning::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "motor-temperature-high", Events::MotorTemperatureHigh::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "pump-motor-fatal-failure", Events::PumpMotorFatalFailure::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "electronic-temperature-high", Events::ElectronicTemperatureHigh::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "pump-blocked", Events::PumpBlocked::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "sensor-failure", Events::SensorFailure::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "electronic-non-fatal-failure", Events::ElectronicNonFatalFailure::Id,
credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "electronic-fatal-failure", Events::ElectronicFatalFailure::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "general-fault", Events::GeneralFault::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "leakage", Events::Leakage::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "air-detection", Events::AirDetection::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "turbine-operation", Events::TurbineOperation::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterThermostat(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Thermostat;
const char * clusterName = "Thermostat";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ThermostatSetpointRaiseLower>(credsIssuerConfig), //
make_unique<ThermostatSetWeeklySchedule>(credsIssuerConfig), //
make_unique<ThermostatGetWeeklySchedule>(credsIssuerConfig), //
make_unique<ThermostatClearWeeklySchedule>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "outdoor-temperature", Attributes::OutdoorTemperature::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "hvacsystem-type-configuration", Attributes::HVACSystemTypeConfiguration::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "local-temperature-calibration", Attributes::LocalTemperatureCalibration::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unoccupied-cooling-setpoint", Attributes::UnoccupiedCoolingSetpoint::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unoccupied-heating-setpoint", Attributes::UnoccupiedHeatingSetpoint::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "remote-sensing", Attributes::RemoteSensing::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "thermostat-running-mode", Attributes::ThermostatRunningMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "temperature-setpoint-hold", Attributes::TemperatureSetpointHold::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "temperature-setpoint-hold-duration", Attributes::TemperatureSetpointHoldDuration::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "thermostat-programming-operation-mode", Attributes::ThermostatProgrammingOperationMode::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "thermostat-running-state", Attributes::ThermostatRunningState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "setpoint-change-source", Attributes::SetpointChangeSource::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "setpoint-change-amount", Attributes::SetpointChangeAmount::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "setpoint-change-source-timestamp", Attributes::SetpointChangeSourceTimestamp::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "hvacsystem-type-configuration", 0, UINT8_MAX,
Attributes::HVACSystemTypeConfiguration::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int8_t>>(Id, "local-temperature-calibration", INT8_MIN, INT8_MAX,
Attributes::LocalTemperatureCalibration::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "occupied-cooling-setpoint", INT16_MIN, INT16_MAX,
Attributes::OccupiedCoolingSetpoint::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "occupied-heating-setpoint", INT16_MIN, INT16_MAX,
Attributes::OccupiedHeatingSetpoint::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "unoccupied-cooling-setpoint", INT16_MIN, INT16_MAX,
Attributes::UnoccupiedCoolingSetpoint::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "unoccupied-heating-setpoint", INT16_MIN, INT16_MAX,
Attributes::UnoccupiedHeatingSetpoint::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "min-heat-setpoint-limit", INT16_MIN, INT16_MAX,
Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "max-heat-setpoint-limit", INT16_MIN, INT16_MAX,
Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "min-cool-setpoint-limit", INT16_MIN, INT16_MAX,
Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "max-cool-setpoint-limit", INT16_MIN, INT16_MAX,
Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int8_t>>(Id, "min-setpoint-dead-band", INT8_MIN, INT8_MAX, Attributes::MinSetpointDeadBand::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "remote-sensing", 0, UINT8_MAX, Attributes::RemoteSensing::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::Thermostat::ThermostatControlSequence>>(
Id, "control-sequence-of-operation", 0, UINT8_MAX, Attributes::ControlSequenceOfOperation::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "system-mode", 0, UINT8_MAX, Attributes::SystemMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "temperature-setpoint-hold", 0, UINT8_MAX, Attributes::TemperatureSetpointHold::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(
Id, "temperature-setpoint-hold-duration", 0, UINT16_MAX, Attributes::TemperatureSetpointHoldDuration::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "thermostat-programming-operation-mode", 0, UINT8_MAX,
Attributes::ThermostatProgrammingOperationMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "occupied-setback", 0, UINT8_MAX,
Attributes::OccupiedSetback::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "unoccupied-setback", 0, UINT8_MAX, Attributes::UnoccupiedSetback::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "emergency-heat-delta", 0, UINT8_MAX, Attributes::EmergencyHeatDelta::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "actype", 0, UINT8_MAX, Attributes::ACType::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "accapacity", 0, UINT16_MAX, Attributes::ACCapacity::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "acrefrigerant-type", 0, UINT8_MAX, Attributes::ACRefrigerantType::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "accompressor-type", 0, UINT8_MAX, Attributes::ACCompressorType::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "acerror-code", 0, UINT32_MAX, Attributes::ACErrorCode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "aclouver-position", 0, UINT8_MAX, Attributes::ACLouverPosition::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "accapacityformat", 0, UINT8_MAX, Attributes::ACCapacityformat::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "local-temperature", Attributes::LocalTemperature::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "outdoor-temperature", Attributes::OutdoorTemperature::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "abs-min-heat-setpoint-limit", Attributes::AbsMinHeatSetpointLimit::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "abs-max-heat-setpoint-limit", Attributes::AbsMaxHeatSetpointLimit::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "abs-min-cool-setpoint-limit", Attributes::AbsMinCoolSetpointLimit::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "abs-max-cool-setpoint-limit", Attributes::AbsMaxCoolSetpointLimit::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "picooling-demand", Attributes::PICoolingDemand::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "piheating-demand", Attributes::PIHeatingDemand::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "hvacsystem-type-configuration", Attributes::HVACSystemTypeConfiguration::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "local-temperature-calibration", Attributes::LocalTemperatureCalibration::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupied-cooling-setpoint", Attributes::OccupiedCoolingSetpoint::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupied-heating-setpoint", Attributes::OccupiedHeatingSetpoint::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unoccupied-cooling-setpoint", Attributes::UnoccupiedCoolingSetpoint::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unoccupied-heating-setpoint", Attributes::UnoccupiedHeatingSetpoint::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-heat-setpoint-limit", Attributes::MinHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-heat-setpoint-limit", Attributes::MaxHeatSetpointLimit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-cool-setpoint-limit", Attributes::MinCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-cool-setpoint-limit", Attributes::MaxCoolSetpointLimit::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-setpoint-dead-band", Attributes::MinSetpointDeadBand::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "remote-sensing", Attributes::RemoteSensing::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "control-sequence-of-operation", Attributes::ControlSequenceOfOperation::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "system-mode", Attributes::SystemMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "thermostat-running-mode", Attributes::ThermostatRunningMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-of-week", Attributes::StartOfWeek::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-weekly-transitions", Attributes::NumberOfWeeklyTransitions::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-daily-transitions", Attributes::NumberOfDailyTransitions::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "temperature-setpoint-hold", Attributes::TemperatureSetpointHold::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "temperature-setpoint-hold-duration", Attributes::TemperatureSetpointHoldDuration::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "thermostat-programming-operation-mode",
Attributes::ThermostatProgrammingOperationMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "thermostat-running-state", Attributes::ThermostatRunningState::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "setpoint-change-source", Attributes::SetpointChangeSource::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "setpoint-change-amount", Attributes::SetpointChangeAmount::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "setpoint-change-source-timestamp", Attributes::SetpointChangeSourceTimestamp::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupied-setback", Attributes::OccupiedSetback::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupied-setback-min", Attributes::OccupiedSetbackMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupied-setback-max", Attributes::OccupiedSetbackMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unoccupied-setback", Attributes::UnoccupiedSetback::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unoccupied-setback-min", Attributes::UnoccupiedSetbackMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unoccupied-setback-max", Attributes::UnoccupiedSetbackMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "emergency-heat-delta", Attributes::EmergencyHeatDelta::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "actype", Attributes::ACType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accapacity", Attributes::ACCapacity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "acrefrigerant-type", Attributes::ACRefrigerantType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accompressor-type", Attributes::ACCompressorType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "acerror-code", Attributes::ACErrorCode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "aclouver-position", Attributes::ACLouverPosition::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accoil-temperature", Attributes::ACCoilTemperature::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accapacityformat", Attributes::ACCapacityformat::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::FanControl;
const char * clusterName = "FanControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "wind-setting", Attributes::WindSetting::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::FanControl::FanModeType>>(Id, "fan-mode", 0, UINT8_MAX,
Attributes::FanMode::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::FanControl::FanModeSequenceType>>(
Id, "fan-mode-sequence", 0, UINT8_MAX, Attributes::FanModeSequence::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "percent-setting", 0, UINT8_MAX,
Attributes::PercentSetting::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "speed-setting", 0, UINT8_MAX,
Attributes::SpeedSetting::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "rock-setting", 0, UINT8_MAX, Attributes::RockSetting::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "wind-setting", 0, UINT8_MAX, Attributes::WindSetting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "fan-mode", Attributes::FanMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "fan-mode-sequence", Attributes::FanModeSequence::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "percent-setting", Attributes::PercentSetting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "percent-current", Attributes::PercentCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "speed-max", Attributes::SpeedMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "speed-setting", Attributes::SpeedSetting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "speed-current", Attributes::SpeedCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rock-support", Attributes::RockSupport::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rock-setting", Attributes::RockSetting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wind-support", Attributes::WindSupport::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "wind-setting", Attributes::WindSetting::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterThermostatUserInterfaceConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ThermostatUserInterfaceConfiguration;
const char * clusterName = "ThermostatUserInterfaceConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "temperature-display-mode", 0, UINT8_MAX, Attributes::TemperatureDisplayMode::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "keypad-lockout", 0, UINT8_MAX, Attributes::KeypadLockout::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "schedule-programming-visibility", 0, UINT8_MAX,
Attributes::ScheduleProgrammingVisibility::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "temperature-display-mode", Attributes::TemperatureDisplayMode::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "keypad-lockout", Attributes::KeypadLockout::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "schedule-programming-visibility", Attributes::ScheduleProgrammingVisibility::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterColorControl(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ColorControl;
const char * clusterName = "ColorControl";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ColorControlMoveToHue>(credsIssuerConfig), //
make_unique<ColorControlMoveHue>(credsIssuerConfig), //
make_unique<ColorControlStepHue>(credsIssuerConfig), //
make_unique<ColorControlMoveToSaturation>(credsIssuerConfig), //
make_unique<ColorControlMoveSaturation>(credsIssuerConfig), //
make_unique<ColorControlStepSaturation>(credsIssuerConfig), //
make_unique<ColorControlMoveToHueAndSaturation>(credsIssuerConfig), //
make_unique<ColorControlMoveToColor>(credsIssuerConfig), //
make_unique<ColorControlMoveColor>(credsIssuerConfig), //
make_unique<ColorControlStepColor>(credsIssuerConfig), //
make_unique<ColorControlMoveToColorTemperature>(credsIssuerConfig), //
make_unique<ColorControlEnhancedMoveToHue>(credsIssuerConfig), //
make_unique<ColorControlEnhancedMoveHue>(credsIssuerConfig), //
make_unique<ColorControlEnhancedStepHue>(credsIssuerConfig), //
make_unique<ColorControlEnhancedMoveToHueAndSaturation>(credsIssuerConfig), //
make_unique<ColorControlColorLoopSet>(credsIssuerConfig), //
make_unique<ColorControlStopMoveStep>(credsIssuerConfig), //
make_unique<ColorControlMoveColorTemperature>(credsIssuerConfig), //
make_unique<ColorControlStepColorTemperature>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "options", Attributes::Options::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-temp-physical-min-mireds", Attributes::ColorTempPhysicalMinMireds::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "couple-color-temp-to-level-min-mireds", Attributes::CoupleColorTempToLevelMinMireds::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "options", 0, UINT8_MAX, Attributes::Options::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "white-point-x", 0, UINT16_MAX, Attributes::WhitePointX::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "white-point-y", 0, UINT16_MAX, Attributes::WhitePointY::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-rx", 0, UINT16_MAX, Attributes::ColorPointRX::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-ry", 0, UINT16_MAX, Attributes::ColorPointRY::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "color-point-rintensity", 0, UINT8_MAX, Attributes::ColorPointRIntensity::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-gx", 0, UINT16_MAX, Attributes::ColorPointGX::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-gy", 0, UINT16_MAX, Attributes::ColorPointGY::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "color-point-gintensity", 0, UINT8_MAX, Attributes::ColorPointGIntensity::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-bx", 0, UINT16_MAX, Attributes::ColorPointBX::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "color-point-by", 0, UINT16_MAX, Attributes::ColorPointBY::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "color-point-bintensity", 0, UINT8_MAX, Attributes::ColorPointBIntensity::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "start-up-color-temperature-mireds", 0, UINT16_MAX,
Attributes::StartUpColorTemperatureMireds::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-hue", Attributes::CurrentHue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-saturation", Attributes::CurrentSaturation::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "remaining-time", Attributes::RemainingTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-x", Attributes::CurrentX::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-y", Attributes::CurrentY::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "drift-compensation", Attributes::DriftCompensation::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "compensation-text", Attributes::CompensationText::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-temperature", Attributes::ColorTemperature::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-mode", Attributes::ColorMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "options", Attributes::Options::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "number-of-primaries", Attributes::NumberOfPrimaries::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary1x", Attributes::Primary1X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary1y", Attributes::Primary1Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary1intensity", Attributes::Primary1Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary2x", Attributes::Primary2X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary2y", Attributes::Primary2Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary2intensity", Attributes::Primary2Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary3x", Attributes::Primary3X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary3y", Attributes::Primary3Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary3intensity", Attributes::Primary3Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary4x", Attributes::Primary4X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary4y", Attributes::Primary4Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary4intensity", Attributes::Primary4Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary5x", Attributes::Primary5X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary5y", Attributes::Primary5Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary5intensity", Attributes::Primary5Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary6x", Attributes::Primary6X::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary6y", Attributes::Primary6Y::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "primary6intensity", Attributes::Primary6Intensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "white-point-x", Attributes::WhitePointX::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "white-point-y", Attributes::WhitePointY::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-rx", Attributes::ColorPointRX::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-ry", Attributes::ColorPointRY::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-rintensity", Attributes::ColorPointRIntensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-gx", Attributes::ColorPointGX::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-gy", Attributes::ColorPointGY::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-gintensity", Attributes::ColorPointGIntensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-bx", Attributes::ColorPointBX::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-by", Attributes::ColorPointBY::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-point-bintensity", Attributes::ColorPointBIntensity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enhanced-current-hue", Attributes::EnhancedCurrentHue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enhanced-color-mode", Attributes::EnhancedColorMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-loop-active", Attributes::ColorLoopActive::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-loop-direction", Attributes::ColorLoopDirection::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-loop-time", Attributes::ColorLoopTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-loop-start-enhanced-hue", Attributes::ColorLoopStartEnhancedHue::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-loop-stored-enhanced-hue", Attributes::ColorLoopStoredEnhancedHue::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-capabilities", Attributes::ColorCapabilities::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-temp-physical-min-mireds", Attributes::ColorTempPhysicalMinMireds::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "color-temp-physical-max-mireds", Attributes::ColorTempPhysicalMaxMireds::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "couple-color-temp-to-level-min-mireds",
Attributes::CoupleColorTempToLevelMinMireds::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-up-color-temperature-mireds", Attributes::StartUpColorTemperatureMireds::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterBallastConfiguration(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::BallastConfiguration;
const char * clusterName = "BallastConfiguration";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-min-level", Attributes::PhysicalMinLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-max-level", Attributes::PhysicalMaxLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ballast-status", Attributes::BallastStatus::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-quantity", Attributes::LampQuantity::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-type", Attributes::LampType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-manufacturer", Attributes::LampManufacturer::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-rated-hours", Attributes::LampRatedHours::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-burn-hours", Attributes::LampBurnHours::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-alarm-mode", Attributes::LampAlarmMode::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lamp-burn-hours-trip-point", Attributes::LampBurnHoursTripPoint::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "min-level", 0, UINT8_MAX, Attributes::MinLevel::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "max-level", 0, UINT8_MAX, Attributes::MaxLevel::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "intrinsic-balance-factor", 0, UINT8_MAX, Attributes::IntrinsicBalanceFactor::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(
Id, "ballast-factor-adjustment", 0, UINT8_MAX, Attributes::BallastFactorAdjustment::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "lamp-type", Attributes::LampType::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "lamp-manufacturer", Attributes::LampManufacturer::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "lamp-rated-hours", 0, UINT32_MAX,
Attributes::LampRatedHours::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "lamp-burn-hours", 0, UINT32_MAX,
Attributes::LampBurnHours::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "lamp-alarm-mode", 0, UINT8_MAX, Attributes::LampAlarmMode::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(
Id, "lamp-burn-hours-trip-point", 0, UINT32_MAX, Attributes::LampBurnHoursTripPoint::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-min-level", Attributes::PhysicalMinLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-max-level", Attributes::PhysicalMaxLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ballast-status", Attributes::BallastStatus::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-level", Attributes::MinLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-level", Attributes::MaxLevel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "intrinsic-balance-factor", Attributes::IntrinsicBalanceFactor::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ballast-factor-adjustment", Attributes::BallastFactorAdjustment::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-quantity", Attributes::LampQuantity::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-type", Attributes::LampType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-manufacturer", Attributes::LampManufacturer::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-rated-hours", Attributes::LampRatedHours::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-burn-hours", Attributes::LampBurnHours::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-alarm-mode", Attributes::LampAlarmMode::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lamp-burn-hours-trip-point", Attributes::LampBurnHoursTripPoint::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterIlluminanceMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::IlluminanceMeasurement;
const char * clusterName = "IlluminanceMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "light-sensor-type", Attributes::LightSensorType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterTemperatureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::TemperatureMeasurement;
const char * clusterName = "TemperatureMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterPressureMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::PressureMeasurement;
const char * clusterName = "PressureMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scaled-value", Attributes::ScaledValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-scaled-value", Attributes::MinScaledValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-scaled-value", Attributes::MaxScaledValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scaled-tolerance", Attributes::ScaledTolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "scale", Attributes::Scale::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scaled-value", Attributes::ScaledValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-scaled-value", Attributes::MinScaledValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-scaled-value", Attributes::MaxScaledValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scaled-tolerance", Attributes::ScaledTolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "scale", Attributes::Scale::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterFlowMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::FlowMeasurement;
const char * clusterName = "FlowMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterRelativeHumidityMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::RelativeHumidityMeasurement;
const char * clusterName = "RelativeHumidityMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-value", Attributes::MeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "min-measured-value", Attributes::MinMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "max-measured-value", Attributes::MaxMeasuredValue::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "tolerance", Attributes::Tolerance::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterOccupancySensing(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::OccupancySensing;
const char * clusterName = "OccupancySensing";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pir-occupied-to-unoccupied-delay", Attributes::PirOccupiedToUnoccupiedDelay::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pir-unoccupied-to-occupied-delay", Attributes::PirUnoccupiedToOccupiedDelay::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "pir-unoccupied-to-occupied-threshold", Attributes::PirUnoccupiedToOccupiedThreshold::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ultrasonic-occupied-to-unoccupied-delay",
Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ultrasonic-unoccupied-to-occupied-delay",
Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ultrasonic-unoccupied-to-occupied-threshold",
Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-contact-occupied-to-unoccupied-delay",
Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-contact-unoccupied-to-occupied-delay",
Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "physical-contact-unoccupied-to-occupied-threshold",
Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "pir-occupied-to-unoccupied-delay", 0, UINT16_MAX,
Attributes::PirOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "pir-unoccupied-to-occupied-delay", 0, UINT16_MAX,
Attributes::PirUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "pir-unoccupied-to-occupied-threshold", 0, UINT8_MAX,
Attributes::PirUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "ultrasonic-occupied-to-unoccupied-delay", 0, UINT16_MAX,
Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "ultrasonic-unoccupied-to-occupied-delay", 0, UINT16_MAX,
Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "ultrasonic-unoccupied-to-occupied-threshold", 0, UINT8_MAX,
Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "physical-contact-occupied-to-unoccupied-delay", 0, UINT16_MAX,
Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "physical-contact-unoccupied-to-occupied-delay", 0, UINT16_MAX,
Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "physical-contact-unoccupied-to-occupied-threshold", 0, UINT8_MAX,
Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupancy", Attributes::Occupancy::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupancy-sensor-type", Attributes::OccupancySensorType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "occupancy-sensor-type-bitmap", Attributes::OccupancySensorTypeBitmap::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pir-occupied-to-unoccupied-delay", Attributes::PirOccupiedToUnoccupiedDelay::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pir-unoccupied-to-occupied-delay", Attributes::PirUnoccupiedToOccupiedDelay::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "pir-unoccupied-to-occupied-threshold",
Attributes::PirUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ultrasonic-occupied-to-unoccupied-delay",
Attributes::UltrasonicOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ultrasonic-unoccupied-to-occupied-delay",
Attributes::UltrasonicUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ultrasonic-unoccupied-to-occupied-threshold",
Attributes::UltrasonicUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-contact-occupied-to-unoccupied-delay",
Attributes::PhysicalContactOccupiedToUnoccupiedDelay::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-contact-unoccupied-to-occupied-delay",
Attributes::PhysicalContactUnoccupiedToOccupiedDelay::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "physical-contact-unoccupied-to-occupied-threshold",
Attributes::PhysicalContactUnoccupiedToOccupiedThreshold::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterWakeOnLan(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::WakeOnLan;
const char * clusterName = "WakeOnLan";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "macaddress", Attributes::MACAddress::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterChannel(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::Channel;
const char * clusterName = "Channel";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ChannelChangeChannel>(credsIssuerConfig), //
make_unique<ChannelChangeChannelByNumber>(credsIssuerConfig), //
make_unique<ChannelSkipChannel>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "channel-list", Attributes::ChannelList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "lineup", Attributes::Lineup::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-channel", Attributes::CurrentChannel::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterTargetNavigator(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::TargetNavigator;
const char * clusterName = "TargetNavigator";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<TargetNavigatorNavigateTarget>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-target", Attributes::CurrentTarget::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "target-list", Attributes::TargetList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-target", Attributes::CurrentTarget::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterMediaPlayback(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::MediaPlayback;
const char * clusterName = "MediaPlayback";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<MediaPlaybackPlay>(credsIssuerConfig), //
make_unique<MediaPlaybackPause>(credsIssuerConfig), //
make_unique<MediaPlaybackStopPlayback>(credsIssuerConfig), //
make_unique<MediaPlaybackStartOver>(credsIssuerConfig), //
make_unique<MediaPlaybackPrevious>(credsIssuerConfig), //
make_unique<MediaPlaybackNext>(credsIssuerConfig), //
make_unique<MediaPlaybackRewind>(credsIssuerConfig), //
make_unique<MediaPlaybackFastForward>(credsIssuerConfig), //
make_unique<MediaPlaybackSkipForward>(credsIssuerConfig), //
make_unique<MediaPlaybackSkipBackward>(credsIssuerConfig), //
make_unique<MediaPlaybackSeek>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-state", Attributes::CurrentState::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "start-time", Attributes::StartTime::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "duration", Attributes::Duration::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "sampled-position", Attributes::SampledPosition::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "playback-speed", Attributes::PlaybackSpeed::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "seek-range-end", Attributes::SeekRangeEnd::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "seek-range-start", Attributes::SeekRangeStart::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterMediaInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::MediaInput;
const char * clusterName = "MediaInput";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<MediaInputSelectInput>(credsIssuerConfig), //
make_unique<MediaInputShowInputStatus>(credsIssuerConfig), //
make_unique<MediaInputHideInputStatus>(credsIssuerConfig), //
make_unique<MediaInputRenameInput>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-input", Attributes::CurrentInput::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "input-list", Attributes::InputList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-input", Attributes::CurrentInput::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterLowPower(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::LowPower;
const char * clusterName = "LowPower";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<LowPowerSleep>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterKeypadInput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::KeypadInput;
const char * clusterName = "KeypadInput";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<KeypadInputSendKey>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterContentLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ContentLauncher;
const char * clusterName = "ContentLauncher";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ContentLauncherLaunchContent>(credsIssuerConfig), //
make_unique<ContentLauncherLaunchURL>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "supported-streaming-protocols", 0, UINT32_MAX,
Attributes::SupportedStreamingProtocols::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accept-header", Attributes::AcceptHeader::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "supported-streaming-protocols", Attributes::SupportedStreamingProtocols::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterAudioOutput(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::AudioOutput;
const char * clusterName = "AudioOutput";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<AudioOutputSelectOutput>(credsIssuerConfig), //
make_unique<AudioOutputRenameOutput>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-output", Attributes::CurrentOutput::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "output-list", Attributes::OutputList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-output", Attributes::CurrentOutput::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterApplicationLauncher(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ApplicationLauncher;
const char * clusterName = "ApplicationLauncher";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ApplicationLauncherLaunchApp>(credsIssuerConfig), //
make_unique<ApplicationLauncherStopApp>(credsIssuerConfig), //
make_unique<ApplicationLauncherHideApp>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-app", Attributes::CurrentApp::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::Nullable<chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEP::Type>>>(
Id, "current-app", Attributes::CurrentApp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "catalog-list", Attributes::CatalogList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-app", Attributes::CurrentApp::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterApplicationBasic(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ApplicationBasic;
const char * clusterName = "ApplicationBasic";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "application", Attributes::Application::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "status", Attributes::Status::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-name", Attributes::VendorName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-id", Attributes::VendorID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "application-name", Attributes::ApplicationName::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "product-id", Attributes::ProductID::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "application", Attributes::Application::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "status", Attributes::Status::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "application-version", Attributes::ApplicationVersion::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "allowed-vendor-list", Attributes::AllowedVendorList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterAccountLogin(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::AccountLogin;
const char * clusterName = "AccountLogin";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<AccountLoginGetSetupPIN>(credsIssuerConfig), //
make_unique<AccountLoginLogin>(credsIssuerConfig), //
make_unique<AccountLoginLogout>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterElectricalMeasurement(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::ElectricalMeasurement;
const char * clusterName = "ElectricalMeasurement";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<ElectricalMeasurementGetProfileInfoCommand>(credsIssuerConfig), //
make_unique<ElectricalMeasurementGetMeasurementProfileCommand>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-voltage", Attributes::DcVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-voltage-min", Attributes::DcVoltageMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-voltage-max", Attributes::DcVoltageMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-current", Attributes::DcCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-current-min", Attributes::DcCurrentMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-current-max", Attributes::DcCurrentMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-power", Attributes::DcPower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-power-min", Attributes::DcPowerMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-power-max", Attributes::DcPowerMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-voltage-multiplier", Attributes::DcVoltageMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-voltage-divisor", Attributes::DcVoltageDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-current-multiplier", Attributes::DcCurrentMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-current-divisor", Attributes::DcCurrentDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-power-multiplier", Attributes::DcPowerMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "dc-power-divisor", Attributes::DcPowerDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-frequency", Attributes::AcFrequency::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-frequency-min", Attributes::AcFrequencyMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-frequency-max", Attributes::AcFrequencyMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "neutral-current", Attributes::NeutralCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "total-reactive-power", Attributes::TotalReactivePower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "total-apparent-power", Attributes::TotalApparentPower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured1st-harmonic-current", Attributes::Measured1stHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured3rd-harmonic-current", Attributes::Measured3rdHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured5th-harmonic-current", Attributes::Measured5thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured7th-harmonic-current", Attributes::Measured7thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured9th-harmonic-current", Attributes::Measured9thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured11th-harmonic-current", Attributes::Measured11thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase1st-harmonic-current", Attributes::MeasuredPhase1stHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase3rd-harmonic-current", Attributes::MeasuredPhase3rdHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase5th-harmonic-current", Attributes::MeasuredPhase5thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase7th-harmonic-current", Attributes::MeasuredPhase7thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase9th-harmonic-current", Attributes::MeasuredPhase9thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "measured-phase11th-harmonic-current", Attributes::MeasuredPhase11thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-frequency-multiplier", Attributes::AcFrequencyMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-frequency-divisor", Attributes::AcFrequencyDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power-multiplier", Attributes::PowerMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power-divisor", Attributes::PowerDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "harmonic-current-multiplier", Attributes::HarmonicCurrentMultiplier::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "phase-harmonic-current-multiplier", Attributes::PhaseHarmonicCurrentMultiplier::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "instantaneous-voltage", Attributes::InstantaneousVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "instantaneous-line-current", Attributes::InstantaneousLineCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "instantaneous-active-current", Attributes::InstantaneousActiveCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "instantaneous-reactive-current", Attributes::InstantaneousReactiveCurrent::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "instantaneous-power", Attributes::InstantaneousPower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reactive-power", Attributes::ReactivePower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "apparent-power", Attributes::ApparentPower::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power-factor", Attributes::PowerFactor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-voltage-measurement-period", Attributes::AverageRmsVoltageMeasurementPeriod::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-under-voltage-counter", Attributes::AverageRmsUnderVoltageCounter::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-over-voltage-period", Attributes::RmsExtremeOverVoltagePeriod::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-under-voltage-period", Attributes::RmsExtremeUnderVoltagePeriod::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-sag-period", Attributes::RmsVoltageSagPeriod::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-swell-period", Attributes::RmsVoltageSwellPeriod::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-voltage-multiplier", Attributes::AcVoltageMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-voltage-divisor", Attributes::AcVoltageDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-current-multiplier", Attributes::AcCurrentMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-current-divisor", Attributes::AcCurrentDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-power-multiplier", Attributes::AcPowerMultiplier::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-power-divisor", Attributes::AcPowerDivisor::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "overload-alarms-mask", Attributes::OverloadAlarmsMask::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "voltage-overload", Attributes::VoltageOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "current-overload", Attributes::CurrentOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-overload-alarms-mask", Attributes::AcOverloadAlarmsMask::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-voltage-overload", Attributes::AcVoltageOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-current-overload", Attributes::AcCurrentOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-active-power-overload", Attributes::AcActivePowerOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "ac-reactive-power-overload", Attributes::AcReactivePowerOverload::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-over-voltage", Attributes::AverageRmsOverVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-under-voltage", Attributes::AverageRmsUnderVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-over-voltage", Attributes::RmsExtremeOverVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-under-voltage", Attributes::RmsExtremeUnderVoltage::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-sag", Attributes::RmsVoltageSag::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-swell", Attributes::RmsVoltageSwell::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "line-current-phase-b", Attributes::LineCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-current-phase-b", Attributes::ActiveCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reactive-current-phase-b", Attributes::ReactiveCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-phase-b", Attributes::RmsVoltagePhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-min-phase-b", Attributes::RmsVoltageMinPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-max-phase-b", Attributes::RmsVoltageMaxPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-phase-b", Attributes::RmsCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-min-phase-b", Attributes::RmsCurrentMinPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-max-phase-b", Attributes::RmsCurrentMaxPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-phase-b", Attributes::ActivePowerPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-min-phase-b", Attributes::ActivePowerMinPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-max-phase-b", Attributes::ActivePowerMaxPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reactive-power-phase-b", Attributes::ReactivePowerPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "apparent-power-phase-b", Attributes::ApparentPowerPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power-factor-phase-b", Attributes::PowerFactorPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-voltage-measurement-period-phase-b",
Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-over-voltage-counter-phase-b",
Attributes::AverageRmsOverVoltageCounterPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-under-voltage-counter-phase-b",
Attributes::AverageRmsUnderVoltageCounterPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-over-voltage-period-phase-b", Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-under-voltage-period-phase-b",
Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-sag-period-phase-b", Attributes::RmsVoltageSagPeriodPhaseB::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-swell-period-phase-b", Attributes::RmsVoltageSwellPeriodPhaseB::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "line-current-phase-c", Attributes::LineCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-current-phase-c", Attributes::ActiveCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reactive-current-phase-c", Attributes::ReactiveCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-phase-c", Attributes::RmsVoltagePhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-min-phase-c", Attributes::RmsVoltageMinPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-max-phase-c", Attributes::RmsVoltageMaxPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-phase-c", Attributes::RmsCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-min-phase-c", Attributes::RmsCurrentMinPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-current-max-phase-c", Attributes::RmsCurrentMaxPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-phase-c", Attributes::ActivePowerPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-min-phase-c", Attributes::ActivePowerMinPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "active-power-max-phase-c", Attributes::ActivePowerMaxPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "reactive-power-phase-c", Attributes::ReactivePowerPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "apparent-power-phase-c", Attributes::ApparentPowerPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "power-factor-phase-c", Attributes::PowerFactorPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-voltage-measurement-period-phase-c",
Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-over-voltage-counter-phase-c",
Attributes::AverageRmsOverVoltageCounterPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "average-rms-under-voltage-counter-phase-c",
Attributes::AverageRmsUnderVoltageCounterPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-over-voltage-period-phase-c", Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-extreme-under-voltage-period-phase-c",
Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-sag-period-phase-c", Attributes::RmsVoltageSagPeriodPhaseC::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "rms-voltage-swell-period-phase-c", Attributes::RmsVoltageSwellPeriodPhaseC::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "average-rms-voltage-measurement-period", 0, UINT16_MAX,
Attributes::AverageRmsVoltageMeasurementPeriod::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "average-rms-under-voltage-counter", 0, UINT16_MAX,
Attributes::AverageRmsUnderVoltageCounter::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "rms-extreme-over-voltage-period", 0, UINT16_MAX,
Attributes::RmsExtremeOverVoltagePeriod::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "rms-extreme-under-voltage-period", 0, UINT16_MAX,
Attributes::RmsExtremeUnderVoltagePeriod::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "rms-voltage-sag-period", 0, UINT16_MAX, Attributes::RmsVoltageSagPeriod::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "rms-voltage-swell-period", 0, UINT16_MAX, Attributes::RmsVoltageSwellPeriod::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "overload-alarms-mask", 0, UINT8_MAX, Attributes::OverloadAlarmsMask::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "ac-overload-alarms-mask", 0, UINT16_MAX, Attributes::AcOverloadAlarmsMask::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measurement-type", Attributes::MeasurementType::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-voltage", Attributes::DcVoltage::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-voltage-min", Attributes::DcVoltageMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-voltage-max", Attributes::DcVoltageMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-current", Attributes::DcCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-current-min", Attributes::DcCurrentMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-current-max", Attributes::DcCurrentMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-power", Attributes::DcPower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-power-min", Attributes::DcPowerMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-power-max", Attributes::DcPowerMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-voltage-multiplier", Attributes::DcVoltageMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-voltage-divisor", Attributes::DcVoltageDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-current-multiplier", Attributes::DcCurrentMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-current-divisor", Attributes::DcCurrentDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-power-multiplier", Attributes::DcPowerMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "dc-power-divisor", Attributes::DcPowerDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-frequency", Attributes::AcFrequency::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-frequency-min", Attributes::AcFrequencyMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-frequency-max", Attributes::AcFrequencyMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "neutral-current", Attributes::NeutralCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "total-active-power", Attributes::TotalActivePower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "total-reactive-power", Attributes::TotalReactivePower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "total-apparent-power", Attributes::TotalApparentPower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured1st-harmonic-current", Attributes::Measured1stHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured3rd-harmonic-current", Attributes::Measured3rdHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured5th-harmonic-current", Attributes::Measured5thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured7th-harmonic-current", Attributes::Measured7thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured9th-harmonic-current", Attributes::Measured9thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured11th-harmonic-current", Attributes::Measured11thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase1st-harmonic-current", Attributes::MeasuredPhase1stHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase3rd-harmonic-current", Attributes::MeasuredPhase3rdHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase5th-harmonic-current", Attributes::MeasuredPhase5thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase7th-harmonic-current", Attributes::MeasuredPhase7thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase9th-harmonic-current", Attributes::MeasuredPhase9thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "measured-phase11th-harmonic-current", Attributes::MeasuredPhase11thHarmonicCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-frequency-multiplier", Attributes::AcFrequencyMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-frequency-divisor", Attributes::AcFrequencyDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power-multiplier", Attributes::PowerMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power-divisor", Attributes::PowerDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "harmonic-current-multiplier", Attributes::HarmonicCurrentMultiplier::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "phase-harmonic-current-multiplier", Attributes::PhaseHarmonicCurrentMultiplier::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "instantaneous-voltage", Attributes::InstantaneousVoltage::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "instantaneous-line-current", Attributes::InstantaneousLineCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "instantaneous-active-current", Attributes::InstantaneousActiveCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "instantaneous-reactive-current", Attributes::InstantaneousReactiveCurrent::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "instantaneous-power", Attributes::InstantaneousPower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage", Attributes::RmsVoltage::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-min", Attributes::RmsVoltageMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-max", Attributes::RmsVoltageMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current", Attributes::RmsCurrent::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-min", Attributes::RmsCurrentMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-max", Attributes::RmsCurrentMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power", Attributes::ActivePower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-min", Attributes::ActivePowerMin::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-max", Attributes::ActivePowerMax::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reactive-power", Attributes::ReactivePower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "apparent-power", Attributes::ApparentPower::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power-factor", Attributes::PowerFactor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-voltage-measurement-period",
Attributes::AverageRmsVoltageMeasurementPeriod::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-under-voltage-counter", Attributes::AverageRmsUnderVoltageCounter::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-over-voltage-period", Attributes::RmsExtremeOverVoltagePeriod::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-under-voltage-period", Attributes::RmsExtremeUnderVoltagePeriod::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-sag-period", Attributes::RmsVoltageSagPeriod::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-swell-period", Attributes::RmsVoltageSwellPeriod::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-voltage-multiplier", Attributes::AcVoltageMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-voltage-divisor", Attributes::AcVoltageDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-current-multiplier", Attributes::AcCurrentMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-current-divisor", Attributes::AcCurrentDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-power-multiplier", Attributes::AcPowerMultiplier::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-power-divisor", Attributes::AcPowerDivisor::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "overload-alarms-mask", Attributes::OverloadAlarmsMask::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "voltage-overload", Attributes::VoltageOverload::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "current-overload", Attributes::CurrentOverload::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-overload-alarms-mask", Attributes::AcOverloadAlarmsMask::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-voltage-overload", Attributes::AcVoltageOverload::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-current-overload", Attributes::AcCurrentOverload::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-active-power-overload", Attributes::AcActivePowerOverload::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "ac-reactive-power-overload", Attributes::AcReactivePowerOverload::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-over-voltage", Attributes::AverageRmsOverVoltage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-under-voltage", Attributes::AverageRmsUnderVoltage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-over-voltage", Attributes::RmsExtremeOverVoltage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-under-voltage", Attributes::RmsExtremeUnderVoltage::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-sag", Attributes::RmsVoltageSag::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-swell", Attributes::RmsVoltageSwell::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "line-current-phase-b", Attributes::LineCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-current-phase-b", Attributes::ActiveCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reactive-current-phase-b", Attributes::ReactiveCurrentPhaseB::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-phase-b", Attributes::RmsVoltagePhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-min-phase-b", Attributes::RmsVoltageMinPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-max-phase-b", Attributes::RmsVoltageMaxPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-phase-b", Attributes::RmsCurrentPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-min-phase-b", Attributes::RmsCurrentMinPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-max-phase-b", Attributes::RmsCurrentMaxPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-phase-b", Attributes::ActivePowerPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-min-phase-b", Attributes::ActivePowerMinPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-max-phase-b", Attributes::ActivePowerMaxPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reactive-power-phase-b", Attributes::ReactivePowerPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "apparent-power-phase-b", Attributes::ApparentPowerPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power-factor-phase-b", Attributes::PowerFactorPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-voltage-measurement-period-phase-b",
Attributes::AverageRmsVoltageMeasurementPeriodPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-over-voltage-counter-phase-b",
Attributes::AverageRmsOverVoltageCounterPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-under-voltage-counter-phase-b",
Attributes::AverageRmsUnderVoltageCounterPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-over-voltage-period-phase-b",
Attributes::RmsExtremeOverVoltagePeriodPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-under-voltage-period-phase-b",
Attributes::RmsExtremeUnderVoltagePeriodPhaseB::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-sag-period-phase-b", Attributes::RmsVoltageSagPeriodPhaseB::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-swell-period-phase-b", Attributes::RmsVoltageSwellPeriodPhaseB::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "line-current-phase-c", Attributes::LineCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-current-phase-c", Attributes::ActiveCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reactive-current-phase-c", Attributes::ReactiveCurrentPhaseC::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-phase-c", Attributes::RmsVoltagePhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-min-phase-c", Attributes::RmsVoltageMinPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-max-phase-c", Attributes::RmsVoltageMaxPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-phase-c", Attributes::RmsCurrentPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-min-phase-c", Attributes::RmsCurrentMinPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-current-max-phase-c", Attributes::RmsCurrentMaxPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-phase-c", Attributes::ActivePowerPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-min-phase-c", Attributes::ActivePowerMinPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "active-power-max-phase-c", Attributes::ActivePowerMaxPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "reactive-power-phase-c", Attributes::ReactivePowerPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "apparent-power-phase-c", Attributes::ApparentPowerPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "power-factor-phase-c", Attributes::PowerFactorPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-voltage-measurement-period-phase-c",
Attributes::AverageRmsVoltageMeasurementPeriodPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-over-voltage-counter-phase-c",
Attributes::AverageRmsOverVoltageCounterPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "average-rms-under-voltage-counter-phase-c",
Attributes::AverageRmsUnderVoltageCounterPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-over-voltage-period-phase-c",
Attributes::RmsExtremeOverVoltagePeriodPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-extreme-under-voltage-period-phase-c",
Attributes::RmsExtremeUnderVoltagePeriodPhaseC::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-sag-period-phase-c", Attributes::RmsVoltageSagPeriodPhaseC::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "rms-voltage-swell-period-phase-c", Attributes::RmsVoltageSwellPeriodPhaseC::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterTestCluster(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
using namespace chip::app::Clusters::TestCluster;
const char * clusterName = "TestCluster";
commands_list clusterCommands = {
//
// Commands
//
make_unique<ClusterCommand>(Id, credsIssuerConfig), //
make_unique<TestClusterTest>(credsIssuerConfig), //
make_unique<TestClusterTestNotHandled>(credsIssuerConfig), //
make_unique<TestClusterTestSpecific>(credsIssuerConfig), //
make_unique<TestClusterTestUnknownCommand>(credsIssuerConfig), //
make_unique<TestClusterTestAddArguments>(credsIssuerConfig), //
make_unique<TestClusterTestSimpleArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestStructArrayArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestStructArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestNestedStructArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestListStructArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestListInt8UArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestNestedStructListArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestListNestedStructListArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestListInt8UReverseRequest>(credsIssuerConfig), //
make_unique<TestClusterTestEnumsRequest>(credsIssuerConfig), //
make_unique<TestClusterTestNullableOptionalRequest>(credsIssuerConfig), //
make_unique<TestClusterTestComplexNullableOptionalRequest>(credsIssuerConfig), //
make_unique<TestClusterSimpleStructEchoRequest>(credsIssuerConfig), //
make_unique<TestClusterTimedInvokeRequest>(credsIssuerConfig), //
make_unique<TestClusterTestSimpleOptionalArgumentRequest>(credsIssuerConfig), //
make_unique<TestClusterTestEmitTestEventRequest>(credsIssuerConfig), //
make_unique<TestClusterTestEmitTestFabricScopedEventRequest>(credsIssuerConfig), //
//
// Attributes
//
make_unique<ReadAttribute>(Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "list-fabric-scoped", Attributes::ListFabricScoped::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id,
credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "boolean", 0, 1, Attributes::Boolean::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap8MaskMap>>>(
Id, "bitmap8", 0, UINT8_MAX, Attributes::Bitmap8::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap16MaskMap>>>(
Id, "bitmap16", 0, UINT16_MAX, Attributes::Bitmap16::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap32MaskMap>>>(
Id, "bitmap32", 0, UINT32_MAX, Attributes::Bitmap32::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap64MaskMap>>>(
Id, "bitmap64", 0, UINT64_MAX, Attributes::Bitmap64::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "int8u", 0, UINT8_MAX, Attributes::Int8u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "int16u", 0, UINT16_MAX, Attributes::Int16u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "int24u", 0, UINT32_MAX, Attributes::Int24u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "int32u", 0, UINT32_MAX, Attributes::Int32u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "int40u", 0, UINT64_MAX, Attributes::Int40u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "int48u", 0, UINT64_MAX, Attributes::Int48u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "int56u", 0, UINT64_MAX, Attributes::Int56u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "int64u", 0, UINT64_MAX, Attributes::Int64u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int8_t>>(Id, "int8s", INT8_MIN, INT8_MAX, Attributes::Int8s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "int16s", INT16_MIN, INT16_MAX, Attributes::Int16s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int32_t>>(Id, "int24s", INT32_MIN, INT32_MAX, Attributes::Int24s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int32_t>>(Id, "int32s", INT32_MIN, INT32_MAX, Attributes::Int32s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int64_t>>(Id, "int40s", INT64_MIN, INT64_MAX, Attributes::Int40s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int64_t>>(Id, "int48s", INT64_MIN, INT64_MAX, Attributes::Int48s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int64_t>>(Id, "int56s", INT64_MIN, INT64_MAX, Attributes::Int56s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<int64_t>>(Id, "int64s", INT64_MIN, INT64_MAX, Attributes::Int64s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "enum8", 0, UINT8_MAX, Attributes::Enum8::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "enum16", 0, UINT16_MAX, Attributes::Enum16::Id, credsIssuerConfig), //
make_unique<WriteAttribute<float>>(Id, "float-single", -std::numeric_limits<float>::infinity(),
std::numeric_limits<float>::infinity(), Attributes::FloatSingle::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<double>>(Id, "float-double", -std::numeric_limits<double>::infinity(),
std::numeric_limits<double>::infinity(), Attributes::FloatDouble::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::ByteSpan>>(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const uint8_t>>>(Id, "list-int8u", Attributes::ListInt8u::Id,
credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::ByteSpan>>>(
Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::TestListStructOctet::Type>>>(
Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::ByteSpan>>(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::CharSpan>>(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint64_t>>(Id, "epoch-us", 0, UINT64_MAX, Attributes::EpochUs::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint32_t>>(Id, "epoch-s", 0, UINT32_MAX, Attributes::EpochS::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::VendorId>>(Id, "vendor-id", 0, UINT16_MAX, Attributes::VendorId::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::NullablesAndOptionalsStruct::Type>>>(
Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::TestCluster::SimpleEnum>>(Id, "enum-attr", 0, UINT8_MAX,
Attributes::EnumAttr::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>(
Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), //
make_unique<WriteAttribute<uint8_t>>(Id, "range-restricted-int8u", 0, UINT8_MAX, Attributes::RangeRestrictedInt8u::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<int8_t>>(Id, "range-restricted-int8s", INT8_MIN, INT8_MAX, Attributes::RangeRestrictedInt8s::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "range-restricted-int16u", 0, UINT16_MAX, Attributes::RangeRestrictedInt16u::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<int16_t>>(Id, "range-restricted-int16s", INT16_MIN, INT16_MAX,
Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::ByteSpan>>>(
Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<
chip::app::DataModel::List<const chip::app::Clusters::TestCluster::Structs::TestFabricScoped::Type>>>(
Id, "list-fabric-scoped", Attributes::ListFabricScoped::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "timed-write-boolean", 0, 1, Attributes::TimedWriteBoolean::Id, credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "general-error-boolean", 0, 1, Attributes::GeneralErrorBoolean::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "cluster-error-boolean", 0, 1, Attributes::ClusterErrorBoolean::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<bool>>(Id, "unsupported", 0, 1, Attributes::Unsupported::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<bool>>>(Id, "nullable-boolean", 0, 1,
Attributes::NullableBoolean::Id, credsIssuerConfig), //
make_unique<
WriteAttribute<chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap8MaskMap>>>>(
Id, "nullable-bitmap8", 0, UINT8_MAX, Attributes::NullableBitmap8::Id, credsIssuerConfig), //
make_unique<
WriteAttribute<chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap16MaskMap>>>>(
Id, "nullable-bitmap16", 0, UINT16_MAX, Attributes::NullableBitmap16::Id, credsIssuerConfig), //
make_unique<
WriteAttribute<chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap32MaskMap>>>>(
Id, "nullable-bitmap32", 0, UINT32_MAX, Attributes::NullableBitmap32::Id, credsIssuerConfig), //
make_unique<
WriteAttribute<chip::app::DataModel::Nullable<chip::BitMask<chip::app::Clusters::TestCluster::Bitmap64MaskMap>>>>(
Id, "nullable-bitmap64", 0, UINT64_MAX, Attributes::NullableBitmap64::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "nullable-int8u", 0, UINT8_MAX,
Attributes::NullableInt8u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(Id, "nullable-int16u", 0, UINT16_MAX,
Attributes::NullableInt16u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "nullable-int24u", 0, UINT32_MAX,
Attributes::NullableInt24u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "nullable-int32u", 0, UINT32_MAX,
Attributes::NullableInt32u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint64_t>>>(Id, "nullable-int40u", 0, UINT64_MAX,
Attributes::NullableInt40u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint64_t>>>(Id, "nullable-int48u", 0, UINT64_MAX,
Attributes::NullableInt48u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint64_t>>>(Id, "nullable-int56u", 0, UINT64_MAX,
Attributes::NullableInt56u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint64_t>>>(Id, "nullable-int64u", 0, UINT64_MAX,
Attributes::NullableInt64u::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int8_t>>>(Id, "nullable-int8s", INT8_MIN, INT8_MAX,
Attributes::NullableInt8s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int16_t>>>(Id, "nullable-int16s", INT16_MIN, INT16_MAX,
Attributes::NullableInt16s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int32_t>>>(Id, "nullable-int24s", INT32_MIN, INT32_MAX,
Attributes::NullableInt24s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int32_t>>>(Id, "nullable-int32s", INT32_MIN, INT32_MAX,
Attributes::NullableInt32s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int64_t>>>(Id, "nullable-int40s", INT64_MIN, INT64_MAX,
Attributes::NullableInt40s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int64_t>>>(Id, "nullable-int48s", INT64_MIN, INT64_MAX,
Attributes::NullableInt48s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int64_t>>>(Id, "nullable-int56s", INT64_MIN, INT64_MAX,
Attributes::NullableInt56s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int64_t>>>(Id, "nullable-int64s", INT64_MIN, INT64_MAX,
Attributes::NullableInt64s::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "nullable-enum8", 0, UINT8_MAX,
Attributes::NullableEnum8::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(Id, "nullable-enum16", 0, UINT16_MAX,
Attributes::NullableEnum16::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<float>>>(
Id, "nullable-float-single", -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
Attributes::NullableFloatSingle::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<double>>>(
Id, "nullable-float-double", -std::numeric_limits<double>::infinity(), std::numeric_limits<double>::infinity(),
Attributes::NullableFloatDouble::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<chip::ByteSpan>>>(
Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<chip::CharSpan>>>(
Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<chip::app::Clusters::TestCluster::SimpleEnum>>>(
Id, "nullable-enum-attr", 0, UINT8_MAX, Attributes::NullableEnumAttr::Id, credsIssuerConfig), //
make_unique<
WriteAttributeAsComplex<chip::app::DataModel::Nullable<chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type>>>(
Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint8_t>>>(Id, "nullable-range-restricted-int8u", 0, UINT8_MAX,
Attributes::NullableRangeRestrictedInt8u::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int8_t>>>(Id, "nullable-range-restricted-int8s", INT8_MIN,
INT8_MAX, Attributes::NullableRangeRestrictedInt8s::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint16_t>>>(Id, "nullable-range-restricted-int16u", 0, UINT16_MAX,
Attributes::NullableRangeRestrictedInt16u::Id,
credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::DataModel::Nullable<int16_t>>>(
Id, "nullable-range-restricted-int16s", INT16_MIN, INT16_MAX, Attributes::NullableRangeRestrictedInt16s::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "boolean", Attributes::Boolean::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bitmap8", Attributes::Bitmap8::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bitmap16", Attributes::Bitmap16::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bitmap32", Attributes::Bitmap32::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "bitmap64", Attributes::Bitmap64::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int8u", Attributes::Int8u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int16u", Attributes::Int16u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int24u", Attributes::Int24u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int32u", Attributes::Int32u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int40u", Attributes::Int40u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int48u", Attributes::Int48u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int56u", Attributes::Int56u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int64u", Attributes::Int64u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int8s", Attributes::Int8s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int16s", Attributes::Int16s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int24s", Attributes::Int24s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int32s", Attributes::Int32s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int40s", Attributes::Int40s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int48s", Attributes::Int48s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int56s", Attributes::Int56s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "int64s", Attributes::Int64s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enum8", Attributes::Enum8::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enum16", Attributes::Enum16::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "float-single", Attributes::FloatSingle::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "float-double", Attributes::FloatDouble::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "octet-string", Attributes::OctetString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-int8u", Attributes::ListInt8u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-octet-string", Attributes::ListOctetString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-struct-octet-string", Attributes::ListStructOctetString::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "long-octet-string", Attributes::LongOctetString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "char-string", Attributes::CharString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "long-char-string", Attributes::LongCharString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "epoch-us", Attributes::EpochUs::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "epoch-s", Attributes::EpochS::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "vendor-id", Attributes::VendorId::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-nullables-and-optionals-struct", Attributes::ListNullablesAndOptionalsStruct::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "enum-attr", Attributes::EnumAttr::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "struct-attr", Attributes::StructAttr::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "range-restricted-int8u", Attributes::RangeRestrictedInt8u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "range-restricted-int8s", Attributes::RangeRestrictedInt8s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "range-restricted-int16u", Attributes::RangeRestrictedInt16u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "range-restricted-int16s", Attributes::RangeRestrictedInt16s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-long-octet-string", Attributes::ListLongOctetString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "list-fabric-scoped", Attributes::ListFabricScoped::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "timed-write-boolean", Attributes::TimedWriteBoolean::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "general-error-boolean", Attributes::GeneralErrorBoolean::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-error-boolean", Attributes::ClusterErrorBoolean::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "unsupported", Attributes::Unsupported::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-boolean", Attributes::NullableBoolean::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-bitmap8", Attributes::NullableBitmap8::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-bitmap16", Attributes::NullableBitmap16::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-bitmap32", Attributes::NullableBitmap32::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-bitmap64", Attributes::NullableBitmap64::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int8u", Attributes::NullableInt8u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int16u", Attributes::NullableInt16u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int24u", Attributes::NullableInt24u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int32u", Attributes::NullableInt32u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int40u", Attributes::NullableInt40u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int48u", Attributes::NullableInt48u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int56u", Attributes::NullableInt56u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int64u", Attributes::NullableInt64u::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int8s", Attributes::NullableInt8s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int16s", Attributes::NullableInt16s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int24s", Attributes::NullableInt24s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int32s", Attributes::NullableInt32s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int40s", Attributes::NullableInt40s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int48s", Attributes::NullableInt48s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int56s", Attributes::NullableInt56s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-int64s", Attributes::NullableInt64s::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-enum8", Attributes::NullableEnum8::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-enum16", Attributes::NullableEnum16::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-float-single", Attributes::NullableFloatSingle::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-float-double", Attributes::NullableFloatDouble::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-octet-string", Attributes::NullableOctetString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-char-string", Attributes::NullableCharString::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-enum-attr", Attributes::NullableEnumAttr::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-struct", Attributes::NullableStruct::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-range-restricted-int8u", Attributes::NullableRangeRestrictedInt8u::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-range-restricted-int8s", Attributes::NullableRangeRestrictedInt8s::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-range-restricted-int16u", Attributes::NullableRangeRestrictedInt16u::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "nullable-range-restricted-int16s", Attributes::NullableRangeRestrictedInt16s::Id,
credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
//
// Events
//
make_unique<ReadEvent>(Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), //
make_unique<ReadEvent>(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "test-event", Events::TestEvent::Id, credsIssuerConfig), //
make_unique<SubscribeEvent>(Id, "test-fabric-scoped-event", Events::TestFabricScopedEvent::Id, credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusterAny(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
const char * clusterName = "Any";
commands_list clusterCommands = {
make_unique<ClusterCommand>(credsIssuerConfig), //
make_unique<ReadAttribute>(credsIssuerConfig), //
make_unique<WriteAttribute<>>(credsIssuerConfig), //
make_unique<SubscribeAttribute>(credsIssuerConfig), //
make_unique<ReadEvent>(credsIssuerConfig), //
make_unique<SubscribeEvent>(credsIssuerConfig), //
make_unique<ReadAll>(credsIssuerConfig), //
make_unique<SubscribeAll>(credsIssuerConfig), //
};
commands.Register(clusterName, clusterCommands);
}
void registerClusters(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
{
registerClusterAny(commands, credsIssuerConfig);
registerClusterIdentify(commands, credsIssuerConfig);
registerClusterGroups(commands, credsIssuerConfig);
registerClusterScenes(commands, credsIssuerConfig);
registerClusterOnOff(commands, credsIssuerConfig);
registerClusterOnOffSwitchConfiguration(commands, credsIssuerConfig);
registerClusterLevelControl(commands, credsIssuerConfig);
registerClusterBinaryInputBasic(commands, credsIssuerConfig);
registerClusterPulseWidthModulation(commands, credsIssuerConfig);
registerClusterDescriptor(commands, credsIssuerConfig);
registerClusterBinding(commands, credsIssuerConfig);
registerClusterAccessControl(commands, credsIssuerConfig);
registerClusterBridgedActions(commands, credsIssuerConfig);
registerClusterBasic(commands, credsIssuerConfig);
registerClusterOtaSoftwareUpdateProvider(commands, credsIssuerConfig);
registerClusterOtaSoftwareUpdateRequestor(commands, credsIssuerConfig);
registerClusterLocalizationConfiguration(commands, credsIssuerConfig);
registerClusterTimeFormatLocalization(commands, credsIssuerConfig);
registerClusterUnitLocalization(commands, credsIssuerConfig);
registerClusterPowerSourceConfiguration(commands, credsIssuerConfig);
registerClusterPowerSource(commands, credsIssuerConfig);
registerClusterGeneralCommissioning(commands, credsIssuerConfig);
registerClusterNetworkCommissioning(commands, credsIssuerConfig);
registerClusterDiagnosticLogs(commands, credsIssuerConfig);
registerClusterGeneralDiagnostics(commands, credsIssuerConfig);
registerClusterSoftwareDiagnostics(commands, credsIssuerConfig);
registerClusterThreadNetworkDiagnostics(commands, credsIssuerConfig);
registerClusterWiFiNetworkDiagnostics(commands, credsIssuerConfig);
registerClusterEthernetNetworkDiagnostics(commands, credsIssuerConfig);
registerClusterTimeSynchronization(commands, credsIssuerConfig);
registerClusterBridgedDeviceBasic(commands, credsIssuerConfig);
registerClusterSwitch(commands, credsIssuerConfig);
registerClusterAdministratorCommissioning(commands, credsIssuerConfig);
registerClusterOperationalCredentials(commands, credsIssuerConfig);
registerClusterGroupKeyManagement(commands, credsIssuerConfig);
registerClusterFixedLabel(commands, credsIssuerConfig);
registerClusterUserLabel(commands, credsIssuerConfig);
registerClusterProxyConfiguration(commands, credsIssuerConfig);
registerClusterProxyDiscovery(commands, credsIssuerConfig);
registerClusterProxyValid(commands, credsIssuerConfig);
registerClusterBooleanState(commands, credsIssuerConfig);
registerClusterModeSelect(commands, credsIssuerConfig);
registerClusterDoorLock(commands, credsIssuerConfig);
registerClusterWindowCovering(commands, credsIssuerConfig);
registerClusterBarrierControl(commands, credsIssuerConfig);
registerClusterPumpConfigurationAndControl(commands, credsIssuerConfig);
registerClusterThermostat(commands, credsIssuerConfig);
registerClusterFanControl(commands, credsIssuerConfig);
registerClusterThermostatUserInterfaceConfiguration(commands, credsIssuerConfig);
registerClusterColorControl(commands, credsIssuerConfig);
registerClusterBallastConfiguration(commands, credsIssuerConfig);
registerClusterIlluminanceMeasurement(commands, credsIssuerConfig);
registerClusterTemperatureMeasurement(commands, credsIssuerConfig);
registerClusterPressureMeasurement(commands, credsIssuerConfig);
registerClusterFlowMeasurement(commands, credsIssuerConfig);
registerClusterRelativeHumidityMeasurement(commands, credsIssuerConfig);
registerClusterOccupancySensing(commands, credsIssuerConfig);
registerClusterWakeOnLan(commands, credsIssuerConfig);
registerClusterChannel(commands, credsIssuerConfig);
registerClusterTargetNavigator(commands, credsIssuerConfig);
registerClusterMediaPlayback(commands, credsIssuerConfig);
registerClusterMediaInput(commands, credsIssuerConfig);
registerClusterLowPower(commands, credsIssuerConfig);
registerClusterKeypadInput(commands, credsIssuerConfig);
registerClusterContentLauncher(commands, credsIssuerConfig);
registerClusterAudioOutput(commands, credsIssuerConfig);
registerClusterApplicationLauncher(commands, credsIssuerConfig);
registerClusterApplicationBasic(commands, credsIssuerConfig);
registerClusterAccountLogin(commands, credsIssuerConfig);
registerClusterElectricalMeasurement(commands, credsIssuerConfig);
registerClusterTestCluster(commands, credsIssuerConfig);
registerClusterSubscriptions(commands, credsIssuerConfig);
}