Skip to content

Commit 5344208

Browse files
committed
SiliconLabsGH-43: Base ZPC implementation
Forwarded: SiliconLabs#43 Bug-SiliconLabs: UIC-3222 Bug-Github: SiliconLabs#43
1 parent 954fdce commit 5344208

9 files changed

+3993
-1
lines changed

applications/zpc/components/zpc_attribute_store/include/attribute_store_defined_attribute_types.h

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,98 @@ DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_SOUND_SWITCH_TONE_INFO_NAME,
10621062
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_SOUND_SWITCH_TONE_PLAY,
10631063
((COMMAND_CLASS_SOUND_SWITCH << 8) | 0x08))
10641064

1065+
1066+
/////////////////////////////////////////////////
1067+
// User Credential Command Class
1068+
///< This represents the version of the User CredentialCommand class.
1069+
/// zwave_cc_version_t
1070+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_VERSION,
1071+
ZWAVE_CC_VERSION_ATTRIBUTE(COMMAND_CLASS_USER_CREDENTIAL))
1072+
1073+
1074+
/// > User Capabilities
1075+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_NUMBER_OF_USERS,
1076+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x02))
1077+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_RULES,
1078+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x03))
1079+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_MAX_USERNAME_LENGTH,
1080+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x04))
1081+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_USER_SCHEDULE,
1082+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x05))
1083+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_ALL_USERS_CHECKSUM,
1084+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x06))
1085+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_USER_CHECKSUM,
1086+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x07))
1087+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_USER_TYPES,
1088+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x08))
1089+
1090+
/// > Credential Capabilities
1091+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_CREDENTIAL_CHECKSUM,
1092+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x09))
1093+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE,
1094+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0A))
1095+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_SUPPORT,
1096+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0B))
1097+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SUPPORTED_SLOT_COUNT,
1098+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0C))
1099+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MIN_LENGTH,
1100+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0D))
1101+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MAX_LENGTH,
1102+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0E))
1103+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_RECOMMENDED_TIMEOUT,
1104+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x0F))
1105+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_NUMBER_OF_STEPS,
1106+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x10))
1107+
1108+
/// > All Users Checksum
1109+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_ALL_USERS_CHECKSUM,
1110+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x11))
1111+
1112+
/// > Users
1113+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID,
1114+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x12))
1115+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_MODIFIER_TYPE,
1116+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x13))
1117+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_MODIFIER_NODE_ID,
1118+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x14))
1119+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_TYPE,
1120+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x15))
1121+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_ACTIVE_STATE,
1122+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x16))
1123+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_NAME,
1124+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x17))
1125+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_NAME_ENCODING,
1126+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x18))
1127+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_RULE,
1128+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x19))
1129+
1130+
/// > Credentials
1131+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_TYPE,
1132+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1A))
1133+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_DATA_LENGTH,
1134+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1B))
1135+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_DATA,
1136+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1C))
1137+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT,
1138+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1D))
1139+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_READ_BACK,
1140+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1E))
1141+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MODIFIER_TYPE,
1142+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x1F))
1143+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MODIFIER_NODE_ID,
1144+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x20))
1145+
1146+
1147+
// Specific to Credential SET
1148+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_OPERATION_TYPE,
1149+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x21))
1150+
1151+
// Specific to USER SET
1152+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_OPERATION_TYPE,
1153+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x22))
1154+
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_EXPIRING_TIMEOUT_MINUTES,
1155+
((COMMAND_CLASS_USER_CREDENTIAL << 8) | 0x23))
1156+
10651157
/////////////////////////////////////////////////
10661158
// Z-Wave Plus Info CC
10671159
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_ZWAVEPLUS_INFO_VERSION,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/******************************************************************************
2+
* # License
3+
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
4+
******************************************************************************
5+
* The licensor of this software is Silicon Laboratories Inc. Your use of this
6+
* software is governed by the terms of Silicon Labs Master Software License
7+
* Agreement (MSLA) available at
8+
* www.silabs.com/about-us/legal/master-software-license-agreement. This
9+
* software is distributed to you in Source Code format and is governed by the
10+
* sections of the MSLA applicable to Source Code.
11+
*
12+
*****************************************************************************/
13+
14+
/**
15+
* @defgroup zwave_command_class_user_credential_types Type definitions for attribute storage of the Sound Switch Command Class
16+
* @ingroup zpc_attribute_store_command_classes_types
17+
* @brief Type definitions for the Sound Switch Command Class.
18+
*
19+
* @{
20+
*/
21+
22+
#ifndef ZWAVE_COMMAND_CLASS_USER_CREDENTIALS_TYPES_H
23+
#define ZWAVE_COMMAND_CLASS_USER_CREDENTIALS_TYPES_H
24+
25+
#include <stdint.h>
26+
27+
///> Supported credential rules bitmask. uint8_t
28+
typedef uint8_t user_credential_supported_credential_rules_t;
29+
30+
///> Supported user type bitmask. uint32_t
31+
typedef uint32_t user_credential_supported_user_type_bitmask_t;
32+
33+
///> All user checksum. uint16_t
34+
typedef uint16_t user_credential_all_users_checksum_t;
35+
36+
///> User Unique ID. uint16_t
37+
typedef uint16_t user_credential_user_unique_id_t;
38+
///> User Modifier Type. uint8_t
39+
typedef uint8_t user_credential_user_modifier_type_t;
40+
///> User Modifier Node ID. uint16_t
41+
typedef uint16_t user_credential_user_modifier_node_id_t;
42+
///> User Type. uint8_t
43+
#define USER_CREDENTIAL_USER_TYPE_GENERAL_USER 0x00
44+
#define USER_CREDENTIAL_USER_TYPE_PROGRAMMING_USER 0x03
45+
#define USER_CREDENTIAL_USER_TYPE_NON_ACCESS_USER 0x04
46+
#define USER_CREDENTIAL_USER_TYPE_DURESS_USER 0x05
47+
#define USER_CREDENTIAL_USER_TYPE_DISPOSABLE_USER 0x06
48+
#define USER_CREDENTIAL_USER_TYPE_EXPIRING_USER 0x07
49+
#define USER_CREDENTIAL_USER_TYPE_REMOTE_ONLY_USER 0x09
50+
typedef uint8_t user_credential_user_type_t;
51+
///> User active state (0 or 1). uint8_t
52+
typedef uint8_t user_credential_user_active_state_t;
53+
///> User name encoding. uint8_t
54+
typedef uint8_t user_credential_user_name_encoding_t;
55+
56+
///> Credential type. uint8_t
57+
typedef uint8_t user_credential_type_t;
58+
59+
///> Credential rule. uint8_t
60+
typedef uint8_t user_credential_rule_t;
61+
62+
///> Credential slot. uint16_t
63+
typedef uint16_t user_credential_slot_t;
64+
65+
///> Operation type. uint8_t
66+
#define USER_CREDENTIAL_OPERATION_TYPE_ADD 0x00
67+
#define USER_CREDENTIAL_OPERATION_TYPE_MODIFY 0x01
68+
#define USER_CREDENTIAL_OPERATION_TYPE_DELETE 0x02
69+
typedef uint8_t user_credential_operation_type_t;
70+
71+
///> Expiring Timeout for User (Minutes). uint16_t
72+
typedef uint16_t user_credential_expiring_timeout_minutes_t;
73+
74+
#ifdef __cplusplus
75+
extern "C" {
76+
#endif
77+
78+
#ifdef __cplusplus
79+
}
80+
#endif
81+
82+
#endif //ZWAVE_COMMAND_CLASS_USER_CREDENTIALS_TYPES_H
83+
/** @} end zwave_command_class_user_credentials_types */

applications/zpc/components/zpc_attribute_store/src/zpc_attribute_store_type_registration.cpp

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,58 @@ static const std::vector<attribute_schema_t> attribute_schema = {
431431
{ATTRIBUTE_COMMAND_CLASS_USER_CODE_SUPPORTED_KEYS, "Supported Keys bitmask", ATTRIBUTE_COMMAND_CLASS_USER_CODE_CAPABILITIES, BYTE_ARRAY_STORAGE_TYPE},
432432
{ATTRIBUTE_COMMAND_CLASS_USER_CODE_CHECKSUM, "User Code Checksum", ATTRIBUTE_COMMAND_CLASS_USER_CODE_DATA, U16_STORAGE_TYPE},
433433
{ATTRIBUTE_COMMAND_CLASS_USER_CODE_KEYPAD_MODE, "Keypad Mode", ATTRIBUTE_COMMAND_CLASS_USER_CODE_DATA, U8_STORAGE_TYPE},
434+
435+
436+
/////////////////////////////////////////////////////////////////////
437+
// User Credential Command Class attributes
438+
/////////////////////////////////////////////////////////////////////
439+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_VERSION, "User Credential Version", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
440+
441+
// User capabilities
442+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_NUMBER_OF_USERS, "User Credential User Count", ATTRIBUTE_ENDPOINT_ID, U16_STORAGE_TYPE},
443+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_RULES, "User Credential Supported Rules", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
444+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_MAX_USERNAME_LENGTH, "User Credential Max Username Length", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
445+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_USER_SCHEDULE, "User Credential Support User Schedule", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
446+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_ALL_USERS_CHECKSUM, "User Credential Support All User Checksum", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
447+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_USER_CHECKSUM, "User Credential Support By User Checksum", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
448+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_USER_TYPES, "User Credential Supported User types", ATTRIBUTE_ENDPOINT_ID, U32_STORAGE_TYPE},
449+
450+
// Credential capabilities
451+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORT_CREDENTIAL_CHECKSUM, "User Credential Support Credential Checksum", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
452+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, "User Credential Supported Credential Type", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
453+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_SUPPORT, "User Credential Learn Support", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U8_STORAGE_TYPE},
454+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SUPPORTED_SLOT_COUNT, "User Credential Supported Slot Count", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U16_STORAGE_TYPE},
455+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MIN_LENGTH, "User Credential Min Length", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U16_STORAGE_TYPE},
456+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MAX_LENGTH, "User Credential Max Length", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U16_STORAGE_TYPE},
457+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_RECOMMENDED_TIMEOUT, "User Credential Learn Recommended Timeout", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U8_STORAGE_TYPE},
458+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_LEARN_NUMBER_OF_STEPS, "User Credential Learn Number Of Steps", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_SUPPORTED_CREDENTIAL_TYPE, U8_STORAGE_TYPE},
459+
460+
461+
// All Users Checksum
462+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_ALL_USERS_CHECKSUM, "User Credential All User Checksum", ATTRIBUTE_ENDPOINT_ID, U16_STORAGE_TYPE},
463+
464+
// User
465+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, "User Credential User Unique Identifier", ATTRIBUTE_ENDPOINT_ID, U16_STORAGE_TYPE},
466+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_MODIFIER_TYPE, "User Credential User Modifier Type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
467+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_MODIFIER_NODE_ID, "User Credential User Modifier Node ID", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U16_STORAGE_TYPE},
468+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_TYPE, "User Credential User Type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
469+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_ACTIVE_STATE, "User Credential User Active State", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
470+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_NAME, "User Credential User Name", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, C_STRING_STORAGE_TYPE},
471+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_NAME_ENCODING, "User Credential User Name Encoding", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
472+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_RULE, "User Credential User Credential Rule", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
473+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_OPERATION_TYPE, "User Credential User Operation type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
474+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_EXPIRING_TIMEOUT_MINUTES, "User Credential User Expiring Timeout Minutes", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U16_STORAGE_TYPE},
475+
476+
// Credential
477+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_TYPE, "User Credential Credential Type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_USER_UNIQUE_ID, U8_STORAGE_TYPE},
478+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, "User Credential Credential Slot", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_TYPE, U16_STORAGE_TYPE},
479+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_DATA_LENGTH, "User Credential Credential Data Length", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, U8_STORAGE_TYPE},
480+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_DATA, "User Credential Credential Data", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_DATA_LENGTH, BYTE_ARRAY_STORAGE_TYPE},
481+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_READ_BACK, "User Credential Credential Read Back Flag", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, U8_STORAGE_TYPE},
482+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MODIFIER_TYPE, "User Credential Credential Modifier type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, U8_STORAGE_TYPE},
483+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_MODIFIER_NODE_ID, "User Credential Credential Node ID", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, U16_STORAGE_TYPE},
484+
{ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_OPERATION_TYPE, "User Credential Credential Operation Type", ATTRIBUTE_COMMAND_CLASS_USER_CREDENTIAL_CREDENTIAL_SLOT, U8_STORAGE_TYPE},
485+
434486
/////////////////////////////////////////////////////////////////////
435487
// Z-Wave Plus Info Command Class attributes
436488
/////////////////////////////////////////////////////////////////////

applications/zpc/components/zwave_command_classes/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ add_library(
5454
src/zwave_command_class_thermostat_operating_state.c
5555
src/zwave_command_class_time.c
5656
src/zwave_command_class_user_code.c
57+
src/zwave_command_class_user_credential.cpp
5758
src/zwave_command_class_version.c
5859
src/zwave_command_class_wake_up.c
5960
src/zwave_command_class_zwave_plus_info.c

0 commit comments

Comments
 (0)