Device Database#
API and Callbacks for the Device Database Component.
This component provides an API to add/remove a device from a list of known devices, and to record their list of endpoints and clusters.
API#
Get device by index.
Find device by status.
Find device by EUI64.
Add to the device database.
Erase device from device database.
Set device endpoints.
Get device endpoint from index.
Get index from endpoint.
Set clusters from endpoint.
Clear the failed DB discovery count.
Get device database status string.
Set device database status.
Add device to database with all information.
Check if a device has cluster.
Create a new search.
Find device supporting cluster.
API Documentation#
emberAfPluginDeviceDatabaseGetDeviceByIndex#
const EmberAfDeviceInfo * emberAfPluginDeviceDatabaseGetDeviceByIndex (uint16_t index)
Get device by index.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | N/A | index | Ver.: always |
Returns
EmberAfDeviceInfo Device Information struct
emberAfPluginDeviceDatabaseFindDeviceByStatus#
const EmberAfDeviceInfo * emberAfPluginDeviceDatabaseFindDeviceByStatus (EmberAfDeviceDiscoveryStatus status)
Find device by status.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberAfDeviceDiscoveryStatus | N/A | status | Ver.: always |
Returns
EmberAfDeviceInfo Device Information struct
emberAfPluginDeviceDatabaseFindDeviceByEui64#
const EmberAfDeviceInfo * emberAfPluginDeviceDatabaseFindDeviceByEui64 (EmberEUI64 eui64)
Find device by EUI64.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberEUI64 | N/A | eui64 |
Returns
EmberAfDeviceInfo Device Information struct
emberAfPluginDeviceDatabaseAdd#
const EmberAfDeviceInfo * emberAfPluginDeviceDatabaseAdd (EmberEUI64 eui64, uint8_t zigbeeCapabilities)
Add to the device database.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberEUI64 | N/A | eui64 | Ver.: always |
uint8_t | N/A | zigbeeCapabilities | Ver.: always |
Returns
EmberDeviceInfo
emberAfPluginDeviceDatabaseEraseDevice#
bool emberAfPluginDeviceDatabaseEraseDevice (EmberEUI64 eui64)
Erase device from device database.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberEUI64 | N/A | eui64 | Ver.: always |
Returns
bool true is success
emberAfPluginDeviceDatabaseSetEndpoints#
bool emberAfPluginDeviceDatabaseSetEndpoints (const EmberEUI64 eui64, const uint8_t * endpointList, uint8_t endpointCount)
Set device endpoints.
Type | Direction | Argument Name | Description |
---|---|---|---|
const EmberEUI64 | N/A | eui64 | |
const uint8_t * | N/A | endpointList | |
uint8_t | N/A | endpointCount |
Returns
bool true is success
emberAfPluginDeviceDatabaseGetDeviceEndpointFromIndex#
uint8_t emberAfPluginDeviceDatabaseGetDeviceEndpointFromIndex (const EmberEUI64 eui64, uint8_t index)
Get device endpoint from index.
Type | Direction | Argument Name | Description |
---|---|---|---|
const EmberEUI64 | N/A | eui64 | |
uint8_t | N/A | index |
Returns
uint8_t
emberAfPluginDeviceDatabaseGetIndexFromEndpoint#
uint8_t emberAfPluginDeviceDatabaseGetIndexFromEndpoint (uint8_t endpoint, const EmberEUI64 eui64)
Get index from endpoint.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | N/A | endpoint | |
const EmberEUI64 | N/A | eui64 |
Note
Explicitly made the eui64 the second argument to prevent confusion between this function and the emberAfPluginDeviceDatabaseGetDeviceEndpointsFromIndex()
emberAfPluginDeviceDatabaseSetClustersForEndpoint#
bool emberAfPluginDeviceDatabaseSetClustersForEndpoint (const EmberEUI64 eui64, const EmberAfClusterList * clusterList)
Set clusters from endpoint.
Type | Direction | Argument Name | Description |
---|---|---|---|
const EmberEUI64 | N/A | eui64 | |
const EmberAfClusterList * | N/A | clusterList |
Returns
bool true is success
emberAfPluginDeviceDatabaseClearAllFailedDiscoveryStatus#
bool emberAfPluginDeviceDatabaseClearAllFailedDiscoveryStatus (uint8_t maxFailureCount)
Clear the failed DB discovery count.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | N/A | maxFailureCount |
Returns
bool true is success
emberAfPluginDeviceDatabaseGetStatusString#
const char * emberAfPluginDeviceDatabaseGetStatusString (EmberAfDeviceDiscoveryStatus status)
Get device database status string.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberAfDeviceDiscoveryStatus | N/A | status |
Returns
const char* status string
emberAfPluginDeviceDatabaseSetStatus#
bool emberAfPluginDeviceDatabaseSetStatus (const EmberEUI64 deviceEui64, EmberAfDeviceDiscoveryStatus newStatus)
Set device database status.
Type | Direction | Argument Name | Description |
---|---|---|---|
const EmberEUI64 | N/A | deviceEui64 | |
EmberAfDeviceDiscoveryStatus | N/A | newStatus |
Returns
bool true is success.
emberAfPluginDeviceDatabaseAddDeviceWithAllInfo#
const EmberAfDeviceInfo * emberAfPluginDeviceDatabaseAddDeviceWithAllInfo (const EmberAfDeviceInfo * newDevice)
Add device to database with all information.
Type | Direction | Argument Name | Description |
---|---|---|---|
const EmberAfDeviceInfo * | N/A | newDevice | Struct pointer to device infor |
Returns
EmberDeviceInfo
emberAfPluginDeviceDatabaseDoesDeviceHaveCluster#
EmberStatus emberAfPluginDeviceDatabaseDoesDeviceHaveCluster (EmberEUI64 deviceEui64, EmberAfClusterId clusterToFind, bool server, uint8_t * returnEndpoint)
Check if a device has cluster.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberEUI64 | N/A | deviceEui64 | |
EmberAfClusterId | N/A | clusterToFind | |
bool | N/A | server | |
uint8_t * | N/A | returnEndpoint |
Returns
EmberStatus status code
emberAfPluginDeviceDatabaseCreateNewSearch#
void emberAfPluginDeviceDatabaseCreateNewSearch (EmberAfDeviceDatabaseIterator * iterator)
Create a new search.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberAfDeviceDatabaseIterator * | N/A | iterator |
emberAfPluginDeviceDatabaseFindDeviceSupportingCluster#
EmberStatus emberAfPluginDeviceDatabaseFindDeviceSupportingCluster (EmberAfDeviceDatabaseIterator * iterator, EmberAfClusterId clusterToFind, bool server, uint8_t * returnEndpoint)
Find device supporting cluster.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberAfDeviceDatabaseIterator * | N/A | iterator | |
EmberAfClusterId | N/A | clusterToFind | |
bool | N/A | server | |
uint8_t * | N/A | returnEndpoint |
Returns
EmberStatus status code