Door Lock Server#
API and Callbacks for the Door Lock Cluster Server Component.
Silicon Labs implementation of the Door Lock server cluster. This is an incomplete component implementation. It does all of the mandatory and optional behavior in the Door Lock cluster needed to pass the Door Lock cluster tests. It does not store user and schedule tables in persistent memory, check user pin activation against user status or user schedule, or offer callbacks and component options to the application for further customization of functionality.
Modules#
EmberAfPluginDoorLockServerLogEntry
EmberAfPluginDoorLockServerUser
EmberAfPluginDoorLockServerWeekdayScheduleEntry
EmberAfPluginDoorLockServerYeardayScheduleEntry
EmberAfPluginDoorLockServerHolidayScheduleEntry
EmberAfPluginDoorLockServerDisposableScheduleEntry
API#
Add a log entry. Returns true if the entry was added. Note that the eventId parameter should be of type EmberAfDoorLockOperationEventCode or EmberAfDoorLockProgrammingEventCode.
Get a log entry associated with the entry ID. If the entry ID does not exist, the most recent entry is returned and the entryId parameter is updated. The entryId is a 1-based index into an array of log entries in order to match GetLogRecord ZCL command. This will return true if the entry was successfully returned.
Unlock the door with a pin.
Unlock the door with RFID.
Macros#
API Documentation#
emberAfPluginDoorLockServerAddLogEntry#
bool emberAfPluginDoorLockServerAddLogEntry (EmberAfDoorLockEventType eventType, EmberAfDoorLockEventSource source, uint8_t eventId, uint16_t userId, uint8_t pinLength, uint8_t * pin)
Add a log entry. Returns true if the entry was added. Note that the eventId parameter should be of type EmberAfDoorLockOperationEventCode or EmberAfDoorLockProgrammingEventCode.
N/A | eventType | Event type Ver.: always |
N/A | source | Event source Ver.: always |
N/A | eventId | Ver.: always |
N/A | userId | Ver.: always |
N/A | pinLength | Ver.: always |
N/A | pin | Ver.: always |
Returns
bool true if success
163
of file app/framework/plugin/door-lock-server/door-lock-server.h
emberAfPluginDoorLockServerGetLogEntry#
bool emberAfPluginDoorLockServerGetLogEntry (uint16_t * entryId, EmberAfPluginDoorLockServerLogEntry * entry)
Get a log entry associated with the entry ID. If the entry ID does not exist, the most recent entry is returned and the entryId parameter is updated. The entryId is a 1-based index into an array of log entries in order to match GetLogRecord ZCL command. This will return true if the entry was successfully returned.
N/A | entryId | Ver.: always |
N/A | entry | pointer to log entry struct Ver.: always |
Returns
bool true if success
182
of file app/framework/plugin/door-lock-server/door-lock-server.h
emberAfPluginDoorLockServerApplyPin#
EmberAfStatus emberAfPluginDoorLockServerApplyPin (uint8_t * pin, uint8_t pinLength)
Unlock the door with a pin.
N/A | pin | Ver.: always |
N/A | pinLength | Ver.: always |
Returns
EmberAfStatus status code
221
of file app/framework/plugin/door-lock-server/door-lock-server.h
emberAfPluginDoorLockServerApplyRfid#
EmberAfStatus emberAfPluginDoorLockServerApplyRfid (uint8_t * rfid, uint8_t rfidLength)
Unlock the door with RFID.
N/A | rfid | Ver.: always |
N/A | rfidLength | Ver.: always |
Returns
EmberAfStatus status code
232
of file app/framework/plugin/door-lock-server/door-lock-server.h
Macro Definition Documentation#
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_PIN_USER_TABLE_SIZE#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_PIN_USER_TABLE_SIZEValue:
8
76
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_RFID_USER_TABLE_SIZE#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_RFID_USER_TABLE_SIZEValue:
8
81
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_PIN_LENGTH#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_PIN_LENGTHValue:
8
89
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_RFID_LENGTH#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_RFID_LENGTHValue:
8
93
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_WEEKDAY_SCHEDULE_TABLE_SIZE#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_WEEKDAY_SCHEDULE_TABLE_SIZEValue:
4
104
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_YEARDAY_SCHEDULE_TABLE_SIZE#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_YEARDAY_SCHEDULE_TABLE_SIZEValue:
8
111
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_HOLIDAY_SCHEDULE_TABLE_SIZE#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_HOLIDAY_SCHEDULE_TABLE_SIZEValue:
8
115
of file app/framework/plugin/door-lock-server/door-lock-server.h
DOOR_LOCK_SERVER_ENDPOINT#
#define DOOR_LOCK_SERVER_ENDPOINTValue:
1
118
of file app/framework/plugin/door-lock-server/door-lock-server.h
EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_LOG_ENTRIES#
#define EMBER_AF_PLUGIN_DOOR_LOCK_SERVER_MAX_LOG_ENTRIESValue:
16
126
of file app/framework/plugin/door-lock-server/door-lock-server.h
SEND_COMMAND_UNICAST_TO_BINDINGS#
#define SEND_COMMAND_UNICAST_TO_BINDINGSValue:
()
296
of file app/framework/plugin/door-lock-server/door-lock-server.h
EmberAfDoorLockScheduleEntry#
#define EmberAfDoorLockScheduleEntryValue:
EmberAfPluginDoorLockServerWeekdayScheduleEntry
304
of file app/framework/plugin/door-lock-server/door-lock-server.h
EmberAfDoorLockUser#
#define EmberAfDoorLockUserValue:
EmberAfPluginDoorLockServerUser
305
of file app/framework/plugin/door-lock-server/door-lock-server.h