Basic Server Cluster Plugin Callbacks

void emberAfPluginBasicResetToFactoryDefaultsCallback (uint8_t endpoint)
 Reset To Factory Defaults.

Battery Monitor Plugin Callbacks

void emberAfPluginBatteryMonitorDataReadyCallback (uint16_t batteryVoltageMilliV)
 Data Ready.

BLE Plugin Callbacks

void emberAfPluginBleGetConfigCallback (gecko_configuration_t *config)
 This function is called at init time. The following fields will be overwritten by the framework:
 
void emberAfPluginBleEventCallback (struct gecko_cmd_packet *evt)
 This function is called from the BLE stack to notify the application of a stack event.

Bulb PWM Driver Plugin Callbacks

uint16_t halBulbPwmDriverFrequencyCallback (void)
 Configures the frequency of the PWM driver. Called by the bulb-pwm driver upon initialization to determine the frequency at which the PWM driver should be driven. It should return either the frequency, in Hz, or USE_DEFAULT_FREQUENCY to indicate that the plugin should use the default value. The default value is 1000 Hz, but can be overridden by a macro in the board header.
 
void halBulbPwmDriverInitCompleteCallback (void)
 Indicates that the PWM driver has been initialized and the bulb should drive the initial LED PWM values at this time.
 
void halBulbPwmDriverBlinkOnCallback (void)
 Generated during blinking behavior when it is time to turn the bulb on. While the plugin will determine when to blink the bulb on or off, it is up to this callback to determine how to turn the bulb on.
 
void halBulbPwmDriverBlinkOffCallback (void)
 Generated during blinking behavior when it is time to turn the bulb off. While the plugin will determine when to blink the bulb on or off, it is up to this callback to determine how to turn the bulb off.
 
void halBulbPwmDriverBlinkStartCallback (void)
 Generated when the application layer makes a call to initiate blinking behavior. It warns the application layer PWM code not to attempt to drive the LEDs directly and interfere with the blinking behavior.
 
void halBulbPwmDriverBlinkStopCallback (void)
 Generated when the current blinking command finishes. The application layer PWM code must then determine what the bulb drive should be, based on the current application layer attributes (i.e., level, on/off, color XY, and so on.)

Bulb user interface Plugin Callbacks

void emberAfPluginBulbUiFinishedCallback (EmberStatus status)
 Finished.

Button Interface Plugin Callbacks

void emberAfPluginButtonInterfaceButton0PressedShortCallback (uint16_t timePressedMs)
 Called when Button 0 is pressed short.
 
void emberAfPluginButtonInterfaceButton1PressedShortCallback (uint16_t timePressedMs)
 Called when Button 1 is pressed short.
 
void emberAfPluginButtonInterfaceButton0PressedLongCallback (uint16_t timePressedMs, bool pressedAtReset)
 Called when Button 0 is pressed long.
 
void emberAfPluginButtonInterfaceButton1PressedLongCallback (uint16_t timePressedMs, bool pressedAtReset)
 Called when Button 1 is pressed long.
 
void emberAfPluginButtonInterfaceButton0PressingCallback (void)
 Called while Button 0 is pressed.
 
void emberAfPluginButtonInterfaceButton1PressingCallback (void)
 Called while Button 1 is pressed.
 
void emberAfPluginButtonInterfaceButton0LowCallback (void)
 Called when Button 0 goes low.
 
void emberAfPluginButtonInterfaceButton0HighCallback (void)
 Called when Button 0 goes high.
 
void emberAfPluginButtonInterfaceButton1LowCallback (void)
 Called when Button 1 goes low.
 
void emberAfPluginButtonInterfaceButton1HighCallback (void)
 Called when Button 1 goes high.

Button Form/Join Code Plugin Callbacks

void emberAfPluginButtonJoiningButtonEventCallback (uint8_t buttonNumber, uint32_t buttonPressDurationMs)
 Button Event.

Calendar Server Plugin Callbacks

void emberAfPluginCalendarServerPublishInfoCallback (uint8_t publishCommandId, EmberNodeId clientNodeId, uint8_t clientEndpoint, uint8_t totalCommands)
 Publish Info.

Color Control Cluster (deprecated) Plugin Callbacks

bool emberAfPluginColorControlIsColorSupportedCallback (uint8_t hue, uint8_t saturation)
 Is Color Supported.

Color Control Cluster Server Plugin Callbacks

void emberAfPluginColorControlServerComputePwmFromHsvCallback (uint8_t endpoint)
 Compute Pwm from HSV.
 
void emberAfPluginColorControlServerComputePwmFromXyCallback (uint8_t endpoint)
 Compute Pwm from HSV.
 
void emberAfPluginColorControlServerComputePwmFromTempCallback (uint8_t endpoint)
 Compute Pwm from HSV.

Command Relay Plugin Callbacks

void emberAfPluginCommandRelayChangedCallback (void)
 Changed.

Comms Hub Function (CHF) Plugin Callbacks

void emberAfPluginCommsHubFunctionSendCallback (uint8_t status, EmberEUI64 destinationDeviceId, uint16_t dataLen, uint8_t *data)
 Send.
 
void emberAfPluginCommsHubFunctionReceivedCallback (EmberEUI64 senderDeviceId, uint16_t dataLen, uint8_t *data)
 Received.
 
void emberAfPluginCommsHubFunctionAlertWANCallback (uint16_t alertCode, uint8_t *gbzAlert, uint16_t gbzAlertLength)
 Alert WAN.
 
void emberAfPluginCommsHubFunctionTunnelOpenedCallback (EmberEUI64 remoteDeviceId)
 Tunnel Opened.

Comms Hub Function (Sub-GHz) Plugin Callbacks

void emberAfPluginCommsHubFunctionSubGhzChannelChangeCallback (EmberAfPluginCommsHubFunctionSubGhzChannelChangeOutcome outcome, EmberAfStatus status)
 Sub-GHz channel change request outcome callback.

Concentrator Support Plugin Callbacks

void emberAfPluginConcentratorBroadcastSentCallback (void)
 Broadcast Sent.

Configuration server Plugin Callbacks

void emberAfPluginConfigurationServerFinishedCallback (EmberStatus status)
 Finished.

Connection Manager Plugin Callbacks

void emberAfPluginConnectionManagerFinishedCallback (EmberStatus status)
 Network join finished.
 
void emberAfPluginConnectionManagerStartNetworkSearchCallback (void)
 Begin searching for network to join.
 
void emberAfPluginConnectionManagerLeaveNetworkCallback (void)
 Leave the currently joined network.

Counters Plugin Callbacks

void emberAfPluginCountersRolloverCallback (EmberCounterType type)
 Rollover.

Device Database Plugin Callbacks

void emberAfPluginDeviceDatabaseDiscoveryCompleteCallback (const EmberAfDeviceInfo *device)
 Discovery Complete.

Device Management Client Plugin Callbacks

void emberAfPluginDeviceManagementClientEnactChangeOfTenancyCallback (uint8_t endpoint, EmberAfDeviceManagementTenancy *tenancy)
 Enact Change Of Tenancy.
 
void emberAfPluginDeviceManagementClientEnactChangeOfSupplierCallback (uint8_t endpoint, EmberAfDeviceManagementSupplier *supplier)
 Enact Change Of Supplier.
 
EmberStatus emberAfPluginDeviceManagementClientEnactChangeSupplyCallback (uint8_t endpoint, EmberAfDeviceManagementSupply *supply)
 Enact Change Supply.
 
void emberAfPluginDeviceManagementClientSetSupplyStatusCallback (uint8_t endpoint, EmberAfDeviceManagementSupplyStatusFlags *supplyStatus)
 Set Supply Status.
 
void emberAfPluginDeviceManagementClientEnactUpdateUncontrolledFlowThresholdCallback (uint8_t endpoint, EmberAfDeviceManagementUncontrolledFlowThreshold *supplier)
 Enact Update Uncontrolled Flow Threshold.

Device Management Server Plugin Callbacks

void emberAfPluginDeviceManagementServerGetPasswordCallback (EmberNodeId senderNodeId, EmberAfDeviceManagementPasswordType passwordType, EmberAfDeviceManagementPassword passwordInfo)
 Get Password.

Device Table Plugin Callbacks

void emberAfPluginDeviceTableStateChangeCallback (EmberNodeId nodeId, uint8_t state)
 StateChange.
 
void emberAfPluginDeviceTableClearedCallback (void)
 Cleared.
 
void emberAfPluginDeviceTableNewDeviceCallback (EmberEUI64 eui64)
 NewDevice.
 
void emberAfPluginDeviceTableRejoinDeviceCallback (EmberEUI64 newNodeEui64)
 Rejoin device.
 
void emberAfPluginDeviceTableDeviceLeftCallback (EmberEUI64 newNodeEui64)
 StateChange.
 
void emberAfPluginDeviceTableInitialized (void)
 StateChange.
 
void emberAfPluginDeviceTableIndexRemovedCallback (uint16_t currentIndex)
 StateChange.
 
void emberAfPluginDeviceTableIndexAddedCallback (uint16_t index)
 StateChange.

Door Lock Server Cluster Plugin Callbacks

bool emberAfPluginDoorLockServerActivateDoorLockCallback (bool activate)
 Activate Door Lock.

Demand Response Load Control Cluster Client Plugin Callbacks

bool emberAfPluginDrlcEventActionCallback (EmberAfLoadControlEvent *loadControlEvent, EmberAfAmiEventStatus eventStatus, uint8_t sequenceNumber)
 Event Action.

Em4 Plugin Callbacks

void emberPluginEM4BeforeEM4Callback (void)
 Before em4 sleep called from idle-sleep plugin, need to be implemented by app to store restart sensitive app variables in RTCC RAM.
 
void emberPluginEM4AfterEM4Callback (void)
 After em4 sleep called from idle-sleep plugin, need to be implemented by app to restore restart sensitive app variables from RTCC RAM.

End Device Support Plugin Callbacks

void emberAfPluginEndDeviceSupportPollCompletedCallback (EmberStatus status)
 Poll Completed.
 
bool emberAfPluginEndDeviceSupportLostParentConnectivityCallback (void)
 Lost Parent Connectivity.
 
bool emberAfPluginEndDeviceSupportPreNetworkMoveCallback (void)
 Pre Network Move.

Events Server Plugin Callbacks

bool emberAfPluginEventsServerOkToClearLogCallback (EmberAfEventLogId logId)
 Ok To Clear Log.
 
void emberAfPluginEventsServerLogDataUpdatedCallback (const EmberAfClusterCommand *cmd)
 Log Data Updated.

EZ-Mode Commissioning Plugin Callbacks

void emberAfPluginEzmodeCommissioningClientCompleteCallback (uint8_t bindingIndex)
 Client Complete.

Find and Bind Initiator Plugin Callbacks

bool emberAfPluginFindAndBindInitiatorBindTargetCallback (EmberNodeId nodeId, EmberBindingTableEntry *bindingEntry, uint8_t *groupName)
 Bind Target.
 
void emberAfPluginFindAndBindInitiatorCompleteCallback (EmberStatus status)
 Complete.

Form and Join Library Plugin Callbacks

void emberAfPluginFormAndJoinNetworkFoundCallback (EmberZigbeeNetwork *networkFound, uint8_t lqi, int8_t rssi)
 Network Found.
 
void emberAfPluginFormAndJoinUnusedPanIdFoundCallback (EmberPanId panId, uint8_t channel)
 Unused Pan Id Found.

Gas Proxy Function (GPF) Plugin Callbacks

void emberAfPluginGasProxyFunctionNonTapOffMessageHandlerCompletedCallback (uint8_t *gbzCommandsResponse, uint16_t gbzCommandsResponseLength)
 Non Tap Off Message Handler Completed.
 
void emberAfPluginGasProxyFunctionAlertWANCallback (uint16_t alertCode, uint8_t *gbzAlert, uint16_t gbzAlertLength)
 Alert WAN.
 
void emberAfPluginGasProxyFunctionTapOffMessageFutureCommandIgnoredCallback (const EmberAfGpfMessage *gpfMessage, const EmberAfClusterCommand *zclClusterCommand)
 Tap Off Message Future Command Ignored.
 
bool emberAfPluginGasProxyFunctionDataLogAccessRequestCallback (const EmberAfGpfMessage *gpfMessage, const EmberAfClusterCommand *zclClusterCommand)
 Data Log Access Request.
 
EmberAfGpfZclCommandPermission emberAfPluginGasProxyFunctionValidateIncomingZclCommandCallback (const EmberAfClusterCommand *cmd, uint16_t messageCode)
 Validate Incoming Zcl Command.
 
void emberAfPluginGasProxyFunctionUnknownSeasonWeekIdCallback (uint32_t issuerCalendarId, uint8_t *seasonEntries, uint8_t seasonEntriesLength, uint8_t unknownWeekIdSeasonsMask)
 Unknown Season Week Id.
 
void emberAfPluginGasProxyFunctionUnknownSpecialDaysDayIdCallback (uint32_t issuerCalendarId, uint8_t *specialDayEntries, uint8_t specialDayEntriesLength, uint8_t unknownDayIdMask)
 Unknown Special Days Day Id.

GBCS Device Log Plugin Callbacks

void emberAfPluginGbcsDeviceLogDeviceRemovedCallback (EmberEUI64 deviceId)
 Device Removed.

GBZ Message Controller Plugin Callbacks

void emberAfPluginGbzMessageControllerDecryptDataCallback (EmberAfGbzMessageData *data)
 Decrypt Data.
 
void emberAfPluginGbzMessageControllerEncryptDataCallback (EmberAfGbzMessageData *data)
 Encrypt Data.

GPIO Sensor Interface Plugin Callbacks

void emberAfPluginGpioSensorStateChangedCallback (uint8_t newSensorState)
 Called whenever the GPIO sensor detects a change in state.

Green Power Server Plugin Callbacks

bool emberAfPluginGreenPowerServerGpdCommissioningCallback (EmberGpApplicationInfo *appInfo)
 Gpd Commissioning.
 
bool emberAfPluginGreenPowerServerGpdSecurityFailureCallback (EmberGpAddress gpdAddr)
 Gpd Commissioning.
 
bool emberAfGreenPowerClusterGpNotificationForwardCallback (EmberGpAddress *addr, uint8_t gpdCommandId, uint8_t *gpdCommandPayload)
 Gpd Commissioning.
 
void emberAfGreenPowerClusterPassFrameWithoutTranslationCallback (EmberGpAddress *addr, uint8_t gpdCommandId, uint8_t *gpdCommandPayload)
 Gpd Commissioning.

Groups Server Cluster Plugin Callbacks

void emberAfPluginGroupsServerGetGroupNameCallback (uint8_t endpoint, uint16_t groupId, uint8_t *groupName)
 Get Group Name.
 
void emberAfPluginGroupsServerSetGroupNameCallback (uint8_t endpoint, uint16_t groupId, uint8_t *groupName)
 Set Group Name.
 
bool emberAfPluginGroupsServerGroupNamesSupportedCallback (uint8_t endpoint)
 Group Names Supported.

Identify Cluster Plugin Callbacks

void emberAfPluginIdentifyStartFeedbackCallback (uint8_t endpoint, uint16_t identifyTime)
 Start Feedback.
 
void emberAfPluginIdentifyStopFeedbackCallback (uint8_t endpoint)
 Stop Feedback.

Idle/Sleep Plugin Callbacks

bool emberAfPluginIdleSleepOkToSleepCallback (uint32_t durationMs)
 Ok To Sleep.
 
void emberAfPluginIdleSleepWakeUpCallback (uint32_t durationMs)
 Wake Up.
 
bool emberAfPluginIdleSleepOkToIdleCallback (void)
 Ok To Idle.
 
void emberAfPluginIdleSleepActiveCallback (void)
 Active.
 
bool emberAfPluginIdleSleepRtosCallback (uint32_t *durationMs, bool sleepOk)
 RTOS idle/sleep.
 
void emberPluginEM4AboutToGoInEM4Callback (uint32_t sleepDurationMs)
 about to go to em4 sleep called from idle-sleep plugin, implemented in em4 plugin stores stack related variables in RTCC RAM
 
void emberPluginEM4ComingBackFromEM4Callback (void)
 coming back from em4 sleep called from idle-sleep plugin, implemented in em4 plugin. Restores stack related variables from RTCC RAM
 
bool emberAfOKToGoToEM4Callback (void)
 Ok To Sleep.
 
void emberAfCameBackFromEM4Callback (void)
 Ok To Sleep.

Interpan Plugin Callbacks

bool emberAfPluginInterpanPreMessageReceivedCallback (const EmberAfInterpanHeader *header, uint8_t msgLen, uint8_t *message)
 Pre Message Received.
 
void emberAfPluginInterpanMessageReceivedOverFragmentsCallback (const EmberAfInterpanHeader *header, uint8_t msgLen, uint8_t *message)
 Message Received Over Fragments.
 
void emberAfPluginInterpanFragmentTransmissionFailedCallback (uint8_t interpanFragmentationStatus, uint8_t fragmentNum)
 Fragment Transmission Failed.

Level Control Server Cluster Plugin Callbacks

void emberAfPluginLevelControlClusterServerPostInitCallback (uint8_t endpoint)
 Level Control Cluster Server Post Init.
 
void emberAfPluginLevelControlCoupledColorTempChangeCallback (uint8_t endpoint)
 Level Control Coupled Color Temp Change.

Low Voltage Shutdown Plugin Callbacks

bool emberAfPluginLowVoltageShutdownOkToShutdownCallback (uint16_t shutdownVoltage)
 Ok To Shutdown.
 
void emberAfPluginLowVoltageShutdownPreShutdownCallback (uint16_t shutdownVoltage)
 Pre Shutdown.

Messaging Client Cluster Plugin Callbacks

bool emberAfPluginMessagingClientPreDisplayMessageCallback (uint32_t messageId, uint8_t messageControl, uint32_t startTime, uint16_t durationInMinutes, uint8_t *message, uint8_t optionalExtendedMessageControl)
 Pre Display Message.
 
void emberAfPluginMessagingClientDisplayMessageCallback (EmberAfPluginMessagingClientMessage *message)
 Display Message.
 
void emberAfPluginMessagingClientCancelMessageCallback (EmberAfPluginMessagingClientMessage *message)
 Cancel Message.

Meter Mirror Plugin Callbacks

void emberAfPluginMeterMirrorMirrorAddedCallback (const EmberEUI64 requestingDeviceIeeeAddress, uint8_t endpoint)
 Mirror Added.
 
void emberAfPluginMeterMirrorMirrorRemovedCallback (const EmberEUI64 requestingDeviceIeeeAddress, uint8_t endpoint)
 Mirror Removed.
 
void emberAfPluginMeterMirrorReportingCompleteCallback (uint8_t endpoint)
 Reporting Complete.

Meter Snapshot Server Plugin Callbacks

void emberAfPluginMeterSnapshotServerScheduleSnapshotCallback (uint8_t srcEndpoint, uint8_t dstEndpoint, EmberNodeId dest, uint8_t *snapshotPayload, uint8_t *responsePayload)
 Schedule Snapshot.
 
uint32_t emberAfPluginMeterSnapshotServerTakeSnapshotCallback (uint8_t endpoint, uint32_t snapshotCause, uint8_t *snapshotConfirmation)
 Take Snapshot.
 
void emberAfPluginMeterSnapshotServerGetSnapshotCallback (uint8_t srcEndpoint, uint8_t dstEndpoint, EmberNodeId dest, uint8_t *snapshotCriteria)
 Get Snapshot.

Metering Server Plugin Callbacks

void emberAfPluginMeteringServerProcessNotificationFlagsCallback (uint16_t attributeId, uint32_t attributeValue)
 Server Process Notification.

Micrium RTOS Plugin Callbacks

void emberAfPluginMicriumRtosAppTask1InitCallback (void)
 This function is called from the Micrium RTOS plugin before the Application (1) task is created.
 
void emberAfPluginMicriumRtosAppTask1MainLoopCallback (void *p_arg)
 This function implements the Application (1) task main loop.
 
void emberAfPluginMicriumRtosAppTask2InitCallback (void)
 This function is called from the Micrium RTOS plugin before the Application (2) task is created.
 
void emberAfPluginMicriumRtosAppTask2MainLoopCallback (void *p_arg)
 This function implements the Application (2) task main loop.
 
void emberAfPluginMicriumRtosAppTask3InitCallback (void)
 This function is called from the Micrium RTOS plugin before the Application (3) task is created.
 
void emberAfPluginMicriumRtosAppTask3MainLoopCallback (void *p_arg)
 This function implements the Application (3) task main loop.

Network Creator Plugin Callbacks

void emberAfPluginNetworkCreatorCompleteCallback (const EmberNetworkParameters *network, bool usedSecondaryChannels)
 Complete.
 
EmberPanId emberAfPluginNetworkCreatorGetPanIdCallback (void)
 Get Pan Id.
 
int8_t emberAfPluginNetworkCreatorGetRadioPowerCallback (void)
 Get Power For Radio Channel.

Network Find Plugin Callbacks

void emberAfPluginNetworkFindFinishedCallback (EmberStatus status)
 Finished.
 
int8_t emberAfPluginNetworkFindGetRadioPowerForChannelCallback (uint8_t pgChan)
 Get Radio Power For Channel.
 
bool emberAfPluginNetworkFindJoinCallback (EmberZigbeeNetwork *networkFound, uint8_t lqi, int8_t rssi)
 Join.
 
int8_t emberAfPluginNetworkFindGetEnergyThresholdForChannelCallback (uint8_t pgChan)
 Get Energy Threshold For Channel.
 
bool emberAfPluginNetworkFindGetEnableScanningAllChannelsCallback (void)
 Get Enable Scanning All Channels.

Network Steering Plugin Callbacks

void emberAfPluginNetworkSteeringCompleteCallback (EmberStatus status, uint8_t totalBeacons, uint8_t joinAttempts, uint8_t finalState)
 Complete.
 
int8_t emberAfPluginNetworkSteeringGetPowerForRadioChannelCallback (uint8_t channel)
 Get Power For Radio Channel.
 
bool emberAfPluginNetworkSteeringGetDistributedKeyCallback (EmberKeyData *key)
 Get Distributed Key.
 
EmberNodeType emberAfPluginNetworkSteeringGetNodeTypeCallback (EmberAfPluginNetworkSteeringJoiningState state)
 Get Node Type.

Occupancy PYD-1698 Plugin Callbacks

void halOccupancyStateChangedCallback (HalOccupancyState occupancyState)
 Occupancy state has changed.

Occupancy Sensor Server Cluster Plugin Callbacks

void emberAfPluginOccupancySensorServerOccupancyStateChangedCallback (HalOccupancyState occupancyState)
 Occupancy state changed.

On/Off Server Cluster Plugin Callbacks

void emberAfPluginOnOffClusterServerPostInitCallback (uint8_t endpoint)
 On/off Cluster Server Post Init.

OTA Bootload Cluster Client Plugin Callbacks

void emberAfPluginOtaClientPreBootloadCallback (uint8_t srcEndpoint, uint8_t serverEndpoint, EmberNodeId serverNodeId)
 Pre-Bootload Callback.

OTA Bootload Cluster Server Plugin Callbacks

void emberAfPluginOtaServerUpdateStartedCallback (uint16_t manufacturerId, uint16_t imageTypeId, uint32_t firmwareVersion, uint8_t maxDataSize, uint32_t offset)
 UpdateStarted.
 
void emberAfPluginOtaServerBlockSentCallback (uint8_t actualLength, uint16_t manufacturerId, uint16_t imageTypeId, uint32_t firmwareVersion)
 OTA Server Block Sent Callback.
 
void emberAfPluginOtaServerUpdateCompleteCallback (uint16_t manufacturerId, uint16_t imageTypeId, uint32_t firmwareVersion, EmberNodeId source, uint8_t status)
 OTA Server Update Complete Callback.
 
uint8_t emberAfOtaServerImageBlockRequestCallback (EmberAfImageBlockRequestCallbackStruct *data)
 Ota Server Image Block Request.

OTA Bootload Cluster Server Policy Plugin Callbacks

uint8_t emberAfPluginOtaServerPolicyGetClientDelayUnits (EmberNodeId clientNodeId, EmberEUI64 clientEui64)
 GetClientDelayUnits.

OTA Simple Storage EEPROM Driver Plugin Callbacks

void emberAfPluginOtaStorageSimpleEepromEraseCompleteCallback (bool success)
 Erase Complete.

Poll Control Server Cluster Plugin Callbacks

void emberAfPluginPollControlServerCheckInTimeoutCallback (void)
 CheckInTimeout.

Prepayment Server Plugin Callbacks

bool emberAfPluginPrepaymentServerConsumerTopUpCallback (uint8_t originatingDevice, uint8_t *topUpCode)
 Consumer Top Up.

Price Client Plugin Callbacks

void emberAfPluginPriceClientPriceStartedCallback (EmberAfPluginPriceClientPrice *price)
 Price Started.
 
void emberAfPluginPriceClientPriceExpiredCallback (EmberAfPluginPriceClientPrice *price)
 Price Expired.
 
uint8_t emberAfPluginPriceClientPendingCppEventCallback (uint8_t cppAuth)
 Pending Cpp Event.

Price Server Plugin Callbacks

void emberAfPluginPriceServerNewActivePriceMatrixCallback (const EmberAfPriceCommonInfo *priceCommonInfo, const EmberAfScheduledPriceMatrix *priceMatrix)
 New Active Price Matrix.
 
void emberAfPluginPriceServerNewActiveTariffInformationCallback (const EmberAfPriceCommonInfo *priceCommonInfo, const EmberAfScheduledTariff *priceTariffInfo)
 New Active Tariff Information.
 
void emberAfPluginPriceServerNewActiveBlockThresholdsInformationCallback (const EmberAfPriceCommonInfo *priceCommonInfo, const EmberAfScheduledBlockThresholds *priceBlockThresholds)
 New Active Block Thresholds Information.
 
void emberAfPluginPriceServerNewActiveBlockPeriodInformationCallback (const EmberAfPriceCommonInfo *priceCommonInfo, const EmberAfPriceBlockPeriod *priceBlockPeriods)
 New Active Block Period Information.

Reporting Plugin Callbacks

EmberAfStatus emberAfPluginReportingConfiguredCallback (const EmberAfPluginReportingEntry *entry)
 Configured.
 
bool emberAfPluginReportingGetDefaultReportingConfigCallback (EmberAfPluginReportingEntry *entry)
 Configured.

SB1 Gesture Sensor Plugin Callbacks

void emberAfPluginSb1GestureSensorGestureReceivedCallback (uint8_t gestureReceived, uint8_t switchNumber)
 Called whenever the SB1 receives a gesture.

Security Sensor Interface Plugin Callbacks

void emberAfPluginSecuritySensorStatusChangedCallback (uint16_t status)
 Security sensor state changed.

Simple Metering Client Plugin Callbacks

uint16_t emberAfPluginSimpleMeteringClientRequestMirrorCallback (EmberEUI64 requestingDeviceIeeeAddress)
 Request Mirror.
 
uint16_t emberAfPluginSimpleMeteringClientRemoveMirrorCallback (EmberEUI64 requestingDeviceIeeeAddress)
 Remove Mirror.

Simple Metering Server Plugin Callbacks

void emberAfPluginSimpleMeteringServerProcessNotificationFlagsCallback (uint16_t attributeId, uint32_t attributeValue)
 Process Notification Flags.

Sleepy Message Queue Plugin Callbacks

void emberAfPluginSleepyMessageQueueMessageTimedOutCallback (uint8_t sleepyMsgId)
 Message Timed Out.

Standalone Bootloader Client Plugin Callbacks

bool emberAfPluginStandaloneBootloaderClientAllowIncomingMessageCallback (EmberEUI64 sourceEui64, uint8_t command)
 Allow Incoming Message.
 
bool emberAfPluginStandaloneBootloaderClientAllowBootloadLaunchCallback (EmberEUI64 sourceEui64)
 Allow Bootload Launch.

Standalone Bootloader Common Plugin Callbacks

bool emberAfPluginStandaloneBootloaderCommonIncomingMessageCallback (EmberEUI64 longId, uint8_t length, uint8_t *message)
 Incoming Message.

Standalone Bootloader Server Plugin Callbacks

void emberAfPluginStandaloneBootloaderServerQueryResponseCallback (bool queryWasBroadcast, const EmberAfStandaloneBootloaderQueryResponseData *queryData)
 Query Response.
 
void emberAfPluginStandaloneBootloaderServerFinishedCallback (bool success)
 Finished.

Sub-GHz Client Plugin Callbacks

bool emberAfPluginSubGhzSuspendZclMessagesCallback (uint8_t period)
 Sub-GHz Cluster Suspend ZCL Messages.

Sub-GHz Server Plugin Callbacks

boolean emberAfPluginSubGhzDutyCycleCallback (uint8_t channelPage, uint8_t channel, EmberDutyCycleState oldState, EmberDutyCycleState newState)
 Duty cycle state change callback for the use with the Sub-GHz plugin.
 
void emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback (uint8_t channelPage, uint8_t channel, uint16_t macTxUcastTotal, uint16_t macTxUcastFailures, uint16_t macTxUcastRetries, uint8_t period)
 Callback to let the application handle the incoming Mgmt_NWK_Unsolicited_Enhanced_Update_notify command.
 
bool emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback (void)
 Sub-GHz Cluster Get Suspend ZCL Messages Status.

Tamper Switch Interface Plugin Callbacks

void emberAfPluginTamperSwitchTamperActiveCallback (void)
 Tamper is active.
 
void emberAfPluginTamperSwitchTamperAlarmCallback (void)
 Tamper alarm.

Temperature Measurement Server Cluster Plugin Callbacks

void emberAfPluginTemperatureMeasurementServerOverTemperatureCallback (uint8_t previousState, uint8_t newState)
 Over temperature state changed.

Gateway MQTT Transport Plugin Callbacks

void emberAfPluginTransportMqttStateChangedCallback (EmberAfPluginTransportMqttState state)
 MQTT client state is changed.
 
bool emberAfPluginTransportMqttMessageArrivedCallback (const char *topic, const char *payload)
 MQTT message arrived.

Trust Center Keepalive Plugin Callbacks

bool emberAfPluginTrustCenterKeepaliveTimeoutCallback (void)
 Timeout.
 
void emberAfPluginTrustCenterKeepaliveConnectivityRestoredCallback (void)
 ConnectivityRestored This function is called by the Trust Center Keepalive plugin when a read attribute response command from the trust center is received after trust center connectivity had previously been lost.

Tunneling Client Cluster Plugin Callbacks

void emberAfPluginTunnelingClientTunnelOpenedCallback (uint8_t tunnelIndex, EmberAfPluginTunnelingClientStatus tunnelStatus, uint16_t maximumIncomingTransferSize)
 Tunnel Opened.
 
void emberAfPluginTunnelingClientDataReceivedCallback (uint8_t tunnelIndex, uint8_t *data, uint16_t dataLen)
 Data Received.
 
void emberAfPluginTunnelingClientDataErrorCallback (uint8_t tunnelIndex, EmberAfTunnelingTransferDataStatus transferDataStatus)
 Data Error.
 
void emberAfPluginTunnelingClientTunnelClosedCallback (uint8_t tunnelIndex)
 Tunnel Closed.
 
void emberAfPluginTunnelingClientTransferDataFailureCallback (uint16_t indexOfDestination, EmberApsFrame *apsFrame, uint16_t msgLen, uint8_t *message, EmberStatus status)
 Transfer Data Failure.

Tunneling Server Cluster Plugin Callbacks

bool emberAfPluginTunnelingServerIsProtocolSupportedCallback (uint8_t protocolId, uint16_t manufacturerCode)
 Is Protocol Supported.
 
void emberAfPluginTunnelingServerTunnelOpenedCallback (uint16_t tunnelIndex, uint8_t protocolId, uint16_t manufacturerCode, bool flowControlSupport, uint16_t maximumIncomingTransferSize)
 Tunnel Opened.
 
void emberAfPluginTunnelingServerDataReceivedCallback (uint16_t tunnelIndex, uint8_t *data, uint16_t dataLen)
 Data Received.
 
void emberAfPluginTunnelingServerDataErrorCallback (uint16_t tunnelIndex, EmberAfTunnelingTransferDataStatus transferDataStatus)
 Data Error.
 
void emberAfPluginTunnelingServerTunnelClosedCallback (uint16_t tunnelIndex, bool clientInitiated)
 Tunnel Closed.

Update TC Link Key Plugin Callbacks

void emberAfPluginUpdateTcLinkKeyStatusCallback (EmberKeyStatus keyStatus)
 Status.

ZLL Commissioning Client Plugin Callbacks

void emberAfPluginZllCommissioningClientTouchLinkFailedCallback (EmberAfZllCommissioningStatus status)
 Touch Link Failed.

ZLL Commissioning Common Plugin Callbacks

void emberAfPluginZllCommissioningCommonInitialSecurityStateCallback (EmberZllInitialSecurityState *securityState)
 Initial Security State.
 
void emberAfPluginZllCommissioningCommonTouchLinkCompleteCallback (const EmberZllNetwork *networkInfo, uint8_t deviceInformationRecordCount, const EmberZllDeviceInfoRecord *deviceInformationRecordList)
 Touch Link Complete.
 
void emberAfPluginZllCommissioningCommonResetToFactoryNewCallback (void)
 Reset To Factory New.

ZLL Commissioning Network Plugin Callbacks

bool emberAfPluginZllCommissioningNetworkJoinCallback (EmberZigbeeNetwork *networkFound, uint8_t lqi, int8_t rssi)
 Join.

ZLL Commissioning Server Plugin Callbacks

uint8_t emberAfPluginZllCommissioningServerGroupIdentifierCountCallback (uint8_t endpoint)
 Group Identifier Count.
 
bool emberAfPluginZllCommissioningServerGroupIdentifierCallback (uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningGroupInformationRecord *record)
 Group Identifier.
 
uint8_t emberAfPluginZllCommissioningServerEndpointInformationCountCallback (uint8_t endpoint)
 Endpoint Information Count.
 
bool emberAfPluginZllCommissioningServerEndpointInformationCallback (uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningEndpointInformationRecord *record)
 Endpoint Information.
 
void emberAfPluginZllCommissioningServerIdentifyCallback (uint16_t durationS)
 Identify.

ZLL On/Off Server Cluster Enhancements Plugin Callbacks

EmberAfStatus emberAfPluginZllOnOffServerOffWithEffectCallback (uint8_t endpoint, uint8_t effectId, uint8_t effectVariant)
 Off With Effect.

Function Documentation

void emberAfCameBackFromEM4Callback ( void  )

Ok To Sleep.

This function is called by the Idle/Sleep plugin before sleeping. It is called with interrupts disabled. The application should return true if the device may sleep or false otherwise.

Parameters
durationMsThe maximum duration in milliseconds that the device will sleep. Ver.: always
bool emberAfGreenPowerClusterGpNotificationForwardCallback ( EmberGpAddress *  addr,
uint8_t  gpdCommandId,
uint8_t *  gpdCommandPayload 
)

Gpd Commissioning.

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Gp Notification of an incomming gpd command. Return true to handle in application.

Parameters
appInfoVer.: always
void emberAfGreenPowerClusterPassFrameWithoutTranslationCallback ( EmberGpAddress *  addr,
uint8_t  gpdCommandId,
uint8_t *  gpdCommandPayload 
)

Gpd Commissioning.

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Gp Notification without translation(endpoint is 0xFC).

Parameters
appInfoVer.: always
bool emberAfOKToGoToEM4Callback ( void  )

Ok To Sleep.

This function is called by the Idle/Sleep plugin before sleeping. It is called with interrupts disabled. The application should return true if the device may sleep or false otherwise.

Parameters
durationMsThe maximum duration in milliseconds that the device will sleep. Ver.: always
uint8_t emberAfOtaServerImageBlockRequestCallback ( EmberAfImageBlockRequestCallbackStruct data)

Ota Server Image Block Request.

This function is called when the server application receives an image block request by a client.

Parameters
dataA struct containing the details of the image block response and values that can be returned by the application to effect the behavior of the server's response.
void emberAfPluginBasicResetToFactoryDefaultsCallback ( uint8_t  endpoint)

Reset To Factory Defaults.

This function is called by the Basic server plugin when a request to reset to factory defaults is received. The plugin will reset attributes managed by the framework to their default values. The application should perform any other necessary reset-related operations in this callback, including resetting any externally-stored attributes.

Parameters
endpointVer.: always
void emberAfPluginBatteryMonitorDataReadyCallback ( uint16_t  batteryVoltageMilliV)

Data Ready.

This function is called whenever the battery monitor has generated a new valid battery level.

Parameters
batteryVoltageMilliVThe battery voltage, in milli Volts Ver.: always
void emberAfPluginBleEventCallback ( struct gecko_cmd_packet *  evt)

This function is called from the BLE stack to notify the application of a stack event.

void emberAfPluginBleGetConfigCallback ( gecko_configuration_t *  config)

This function is called at init time. The following fields will be overwritten by the framework:

  • max_connections
  • heap
  • heap_size
void emberAfPluginBulbUiFinishedCallback ( EmberStatus  status)

Finished.

This callback is fired when the bulb-ui plugin is finished with the forming or joining process. The result of the operation will be returned in the status parameter.

Parameters
statusVer.: always
void emberAfPluginButtonInterfaceButton0HighCallback ( void  )

Called when Button 0 goes high.

This function is called when the GPIO tied to button zero goes high

void emberAfPluginButtonInterfaceButton0LowCallback ( void  )

Called when Button 0 goes low.

This function is called when the GPIO tied to button zero goes low

void emberAfPluginButtonInterfaceButton0PressedLongCallback ( uint16_t  timePressedMs,
bool  pressedAtReset 
)

Called when Button 0 is pressed long.

Parameters
timePressedMsAmount of time button 0 was pressed.
pressedAtResetWas the button pressed at startup.
void emberAfPluginButtonInterfaceButton0PressedShortCallback ( uint16_t  timePressedMs)

Called when Button 0 is pressed short.

Parameters
timePressedMsTime (in ms) button 0 was pressed short
void emberAfPluginButtonInterfaceButton0PressingCallback ( void  )

Called while Button 0 is pressed.

This function is periodically called when button 0 is being pressed.

void emberAfPluginButtonInterfaceButton1HighCallback ( void  )

Called when Button 1 goes high.

This function is called when the GPIO tied to button one goes high

void emberAfPluginButtonInterfaceButton1LowCallback ( void  )

Called when Button 1 goes low.

This function is called when the GPIO tied to button one goes low

void emberAfPluginButtonInterfaceButton1PressedLongCallback ( uint16_t  timePressedMs,
bool  pressedAtReset 
)

Called when Button 1 is pressed long.

Parameters
timePressedMsAmount of time button 1 was pressed.
pressedAtResetWas the button pressed at startup.
void emberAfPluginButtonInterfaceButton1PressedShortCallback ( uint16_t  timePressedMs)

Called when Button 1 is pressed short.

Parameters
timePressedMsTime (in ms) button 1 was pressed short
void emberAfPluginButtonInterfaceButton1PressingCallback ( void  )

Called while Button 1 is pressed.

This function is periodically called when button 1 is being pressed.

void emberAfPluginButtonJoiningButtonEventCallback ( uint8_t  buttonNumber,
uint32_t  buttonPressDurationMs 
)

Button Event.

This allows another module to get notification when a button is pressed and released but the button joining plugin did not handle it. This callback is NOT called in ISR context so there are no restrictions on what code can execute.

Parameters
buttonNumberThe button number that was pressed. Ver.: always
buttonPressDurationMsThe length of time button was held down before it was released. Ver.: always
void emberAfPluginCalendarServerPublishInfoCallback ( uint8_t  publishCommandId,
EmberNodeId  clientNodeId,
uint8_t  clientEndpoint,
uint8_t  totalCommands 
)

Publish Info.

This function is called by the calendar-server plugin after receiving any of the following commands and just before it starts publishing the response: GetCalendar, GetDayProfiles, GetSeasons, GetSpecialDays, and GetWeekProfiles.

Parameters
publishCommandIdZCL command to be published Ver.: always
clientNodeIdDestination nodeId Ver.: always
clientEndpointDestination endpoint Ver.: always
totalCommandsTotal number of publish commands to be sent Ver.: always
bool emberAfPluginColorControlIsColorSupportedCallback ( uint8_t  hue,
uint8_t  saturation 
)

Is Color Supported.

This function will be called to determine whether a color is supported by a device. The color will be specified by hue and saturation.

Parameters
hueVer.: always
saturationVer.: always
void emberAfPluginColorControlServerComputePwmFromHsvCallback ( uint8_t  endpoint)

Compute Pwm from HSV.

This function is called from the color server when it is time for the PWMs to be driven with a new value from the HSV values.

Parameters
endpointThe identifying endpoint Ver.: always
void emberAfPluginColorControlServerComputePwmFromTempCallback ( uint8_t  endpoint)

Compute Pwm from HSV.

This function is called from the color server when it is time for the PWMs to be driven with a new value from the color temperature.

Parameters
endpointThe identifying endpoint Ver.: always
void emberAfPluginColorControlServerComputePwmFromXyCallback ( uint8_t  endpoint)

Compute Pwm from HSV.

This function is called from the color server when it is time for the PWMs to be driven with a new value from the color X and color Y values.

Parameters
endpointThe identifying endpoint Ver.: always
void emberAfPluginCommandRelayChangedCallback ( void  )

Changed.

Called when relays rules are added or removed.

void emberAfPluginCommsHubFunctionAlertWANCallback ( uint16_t  alertCode,
uint8_t *  gbzAlert,
uint16_t  gbzAlertLength 
)

Alert WAN.

Notify the application of an Alert that should be sent to the WAN. The second argument is a pointer to the gbz alert buffer. The application is responsible for freeing this buffer.

Parameters
alertCodeThe 16 bit allert code as defined by GBCS Ver.: always
gbzAlertBuffer continaing the GBZ formatted Alert Ver.: always
gbzAlertLengthThe length in octets of the GBZ formatted Alert Ver.: always
void emberAfPluginCommsHubFunctionReceivedCallback ( EmberEUI64  senderDeviceId,
uint16_t  dataLen,
uint8_t *  data 
)

Received.

This callback is called by the Comms Hub Function (CHF) plugin whenever a message is received.

Parameters
senderDeviceIdThe EUI64 of the sending device Ver.: always
dataLenThe length in octets of the data Ver.: always
dataBuffer containing the raw octets of the data Ver.: always
void emberAfPluginCommsHubFunctionSendCallback ( uint8_t  status,
EmberEUI64  destinationDeviceId,
uint16_t  dataLen,
uint8_t *  data 
)

Send.

This callback is called by the Comms Hub Function (CHF) plugin to report the status of a message that was previously sent.

Parameters
statusThe status of the message that was sent Ver.: always
destinationDeviceIdThe EUI64 of the destination device to which the data was sent Ver.: always
dataLenThe length in octets of the data that was sent Ver.: always
dataBuffer containing the raw octets of the data that was sent Ver.: always
void emberAfPluginCommsHubFunctionSubGhzChannelChangeCallback ( EmberAfPluginCommsHubFunctionSubGhzChannelChangeOutcome  outcome,
EmberAfStatus  status 
)

Sub-GHz channel change request outcome callback.

This callback is called by the Comms Hub Function (Sub-GHz) plugin to report the outcome of the channel change request.

Parameters
outcomeChannel change request outcome
statusEmber status code if the outcome is negative
void emberAfPluginCommsHubFunctionTunnelOpenedCallback ( EmberEUI64  remoteDeviceId)

Tunnel Opened.

This function is called by the Comms Hub Function (CHF) plugin when a tunnel is opened.

Parameters
remoteDeviceIdThe EUI64 of the remote device for which a tunnel is opened Ver.: always
void emberAfPluginConcentratorBroadcastSentCallback ( void  )

Broadcast Sent.

This function is called when a new MTORR broadcast has been successfully sent by the concentrator plugin.

void emberAfPluginConfigurationServerFinishedCallback ( EmberStatus  status)

Finished.

This callback is fired when the bulb-ui plugin is finished with the forming or joining process. The result of the operation will be returned in the status parameter.

Parameters
statusVer.: always
void emberAfPluginConnectionManagerFinishedCallback ( EmberStatus  status)

Network join finished.

This callback is fired when the Connection Manager plugin is finished with the network search process. The result of the operation will be returned as the status parameter.

Parameters
statusVer.: always
void emberAfPluginConnectionManagerLeaveNetworkCallback ( void  )

Leave the currently joined network.

This function is called by the Connection Manager Plugin when the device is about to leave the network. It is normally used to trigger a UI event to notify the user of a network leave.

void emberAfPluginConnectionManagerStartNetworkSearchCallback ( void  )

Begin searching for network to join.

This function is called by the Connection Manager Plugin when it starts to search for a new network. It is normally used to trigger a UI event to notify the user that the device is currently searching for a network.

void emberAfPluginCountersRolloverCallback ( EmberCounterType  type)

Rollover.

This function is called every time a counter exceeds its threshold.

Parameters
typeThe counter that rolled over Ver.: always
void emberAfPluginDeviceDatabaseDiscoveryCompleteCallback ( const EmberAfDeviceInfo device)

Discovery Complete.

This function is called when a device in the database has been set to EMBER_AF_DEVICE_DISCOVERY_STATUS_DONE.

Parameters
deviceA pointer to the information struct about the device. Ver.: always
void emberAfPluginDeviceManagementClientEnactChangeOfSupplierCallback ( uint8_t  endpoint,
EmberAfDeviceManagementSupplier supplier 
)

Enact Change Of Supplier.

This callback will be implemented by a meter to enact a change of supplier at the requested time of implementation.

Parameters
endpointVer.: always
supplierVer.: always
void emberAfPluginDeviceManagementClientEnactChangeOfTenancyCallback ( uint8_t  endpoint,
EmberAfDeviceManagementTenancy tenancy 
)

Enact Change Of Tenancy.

This callback will be implemented by a meter to enact a change of tenancy at the requested time of implementation.

Parameters
endpointVer.: always
tenancyVer.: always
EmberStatus emberAfPluginDeviceManagementClientEnactChangeSupplyCallback ( uint8_t  endpoint,
EmberAfDeviceManagementSupply supply 
)

Enact Change Supply.

This callback will be implemented by a meter to enact a supply change at the requested time of implementation.

Parameters
endpointVer.: always
supplyVer.: always
void emberAfPluginDeviceManagementClientEnactUpdateUncontrolledFlowThresholdCallback ( uint8_t  endpoint,
EmberAfDeviceManagementUncontrolledFlowThreshold supplier 
)

Enact Update Uncontrolled Flow Threshold.

This callback will be implemented by a meter to enact an update to the uncontrolled flow threshold as specified.

Parameters
endpointVer.: always
supplierVer.: always
void emberAfPluginDeviceManagementClientSetSupplyStatusCallback ( uint8_t  endpoint,
EmberAfDeviceManagementSupplyStatusFlags supplyStatus 
)

Set Supply Status.

This callback will be implemented by a meter to appropriately set the supply status.

Parameters
endpointVer.: always
supplyStatusVer.: always
void emberAfPluginDeviceManagementServerGetPasswordCallback ( EmberNodeId  senderNodeId,
EmberAfDeviceManagementPasswordType  passwordType,
EmberAfDeviceManagementPassword  passwordInfo 
)

Get Password.

This callback will be implemented by an esi to provide device specific password information.

Parameters
senderNodeIdVer.: always
passwordTypeVer.: always
passwordInfoVer.: always
void emberAfPluginDeviceTableClearedCallback ( void  )

Cleared.

This callback is called when a device table has been cleared.

void emberAfPluginDeviceTableDeviceLeftCallback ( EmberEUI64  newNodeEui64)

StateChange.

This callback is called when a device's state changes.

Parameters
nodeIdVer.: always
stateVer.: always
void emberAfPluginDeviceTableIndexAddedCallback ( uint16_t  index)

StateChange.

This callback is called when a device's state changes.

Parameters
nodeIdVer.: always
stateVer.: always
void emberAfPluginDeviceTableIndexRemovedCallback ( uint16_t  currentIndex)

StateChange.

This callback is called when a device's state changes.

Parameters
nodeIdVer.: always
stateVer.: always
void emberAfPluginDeviceTableInitialized ( void  )

StateChange.

This callback is called when a device's state changes.

Parameters
nodeIdVer.: always
stateVer.: always
void emberAfPluginDeviceTableNewDeviceCallback ( EmberEUI64  eui64)

NewDevice.

This callback is called when a new device joins the gateway.

Parameters
uui64Ver.: always
void emberAfPluginDeviceTableRejoinDeviceCallback ( EmberEUI64  newNodeEui64)

Rejoin device.

Called when a device rejoins.

Parameters
newNodeEui64EUI64 of the rejoined device.
void emberAfPluginDeviceTableStateChangeCallback ( EmberNodeId  nodeId,
uint8_t  state 
)

StateChange.

This callback is called when a device's state changes.

Parameters
nodeIdVer.: always
stateVer.: always
bool emberAfPluginDoorLockServerActivateDoorLockCallback ( bool  activate)

Activate Door Lock.

This function is provided by the door lock server plugin. It is

Parameters
activateTrue if the lock should move to the locked position, false if it should move to the unlocked position Ver.: always
bool emberAfPluginDrlcEventActionCallback ( EmberAfLoadControlEvent loadControlEvent,
EmberAfAmiEventStatus  eventStatus,
uint8_t  sequenceNumber 
)

Event Action.

This function is called by the demand response and load control client plugin whenever an event status changes within the DRLC event table. The list of possible event status values is defined by the ZCL spec and is listed in the Application Framework's generated enums located in enums.h. For example, an event status may be: AMI_EVENT_STATUS_LOAD_CONTROL_EVENT_COMMAND_RX indicating that a properly formatted event was received; AMI_EVENT_STATUS_EVENT_STARTED indicating that an event has started; AMI_EVENT_STATUS_THE_EVENT_HAS_BEEN_CANCELED, indicating that the event was canceled. This callback is intended to give the device an opportunity to take action on the event in question. For instance if an event starts, the device should take the appropriate event action on the hardware. This callback returns a bool, if returned value is true, then a notification will be send over the air automatically to the originator of the event. If it is false, then nothing will be sent back to the originator of the event. Please note that in order for your application to be ZigBee compliant, a notification must be sent over the air to the originator of the event, so a value of false should only be returned if your application code takes care of sending this message or there is some other reason a message does not need to be sent by the framework.

Parameters
loadControlEventActual event Ver.: always
eventStatusStatus of event Ver.: always
sequenceNumberSequence number Ver.: always
bool emberAfPluginEndDeviceSupportLostParentConnectivityCallback ( void  )

Lost Parent Connectivity.

This function is called by the End Device Support plugin when the end device cannot connect to its parent. This callback is called under the following instances:

  • When the network state of the device is EMBER_JOINED_NETWORK_NO_PARENT.
  • If there are 3 or more data poll transaction failures for an end device.

If this callback returns false, the End Device Support plugin code will proceed with issuing a Trust Center rejoin. Otherwise, if this function returns true, the End Device Support plugin will not issue a Trust Center rejoin.

void emberAfPluginEndDeviceSupportPollCompletedCallback ( EmberStatus  status)

Poll Completed.

This function is called by the End Device Support plugin after a poll is completed.

Parameters
statusReturn status of a completed poll operation Ver.: always
bool emberAfPluginEndDeviceSupportPreNetworkMoveCallback ( void  )

Pre Network Move.

This function is called by the End Device Support plugin just before it issues a Network Move, or a sequence of a secure rejoin followed by several trust center rejoins. Various plugins issue a Network Move when certain conditions are met, such as when the network state is EMBER_JOINED_NO_PARENT.

Users can consume this callback and return true to prevent the End Device Support plugin from issuing rejoin requests. Consuming the callback also gives the application a chance to implement its own rejoin logic. If this callback returns false, the End Device Support plugin will issue network rejoins as usual.

void emberAfPluginEventsServerLogDataUpdatedCallback ( const EmberAfClusterCommand cmd)

Log Data Updated.

This function is called by the Events server plugin when any modification to the plugin's event logs has been made. The argument will hint the ZCL command that might be used to triggered the data change. If null, it means the logging data have been updated through other means, e.g. CLI.

Parameters
cmdZCL command Ver.: always
bool emberAfPluginEventsServerOkToClearLogCallback ( EmberAfEventLogId  logId)

Ok To Clear Log.

This function is called by the Events server plugin whenever a Clear Event Log Request command is received. The application should return true if it is Ok to clear the given log and false otherwise. If the request is to clear all logs (i.e. logId == EMBER_ZCL_EVENT_LOG_ID_ALL_LOGS) and the application allows all logs to be cleared then the application should return true. If the application does not allow all logs to be cleared it should return false in which case the plugin will subsequently call this callback for each event log allowing the application to selectively choose which event logs are Ok to be cleared.

Parameters
logIdThe identifier of the log requested to be cleared. Ver.: always
void emberAfPluginEzmodeCommissioningClientCompleteCallback ( uint8_t  bindingIndex)

Client Complete.

This function is called by the EZ-Mode Commissioning plugin when client commissioning completes.

Parameters
bindingIndexThe binding index that was created or EMBER_NULL_BINDING if an error occurred. Ver.: always
bool emberAfPluginFindAndBindInitiatorBindTargetCallback ( EmberNodeId  nodeId,
EmberBindingTableEntry bindingEntry,
uint8_t *  groupName 
)

Bind Target.

This callback with enable the user to programmatically decide if they want to bind with a potential target. The plugin will try to bind with this target if and only if the function returns true. By default, the callback tells the plugin to try to bind with the target. If the binding type is changed to EMBER_MULTICAST_BINDING, a multicast binding will be created.

Parameters
nodeIdshort ID of the potential target Ver.: always
bindingEntryThe binding entry for that target. Ver.: always
groupNameThe name of the group if a multicast binding is created. Ver.: always
void emberAfPluginFindAndBindInitiatorCompleteCallback ( EmberStatus  status)

Complete.

This callback is fired by the initiator when the Find and Bind process is complete.

Parameters
statusStatus code describing the completion of the find and bind process Ver.: always
void emberAfPluginFormAndJoinNetworkFoundCallback ( EmberZigbeeNetwork networkFound,
uint8_t  lqi,
int8_t  rssi 
)

Network Found.

This is called by the form-and-join library to notify the application of the network found after a call to ::emberScanForJoinableNetwork() or ::emberScanForNextJoinableNetwork(). See form-and-join documentation for more information.

Parameters
networkFoundVer.: always
lqiVer.: always
rssiVer.: always
void emberAfPluginFormAndJoinUnusedPanIdFoundCallback ( EmberPanId  panId,
uint8_t  channel 
)

Unused Pan Id Found.

This function is called when the form-and-join library finds an unused PAN ID that can be used to form a new network on.

Parameters
panIdA randomly generated PAN ID without other devices on it. Ver.: always
channelThe channel where the PAN ID can be used to form a new network. Ver.: always
void emberAfPluginGasProxyFunctionAlertWANCallback ( uint16_t  alertCode,
uint8_t *  gbzAlert,
uint16_t  gbzAlertLength 
)

Alert WAN.

Notify the application of an Alert that should be sent to the WAN. The second argument is a pointer to the gbz alert buffer. The application is responsible for freeing this buffer.

Parameters
alertCodeThe 16 bit allert code as defined by GBCS Ver.: always
gbzAlertBuffer continaing the GBZ formatted Alert Ver.: always
gbzAlertLengthThe length in octets of the GBZ formatted Alert Ver.: always
bool emberAfPluginGasProxyFunctionDataLogAccessRequestCallback ( const EmberAfGpfMessage gpfMessage,
const EmberAfClusterCommand zclClusterCommand 
)

Data Log Access Request.

Query the application regarding the processing of the current GBCS specific command. Depending on the vendor specific information, such as the Tenancy attribute in the Device Management Cluster, the callback's return value determines whether the current command gets processed or not. With a return value of true, the plugin will process the message. Otherwise, the plugin will reject the message.

Parameters
gpfMessageVer.: always
zclClusterCommandVer.: always
void emberAfPluginGasProxyFunctionNonTapOffMessageHandlerCompletedCallback ( uint8_t *  gbzCommandsResponse,
uint16_t  gbzCommandsResponseLength 
)

Non Tap Off Message Handler Completed.

Notify the application that the Non Tap Off Message (Non-TOM) have been handled by the mirror endpoint. This callback is invoked when the the Non Tap Off Message have been processed. The first argument is a pointer to the gbz commands response buffer. The application is responsible for freeing this buffer.

Parameters
gbzCommandsResponseVer.: always
gbzCommandsResponseLengthVer.: always
void emberAfPluginGasProxyFunctionTapOffMessageFutureCommandIgnoredCallback ( const EmberAfGpfMessage gpfMessage,
const EmberAfClusterCommand zclClusterCommand 
)

Tap Off Message Future Command Ignored.

Notify the application that an elemental ZCL command, embedded within the Tap Off Message (TOM), has been ignored by the GPF as it is a future dated command. The application can utilize the callback to store the discarded command for later retrieval. When the future dated command becomes active on the GSME, it will inform the CommsHub about the activation via an Alert message. The CommsHub should be able to correlate the matching messages and pass the previously stored ZCL commands to the TOM message handler for processing.

Parameters
gpfMessageVer.: always
zclClusterCommandVer.: always
void emberAfPluginGasProxyFunctionUnknownSeasonWeekIdCallback ( uint32_t  issuerCalendarId,
uint8_t *  seasonEntries,
uint8_t  seasonEntriesLength,
uint8_t  unknownWeekIdSeasonsMask 
)

Unknown Season Week Id.

This callback is called when the GPF receives a PublishSeasons command with an unknown week ID in one of the seasons. The callback contains a mask, unknownWeekIdSeasonsMask, with bits set corresponding to season entries that were not published because of an unknown week ID reference.

Parameters
issuerCalendarIdThe calendar ID associated with these seasons. Ver.: always
seasonEntriesThe season entries for this publish command. Ver.: always
seasonEntriesLengthThe length of the season entries. Ver.: always
unknownWeekIdSeasonsMaskA mask where bit N indicates that the Nth season entry contains an unknown week ID reference. Ver.: always
void emberAfPluginGasProxyFunctionUnknownSpecialDaysDayIdCallback ( uint32_t  issuerCalendarId,
uint8_t *  specialDayEntries,
uint8_t  specialDayEntriesLength,
uint8_t  unknownDayIdMask 
)

Unknown Special Days Day Id.

This callback is called when the GPF receives a PublishSpecialDays command with an unknown day ID for one of the special days. The callback contains a mask, unknownDayIdMask, with bits set corresponding to special day entries that were not published because of an unknown day ID reference.

Parameters
issuerCalendarIdThe calendar ID associated with these special days. Ver.: always
specialDayEntriesThe special day entries for this publish command. Ver.: always
specialDayEntriesLengthThe length of the special day entries. Ver.: always
unknownDayIdMaskA mask where bit N indicates that the Nth special day entry contains an unknown day ID reference. Ver.: always
EmberAfGpfZclCommandPermission emberAfPluginGasProxyFunctionValidateIncomingZclCommandCallback ( const EmberAfClusterCommand cmd,
uint16_t  messageCode 
)

Validate Incoming Zcl Command.

Query the application to check if a specific ZCL command should be processed given the UseCase # and ZCL command payload information. This function should capture the behavior detailed by the GBCS Use Case documentation. Please refer to EmberAfGpfZclCommandPermission enum for specific return data types.

Parameters
cmdVer.: always
messageCodeVer.: always
void emberAfPluginGbcsDeviceLogDeviceRemovedCallback ( EmberEUI64  deviceId)

Device Removed.

This callback is called by the plugin when a device is removed from the device log.

Parameters
deviceIdIdentifier of the device removed Ver.: always
void emberAfPluginGbzMessageControllerDecryptDataCallback ( EmberAfGbzMessageData data)

Decrypt Data.

This function is called by the Gbz Message Controller plugin to decrypt a ZCL payload. If the decryption is successful, the application is responsible for allocating the memory for the new decrypted data and passing the pointer via the "plainPayload" field as well as the plainPayloadLength field for the length. The framework will be responsible for free-ing the allocated memory. If the decryption fails, the callback return false and should not modify any data.

Parameters
dataVer.: always
void emberAfPluginGbzMessageControllerEncryptDataCallback ( EmberAfGbzMessageData data)

Encrypt Data.

This function is called by the Gbz Message Controller plugin to encrypt a ZCL payload. If the encryption is successful, the application is responsible for allocating the memory for the new encrypted data and passing the pointer via the "encryptedPayload" field as well as the encryptedPayloadLength field for the length. The framework will be responsible for free-ing the allocated memory. If the encryption fails, the callback return false and should not modify any data.

Parameters
dataVer.: always
void emberAfPluginGpioSensorStateChangedCallback ( uint8_t  newSensorState)

Called whenever the GPIO sensor detects a change in state.

Parameters
newSensorStateThe new state of the sensor based alarm (EMBER_AF_PLUGIN_GPIO_SENSOR_ACTIVE or EMBER_AF_PLUGIN_GPIO_SENSOR_NOT_ACTIVE) Ver.: always
bool emberAfPluginGreenPowerServerGpdCommissioningCallback ( EmberGpApplicationInfo *  appInfo)

Gpd Commissioning.

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Device that has requested commissioning with this sink. Return true to accept, false to reject.

Parameters
appInfoVer.: always
bool emberAfPluginGreenPowerServerGpdSecurityFailureCallback ( EmberGpAddress  gpdAddr)

Gpd Commissioning.

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Security Processing failed for a incomming. Return true to proceed with the process, false to drop the packet.

Parameters
appInfoVer.: always
void emberAfPluginGroupsServerGetGroupNameCallback ( uint8_t  endpoint,
uint16_t  groupId,
uint8_t *  groupName 
)

Get Group Name.

This function returns the name of a group with the provided group ID, should it exist.

Parameters
endpointEndpoint Ver.: always
groupIdGroup ID Ver.: always
groupNameGroup Name Ver.: always
bool emberAfPluginGroupsServerGroupNamesSupportedCallback ( uint8_t  endpoint)

Group Names Supported.

This function returns whether or not group names are supported.

Parameters
endpointEndpoint Ver.: always
void emberAfPluginGroupsServerSetGroupNameCallback ( uint8_t  endpoint,
uint16_t  groupId,
uint8_t *  groupName 
)

Set Group Name.

This function sets the name of a group with the provided group ID.

Parameters
endpointEndpoint Ver.: always
groupIdGroup ID Ver.: always
groupNameGroup Name Ver.: always
void emberAfPluginIdentifyStartFeedbackCallback ( uint8_t  endpoint,
uint16_t  identifyTime 
)

Start Feedback.

This function is called by the Identify plugin when identification begins. It informs the Identify Feedback plugin that it should begin providing its implemented feedback functionality (e.g. LED blinking, buzzer sounding, etc.) until the Identify plugin tells it to stop. The identify time is purely a matter of informational convenience; this plugin does not need to know how long it will identify (the Identify plugin will perform the necessary timekeeping.)

Parameters
endpointThe identifying endpoint Ver.: always
identifyTimeThe identify time Ver.: always
void emberAfPluginIdentifyStopFeedbackCallback ( uint8_t  endpoint)

Stop Feedback.

This function is called by the Identify plugin when identification is finished. It tells the Identify Feedback plugin to stop providing its implemented feedback functionality.

Parameters
endpointThe identifying endpoint Ver.: always
void emberAfPluginIdleSleepActiveCallback ( void  )

Active.

This function is called by the Idle/Sleep plugin after idling.

bool emberAfPluginIdleSleepOkToIdleCallback ( void  )

Ok To Idle.

This function is called by the Idle/Sleep plugin before idling. It is called with interrupts disabled. The application should return true if the device may idle or false otherwise.

bool emberAfPluginIdleSleepOkToSleepCallback ( uint32_t  durationMs)

Ok To Sleep.

This function is called by the Idle/Sleep plugin before sleeping. It is called with interrupts disabled. The application should return true if the device may sleep or false otherwise.

Parameters
durationMsThe maximum duration in milliseconds that the device will sleep. Ver.: always
bool emberAfPluginIdleSleepRtosCallback ( uint32_t *  durationMs,
bool  sleepOk 
)

RTOS idle/sleep.

This function is called by the Idle/Sleep plugin before idling or sleeping. If it returns true, the RTOS is handling the MCU idling/sleeping, if it returns false the idle/sleep shall manage the actual MCU idling/sleeping.

Parameters
durationMsA pointer to the allowed idle/sleep duration in milliseconds. Ver.: always
sleepOkA boolean indicating whether sleep is allowed.
void emberAfPluginIdleSleepWakeUpCallback ( uint32_t  durationMs)

Wake Up.

This function is called by the Idle/Sleep plugin after sleeping.

Parameters
durationMsThe duration in milliseconds that the device slept. Ver.: always
void emberAfPluginInterpanFragmentTransmissionFailedCallback ( uint8_t  interpanFragmentationStatus,
uint8_t  fragmentNum 
)

Fragment Transmission Failed.

This function is called by the Interpan plugin when a fragmented transmission has failed.

Parameters
interpanFragmentationStatusThe status describing why transmission failed Ver.: always
fragmentNumThe fragment number that encountered the failure Ver.: always
void emberAfPluginInterpanMessageReceivedOverFragmentsCallback ( const EmberAfInterpanHeader header,
uint8_t  msgLen,
uint8_t *  message 
)

Message Received Over Fragments.

This function is called by the Interpan plugin when a fully reconstructed message has been received over inter-PAN fragments, or IPMFs.

Parameters
headerThe inter-PAN header Ver.: always
msgLenThe message payload length Ver.: always
messageThe message payload Ver.: always
bool emberAfPluginInterpanPreMessageReceivedCallback ( const EmberAfInterpanHeader header,
uint8_t  msgLen,
uint8_t *  message 
)

Pre Message Received.

This function is called by the Interpan plugin when an interpan message is received but has not yet been handled by the plugin or the framework. The application should return true if the message was handled.

Parameters
headerThe inter-PAN header Ver.: always
msgLenThe message payload length Ver.: always
messageThe message payload Ver.: always
void emberAfPluginLevelControlClusterServerPostInitCallback ( uint8_t  endpoint)

Level Control Cluster Server Post Init.

Following resolution of the Current Level at startup for this endpoint, perform any additional initialization needed; e.g., synchronize hardware state.

Parameters
endpointEndpoint that is being initialized Ver.: always
void emberAfPluginLevelControlCoupledColorTempChangeCallback ( uint8_t  endpoint)

Level Control Coupled Color Temp Change.

Adjust Color Control cluster Color Temperature in response to a change in Level Control cluster CurrentLevel.

Parameters
endpointEndpoint that is being initialized Ver.: always
bool emberAfPluginLowVoltageShutdownOkToShutdownCallback ( uint16_t  shutdownVoltage)

Ok To Shutdown.

This function is called by the Low Voltage Shutdown plugin after the low voltage threshold has been detected but before shutting down the chip (until a full power-on reset is triggered). The application should return true if the device may shutdown or false otherwise. Note that this callback is not the proper place to put logic to be performed just prior to shutdown; that would be the Pre Shutdown Callback. If callback returns false, shutdown check will be performed again in EMBER_AF_PLUGIN_LOW_VOLTAGE_SHUTDOWN_POSTPONE_DURATION_MS milliseconds.

Parameters
shutdownVoltageThe voltage (in mV) read from VDD at shutdown time, which can be used to determine the risk in doing any further activities prior to shutdown. Ver.: always
void emberAfPluginLowVoltageShutdownPreShutdownCallback ( uint16_t  shutdownVoltage)

Pre Shutdown.

This function is called by the Low Voltage Shutdown plugin just prior to shutting down, allowing the application to do any last-minute clean-up before the chip goes offline until next reset. (Can't prevent shutdown from this context; use Ok To Shutdown callback for that instead.)

Parameters
shutdownVoltageThe voltage (in mV) read from VDD at shutdown time, which can be used to determine the risk in doing any further activities prior to shutdown. Ver.: always
void emberAfPluginMessagingClientCancelMessageCallback ( EmberAfPluginMessagingClientMessage message)

Cancel Message.

This function is called by the Messaging client plugin whenever the application should stop displaying a message.

Parameters
messageThe message that should no longer be displayed. Ver.: always
void emberAfPluginMessagingClientDisplayMessageCallback ( EmberAfPluginMessagingClientMessage message)

Display Message.

This function is called by the Messaging client plugin whenever the application should display a message.

Parameters
messageThe message that should be displayed. Ver.: always
bool emberAfPluginMessagingClientPreDisplayMessageCallback ( uint32_t  messageId,
uint8_t  messageControl,
uint32_t  startTime,
uint16_t  durationInMinutes,
uint8_t *  message,
uint8_t  optionalExtendedMessageControl 
)

Pre Display Message.

This function is called by the Messaging client plugin when a DisplayMessage command is received. If callback returns true, the plugin assumes the message have been handled and will not do anything with the message. Otherwise, the plugin will go through with its own implementation.

Parameters
messageIdVer.: always
messageControlVer.: always
startTimeVer.: always
durationInMinutesVer.: always
messageVer.: always
optionalExtendedMessageControlVer.: always
void emberAfPluginMeteringServerProcessNotificationFlagsCallback ( uint16_t  attributeId,
uint32_t  attributeValue 
)

Server Process Notification.

This function is called by the metering server plugin when any of the Notification Attribute Set attributes are read or reported by the metering client.

Parameters
attributeIdID of the attribute being proccessed Ver.: always
attributeValuevalue of the attribute being proccessed Ver.: always
void emberAfPluginMeterMirrorMirrorAddedCallback ( const EmberEUI64  requestingDeviceIeeeAddress,
uint8_t  endpoint 
)

Mirror Added.

This function is called by the Meter Mirror plugin whenever a RequestMirror command is successfully processed.

Parameters
requestingDeviceIeeeAddressVer.: always
endpointVer.: always
void emberAfPluginMeterMirrorMirrorRemovedCallback ( const EmberEUI64  requestingDeviceIeeeAddress,
uint8_t  endpoint 
)

Mirror Removed.

This function is called by the Meter Mirror plugin whenever a RemoveMirror command is successfully processed.

Parameters
requestingDeviceIeeeAddressVer.: always
endpointVer.: always
void emberAfPluginMeterMirrorReportingCompleteCallback ( uint8_t  endpoint)

Reporting Complete.

This function is called by the Meter Mirror plugin after processing an AttributeReportingStatus attribute set to ReportingComplete. If the application needs to do any post attribute reporting processing it can do it from within this callback.

Parameters
endpointVer.: always
void emberAfPluginMeterSnapshotServerGetSnapshotCallback ( uint8_t  srcEndpoint,
uint8_t  dstEndpoint,
EmberNodeId  dest,
uint8_t *  snapshotCriteria 
)

Get Snapshot.

This function is called by the Meter Snapshot server plugin whenever a GetSnapshot command is received. A plugin implementing backhaul functionality for the snapshot mechanism should proceed to retrieve the snapshot and send a PublishSnapshot command to the requesting client.

Parameters
srcEndpointVer.: always
dstEndpointVer.: always
destVer.: always
snapshotCriteriaVer.: always
void emberAfPluginMeterSnapshotServerScheduleSnapshotCallback ( uint8_t  srcEndpoint,
uint8_t  dstEndpoint,
EmberNodeId  dest,
uint8_t *  snapshotPayload,
uint8_t *  responsePayload 
)

Schedule Snapshot.

This function is called by the Meter Snapshot server plugin whenever a ScheduleSnapshot command is received. A plugin implementing backhaul functionality for the snapshot mechanism should proceed to schedule the snapshot as required.

Parameters
srcEndpointVer.: always
dstEndpointVer.: always
destVer.: always
snapshotPayloadVer.: always
responsePayloadVer.: always
uint32_t emberAfPluginMeterSnapshotServerTakeSnapshotCallback ( uint8_t  endpoint,
uint32_t  snapshotCause,
uint8_t *  snapshotConfirmation 
)

Take Snapshot.

This function is called by the Meter Snapshot server plugin whenever a TakeSnapshot command is received. A plugin implementing backhaul functionality for the snapshot mechanism should proceed to manually take a snapshot as required. If for some reason the snapshot could not be taken, this should be reflected in the snapshotConfirmation argument.

Parameters
endpointVer.: always
snapshotCauseVer.: always
snapshotConfirmationVer.: always
void emberAfPluginMicriumRtosAppTask1InitCallback ( void  )

This function is called from the Micrium RTOS plugin before the Application (1) task is created.

void emberAfPluginMicriumRtosAppTask1MainLoopCallback ( void *  p_arg)

This function implements the Application (1) task main loop.

Parameters
p_argVer.: always
void emberAfPluginMicriumRtosAppTask2InitCallback ( void  )

This function is called from the Micrium RTOS plugin before the Application (2) task is created.

void emberAfPluginMicriumRtosAppTask2MainLoopCallback ( void *  p_arg)

This function implements the Application (2) task main loop.

Parameters
p_argVer.: always
void emberAfPluginMicriumRtosAppTask3InitCallback ( void  )

This function is called from the Micrium RTOS plugin before the Application (3) task is created.

void emberAfPluginMicriumRtosAppTask3MainLoopCallback ( void *  p_arg)

This function implements the Application (3) task main loop.

Parameters
p_argVer.: always
void emberAfPluginNetworkCreatorCompleteCallback ( const EmberNetworkParameters network,
bool  usedSecondaryChannels 
)

Complete.

This callback notifies the user that the network creation process has completed successfully.

Parameters
networkThe network that the network creator plugin successfully formed. Ver.: always
usedSecondaryChannelsWhether or not the network creator wants to form a network on the secondary channels Ver.: always
EmberPanId emberAfPluginNetworkCreatorGetPanIdCallback ( void  )

Get Pan Id.

This callback is called when the Network Creator plugin needs the PAN ID for the network it is about to create. By default, the callback will return a random 16-bit value.

int8_t emberAfPluginNetworkCreatorGetRadioPowerCallback ( void  )

Get Power For Radio Channel.

This callback is called when the Network Creator plugin needs the radio power for the network it is about to create. By default, the callback will use the radio power specified in the relevant plugin option.

void emberAfPluginNetworkFindFinishedCallback ( EmberStatus  status)

Finished.

This callback is fired when the network-find plugin is finished with the forming or joining process. The result of the operation will be returned in the status parameter.

Parameters
statusVer.: always
bool emberAfPluginNetworkFindGetEnableScanningAllChannelsCallback ( void  )

Get Enable Scanning All Channels.

Returns true is the fallback on scanning all channels is enabled, false if not.

int8_t emberAfPluginNetworkFindGetEnergyThresholdForChannelCallback ( uint8_t  pgChan)

Get Energy Threshold For Channel.

This callback is called during the energy scan when forming the network. Should the energy level exceed the value returned by this callback, the current channel will not be considered a suitable candidate for forming. Should none of the channels in the channel mask be considered suitable, the scan will fall back on all channels, including those not on the channel mask. The return value is RSSI, in dBm. This callback is called only when the fallback functionality is enabled.

Parameters
pgChanVer.: always
int8_t emberAfPluginNetworkFindGetRadioPowerForChannelCallback ( uint8_t  pgChan)

Get Radio Power For Channel.

This callback is called by the framework when it is setting the radio power during the discovery process. The framework will set the radio power depending on what is returned by this callback.

Parameters
pgChanVer.: always
bool emberAfPluginNetworkFindJoinCallback ( EmberZigbeeNetwork networkFound,
uint8_t  lqi,
int8_t  rssi 
)

Join.

This callback is called by the plugin when a joinable network has been found. If the application returns true, the plugin will attempt to join the network. Otherwise, the plugin will ignore the network and continue searching. Applications can use this callback to implement a network blacklist.

Parameters
networkFoundVer.: always
lqiVer.: always
rssiVer.: always
void emberAfPluginNetworkSteeringCompleteCallback ( EmberStatus  status,
uint8_t  totalBeacons,
uint8_t  joinAttempts,
uint8_t  finalState 
)

Complete.

This callback is fired when the Network Steering plugin is complete.

Parameters
statusOn success this will be set to EMBER_SUCCESS to indicate a network was joined successfully. On failure this will be the status code of the last join or scan attempt. Ver.: always
totalBeaconsThe total number of 802.15.4 beacons that were heard, including beacons from different devices with the same PAN ID. Ver.: always
joinAttemptsThe number of join attempts that were made to get onto an open Zigbee network. Ver.: always
finalStateThe finishing state of the network steering process. From this, one is able to tell on which channel mask and with which key the process was complete. Ver.: always
bool emberAfPluginNetworkSteeringGetDistributedKeyCallback ( EmberKeyData key)

Get Distributed Key.

This callback is fired when the Network Steering plugin needs to set the distributed key. The application set the distributed key from Zigbee Alliance thru this callback or the network steering will use the default test key.

Parameters
pointerto the distributed key struct
Returns
true if the key is loaded successfully, otherwise false. level. Ver.: always
EmberNodeType emberAfPluginNetworkSteeringGetNodeTypeCallback ( EmberAfPluginNetworkSteeringJoiningState  state)

Get Node Type.

This callback allows the application to set the node type that the network steering process will use in joining a network.

Parameters
stateThe current ::EmberAfPluginNetworkSteeringJoiningState.
Returns
An EmberNodeType value that the network steering process will try to join a network as.
int8_t emberAfPluginNetworkSteeringGetPowerForRadioChannelCallback ( uint8_t  channel)

Get Power For Radio Channel.

This callback is fired when the Network Steering plugin needs to set the power level. The application has the ability to change the max power level used for this particular channel.

Parameters
channelThe channel that the plugin is inquiring about the power level. Ver.: always
void emberAfPluginOccupancySensorServerOccupancyStateChangedCallback ( HalOccupancyState  occupancyState)

Occupancy state changed.

This callback is generated when the occupancy measurement server receives a new occupancy status.

Parameters
occupancyStateThe bitmap used to determine occupancy state. At present, only bit 0 is used, and will be set to either HAL_OCCUPANCY_STATE_OCCUPIED or HAL_OCCUPANCY_STATE_UNOCCUPIED. Ver.: always
void emberAfPluginOnOffClusterServerPostInitCallback ( uint8_t  endpoint)

On/off Cluster Server Post Init.

Following resolution of the On/Off state at startup for this endpoint, perform any additional initialization needed; e.g., synchronize hardware state.

Parameters
endpointEndpoint that is being initialized Ver.: always
void emberAfPluginOtaClientPreBootloadCallback ( uint8_t  srcEndpoint,
uint8_t  serverEndpoint,
EmberNodeId  serverNodeId 
)

Pre-Bootload Callback.

Called shortly before installing the downloaded image.

Parameters
srcEndpointVer.: always
serverEndpointVer.: always
serverNodeIdVer.: always
void emberAfPluginOtaServerBlockSentCallback ( uint8_t  actualLength,
uint16_t  manufacturerId,
uint16_t  imageTypeId,
uint32_t  firmwareVersion 
)

OTA Server Block Sent Callback.

This function will be called when a block is sent to a device.

Parameters
actualLengthVer.: always
manufacturerIdVer.: always
imageTypeIdVer.: always
firmwareVersionVer.: always
uint8_t emberAfPluginOtaServerPolicyGetClientDelayUnits ( EmberNodeId  clientNodeId,
EmberEUI64  clientEui64 
)

GetClientDelayUnits.

Called when the server receives an Image Block Request from a client that supports rate limiting using the Minimum Block Period feature. This callback gives the server a chance to decide which units the client uses for the Minimum Block Period, seconds or milliseconds. The server can also return OTA_SERVER_DISCOVER_CLIENT_DELAY_UNITS, which causes the plugin code to test the client by sending it a preset delay value. The length of time the client delays determines which units it uses. For more information on this feature, please read the plugin option descriptions under the OTA Server plugin.

Parameters
clientNodeIdVer.: always
clientEui64Ver.: always

For return values, see ota-server-policy.h. An unknown return value will result in the same behavior as if OTA_SERVER_CLIENT_USES_MILLISECONDS had been returned.

void emberAfPluginOtaServerUpdateCompleteCallback ( uint16_t  manufacturerId,
uint16_t  imageTypeId,
uint32_t  firmwareVersion,
EmberNodeId  source,
uint8_t  status 
)

OTA Server Update Complete Callback.

This function will be called when an OTA update has finished.

Parameters
manufacturerIdManufacturerId.
imageTypeIdImage Type Id.
firmwareVersionFirmware Version.
sourceSource node id.
statusStatus of update.
void emberAfPluginOtaServerUpdateStartedCallback ( uint16_t  manufacturerId,
uint16_t  imageTypeId,
uint32_t  firmwareVersion,
uint8_t  maxDataSize,
uint32_t  offset 
)

UpdateStarted.

Called when an OTA upgrade starts.

Parameters
manufacturerIdVer.: always
imageTypeIdVer.: always
firmwareVersionVer.: always
maxDataSizeVer.: always
offsetVer.: always
void emberAfPluginOtaStorageSimpleEepromEraseCompleteCallback ( bool  success)

Erase Complete.

This is called when an EEPROM erase operation has completed.

Parameters
successThe result of the erase operation. Ver.: always
void emberAfPluginPollControlServerCheckInTimeoutCallback ( void  )

CheckInTimeout.

This function is called by the Poll Control Server plugin after a threshold value of poll control check in messages are sent to a trust center and no responses are received. The existence of this callback provides an opportunity for the application to implement its own rejoin algorithm or logic.

bool emberAfPluginPrepaymentServerConsumerTopUpCallback ( uint8_t  originatingDevice,
uint8_t *  topUpCode 
)

Consumer Top Up.

This function is called when a Consumer Top Up command is received. This callback must evaluate the command data and determine if it is a valid Top Up command.

Parameters
originatingDeviceVer.: always
topUpCodeVer.: always
uint8_t emberAfPluginPriceClientPendingCppEventCallback ( uint8_t  cppAuth)

Pending Cpp Event.

This function is called by the Price client plugin when a CPP event is received with pending status.

Parameters
cppAuthThe CPP Auth status. Ver.: always
void emberAfPluginPriceClientPriceExpiredCallback ( EmberAfPluginPriceClientPrice price)

Price Expired.

This function is called by the Price client plugin whenever a price expires.

Parameters
priceThe price that has expired. Ver.: always
void emberAfPluginPriceClientPriceStartedCallback ( EmberAfPluginPriceClientPrice price)

Price Started.

This function is called by the Price client plugin whenever a price starts.

Parameters
priceThe price that has started. Ver.: always
void emberAfPluginPriceServerNewActiveBlockPeriodInformationCallback ( const EmberAfPriceCommonInfo *  priceCommonInfo,
const EmberAfPriceBlockPeriod *  priceBlockPeriods 
)

New Active Block Period Information.

This callback is used to notify the application that a new Block Period Information has become active. The application is responsible for updating proper ZCL attributes to reflect the necessary vendor specific behaviors. Argument, priceCommonInfo, would contain common informations such as startTime and etc. Argument, priceBlockPeriod, would contain the BlockPeriod information itself.

Parameters
priceCommonInfoVer.: always
priceBlockPeriodsVer.: always
void emberAfPluginPriceServerNewActiveBlockThresholdsInformationCallback ( const EmberAfPriceCommonInfo *  priceCommonInfo,
const EmberAfScheduledBlockThresholds *  priceBlockThresholds 
)

New Active Block Thresholds Information.

This callback is used to notify the application that a new Block Thresholds Information has become active. The application is responsible for updating proper ZCL attributes to reflect the necessary vendor specific behaviors. Argument, priceCommonInfo, would contain common informations such as startTime and etc. Argument, priceTariffInfo, would contain the BlockThresholds information itself.

Parameters
priceCommonInfoVer.: always
priceBlockThresholdsVer.: always
void emberAfPluginPriceServerNewActivePriceMatrixCallback ( const EmberAfPriceCommonInfo *  priceCommonInfo,
const EmberAfScheduledPriceMatrix *  priceMatrix 
)

New Active Price Matrix.

This callback is used to notify the application that a new PriceMatrix has become active. The application is responsible for updating proper ZCL attributes to reflect the necessary vendor specific behaviors. Argument, priceCommonInfo, would contain common informations such as startTime and etc. Argument, priceMatrix, would contain the PriceMatrix information itself.

Parameters
priceCommonInfoVer.: always
priceMatrixVer.: always
void emberAfPluginPriceServerNewActiveTariffInformationCallback ( const EmberAfPriceCommonInfo *  priceCommonInfo,
const EmberAfScheduledTariff *  priceTariffInfo 
)

New Active Tariff Information.

This callback is used to notify the application that a new Tariff Information has become active. The application is responsible for updating proper ZCL attributes to reflect the necessary vendor specific behaviors. Argument, priceCommonInfo, would contain common informations such as startTime and etc. Argument, priceTariffInfo, would contain the PriceMatrix information itself.

Parameters
priceCommonInfoVer.: always
priceTariffInfoVer.: always
EmberAfStatus emberAfPluginReportingConfiguredCallback ( const EmberAfPluginReportingEntry entry)

Configured.

This callback is called by the Reporting plugin whenever a reporting entry is configured, including when entries are deleted or updated. The application can use this callback for scheduling readings or measurements based on the minimum and maximum reporting interval for the entry. The application should return EMBER_ZCL_STATUS_SUCCESS if it can support the configuration or an error status otherwise. Note: attribute reporting is required for many clusters and attributes, so rejecting a reporting configuration may violate ZigBee specifications.

Parameters
entryVer.: always
bool emberAfPluginReportingGetDefaultReportingConfigCallback ( EmberAfPluginReportingEntry entry)

Configured.

This callback is called by the Reporting plugin to get the default reporting configuration values from user if there is no default value available within af generated default reporting configuration tabel. The application need to write to the minInterval, maxInterval and reportable change in the passed IO pointer in the arguement while handleing this callback, then application shall return true if it has provided the default values or else false for reporting plugin to further handleing.

Parameters
entryVer.: always
void emberAfPluginSb1GestureSensorGestureReceivedCallback ( uint8_t  gestureReceived,
uint8_t  switchNumber 
)

Called whenever the SB1 receives a gesture.

Parameters
gestureReceivedThe (enumerated) gesture received.
switchNumberThe switch that received the gesture.
void emberAfPluginSecuritySensorStatusChangedCallback ( uint16_t  status)

Security sensor state changed.

This callback is generated when the status of security sensor is changed

Parameters
newStatus,16bit new status

bit0: 1 - opened or alarmed, 0 - closed or not alarmed bit2: 1 - tampered, 0 - not tampered other bits: reserved.

Ver.: always

uint16_t emberAfPluginSimpleMeteringClientRemoveMirrorCallback ( EmberEUI64  requestingDeviceIeeeAddress)

Remove Mirror.

This function is called by the Simple Metering client plugin whenever a Remove Mirror command is received. The application should return the endpoint on which the mirror has been removed. If the mirror could not be removed, the application should return 0xFFFF.

Parameters
requestingDeviceIeeeAddressVer.: always
uint16_t emberAfPluginSimpleMeteringClientRequestMirrorCallback ( EmberEUI64  requestingDeviceIeeeAddress)

Request Mirror.

This function is called by the Simple Metering client plugin whenever a Request Mirror command is received. The application should return the endpoint to which the mirror has been assigned. If no mirror could be assigned, the application should return 0xFFFF.

Parameters
requestingDeviceIeeeAddressVer.: always
void emberAfPluginSimpleMeteringServerProcessNotificationFlagsCallback ( uint16_t  attributeId,
uint32_t  attributeValue 
)

Process Notification Flags.

This function is called by the metering server plugin when any of the Notification Attribute Set attributes are read or reported by the metering client.

Parameters
attributeIdVer.: always
attributeValueVer.: always
void emberAfPluginSleepyMessageQueueMessageTimedOutCallback ( uint8_t  sleepyMsgId)

Message Timed Out.

This function is called by the sleepy message queue when a message times out. The plugin will invalidate the entry in the queue after giving the application a chance to perform any actions on the timed-out message.

Parameters
sleepyMsgIdVer.: always
bool emberAfPluginStandaloneBootloaderClientAllowBootloadLaunchCallback ( EmberEUI64  sourceEui64)

Allow Bootload Launch.

This function is a callback when the client is being told to launch the standalone bootloader. This is done after authentication has completed successfully.

Parameters
sourceEui64The EUI64 of the node requesting the bootload. Ver.: always
bool emberAfPluginStandaloneBootloaderClientAllowIncomingMessageCallback ( EmberEUI64  sourceEui64,
uint8_t  command 
)

Allow Incoming Message.

Allows the application to control whether the plugin can respond to incoming bootload messages.

Parameters
sourceEui64The EUI64 of the sending node. Ver.: always
commandThe incoming command ID Ver.: always
bool emberAfPluginStandaloneBootloaderCommonIncomingMessageCallback ( EmberEUI64  longId,
uint8_t  length,
uint8_t *  message 
)

Incoming Message.

Indicates an Ember Bootload message has been received by the Standalone Bootloader Common plugin.

Parameters
longIdThe sender's EUI64 address Ver.: always
lengthThe length of the incoming message. Ver.: always
messageThe array of bytes for the message. Ver.: always
void emberAfPluginStandaloneBootloaderServerFinishedCallback ( bool  success)

Finished.

Notifies the application when the standalone bootload has completed, successfully or otherwise.

Parameters
successBoolean indicating the success or failure of the bootload. Ver.: always
void emberAfPluginStandaloneBootloaderServerQueryResponseCallback ( bool  queryWasBroadcast,
const EmberAfStandaloneBootloaderQueryResponseData queryData 
)

Query Response.

Allows the application to control whether the plugin can respond to incoming bootload messages.

Parameters
queryWasBroadcastBoolean indicating whether the query was broadcast or unicast Ver.: always
queryDataA data structure providing the details about the local device's bootloader. Ver.: always
boolean emberAfPluginSubGhzDutyCycleCallback ( uint8_t  channelPage,
uint8_t  channel,
EmberDutyCycleState  oldState,
EmberDutyCycleState  newState 
)

Duty cycle state change callback for the use with the Sub-GHz plugin.

The Sub-GHz plugin monitors the duty cycle and calls this callback every time the duty cycle state changes.

Parameters
channelthe channel that registered a Duty Cycle state change
curModecurrent Duty Cycle mode
oldStatethe previous Duty Cycle state
newStatethe current Duty Cycle state
Returns
true to handle in the application, false for default behaviour

The default response is sending the 'Suspend ZCL Messages' command, either by unicast to the most offending client of a broadcast to all clients, depending on the old and new duty cycle state.

bool emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback ( void  )

Sub-GHz Cluster Get Suspend ZCL Messages Status.

'Get Suspend ZCL Messages Status' is a client command. The client can send it to the server to query the status instead of waiting for the 'Suspend ZCL Messages' command.

The server's default action is sending the 'Suspend ZCL Messages' command with the parameter indicating the remaining suspend time in minutes.

Returns
true to indicate the callback has been handled by the application, false to keep the default behaviour
bool emberAfPluginSubGhzSuspendZclMessagesCallback ( uint8_t  period)

Sub-GHz Cluster Suspend ZCL Messages.

'Suspend ZCL Messages' is a server command, sent to request the client to temporarily suspend sending any ZCL messages to reduce the duty cycle.

The clients's default action is to suspend ZCL messages for the requested period.

Parameters
periodsuspend period in minutes
Returns
true to indicate the callback has been handled by the application, false to keep the default behaviour
void emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback ( uint8_t  channelPage,
uint8_t  channel,
uint16_t  macTxUcastTotal,
uint16_t  macTxUcastFailures,
uint16_t  macTxUcastRetries,
uint8_t  period 
)

Callback to let the application handle the incoming Mgmt_NWK_Unsolicited_Enhanced_Update_notify command.

'Mgmt_NWK_Unsolicited_Enhanced_Update_notify' is a client command. The client sends it to notify the server about the poor link quality. The server should determine whether a channel change is necessary and change the channel if so. There is no default action performed by the application framework. If not handled by the application, no action is taken.

Parameters
channelPage........ current channel page
channel............ current channel
macTxUcastTotal.... total number of Mac Tx transaction attempts
macTxUcastFailures. total number of Mac Tx transaction failures
macTxUcastRetries.. total number of Mac Tx transaction retries
period............. time in minutes over which macTxUcastXxx were measured
void emberAfPluginTamperSwitchTamperActiveCallback ( void  )

Tamper is active.

This function is called whenever the tamper switch detects that it has entered the enclosure, thereby activating tamper monitoring.

void emberAfPluginTamperSwitchTamperAlarmCallback ( void  )

Tamper alarm.

This function is called when the plugin detects that the enclosure has been opened.

void emberAfPluginTemperatureMeasurementServerOverTemperatureCallback ( uint8_t  previousState,
uint8_t  newState 
)

Over temperature state changed.

This callback is generated when the temperature rises over the assert thresholds (warning and critical) or drops below the deassert thresholds (warning and critical)

Parameters
previousState,thestate prior to the state change
newState,thenew state of the state change

EMBER_TEMPERATURE_MEASUREMENT_SERVER_OVER_TEMPERATURE_NORMAL : normal state EMBER_TEMPERATURE_MEASUREMENT_SERVER_OVER_TEMPERATURE_WARNING : warning state EMBER_TEMPERATURE_MEASUREMENT_SERVER_OVER_TEMPERATURE_CRITICAL : critical state

Ver.: always

bool emberAfPluginTransportMqttMessageArrivedCallback ( const char *  topic,
const char *  payload 
)

MQTT message arrived.

This function is called when the MQTT client for the gateway receives an incoming message on a topic. If the message is processed by the application, return true. If the message is not processed, return false. This function is called on a separate thread, so no stack calls should be made within the implementation of this function. Instead, use a global variable in that function to communicate the message arrival to a stack event or timer running from the main loop.

Parameters
topicA string containing the topic for the message that arrived. While the underlying MQTT libraries allow NULL characters in a topic, NULL characters are not supported in this implementation so the topic parameter can be assumed to be NULL terminated.
payloadA string containing the payload for the message that arrived.
void emberAfPluginTransportMqttStateChangedCallback ( EmberAfPluginTransportMqttState  state)

MQTT client state is changed.

This function is called when the state of the MQTT client changes.

Parameters
stateContains the new and current EmberAfPluginTransportMqttState state.
void emberAfPluginTrustCenterKeepaliveConnectivityRestoredCallback ( void  )

ConnectivityRestored This function is called by the Trust Center Keepalive plugin when a read attribute response command from the trust center is received after trust center connectivity had previously been lost.

bool emberAfPluginTrustCenterKeepaliveTimeoutCallback ( void  )

Timeout.

This function is called by the Trust Center Keepalive plugin when the Trust Center fails to acknowledge enough keepalive messages. Upon timing out, the Trust Center Keepalive plugin code will initiate a search for a new Trust Center, which falls in line with the Trust Center Swapout feature. Applications may consume this callback and have it return true in order to prevent the Trust Center Keepalive plugin code from issuing a Trust Center (insecure) rejoin. Doing so will also give the application a chance to implement its own rejoin algorithm or logic. If this callback returns false, the Trust Center Keepalive plugin code will proceed with issuing a Trust Center rejoin.

void emberAfPluginTunnelingClientDataErrorCallback ( uint8_t  tunnelIndex,
EmberAfTunnelingTransferDataStatus  transferDataStatus 
)

Data Error.

This function is called by the Tunneling client plugin whenever a data error occurs on a tunnel. Errors occur if a device attempts to send data on tunnel that is no longer active or if the tunneling does not belong to the device.

Parameters
tunnelIndexThe index of the tunnel on which this data error occurred. Ver.: always
transferDataStatusThe error that occurred. Ver.: always
void emberAfPluginTunnelingClientDataReceivedCallback ( uint8_t  tunnelIndex,
uint8_t *  data,
uint16_t  dataLen 
)

Data Received.

This function is called by the Tunneling client plugin whenever data is received from a server through a tunnel.

Parameters
tunnelIndexThe index of the tunnel through which the data was received. Ver.: always
dataBuffer containing the raw octets of the data. Ver.: always
dataLenThe length in octets of the data. Ver.: always
void emberAfPluginTunnelingClientTransferDataFailureCallback ( uint16_t  indexOfDestination,
EmberApsFrame apsFrame,
uint16_t  msgLen,
uint8_t *  message,
EmberStatus  status 
)

Transfer Data Failure.

This function is called when a TransferData command fails to be sent to the intended destination.

Parameters
indexOfDestinationThe index or destination address of the TransferData command. Ver.: always
apsFrameThe EmberApsFrame of the command. Ver.: always
msgLenThe length of the payload sent in the command. Ver.: always
messageThe payload that was sent in the command. Ver.: always
statusThe non-success status code from the transmission of the command. Ver.: always
void emberAfPluginTunnelingClientTunnelClosedCallback ( uint8_t  tunnelIndex)

Tunnel Closed.

This function is called by the Tunneling client plugin whenever a server sends a notification that it preemptively closed an inactive tunnel. Servers are not required to notify clients of tunnel closures, so applications cannot rely on this callback being called for all tunnels.

Parameters
tunnelIndexThe index of the tunnel that has been closed. Ver.: always
void emberAfPluginTunnelingClientTunnelOpenedCallback ( uint8_t  tunnelIndex,
EmberAfPluginTunnelingClientStatus  tunnelStatus,
uint16_t  maximumIncomingTransferSize 
)

Tunnel Opened.

This function is called by the Tunneling client plugin whenever a tunnel is opened. Clients may open tunnels by sending a Request Tunnel command.

Parameters
tunnelIndexThe index of the tunnel that has been opened. Ver.: always
tunnelStatusThe status of the request. Ver.: always
maximumIncomingTransferSizeThe maximum incoming transfer size of the server. Ver.: always
void emberAfPluginTunnelingServerDataErrorCallback ( uint16_t  tunnelIndex,
EmberAfTunnelingTransferDataStatus  transferDataStatus 
)

Data Error.

This function is called by the Tunneling server plugin whenever a data error occurs on a tunnel. Errors occur if a device attempts to send data on tunnel that is no longer active or if the tunneling does not belong to the device.

Parameters
tunnelIndexThe identifier of the tunnel on which this data error occurred. Ver.: always
transferDataStatusThe error that occurred. Ver.: always
void emberAfPluginTunnelingServerDataReceivedCallback ( uint16_t  tunnelIndex,
uint8_t *  data,
uint16_t  dataLen 
)

Data Received.

This function is called by the Tunneling server plugin whenever data is received from a client through a tunnel.

Parameters
tunnelIndexThe identifier of the tunnel through which the data was received. Ver.: always
dataBuffer containing the raw octets of the data. Ver.: always
dataLenThe length in octets of the data. Ver.: always
bool emberAfPluginTunnelingServerIsProtocolSupportedCallback ( uint8_t  protocolId,
uint16_t  manufacturerCode 
)

Is Protocol Supported.

This function is called by the Tunneling server plugin whenever a Request Tunnel command is received. The application should return true if the protocol is supported and false otherwise.

Parameters
protocolIdThe identifier of the metering communication protocol for which the tunnel is requested. Ver.: always
manufacturerCodeThe manufacturer code for manufacturer-defined protocols or 0xFFFF in unused. Ver.: always
void emberAfPluginTunnelingServerTunnelClosedCallback ( uint16_t  tunnelIndex,
bool  clientInitiated 
)

Tunnel Closed.

This function is called by the Tunneling server plugin whenever a tunnel is closed. Clients may close tunnels by sending a Close Tunnel command. The server can preemptively close inactive tunnels after a timeout.

Parameters
tunnelIndexThe identifier of the tunnel that has been closed. Ver.: always
clientInitiatedtrue if the client initiated the closing of the tunnel or false if the server closed the tunnel due to inactivity. Ver.: always
void emberAfPluginTunnelingServerTunnelOpenedCallback ( uint16_t  tunnelIndex,
uint8_t  protocolId,
uint16_t  manufacturerCode,
bool  flowControlSupport,
uint16_t  maximumIncomingTransferSize 
)

Tunnel Opened.

This function is called by the Tunneling server plugin whenever a tunnel is opened. Clients may open tunnels by sending a Request Tunnel command.

Parameters
tunnelIndexThe index to the tunnel table entry that has been opened. Ver.: always
protocolIdThe identifier of the metering communication protocol for the tunnel. Ver.: always
manufacturerCodeThe manufacturer code for manufacturer-defined protocols or 0xFFFF in unused. Ver.: always
flowControlSupporttrue is flow control support is requested or false if it is not. Ver.: always
maximumIncomingTransferSizeThe maximum incoming transfer size of the client. Ver.: always
void emberAfPluginUpdateTcLinkKeyStatusCallback ( EmberKeyStatus  keyStatus)

Status.

This callback is fired when the Update Link Key exchange process is updated with a status from the stack. Implementations will know that the Update TC Link Key plugin has completed its link key request when the keyStatus parameter is EMBER_VERIFY_LINK_KEY_SUCCESS.

Parameters
keyStatusAn EmberKeyStatus value describing the success or failure of the key exchange process. Ver.: always
void emberAfPluginZllCommissioningClientTouchLinkFailedCallback ( EmberAfZllCommissioningStatus  status)

Touch Link Failed.

This function is called by the ZLL Commissioning Client plugin if touch linking fails.

Parameters
statusThe reason the touch link failed. Ver.: always
void emberAfPluginZllCommissioningCommonInitialSecurityStateCallback ( EmberZllInitialSecurityState *  securityState)

Initial Security State.

This function is called by the ZLL Commissioning Common plugin to determine the initial security state to be used by the device. The application must populate the ::EmberZllInitialSecurityState structure with a configuration appropriate for the network being formed, joined, or started. Once the device forms, joins, or starts a network, the same security configuration will remain in place until the device leaves the network.

Parameters
securityStateThe security configuration to be populated by the application and ultimately set in the stack. Ver.: always
void emberAfPluginZllCommissioningCommonResetToFactoryNewCallback ( void  )

Reset To Factory New.

This function is called by the ZLL Commissioning Common plugin when a request to reset to factory new is received. The plugin will leave the network, reset attributes managed by the framework to their default values, and clear the group and scene tables. The application should perform any other necessary reset-related operations in this callback, including resetting any externally-stored attributes.

void emberAfPluginZllCommissioningCommonTouchLinkCompleteCallback ( const EmberZllNetwork *  networkInfo,
uint8_t  deviceInformationRecordCount,
const EmberZllDeviceInfoRecord *  deviceInformationRecordList 
)

Touch Link Complete.

This function is called by the ZLL Commissioning Common plugin when touch linking completes.

Parameters
networkInfoThe ZigBee and ZLL-specific information about the network and target. Ver.: always
deviceInformationRecordCountThe number of sub-device information records for the target. Ver.: always
deviceInformationRecordListThe list of sub-device information records for the target. Ver.: always
bool emberAfPluginZllCommissioningNetworkJoinCallback ( EmberZigbeeNetwork networkFound,
uint8_t  lqi,
int8_t  rssi 
)

Join.

This callback is called by the ZLL Commissioning Network plugin when a joinable network has been found. If the application returns true, the plugin will attempt to join the network. Otherwise, the plugin will ignore the network and continue searching. Applications can use this callback to implement a network blacklist. Note that this callback is not called during touch linking.

Parameters
networkFoundVer.: always
lqiVer.: always
rssiVer.: always
bool emberAfPluginZllCommissioningServerEndpointInformationCallback ( uint8_t  endpoint,
uint8_t  index,
EmberAfPluginZllCommissioningEndpointInformationRecord *  record 
)

Endpoint Information.

This function is called by the ZLL Commissining Server plugin to obtain information about the remote endpoints controlled by a specific endpoint on the local device. The application should populate the record with information about the remote endpoint and return true. If no information is available for the given endpoint and index, the application should return false.

Parameters
endpointThe local endpoint for which the remote endpoint information is requested. Ver.: always
indexThe index of the remote endpoint information on the local endpoint. Ver.: always
recordThe endpoint information record. Ver.: always
uint8_t emberAfPluginZllCommissioningServerEndpointInformationCountCallback ( uint8_t  endpoint)

Endpoint Information Count.

This function is called by the ZLL Commissining Server plugin to determine the number of remote endpoints controlled by a specific endpoint on the local device.

Parameters
endpointThe local endpoint for which the remote endpoint information count is requested. Ver.: always
bool emberAfPluginZllCommissioningServerGroupIdentifierCallback ( uint8_t  endpoint,
uint8_t  index,
EmberAfPluginZllCommissioningGroupInformationRecord *  record 
)

Group Identifier.

This function is called by the ZLL Commissining Server plugin to obtain information about the group identifiers in use by a specific endpoint on the device. The application should populate the record with information about the group identifier and return true. If no information is available for the given endpoint and index, the application should return false.

Parameters
endpointThe endpoint for which the group identifier is requested. Ver.: always
indexThe index of the group on the endpoint. Ver.: always
recordThe group information record. Ver.: always
uint8_t emberAfPluginZllCommissioningServerGroupIdentifierCountCallback ( uint8_t  endpoint)

Group Identifier Count.

This function is called by the ZLL Commissining Server plugin to determine the number of group identifiers in use by a specific endpoint on the device. The total number of group identifiers on the device, which are shared by all endpoints, is defined by ::EMBER_ZLL_GROUP_ADDRESSES.

Parameters
endpointThe endpoint for which the group identifier count is requested. Ver.: always
void emberAfPluginZllCommissioningServerIdentifyCallback ( uint16_t  durationS)

Identify.

This function is called by the ZLL Commissining Server plugin to notify the application that it should take an action to identify itself. This typically occurs when an Identify Request is received via inter-PAN messaging.

Parameters
durationSIf the duration is zero, the device should exit identify mode. If the duration is 0xFFFF, the device should remain in identify mode for the default time. Otherwise, the duration specifies the length of time in seconds that the device should remain in identify mode. Ver.: always
EmberAfStatus emberAfPluginZllOnOffServerOffWithEffectCallback ( uint8_t  endpoint,
uint8_t  effectId,
uint8_t  effectVariant 
)

Off With Effect.

This callback is called by the ZLL On/Off Server plugin whenever an OffWithEffect command is received. The application should implement the effect and variant requested in the command and return EMBER_ZCL_STATUS_SUCCESS if successful or an appropriate error status otherwise.

Parameters
endpointVer.: always
effectIdVer.: always
effectVariantVer.: always
void emberPluginEM4AboutToGoInEM4Callback ( uint32_t  sleepDurationMs)

about to go to em4 sleep called from idle-sleep plugin, implemented in em4 plugin stores stack related variables in RTCC RAM

Parameters
sleepDurationMsA sleep duartion value in milliseconds to set up em4 wakeup timer. Ver.: always
void emberPluginEM4AfterEM4Callback ( void  )

After em4 sleep called from idle-sleep plugin, need to be implemented by app to restore restart sensitive app variables from RTCC RAM.

void emberPluginEM4BeforeEM4Callback ( void  )

Before em4 sleep called from idle-sleep plugin, need to be implemented by app to store restart sensitive app variables in RTCC RAM.

Parameters
sleepDurationMsA sleep duartion value in milliseconds to set up em4 wakeup timer. Ver.: always
void emberPluginEM4ComingBackFromEM4Callback ( void  )

coming back from em4 sleep called from idle-sleep plugin, implemented in em4 plugin. Restores stack related variables from RTCC RAM

void halBulbPwmDriverBlinkOffCallback ( void  )

Generated during blinking behavior when it is time to turn the bulb off. While the plugin will determine when to blink the bulb on or off, it is up to this callback to determine how to turn the bulb off.

Should be implemented by an application layer configuration plugin.

void halBulbPwmDriverBlinkOnCallback ( void  )

Generated during blinking behavior when it is time to turn the bulb on. While the plugin will determine when to blink the bulb on or off, it is up to this callback to determine how to turn the bulb on.

Should be implemented by an application layer configuration plugin.

void halBulbPwmDriverBlinkStartCallback ( void  )

Generated when the application layer makes a call to initiate blinking behavior. It warns the application layer PWM code not to attempt to drive the LEDs directly and interfere with the blinking behavior.

Should be implemented by an application layer configuration plugin.

void halBulbPwmDriverBlinkStopCallback ( void  )

Generated when the current blinking command finishes. The application layer PWM code must then determine what the bulb drive should be, based on the current application layer attributes (i.e., level, on/off, color XY, and so on.)

Should be implemented by an application layer configuration plugin.

uint16_t halBulbPwmDriverFrequencyCallback ( void  )

Configures the frequency of the PWM driver. Called by the bulb-pwm driver upon initialization to determine the frequency at which the PWM driver should be driven. It should return either the frequency, in Hz, or USE_DEFAULT_FREQUENCY to indicate that the plugin should use the default value. The default value is 1000 Hz, but can be overridden by a macro in the board header.

Should be implemented by an application layer configuration plugin.

void halBulbPwmDriverInitCompleteCallback ( void  )

Indicates that the PWM driver has been initialized and the bulb should drive the initial LED PWM values at this time.

Should be implemented by an application layer configuration plugin.

void halOccupancyStateChangedCallback ( HalOccupancyState  occupancyState)

Occupancy state has changed.

This callback is called when the occupancy sensor state changes.

Parameters
occupancyStateThe bitmap used to determine occupancy state. At present, only bit 0 is used and will be set to either HAL_OCCUPANCY_STATE_OCCUPIED or HAL_OCCUPANCY_STATE_UNOCCUPIED.