Plugin Callbacks#

Basic Server Cluster Plugin Callbacks#

void

Reset To Factory Defaults.

Battery Monitor Plugin Callbacks#

void
emberAfPluginBatteryMonitorDataReadyCallback(uint16_t batteryVoltageMilliV)

Data Ready.

BLE Plugin Callbacks#

void
emberAfPluginBleGetConfigCallback(sl_bt_configuration_t *config)

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

void

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

Bulb PWM Driver Plugin Callbacks#

uint16_t

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

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

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

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

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

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

Finished.

Button Interface Plugin Callbacks#

void

Called when Button 0 is pressed short.

void

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

Called while Button 0 is pressed.

void

Called while Button 1 is pressed.

void

Called when Button 0 goes low.

void

Called when Button 0 goes high.

void

Called when Button 1 goes low.

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.

Radio Coexistence Plugin Callbacks#

void

Reports a change in radio state.

Radio Coexistence Stub Plugin Callbacks#

void
emberAfPluginCoulombCounterEventCallback(uint32_t mask, uint32_t options)

Set the Radio states and energy modes.

Color Control Cluster (deprecated) Plugin Callbacks#

bool
emberAfPluginColorControlIsColorSupportedCallback(uint8_t hue, uint8_t saturation)

Is Color Supported.

Color Control Cluster Server Plugin Callbacks#

void

Compute Pwm from HSV.

void

Compute Pwm from HSV.

void

Compute Pwm from HSV.

Command Relay Plugin Callbacks#

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

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#

Configuration server Plugin Callbacks#

void

Connection Manager Plugin Callbacks#

void

Network join finished.

void

Begin searching for network to join.

void

Leave the currently joined network.

Counters Plugin Callbacks#

void

Rollover.

Delayed Join Plugin Callbacks#

void
emberAfPluginDelayedJoinCallback(EmberNodeId newNodeId, EmberEUI64 newNodeEui64, EmberNodeId parentOfNewNode, EmberDeviceUpdate status, EmberJoinDecision decision)

Consumer App can implement this callback to be notified when there is a new join attempt that is waiting on the network key.

Device Database Plugin Callbacks#

void

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.

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

NewDevice.

void

Rejoin device.

void

StateChange.

void

StateChange.

void

StateChange.

Door Lock Server Cluster Plugin Callbacks#

bool

Activate Door Lock.

Demand Response Load Control Cluster Client Plugin Callbacks#

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

Event Action.

EEPROM Plugin Callbacks#

void
emberAfPluginEepromStateChangeCallback(HalEepromState oldEepromState, HalEepromState newEepromState)

Called whenever the EEPROM changes state.

Em4 Plugin Callbacks#

bool
emberAfPluginEm4EnterCallback(uint32_t *durationMs)

EM4 Enter.

void

End Device Support Plugin Callbacks#

void

Poll Completed.

Events Server Plugin Callbacks#

bool

Ok To Clear Log.

void
emberAfPluginEventsServerLogDataUpdatedCallback(const EmberAfClusterCommand *cmd)

Log Data Updated.

EZ-Mode Commissioning Plugin Callbacks#

void

Client Complete.

Find and Bind Initiator Plugin Callbacks#

bool
emberAfPluginFindAndBindInitiatorBindTargetCallback(EmberNodeId nodeId, EmberBindingTableEntry *bindingEntry, uint8_t *groupName)

Bind Target.

void

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

Device Removed.

GBZ Message Controller Plugin Callbacks#

void

Decrypt Data.

void

Encrypt Data.

GPIO Sensor Interface Plugin Callbacks#

void

Called whenever the GPIO sensor detects a change in state.

Green Power Server Plugin Callbacks#

bool
emberAfPluginGreenPowerServerGpdCommissioningNotificationCallback(uint8_t commandId, uint16_t commNotificationOptions, EmberGpAddress *gpdAddr, uint32_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t *gpdCommandPayload, uint16_t gppShortAddress, int8_t rssi, uint8_t linkQuality, uint8_t gppDistance, uint32_t commissioningNotificationMic)

Gpd Commissioning Notification.

bool
emberAfPluginGreenPowerServerGpdCommissioningCallback(EmberGpApplicationInfo *appInfo, bool *matchFound)

Gpd Commissioning.

void

Gpd Commissioning.

bool
emberAfGreenPowerClusterGpNotificationForwardCallback(uint16_t options, EmberGpAddress *addr, uint32_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t *gpdCommandPayload, uint16_t gppShortAddress, uint8_t gppDistance)

Gp Notification.

void
emberAfGreenPowerServerPairingCompleteCallback(uint8_t numberOfEndpoints, uint8_t *endpoints)

Gpd Commissioning.

void
emberAfGreenPowerServerCommissioningTimeoutCallback(uint8_t commissioningTimeoutType, uint8_t numberOfEndpoints, uint8_t *endpoints)

Gpd Commissioning.

bool

Gpd Commissioning.

bool
emberAfGreenPowerClusterGpPairingSearchCallback(uint16_t options, uint32_t gpdSrcId, uint8_t *gpdIeee, uint8_t endpoint)

Green Power Cluster Gp Pairing Search Retruns true if this callback is handled.

bool
emberAfPluginGreenPowerServerSinkTableAccessNotificationCallback(void *data, EmberAfGpServerSinkTableAccessType accessType)

Sink Table Access Notification.

void
emberAfGreenPowerClusterCommissioningMessageStatusNotificationCallback(EmberAfGreenPowerServerCommissioningState *commissioningState, EmberApsFrame *apsFrame, EmberOutgoingMessageType messageType, uint16_t destination, EmberStatus status)

Sink Commissioning Enter Call Status notification.

Green Power Translation Table Plugin Callbacks#

void
emberAfGreenPowerClusterPassFrameWithoutTranslationCallback(EmberGpAddress *addr, uint8_t gpdCommandId, uint8_t *gpdCommandPayload)

Gpd Commissioning.

bool

Remove Gpd entries From Translation Table.

bool

Request Translation Table.

bool
emberAfGreenPowerClusterGpUpdateTranslationTableCallback(uint16_t options, uint32_t gpdSrcId, uint8_t *gpdIeee, uint8_t gpdEndpoint, uint8_t *translations)

Update Translation Table.

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

Group Names Supported.

HAL Library Plugin Callbacks#

void

Called whenever the radio is powered on.

void

Called whenever the radio is powered off.

void
halSleepCallback(boolean enter, SleepModes sleepMode)

Called whenever the microcontroller enters/exits a idle/sleep mode.

Identify Cluster Plugin Callbacks#

void
emberAfPluginIdentifyStartFeedbackCallback(uint8_t endpoint, uint16_t identifyTime)

Start Feedback.

void

Stop Feedback.

Idle/Sleep Plugin Callbacks#

bool

Ok To Sleep.

void

Wake Up.

bool
emberAfPluginIdleSleepRtosCallback(uint32_t *durationMs, bool sleepOk)

RTOS idle/sleep.

bool

Active.

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

Level Control Cluster Server Post Init.

void

Level Control Coupled Color Temp Change.

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

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.

Multiple RAIL Demo Code Plugin Callbacks#

void
emberAfPluginMultirailDemoRailEventCallback(RAIL_Handle_t handle, RAIL_Events_t events)

A callback called whenever a secondary instance RAIL event occurs.

Network Creator Plugin Callbacks#

void
emberAfPluginNetworkCreatorCompleteCallback(const EmberNetworkParameters *network, bool usedSecondaryChannels)

Complete.

int8_t

Get Power For Radio Channel.

Network Find Plugin Callbacks#

void

Finished.

int8_t

Get Radio Power For Channel.

bool
emberAfPluginNetworkFindJoinCallback(EmberZigbeeNetwork *networkFound, uint8_t lqi, int8_t rssi)

Join.

int8_t

Get Energy Threshold For Channel.

bool

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

Get Power For Radio Channel.

bool

Get Distributed Key.

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

Occupancy state changed.

On/Off Server Cluster Plugin Callbacks#

void

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#

Packet Handoff Plugin Callbacks#

emberAfIncomingPacketFilterCallback(EmberZigbeePacketType packetType, uint8_t *packetData, uint8_t *size_p, void *data)

A protocol layer packet has been received by the stack.

emberAfOutgoingPacketFilterCallback(EmberZigbeePacketType packetType, uint8_t *packetData, uint8_t *size_p, void *data)

The stack is preparing to send a protocol layer packet.

Poll Control Server Cluster Plugin Callbacks#

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

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#

emberAfPluginReportingConfiguredCallback(const EmberAfPluginReportingEntry *entry)

Configured.

bool

Configured.

RTOS Common Plugin Callbacks#

void

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

void

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

void

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

void

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

void

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

void

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

SB1 Gesture Sensor Plugin Callbacks#

void
emberAfPluginSb1GestureSensorGestureReceivedCallback(uint8_t gestureReceived, uint8_t switchNumber)

Called whenever the SB1 receives a gesture.

Scenes Server Cluster Plugin Callbacks#

bool
emberAfPluginScenesServerCustomRecallSceneCallback(const EmberAfSceneTableEntry *const sceneEntry, uint16_t transitionTimeDs, EmberAfStatus *const status)

Scenes Server Custom Recall Scene.

Security Sensor Interface Plugin Callbacks#

void

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

Message Timed Out.

Standalone Bootloader Client Plugin Callbacks#

bool

Allow Incoming Message.

bool

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.

Sub-GHz Client Plugin Callbacks#

bool

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

Sub-GHz Cluster Get Suspend ZCL Messages Status.

Tamper Switch Interface Plugin Callbacks#

Temperature Measurement Server Cluster Plugin Callbacks#

void

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#

void

ConnectivityEstablished 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. This function is also called after a match descriptor response.

bool

Serverless Keep Alive Supported This function is called by the Trust Center Keep Alive plugin when service discovery receives a response indicating that the server does not support the cluster. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to still start the keep alive process even if the server cluster is not discovered. If this callback returns false, the Trust Center Keep Alive plugin code will only proceed to start the process in case the service discovery was succesful.

bool
emberAfTrustCenterKeepaliveOverwriteDefaultTimingCallback(uint16_t *baseTimeSeconds, uint16_t *jitterTimeSeconds)

Overwrite Default Timing Parameters This function is called by the Trust Center Keep Alive plugin when the Trust Center Keep Alive process is started. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to start the keep alive process with timing parameters other than the default values. If this callback returns false, the Trust Center Keep Alive plugin code will proceed to start with the default timing parameters.

bool

Serverless Keep Alive Enabled This function is called by the Trust Center Keep Alive plugin when a service discovery is done, a response has arrived and emberAfPluginTrustCenterKeepaliveServerlessIsSupportedCallback() returned true. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to start the keep alive process right away. If this callback returns false, the Trust Center Keep Alive plugin code will return to the disabled state waiting to be enabled.

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

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

Status.

ZLL Commissioning Client Plugin Callbacks#

void

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.

ZLL Commissioning Network Plugin Callbacks#

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

Join.

ZLL Commissioning Server Plugin Callbacks#

uint8_t

Group Identifier Count.

bool
emberAfPluginZllCommissioningServerGroupIdentifierCallback(uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningGroupInformationRecord *record)

Group Identifier.

uint8_t

Endpoint Information Count.

bool
emberAfPluginZllCommissioningServerEndpointInformationCallback(uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningEndpointInformationRecord *record)

Endpoint Information.

void

ZLL On/Off Server Cluster Enhancements Plugin Callbacks#

emberAfPluginZllOnOffServerOffWithEffectCallback(uint8_t endpoint, uint8_t effectId, uint8_t effectVariant)

Off With Effect.

Basic Server Cluster Plugin Callbacks Documentation#

emberAfPluginBasicResetToFactoryDefaultsCallback#

void emberAfPluginBasicResetToFactoryDefaultsCallback (uint8_t endpoint)

Reset To Factory Defaults.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

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.


Battery Monitor Plugin Callbacks Documentation#

emberAfPluginBatteryMonitorDataReadyCallback#

void emberAfPluginBatteryMonitorDataReadyCallback (uint16_t batteryVoltageMilliV)

Data Ready.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AbatteryVoltageMilliV

The battery voltage, in milli Volts Ver.: always

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


BLE Plugin Callbacks Documentation#

emberAfPluginBleGetConfigCallback#

void emberAfPluginBleGetConfigCallback (sl_bt_configuration_t * config)

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

Parameters
TypeDirectionArgument NameDescription
sl_bt_configuration_t *N/Aconfig
  • max_connections

  • heap

  • heap_size


emberAfPluginBleEventCallback#

void emberAfPluginBleEventCallback (sl_bt_msg_t * evt)

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

Parameters
TypeDirectionArgument NameDescription
sl_bt_msg_t *N/Aevt

Bulb PWM Driver Plugin Callbacks Documentation#

halBulbPwmDriverFrequencyCallback#

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.

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


halBulbPwmDriverInitCompleteCallback#

void halBulbPwmDriverInitCompleteCallback (void )

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

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


halBulbPwmDriverBlinkOnCallback#

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.

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


halBulbPwmDriverBlinkOffCallback#

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.

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


halBulbPwmDriverBlinkStartCallback#

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.

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


halBulbPwmDriverBlinkStopCallback#

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.)

Parameters
TypeDirectionArgument NameDescription
voidN/A

@appusage Should be implemented by an application layer configuration plugin.


Bulb user interface Plugin Callbacks Documentation#

emberAfPluginBulbUiFinishedCallback#

void emberAfPluginBulbUiFinishedCallback (EmberStatus status)

Finished.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Ver.: always

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.


Button Interface Plugin Callbacks Documentation#

emberAfPluginButtonInterfaceButton0PressedShortCallback#

void emberAfPluginButtonInterfaceButton0PressedShortCallback (uint16_t timePressedMs)

Called when Button 0 is pressed short.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtimePressedMs

Time (in ms) button 0 was pressed short


emberAfPluginButtonInterfaceButton1PressedShortCallback#

void emberAfPluginButtonInterfaceButton1PressedShortCallback (uint16_t timePressedMs)

Called when Button 1 is pressed short.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtimePressedMs

Time (in ms) button 1 was pressed short


emberAfPluginButtonInterfaceButton0PressedLongCallback#

void emberAfPluginButtonInterfaceButton0PressedLongCallback (uint16_t timePressedMs, bool pressedAtReset)

Called when Button 0 is pressed long.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtimePressedMs

Amount of time button 0 was pressed.

boolN/ApressedAtReset

Was the button pressed at startup.


emberAfPluginButtonInterfaceButton1PressedLongCallback#

void emberAfPluginButtonInterfaceButton1PressedLongCallback (uint16_t timePressedMs, bool pressedAtReset)

Called when Button 1 is pressed long.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtimePressedMs

Amount of time button 1 was pressed.

boolN/ApressedAtReset

Was the button pressed at startup.


emberAfPluginButtonInterfaceButton0PressingCallback#

void emberAfPluginButtonInterfaceButton0PressingCallback (void )

Called while Button 0 is pressed.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginButtonInterfaceButton1PressingCallback#

void emberAfPluginButtonInterfaceButton1PressingCallback (void )

Called while Button 1 is pressed.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginButtonInterfaceButton0LowCallback#

void emberAfPluginButtonInterfaceButton0LowCallback (void )

Called when Button 0 goes low.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginButtonInterfaceButton0HighCallback#

void emberAfPluginButtonInterfaceButton0HighCallback (void )

Called when Button 0 goes high.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginButtonInterfaceButton1LowCallback#

void emberAfPluginButtonInterfaceButton1LowCallback (void )

Called when Button 1 goes low.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginButtonInterfaceButton1HighCallback#

void emberAfPluginButtonInterfaceButton1HighCallback (void )

Called when Button 1 goes high.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


Button Form/Join Code Plugin Callbacks Documentation#

emberAfPluginButtonJoiningButtonEventCallback#

void emberAfPluginButtonJoiningButtonEventCallback (uint8_t buttonNumber, uint32_t buttonPressDurationMs)

Button Event.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AbuttonNumber

The button number that was pressed. Ver.: always

uint32_tN/AbuttonPressDurationMs

The length of time button was held down before it was released. Ver.: always

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.


Calendar Server Plugin Callbacks Documentation#

emberAfPluginCalendarServerPublishInfoCallback#

void emberAfPluginCalendarServerPublishInfoCallback (uint8_t publishCommandId, EmberNodeId clientNodeId, uint8_t clientEndpoint, uint8_t totalCommands)

Publish Info.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/ApublishCommandId

ZCL command to be published Ver.: always

EmberNodeIdN/AclientNodeId

Destination nodeId Ver.: always

uint8_tN/AclientEndpoint

Destination endpoint Ver.: always

uint8_tN/AtotalCommands

Total number of publish commands to be sent Ver.: always

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.


Radio Coexistence Plugin Callbacks Documentation#

coexCoulombCounterEventCallback#

void coexCoulombCounterEventCallback (uint16_t ccState)

Reports a change in radio state.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AccState

bitmask of radio states

This function is called by the RAIL library to report changes in the radio states (Idle/Rx/Tx) according to PTA events.


Radio Coexistence Stub Plugin Callbacks Documentation#

emberAfPluginCoulombCounterEventCallback#

void emberAfPluginCoulombCounterEventCallback (uint32_t mask, uint32_t options)

Set the Radio states and energy modes.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/Amask
uint32_tN/Aoptions

This function is called by the RAIL library to set the radio states for the purpose of coulomb counter, to indicate Idle/Rx/Tx. Also the Zigbee stack will call into this function to set the various energy modes.


Color Control Cluster (deprecated) Plugin Callbacks Documentation#

emberAfPluginColorControlIsColorSupportedCallback#

bool emberAfPluginColorControlIsColorSupportedCallback (uint8_t hue, uint8_t saturation)

Is Color Supported.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Ahue

Ver.: always

uint8_tN/Asaturation

Ver.: always

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


Color Control Cluster Server Plugin Callbacks Documentation#

emberAfPluginColorControlServerComputePwmFromHsvCallback#

void emberAfPluginColorControlServerComputePwmFromHsvCallback (uint8_t endpoint)

Compute Pwm from HSV.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The identifying endpoint Ver.: always

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.


emberAfPluginColorControlServerComputePwmFromXyCallback#

void emberAfPluginColorControlServerComputePwmFromXyCallback (uint8_t endpoint)

Compute Pwm from HSV.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The identifying endpoint Ver.: always

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.


emberAfPluginColorControlServerComputePwmFromTempCallback#

void emberAfPluginColorControlServerComputePwmFromTempCallback (uint8_t endpoint)

Compute Pwm from HSV.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The identifying endpoint Ver.: always

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.


Command Relay Plugin Callbacks Documentation#

emberAfPluginCommandRelayChangedCallback#

void emberAfPluginCommandRelayChangedCallback (void )

Changed.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Called when relays rules are added or removed.


Comms Hub Function (CHF) Plugin Callbacks Documentation#

emberAfPluginCommsHubFunctionSendCallback#

void emberAfPluginCommsHubFunctionSendCallback (uint8_t status, EmberEUI64 destinationDeviceId, uint16_t dataLen, uint8_t * data)

Send.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Astatus

The status of the message that was sent Ver.: always

EmberEUI64N/AdestinationDeviceId

The EUI64 of the destination device to which the data was sent Ver.: always

uint16_tN/AdataLen

The length in octets of the data that was sent Ver.: always

uint8_t *N/Adata

Buffer containing the raw octets of the data that was sent Ver.: always

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


emberAfPluginCommsHubFunctionReceivedCallback#

void emberAfPluginCommsHubFunctionReceivedCallback (EmberEUI64 senderDeviceId, uint16_t dataLen, uint8_t * data)

Received.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AsenderDeviceId

The EUI64 of the sending device Ver.: always

uint16_tN/AdataLen

The length in octets of the data Ver.: always

uint8_t *N/Adata

Buffer containing the raw octets of the data Ver.: always

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


emberAfPluginCommsHubFunctionAlertWANCallback#

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

Alert WAN.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AalertCode

The 16 bit allert code as defined by GBCS Ver.: always

uint8_t *N/AgbzAlert

Buffer continaing the GBZ formatted Alert Ver.: always

uint16_tN/AgbzAlertLength

The length in octets of the GBZ formatted Alert Ver.: always

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.


emberAfPluginCommsHubFunctionTunnelOpenedCallback#

void emberAfPluginCommsHubFunctionTunnelOpenedCallback (EmberEUI64 remoteDeviceId)

Tunnel Opened.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AremoteDeviceId

The EUI64 of the remote device for which a tunnel is opened Ver.: always

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


Comms Hub Function (Sub-GHz) Plugin Callbacks Documentation#

emberAfPluginCommsHubFunctionSubGhzChannelChangeCallback#

void emberAfPluginCommsHubFunctionSubGhzChannelChangeCallback (EmberAfPluginCommsHubFunctionSubGhzChannelChangeOutcome outcome, EmberAfStatus status)

Sub-GHz channel change request outcome callback.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginCommsHubFunctionSubGhzChannelChangeOutcomeN/Aoutcome

Channel change request outcome

EmberAfStatusN/Astatus

Ember status code if the outcome is negative

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


Concentrator Support Plugin Callbacks Documentation#

emberAfPluginConcentratorBroadcastSentCallback#

void emberAfPluginConcentratorBroadcastSentCallback (void )

Broadcast Sent.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


Configuration server Plugin Callbacks Documentation#

emberAfPluginConfigurationServerFinishedCallback#

void emberAfPluginConfigurationServerFinishedCallback (EmberStatus status)

Finished.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Ver.: always

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.


Connection Manager Plugin Callbacks Documentation#

emberAfPluginConnectionManagerFinishedCallback#

void emberAfPluginConnectionManagerFinishedCallback (EmberStatus status)

Network join finished.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Ver.: always

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.


emberAfPluginConnectionManagerStartNetworkSearchCallback#

void emberAfPluginConnectionManagerStartNetworkSearchCallback (void )

Begin searching for network to join.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


emberAfPluginConnectionManagerLeaveNetworkCallback#

void emberAfPluginConnectionManagerLeaveNetworkCallback (void )

Leave the currently joined network.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


Counters Plugin Callbacks Documentation#

emberAfPluginCountersRolloverCallback#

void emberAfPluginCountersRolloverCallback (EmberCounterType type)

Rollover.

Parameters
TypeDirectionArgument NameDescription
EmberCounterTypeN/Atype

The counter that rolled over Ver.: always

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


Delayed Join Plugin Callbacks Documentation#

emberAfPluginDelayedJoinCallback#

void emberAfPluginDelayedJoinCallback (EmberNodeId newNodeId, EmberEUI64 newNodeEui64, EmberNodeId parentOfNewNode, EmberDeviceUpdate status, EmberJoinDecision decision)

Consumer App can implement this callback to be notified when there is a new join attempt that is waiting on the network key.

Parameters
TypeDirectionArgument NameDescription
EmberNodeIdN/AnewNodeId

of the joining device

EmberEUI64N/AnewNodeEui64

longId of the joing device

EmberNodeIdN/AparentOfNewNode

nodeId of the parent

EmberDeviceUpdateN/Astatus

type of join attempt, if it is secure Join etc.

EmberJoinDecisionN/Adecision

stacks decision on how to handle this join attempt


Device Database Plugin Callbacks Documentation#

emberAfPluginDeviceDatabaseDiscoveryCompleteCallback#

void emberAfPluginDeviceDatabaseDiscoveryCompleteCallback (const EmberAfDeviceInfo * device)

Discovery Complete.

Parameters
TypeDirectionArgument NameDescription
const EmberAfDeviceInfo *N/Adevice

A pointer to the information struct about the device. Ver.: always

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


Device Management Client Plugin Callbacks Documentation#

emberAfPluginDeviceManagementClientEnactChangeOfTenancyCallback#

void emberAfPluginDeviceManagementClientEnactChangeOfTenancyCallback (uint8_t endpoint, EmberAfDeviceManagementTenancy * tenancy)

Enact Change Of Tenancy.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

EmberAfDeviceManagementTenancy *N/Atenancy

Ver.: always

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


emberAfPluginDeviceManagementClientEnactChangeOfSupplierCallback#

void emberAfPluginDeviceManagementClientEnactChangeOfSupplierCallback (uint8_t endpoint, EmberAfDeviceManagementSupplier * supplier)

Enact Change Of Supplier.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

EmberAfDeviceManagementSupplier *N/Asupplier

Ver.: always

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


emberAfPluginDeviceManagementClientEnactChangeSupplyCallback#

EmberStatus emberAfPluginDeviceManagementClientEnactChangeSupplyCallback (uint8_t endpoint, EmberAfDeviceManagementSupply * supply)

Enact Change Supply.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

EmberAfDeviceManagementSupply *N/Asupply

Ver.: always

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


emberAfPluginDeviceManagementClientSetSupplyStatusCallback#

void emberAfPluginDeviceManagementClientSetSupplyStatusCallback (uint8_t endpoint, EmberAfDeviceManagementSupplyStatusFlags * supplyStatus)

Set Supply Status.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

EmberAfDeviceManagementSupplyStatusFlags *N/AsupplyStatus

Ver.: always

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


emberAfPluginDeviceManagementClientEnactUpdateUncontrolledFlowThresholdCallback#

void emberAfPluginDeviceManagementClientEnactUpdateUncontrolledFlowThresholdCallback (uint8_t endpoint, EmberAfDeviceManagementUncontrolledFlowThreshold * supplier)

Enact Update Uncontrolled Flow Threshold.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

EmberAfDeviceManagementUncontrolledFlowThreshold *N/Asupplier

Ver.: always

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


Device Management Server Plugin Callbacks Documentation#

emberAfPluginDeviceManagementServerGetPasswordCallback#

void emberAfPluginDeviceManagementServerGetPasswordCallback (EmberNodeId senderNodeId, EmberAfDeviceManagementPasswordType passwordType, EmberAfDeviceManagementPassword passwordInfo)

Get Password.

Parameters
TypeDirectionArgument NameDescription
EmberNodeIdN/AsenderNodeId

Ver.: always

EmberAfDeviceManagementPasswordTypeN/ApasswordType

Ver.: always

EmberAfDeviceManagementPasswordN/ApasswordInfo

Ver.: always

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


Device Table Plugin Callbacks Documentation#

emberAfPluginDeviceTableStateChangeCallback#

void emberAfPluginDeviceTableStateChangeCallback (EmberNodeId nodeId, uint8_t state)

StateChange.

Parameters
TypeDirectionArgument NameDescription
EmberNodeIdN/AnodeId

Ver.: always

uint8_tN/Astate

Ver.: always

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


emberAfPluginDeviceTableClearedCallback#

void emberAfPluginDeviceTableClearedCallback (void )

Cleared.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginDeviceTableNewDeviceCallback#

void emberAfPluginDeviceTableNewDeviceCallback (EmberEUI64 eui64)

NewDevice.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/Aeui64

Ver.: always

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


emberAfPluginDeviceTableRejoinDeviceCallback#

void emberAfPluginDeviceTableRejoinDeviceCallback (EmberEUI64 newNodeEui64)

Rejoin device.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AnewNodeEui64

EUI64 of the rejoined device.

Called when a device rejoins.


emberAfPluginDeviceTableDeviceLeftCallback#

void emberAfPluginDeviceTableDeviceLeftCallback (EmberEUI64 newNodeEui64, state)

StateChange.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AnewNodeEui64

Ver.: always

N/Astate

Ver.: always

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


emberAfPluginDeviceTableInitialized#

void emberAfPluginDeviceTableInitialized (void , state)

StateChange.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Ver.: always

N/Astate

Ver.: always

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


emberAfPluginDeviceTableIndexRemovedCallback#

void emberAfPluginDeviceTableIndexRemovedCallback (uint16_t currentIndex, state)

StateChange.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AcurrentIndex

Ver.: always

N/Astate

Ver.: always

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


emberAfPluginDeviceTableIndexAddedCallback#

void emberAfPluginDeviceTableIndexAddedCallback (uint16_t index, state)

StateChange.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Aindex

Ver.: always

N/Astate

Ver.: always

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


Door Lock Server Cluster Plugin Callbacks Documentation#

emberAfPluginDoorLockServerActivateDoorLockCallback#

bool emberAfPluginDoorLockServerActivateDoorLockCallback (bool activate)

Activate Door Lock.

Parameters
TypeDirectionArgument NameDescription
boolN/Aactivate

True if the lock should move to the locked position, false if it should move to the unlocked position Ver.: always

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


Demand Response Load Control Cluster Client Plugin Callbacks Documentation#

emberAfPluginDrlcEventActionCallback#

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

Event Action.

Parameters
TypeDirectionArgument NameDescription
EmberAfLoadControlEvent *N/AloadControlEvent

Actual event Ver.: always

EmberAfAmiEventStatusN/AeventStatus

Status of event Ver.: always

uint8_tN/AsequenceNumber

Sequence number Ver.: always

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.


EEPROM Plugin Callbacks Documentation#

emberAfPluginEepromStateChangeCallback#

void emberAfPluginEepromStateChangeCallback (HalEepromState oldEepromState, HalEepromState newEepromState)

Called whenever the EEPROM changes state.

Parameters
TypeDirectionArgument NameDescription
HalEepromStateN/AoldEepromState

The old state of the EEPROM

HalEepromStateN/AnewEepromState

The new state of the EEPROM


Em4 Plugin Callbacks Documentation#

emberAfPluginEm4EnterCallback#

bool emberAfPluginEm4EnterCallback (uint32_t * durationMs)

EM4 Enter.

Parameters
TypeDirectionArgument NameDescription
uint32_t *N/AdurationMs

The maximum duration in milliseconds that the device will sleep. Ver.: always

This function is called from idle-sleep plugin before going into em4 sleep mode. This should be implemented by app to store restart sensitive app/stack variables in RTCC RAM, check/change the sleep duration.


emberAfPluginEm4ExitCallback#

void emberAfPluginEm4ExitCallback (void )

EM4 Exit.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function is called from idle-sleep plugin after coming back from em4 sleep mode. This should be implemented by app, if it requires any additional variable restoration and network/app-initialization steps other than what is implemented in emberAfPostEm4ResetCallback()


End Device Support Plugin Callbacks Documentation#

emberAfPluginEndDeviceSupportPollCompletedCallback#

void emberAfPluginEndDeviceSupportPollCompletedCallback (EmberStatus status)

Poll Completed.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Return status of a completed poll operation Ver.: always

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


emberAfPluginEndDeviceSupportLostParentConnectivityCallback#

bool emberAfPluginEndDeviceSupportLostParentConnectivityCallback (void )

Lost Parent Connectivity.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


emberAfPluginEndDeviceSupportPreNetworkMoveCallback#

bool emberAfPluginEndDeviceSupportPreNetworkMoveCallback (void )

Pre Network Move.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


Events Server Plugin Callbacks Documentation#

emberAfPluginEventsServerOkToClearLogCallback#

bool emberAfPluginEventsServerOkToClearLogCallback (EmberAfEventLogId logId)

Ok To Clear Log.

Parameters
TypeDirectionArgument NameDescription
EmberAfEventLogIdN/AlogId

The identifier of the log requested to be cleared. Ver.: always

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.


emberAfPluginEventsServerLogDataUpdatedCallback#

void emberAfPluginEventsServerLogDataUpdatedCallback (const EmberAfClusterCommand * cmd)

Log Data Updated.

Parameters
TypeDirectionArgument NameDescription
const EmberAfClusterCommand *N/Acmd

ZCL command Ver.: always

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.


EZ-Mode Commissioning Plugin Callbacks Documentation#

emberAfPluginEzmodeCommissioningClientCompleteCallback#

void emberAfPluginEzmodeCommissioningClientCompleteCallback (uint8_t bindingIndex)

Client Complete.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AbindingIndex

The binding index that was created or EMBER_NULL_BINDING if an error occurred. Ver.: always

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


Find and Bind Initiator Plugin Callbacks Documentation#

emberAfPluginFindAndBindInitiatorBindTargetCallback#

bool emberAfPluginFindAndBindInitiatorBindTargetCallback (EmberNodeId nodeId, EmberBindingTableEntry * bindingEntry, uint8_t * groupName)

Bind Target.

Parameters
TypeDirectionArgument NameDescription
EmberNodeIdN/AnodeId

short ID of the potential target Ver.: always

EmberBindingTableEntry *N/AbindingEntry

The binding entry for that target. Ver.: always

uint8_t *N/AgroupName

The name of the group if a multicast binding is created. Ver.: always

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.


emberAfPluginFindAndBindInitiatorCompleteCallback#

void emberAfPluginFindAndBindInitiatorCompleteCallback (EmberStatus status)

Complete.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Status code describing the completion of the find and bind process Ver.: always

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


Form and Join Library Plugin Callbacks Documentation#

emberAfPluginFormAndJoinNetworkFoundCallback#

void emberAfPluginFormAndJoinNetworkFoundCallback (EmberZigbeeNetwork * networkFound, uint8_t lqi, int8_t rssi)

Network Found.

Parameters
TypeDirectionArgument NameDescription
EmberZigbeeNetwork *N/AnetworkFound

Ver.: always

uint8_tN/Alqi

Ver.: always

int8_tN/Arssi

Ver.: always

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.


emberAfPluginFormAndJoinUnusedPanIdFoundCallback#

void emberAfPluginFormAndJoinUnusedPanIdFoundCallback (EmberPanId panId, uint8_t channel)

Unused Pan Id Found.

Parameters
TypeDirectionArgument NameDescription
EmberPanIdN/ApanId

A randomly generated PAN ID without other devices on it. Ver.: always

uint8_tN/Achannel

The channel where the PAN ID can be used to form a new network. Ver.: always

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.


Gas Proxy Function (GPF) Plugin Callbacks Documentation#

emberAfPluginGasProxyFunctionNonTapOffMessageHandlerCompletedCallback#

void emberAfPluginGasProxyFunctionNonTapOffMessageHandlerCompletedCallback (uint8_t * gbzCommandsResponse, uint16_t gbzCommandsResponseLength)

Non Tap Off Message Handler Completed.

Parameters
TypeDirectionArgument NameDescription
uint8_t *N/AgbzCommandsResponse

Ver.: always

uint16_tN/AgbzCommandsResponseLength

Ver.: always

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.


emberAfPluginGasProxyFunctionAlertWANCallback#

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

Alert WAN.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AalertCode

The 16 bit allert code as defined by GBCS Ver.: always

uint8_t *N/AgbzAlert

Buffer continaing the GBZ formatted Alert Ver.: always

uint16_tN/AgbzAlertLength

The length in octets of the GBZ formatted Alert Ver.: always

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.


emberAfPluginGasProxyFunctionTapOffMessageFutureCommandIgnoredCallback#

void emberAfPluginGasProxyFunctionTapOffMessageFutureCommandIgnoredCallback (const EmberAfGpfMessage * gpfMessage, const EmberAfClusterCommand * zclClusterCommand)

Tap Off Message Future Command Ignored.

Parameters
TypeDirectionArgument NameDescription
const EmberAfGpfMessage *N/AgpfMessage

Ver.: always

const EmberAfClusterCommand *N/AzclClusterCommand

Ver.: always

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.


emberAfPluginGasProxyFunctionDataLogAccessRequestCallback#

bool emberAfPluginGasProxyFunctionDataLogAccessRequestCallback (const EmberAfGpfMessage * gpfMessage, const EmberAfClusterCommand * zclClusterCommand)

Data Log Access Request.

Parameters
TypeDirectionArgument NameDescription
const EmberAfGpfMessage *N/AgpfMessage

Ver.: always

const EmberAfClusterCommand *N/AzclClusterCommand

Ver.: always

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.


emberAfPluginGasProxyFunctionValidateIncomingZclCommandCallback#

EmberAfGpfZclCommandPermission emberAfPluginGasProxyFunctionValidateIncomingZclCommandCallback (const EmberAfClusterCommand * cmd, uint16_t messageCode)

Validate Incoming Zcl Command.

Parameters
TypeDirectionArgument NameDescription
const EmberAfClusterCommand *N/Acmd

Ver.: always

uint16_tN/AmessageCode

Ver.: always

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.


emberAfPluginGasProxyFunctionUnknownSeasonWeekIdCallback#

void emberAfPluginGasProxyFunctionUnknownSeasonWeekIdCallback (uint32_t issuerCalendarId, uint8_t * seasonEntries, uint8_t seasonEntriesLength, uint8_t unknownWeekIdSeasonsMask)

Unknown Season Week Id.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/AissuerCalendarId

The calendar ID associated with these seasons. Ver.: always

uint8_t *N/AseasonEntries

The season entries for this publish command. Ver.: always

uint8_tN/AseasonEntriesLength

The length of the season entries. Ver.: always

uint8_tN/AunknownWeekIdSeasonsMask

A mask where bit N indicates that the Nth season entry contains an unknown week ID reference. Ver.: always

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.


emberAfPluginGasProxyFunctionUnknownSpecialDaysDayIdCallback#

void emberAfPluginGasProxyFunctionUnknownSpecialDaysDayIdCallback (uint32_t issuerCalendarId, uint8_t * specialDayEntries, uint8_t specialDayEntriesLength, uint8_t unknownDayIdMask)

Unknown Special Days Day Id.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/AissuerCalendarId

The calendar ID associated with these special days. Ver.: always

uint8_t *N/AspecialDayEntries

The special day entries for this publish command. Ver.: always

uint8_tN/AspecialDayEntriesLength

The length of the special day entries. Ver.: always

uint8_tN/AunknownDayIdMask

A mask where bit N indicates that the Nth special day entry contains an unknown day ID reference. Ver.: always

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.


GBCS Device Log Plugin Callbacks Documentation#

emberAfPluginGbcsDeviceLogDeviceRemovedCallback#

void emberAfPluginGbcsDeviceLogDeviceRemovedCallback (EmberEUI64 deviceId)

Device Removed.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AdeviceId

Identifier of the device removed Ver.: always

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


GBZ Message Controller Plugin Callbacks Documentation#

emberAfPluginGbzMessageControllerDecryptDataCallback#

void emberAfPluginGbzMessageControllerDecryptDataCallback (EmberAfGbzMessageData * data)

Decrypt Data.

Parameters
TypeDirectionArgument NameDescription
EmberAfGbzMessageData *N/Adata

Ver.: always

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.


emberAfPluginGbzMessageControllerEncryptDataCallback#

void emberAfPluginGbzMessageControllerEncryptDataCallback (EmberAfGbzMessageData * data)

Encrypt Data.

Parameters
TypeDirectionArgument NameDescription
EmberAfGbzMessageData *N/Adata

Ver.: always

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.


GPIO Sensor Interface Plugin Callbacks Documentation#

emberAfPluginGpioSensorStateChangedCallback#

void emberAfPluginGpioSensorStateChangedCallback (uint8_t newSensorState)

Called whenever the GPIO sensor detects a change in state.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AnewSensorState

The new state of the sensor based alarm (EMBER_AF_PLUGIN_GPIO_SENSOR_ACTIVE or EMBER_AF_PLUGIN_GPIO_SENSOR_NOT_ACTIVE) Ver.: always


Green Power Server Plugin Callbacks Documentation#

emberAfPluginGreenPowerServerGpdCommissioningNotificationCallback#

bool emberAfPluginGreenPowerServerGpdCommissioningNotificationCallback (uint8_t commandId, uint16_t commNotificationOptions, EmberGpAddress * gpdAddr, uint32_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t * gpdCommandPayload, uint16_t gppShortAddress, int8_t rssi, uint8_t linkQuality, uint8_t gppDistance, uint32_t commissioningNotificationMic, errorReturn)

Gpd Commissioning Notification.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AcommandId

Ver.: always

uint16_tN/AcommNotificationOptions

Ver.: always

EmberGpAddress *N/AgpdAddr

Ver.: always

uint32_tN/AgpdSecurityFrameCounter

Ver.: always

uint8_tN/AgpdCommandId

Ver.: always

uint8_t *N/AgpdCommandPayload

Ver.: always

uint16_tN/AgppShortAddress

Ver.: always

int8_tN/Arssi

Ver.: always

uint8_tN/AlinkQuality

Ver.: always

uint8_tN/AgppDistance

Ver.: always

uint32_tN/AcommissioningNotificationMic

Ver.: always

N/AerrorReturn

Ver.: always

This function is called by the Green Power Sink Plugin to notify the application about Green Power Device commissioning notification received by the sink. Return false if callback not handled, true if callback is handled.


emberAfPluginGreenPowerServerGpdCommissioningCallback#

bool emberAfPluginGreenPowerServerGpdCommissioningCallback (EmberGpApplicationInfo * appInfo, bool * matchFound)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
EmberGpApplicationInfo *N/AappInfo

Application information of the commissioning GPD. Ver.: always

bool *N/AmatchFound

Output flag to notify matching functionality. Ver.: always

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. Returns false if callback is not handled, true if callback is handled. When the callback is handled, it must set the matchFound argument appropriately to indicate if the matching functionality is found or not.


emberAfPluginGreenPowerServerGpdSecurityFailureCallback#

void emberAfPluginGreenPowerServerGpdSecurityFailureCallback (EmberGpAddress * gpdAddr)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
EmberGpAddress *N/AgpdAddr

Ver.: always

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Security Processing failed for an incomming notification.


emberAfGreenPowerClusterGpNotificationForwardCallback#

bool emberAfGreenPowerClusterGpNotificationForwardCallback (uint16_t options, EmberGpAddress * addr, uint32_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t * gpdCommandPayload, uint16_t gppShortAddress, uint8_t gppDistance)

Gp Notification.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Aoptions

from the incoming Gp Notification Command Ver.: always

EmberGpAddress *N/Aaddr

GPD address Ver.: always

uint32_tN/AgpdSecurityFrameCounter

Ver.: always

uint8_tN/AgpdCommandId

Ver.: always

uint8_t *N/AgpdCommandPayload

first byte is length of the payload Ver.: always

uint16_tN/AgppShortAddress

Ver.: always

uint8_tN/AgppDistance

Ver.: always

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.


emberAfGreenPowerServerPairingCompleteCallback#

void emberAfGreenPowerServerPairingCompleteCallback (uint8_t numberOfEndpoints, uint8_t * endpoints)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AnumberOfEndpoints

Ver.: always

uint8_t *N/Aendpoints

This function is called by the Green Power Server upon the completion of the pairing and to indicate the closure of the pairing session.


emberAfGreenPowerServerCommissioningTimeoutCallback#

void emberAfGreenPowerServerCommissioningTimeoutCallback (uint8_t commissioningTimeoutType, uint8_t numberOfEndpoints, uint8_t * endpoints)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AcommissioningTimeoutType

Ver.: always

uint8_tN/AnumberOfEndpoints
uint8_t *N/Aendpoints

This function is called by the Green Power Server upon expiry of either the switch commissioning or multisensor commissioning timer.


emberAfGreenPowerServerUpdateInvolveTCCallback#

bool emberAfGreenPowerServerUpdateInvolveTCCallback (EmberStatus status)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Ver.: always

This function is called by the Green Power Server to proceed with updating the InvolveTC bit of the security level attribute.


emberAfGreenPowerClusterGpPairingSearchCallback#

bool emberAfGreenPowerClusterGpPairingSearchCallback (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t endpoint)

Green Power Cluster Gp Pairing Search Retruns true if this callback is handled.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Aoptions

Ver.: since gp-1.0-09-5499-24

uint32_tN/AgpdSrcId

Ver.: since gp-1.0-09-5499-24

uint8_t *N/AgpdIeee

Ver.: since gp-1.0-09-5499-24

uint8_tN/Aendpoint

Ver.: always


emberAfPluginGreenPowerServerSinkTableAccessNotificationCallback#

bool emberAfPluginGreenPowerServerSinkTableAccessNotificationCallback (void * data, EmberAfGpServerSinkTableAccessType accessType)

Sink Table Access Notification.

Parameters
TypeDirectionArgument NameDescription
void *N/Adata

void pointer to the data Ver.: always

EmberAfGpServerSinkTableAccessTypeN/AaccessType

accessType Ver.: always

This function is called by the Green Power Sink Plugin to notify the application about Green Power Device addition or removal by the green power server to the Sink Table. If returned false, the sink table remains un accessed.


emberAfGreenPowerClusterCommissioningMessageStatusNotificationCallback#

void emberAfGreenPowerClusterCommissioningMessageStatusNotificationCallback (EmberAfGreenPowerServerCommissioningState * commissioningState, EmberApsFrame * apsFrame, EmberOutgoingMessageType messageType, uint16_t destination, EmberStatus status)

Sink Commissioning Enter Call Status notification.

Parameters
TypeDirectionArgument NameDescription
EmberAfGreenPowerServerCommissioningState *N/AcommissioningState

Sink commissioning state Ver.: always

EmberApsFrame *N/AapsFrame

aps frame header Ver.: always

EmberOutgoingMessageTypeN/AmessageType

unicast or broadcast Ver.: always

uint16_tN/Adestination

destination node Ver.: always

EmberStatusN/Astatus

status of the network submission Ver.: always

This function is called by the Green Power Sink Plugin from the sink commissioning enter command to notify the application of the status of the proxy commissioning enter message submission to network layer.


Green Power Translation Table Plugin Callbacks Documentation#

emberAfGreenPowerClusterPassFrameWithoutTranslationCallback#

void emberAfGreenPowerClusterPassFrameWithoutTranslationCallback (EmberGpAddress * addr, uint8_t gpdCommandId, uint8_t * gpdCommandPayload)

Gpd Commissioning.

Parameters
TypeDirectionArgument NameDescription
EmberGpAddress *N/Aaddr

Ver.: always

uint8_tN/AgpdCommandId
uint8_t *N/AgpdCommandPayload

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).


emberAfGreenPowerClusterGpTransTableDeleteTranslationTableEntryCallback#

bool emberAfGreenPowerClusterGpTransTableDeleteTranslationTableEntryCallback (EmberGpAddress * gpdAddr)

Remove Gpd entries From Translation Table.

Parameters
TypeDirectionArgument NameDescription
EmberGpAddress *N/AgpdAddr

Ver.: always

This function is called by the Green Power Sink Plugin to notify the application of a Green Power Device to remove translation table entries of this gpd. Return true on suceess, false on failure.


emberAfGreenPowerClusterGpRequestTranslationTableCallback#

bool emberAfGreenPowerClusterGpRequestTranslationTableCallback (uint8_t startIndex)

Request Translation Table.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AstartIndex

Ver.: always

This function is called by the Green Power Sink Plugin to request the application of a Green Power Device to send response with the GPD Command translation table. Return true on suceess, false on failure.


emberAfGreenPowerClusterGpUpdateTranslationTableCallback#

bool emberAfGreenPowerClusterGpUpdateTranslationTableCallback (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t * translations)

Update Translation Table.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Aoptions

Ver.: always

uint32_tN/AgpdSrcId

Ver.: always

uint8_t *N/AgpdIeee

Ver.: always

uint8_tN/AgpdEndpoint

Ver.: always

uint8_t *N/Atranslations

Ver.: always

This function is called by the Green Power Sink Plugin to request the application of a Green Power Device to add, remove or replace the requested translation table entries. Return true on suceess, false on failure.


Groups Server Cluster Plugin Callbacks Documentation#

emberAfPluginGroupsServerGetGroupNameCallback#

void emberAfPluginGroupsServerGetGroupNameCallback (uint8_t endpoint, uint16_t groupId, uint8_t * groupName)

Get Group Name.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint Ver.: always

uint16_tN/AgroupId

Group ID Ver.: always

uint8_t *N/AgroupName

Group Name Ver.: always

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


emberAfPluginGroupsServerSetGroupNameCallback#

void emberAfPluginGroupsServerSetGroupNameCallback (uint8_t endpoint, uint16_t groupId, uint8_t * groupName)

Set Group Name.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint Ver.: always

uint16_tN/AgroupId

Group ID Ver.: always

uint8_t *N/AgroupName

Group Name Ver.: always

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


emberAfPluginGroupsServerGroupNamesSupportedCallback#

bool emberAfPluginGroupsServerGroupNamesSupportedCallback (uint8_t endpoint)

Group Names Supported.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint Ver.: always

This function returns whether or not group names are supported.


HAL Library Plugin Callbacks Documentation#

halRadioPowerUpHandler#

void halRadioPowerUpHandler (void )

Called whenever the radio is powered on.

Parameters
TypeDirectionArgument NameDescription
voidN/A

halRadioPowerDownHandler#

void halRadioPowerDownHandler (void )

Called whenever the radio is powered off.

Parameters
TypeDirectionArgument NameDescription
voidN/A

halSleepCallback#

void halSleepCallback (boolean enter, SleepModes sleepMode)

Called whenever the microcontroller enters/exits a idle/sleep mode.

Parameters
TypeDirectionArgument NameDescription
booleanN/Aenter

True if entering idle/sleep, False if exiting

SleepModesN/AsleepMode

Idle/sleep mode


Identify Cluster Plugin Callbacks Documentation#

emberAfPluginIdentifyStartFeedbackCallback#

void emberAfPluginIdentifyStartFeedbackCallback (uint8_t endpoint, uint16_t identifyTime)

Start Feedback.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The identifying endpoint Ver.: always

uint16_tN/AidentifyTime

The identify time Ver.: always

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.)


emberAfPluginIdentifyStopFeedbackCallback#

void emberAfPluginIdentifyStopFeedbackCallback (uint8_t endpoint)

Stop Feedback.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The identifying endpoint Ver.: always

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.


Idle/Sleep Plugin Callbacks Documentation#

emberAfPluginIdleSleepOkToSleepCallback#

bool emberAfPluginIdleSleepOkToSleepCallback (uint32_t durationMs)

Ok To Sleep.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/AdurationMs

The maximum duration in milliseconds that the device will sleep. Ver.: always

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.


emberAfPluginIdleSleepWakeUpCallback#

void emberAfPluginIdleSleepWakeUpCallback (uint32_t durationMs)

Wake Up.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/AdurationMs

The duration in milliseconds that the device slept. Ver.: always

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


emberAfPluginIdleSleepOkToIdleCallback#

bool emberAfPluginIdleSleepOkToIdleCallback (void )

Ok To Idle.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


emberAfPluginIdleSleepActiveCallback#

void emberAfPluginIdleSleepActiveCallback (void )

Active.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginIdleSleepRtosCallback#

bool emberAfPluginIdleSleepRtosCallback (uint32_t * durationMs, bool sleepOk)

RTOS idle/sleep.

Parameters
TypeDirectionArgument NameDescription
uint32_t *N/AdurationMs

A pointer to the allowed idle/sleep duration in milliseconds. Ver.: always

boolN/AsleepOk

A boolean indicating whether sleep is allowed.

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.


emberAfPluginIdleSleepPreEm4ResetCallback#

bool emberAfPluginIdleSleepPreEm4ResetCallback (uint32_t * sleepDurationMs)

Active.

Parameters
TypeDirectionArgument NameDescription
uint32_t *N/AsleepDurationMs

This function is called by the Idle/Sleep plugin before em4 reset, and it is implemented by EM4 plugin.


Interpan Plugin Callbacks Documentation#

emberAfPluginInterpanPreMessageReceivedCallback#

bool emberAfPluginInterpanPreMessageReceivedCallback (const EmberAfInterpanHeader * header, uint8_t msgLen, uint8_t * message)

Pre Message Received.

Parameters
TypeDirectionArgument NameDescription
const EmberAfInterpanHeader *N/Aheader

The inter-PAN header Ver.: always

uint8_tN/AmsgLen

The message payload length Ver.: always

uint8_t *N/Amessage

The message payload Ver.: always

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.


emberAfPluginInterpanMessageReceivedOverFragmentsCallback#

void emberAfPluginInterpanMessageReceivedOverFragmentsCallback (const EmberAfInterpanHeader * header, uint8_t msgLen, uint8_t * message)

Message Received Over Fragments.

Parameters
TypeDirectionArgument NameDescription
const EmberAfInterpanHeader *N/Aheader

The inter-PAN header Ver.: always

uint8_tN/AmsgLen

The message payload length Ver.: always

uint8_t *N/Amessage

The message payload Ver.: always

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


emberAfPluginInterpanFragmentTransmissionFailedCallback#

void emberAfPluginInterpanFragmentTransmissionFailedCallback (uint8_t interpanFragmentationStatus, uint8_t fragmentNum)

Fragment Transmission Failed.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AinterpanFragmentationStatus

The status describing why transmission failed Ver.: always

uint8_tN/AfragmentNum

The fragment number that encountered the failure Ver.: always

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


Level Control Server Cluster Plugin Callbacks Documentation#

emberAfPluginLevelControlClusterServerPostInitCallback#

void emberAfPluginLevelControlClusterServerPostInitCallback (uint8_t endpoint)

Level Control Cluster Server Post Init.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint that is being initialized Ver.: always

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


emberAfPluginLevelControlCoupledColorTempChangeCallback#

void emberAfPluginLevelControlCoupledColorTempChangeCallback (uint8_t endpoint)

Level Control Coupled Color Temp Change.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint that is being initialized Ver.: always

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


Messaging Client Cluster Plugin Callbacks Documentation#

emberAfPluginMessagingClientPreDisplayMessageCallback#

bool emberAfPluginMessagingClientPreDisplayMessageCallback (uint32_t messageId, uint8_t messageControl, uint32_t startTime, uint16_t durationInMinutes, uint8_t * message, uint8_t optionalExtendedMessageControl)

Pre Display Message.

Parameters
TypeDirectionArgument NameDescription
uint32_tN/AmessageId

Ver.: always

uint8_tN/AmessageControl

Ver.: always

uint32_tN/AstartTime

Ver.: always

uint16_tN/AdurationInMinutes

Ver.: always

uint8_t *N/Amessage

Ver.: always

uint8_tN/AoptionalExtendedMessageControl

Ver.: always

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.


emberAfPluginMessagingClientDisplayMessageCallback#

void emberAfPluginMessagingClientDisplayMessageCallback (EmberAfPluginMessagingClientMessage * message)

Display Message.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginMessagingClientMessage *N/Amessage

The message that should be displayed. Ver.: always

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


emberAfPluginMessagingClientCancelMessageCallback#

void emberAfPluginMessagingClientCancelMessageCallback (EmberAfPluginMessagingClientMessage * message)

Cancel Message.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginMessagingClientMessage *N/Amessage

The message that should no longer be displayed. Ver.: always

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


Meter Mirror Plugin Callbacks Documentation#

emberAfPluginMeterMirrorMirrorAddedCallback#

void emberAfPluginMeterMirrorMirrorAddedCallback (const EmberEUI64 requestingDeviceIeeeAddress, uint8_t endpoint)

Mirror Added.

Parameters
TypeDirectionArgument NameDescription
const EmberEUI64N/ArequestingDeviceIeeeAddress

Ver.: always

uint8_tN/Aendpoint

Ver.: always

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


emberAfPluginMeterMirrorMirrorRemovedCallback#

void emberAfPluginMeterMirrorMirrorRemovedCallback (const EmberEUI64 requestingDeviceIeeeAddress, uint8_t endpoint)

Mirror Removed.

Parameters
TypeDirectionArgument NameDescription
const EmberEUI64N/ArequestingDeviceIeeeAddress

Ver.: always

uint8_tN/Aendpoint

Ver.: always

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


emberAfPluginMeterMirrorReportingCompleteCallback#

void emberAfPluginMeterMirrorReportingCompleteCallback (uint8_t endpoint)

Reporting Complete.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

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.


Meter Snapshot Server Plugin Callbacks Documentation#

emberAfPluginMeterSnapshotServerScheduleSnapshotCallback#

void emberAfPluginMeterSnapshotServerScheduleSnapshotCallback (uint8_t srcEndpoint, uint8_t dstEndpoint, EmberNodeId dest, uint8_t * snapshotPayload, uint8_t * responsePayload)

Schedule Snapshot.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AsrcEndpoint

Ver.: always

uint8_tN/AdstEndpoint

Ver.: always

EmberNodeIdN/Adest

Ver.: always

uint8_t *N/AsnapshotPayload

Ver.: always

uint8_t *N/AresponsePayload

Ver.: always

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.


emberAfPluginMeterSnapshotServerTakeSnapshotCallback#

uint32_t emberAfPluginMeterSnapshotServerTakeSnapshotCallback (uint8_t endpoint, uint32_t snapshotCause, uint8_t * snapshotConfirmation)

Take Snapshot.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

uint32_tN/AsnapshotCause

Ver.: always

uint8_t *N/AsnapshotConfirmation

Ver.: always

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.


emberAfPluginMeterSnapshotServerGetSnapshotCallback#

void emberAfPluginMeterSnapshotServerGetSnapshotCallback (uint8_t srcEndpoint, uint8_t dstEndpoint, EmberNodeId dest, uint8_t * snapshotCriteria)

Get Snapshot.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AsrcEndpoint

Ver.: always

uint8_tN/AdstEndpoint

Ver.: always

EmberNodeIdN/Adest

Ver.: always

uint8_t *N/AsnapshotCriteria

Ver.: always

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.


Metering Server Plugin Callbacks Documentation#

emberAfPluginMeteringServerProcessNotificationFlagsCallback#

void emberAfPluginMeteringServerProcessNotificationFlagsCallback (uint16_t attributeId, uint32_t attributeValue)

Server Process Notification.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AattributeId

ID of the attribute being proccessed Ver.: always

uint32_tN/AattributeValue

value of the attribute being proccessed Ver.: always

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.


Multiple RAIL Demo Code Plugin Callbacks Documentation#

emberAfPluginMultirailDemoRailEventCallback#

void emberAfPluginMultirailDemoRailEventCallback (RAIL_Handle_t handle, RAIL_Events_t events)

A callback called whenever a secondary instance RAIL event occurs.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]handle

A handle for a RAIL instance.

RAIL_Events_t[in]events

A bit mask of RAIL events (full list in rail_types.h)


Network Creator Plugin Callbacks Documentation#

emberAfPluginNetworkCreatorCompleteCallback#

void emberAfPluginNetworkCreatorCompleteCallback (const EmberNetworkParameters * network, bool usedSecondaryChannels)

Complete.

Parameters
TypeDirectionArgument NameDescription
const EmberNetworkParameters *N/Anetwork

The network that the network creator plugin successfully formed. Ver.: always

boolN/AusedSecondaryChannels

Whether or not the network creator wants to form a network on the secondary channels Ver.: always

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


emberAfPluginNetworkCreatorGetPanIdCallback#

EmberPanId emberAfPluginNetworkCreatorGetPanIdCallback (void )

Get Pan Id.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


emberAfPluginNetworkCreatorGetRadioPowerCallback#

int8_t emberAfPluginNetworkCreatorGetRadioPowerCallback (void )

Get Power For Radio Channel.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


Network Find Plugin Callbacks Documentation#

emberAfPluginNetworkFindFinishedCallback#

void emberAfPluginNetworkFindFinishedCallback (EmberStatus status)

Finished.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

Ver.: always

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.


emberAfPluginNetworkFindGetRadioPowerForChannelCallback#

int8_t emberAfPluginNetworkFindGetRadioPowerForChannelCallback (uint8_t pgChan)

Get Radio Power For Channel.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/ApgChan

Ver.: always

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.


emberAfPluginNetworkFindJoinCallback#

bool emberAfPluginNetworkFindJoinCallback (EmberZigbeeNetwork * networkFound, uint8_t lqi, int8_t rssi)

Join.

Parameters
TypeDirectionArgument NameDescription
EmberZigbeeNetwork *N/AnetworkFound

Ver.: always

uint8_tN/Alqi

Ver.: always

int8_tN/Arssi

Ver.: always

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.


emberAfPluginNetworkFindGetEnergyThresholdForChannelCallback#

int8_t emberAfPluginNetworkFindGetEnergyThresholdForChannelCallback (uint8_t pgChan)

Get Energy Threshold For Channel.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/ApgChan

Ver.: always

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.


emberAfPluginNetworkFindGetEnableScanningAllChannelsCallback#

bool emberAfPluginNetworkFindGetEnableScanningAllChannelsCallback (void )

Get Enable Scanning All Channels.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


Network Steering Plugin Callbacks Documentation#

emberAfPluginNetworkSteeringCompleteCallback#

void emberAfPluginNetworkSteeringCompleteCallback (EmberStatus status, uint8_t totalBeacons, uint8_t joinAttempts, uint8_t finalState)

Complete.

Parameters
TypeDirectionArgument NameDescription
EmberStatusN/Astatus

On 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

uint8_tN/AtotalBeacons

The total number of 802.15.4 beacons that were heard, including beacons from different devices with the same PAN ID. Ver.: always

uint8_tN/AjoinAttempts

The number of join attempts that were made to get onto an open Zigbee network. Ver.: always

uint8_tN/AfinalState

The 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

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


emberAfPluginNetworkSteeringGetPowerForRadioChannelCallback#

int8_t emberAfPluginNetworkSteeringGetPowerForRadioChannelCallback (uint8_t channel)

Get Power For Radio Channel.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Achannel

The channel that the plugin is inquiring about the power level. Ver.: always

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.


emberAfPluginNetworkSteeringGetDistributedKeyCallback#

bool emberAfPluginNetworkSteeringGetDistributedKeyCallback (EmberKeyData * key)

Get Distributed Key.

Parameters
TypeDirectionArgument NameDescription
EmberKeyData *N/Akey

to the distributed key struct

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.

Returns

  • true if the key is loaded successfully, otherwise false. level. Ver.: always


emberAfPluginNetworkSteeringGetNodeTypeCallback#

EmberNodeType emberAfPluginNetworkSteeringGetNodeTypeCallback (EmberAfPluginNetworkSteeringJoiningState state)

Get Node Type.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginNetworkSteeringJoiningStateN/Astate

The current ::EmberAfPluginNetworkSteeringJoiningState.

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

Returns

  • An EmberNodeType value that the network steering process will try to join a network as.


Occupancy PYD-1698 Plugin Callbacks Documentation#

halOccupancyStateChangedCallback#

void halOccupancyStateChangedCallback (HalOccupancyState occupancyState)

Occupancy state has changed.

Parameters
TypeDirectionArgument NameDescription
HalOccupancyStateN/AoccupancyState

The 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.

This callback is called when the occupancy sensor state changes.


Occupancy Sensor Server Cluster Plugin Callbacks Documentation#

emberAfPluginOccupancySensorServerOccupancyStateChangedCallback#

void emberAfPluginOccupancySensorServerOccupancyStateChangedCallback (HalOccupancyState occupancyState)

Occupancy state changed.

Parameters
TypeDirectionArgument NameDescription
HalOccupancyStateN/AoccupancyState

The 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

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


On/Off Server Cluster Plugin Callbacks Documentation#

emberAfPluginOnOffClusterServerPostInitCallback#

void emberAfPluginOnOffClusterServerPostInitCallback (uint8_t endpoint)

On/off Cluster Server Post Init.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Endpoint that is being initialized Ver.: always

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


OTA Bootload Cluster Client Plugin Callbacks Documentation#

emberAfPluginOtaClientPreBootloadCallback#

void emberAfPluginOtaClientPreBootloadCallback (uint8_t srcEndpoint, uint8_t serverEndpoint, EmberNodeId serverNodeId)

Pre-Bootload Callback.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AsrcEndpoint

Ver.: always

uint8_tN/AserverEndpoint

Ver.: always

EmberNodeIdN/AserverNodeId

Ver.: always

Called shortly before installing the downloaded image.


OTA Bootload Cluster Server Plugin Callbacks Documentation#

emberAfPluginOtaServerUpdateStartedCallback#

void emberAfPluginOtaServerUpdateStartedCallback (uint16_t manufacturerId, uint16_t imageTypeId, uint32_t firmwareVersion, uint8_t maxDataSize, uint32_t offset)

UpdateStarted.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AmanufacturerId

Ver.: always

uint16_tN/AimageTypeId

Ver.: always

uint32_tN/AfirmwareVersion

Ver.: always

uint8_tN/AmaxDataSize

Ver.: always

uint32_tN/Aoffset

Ver.: always

Called when an OTA upgrade starts.


emberAfPluginOtaServerBlockSentCallback#

void emberAfPluginOtaServerBlockSentCallback (uint8_t actualLength, uint16_t manufacturerId, uint16_t imageTypeId, uint32_t firmwareVersion)

OTA Server Block Sent Callback.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AactualLength

Ver.: always

uint16_tN/AmanufacturerId

Ver.: always

uint16_tN/AimageTypeId

Ver.: always

uint32_tN/AfirmwareVersion

Ver.: always

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


emberAfPluginOtaServerUpdateCompleteCallback#

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

OTA Server Update Complete Callback.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AmanufacturerId

ManufacturerId.

uint16_tN/AimageTypeId

Image Type Id.

uint32_tN/AfirmwareVersion

Firmware Version.

EmberNodeIdN/Asource

Source node id.

uint8_tN/Astatus

Status of update.

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


emberAfOtaServerImageBlockRequestCallback#

uint8_t emberAfOtaServerImageBlockRequestCallback (EmberAfImageBlockRequestCallbackStruct * data)

Ota Server Image Block Request.

Parameters
TypeDirectionArgument NameDescription
EmberAfImageBlockRequestCallbackStruct *N/Adata

A 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.

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


OTA Bootload Cluster Server Policy Plugin Callbacks Documentation#

emberAfPluginOtaServerPolicyGetClientDelayUnits#

uint8_t emberAfPluginOtaServerPolicyGetClientDelayUnits (EmberNodeId clientNodeId, EmberEUI64 clientEui64)

GetClientDelayUnits.

Parameters
TypeDirectionArgument NameDescription
EmberNodeIdN/AclientNodeId

Ver.: always

EmberEUI64N/AclientEui64

Ver.: always

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.

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.


OTA Simple Storage EEPROM Driver Plugin Callbacks Documentation#

emberAfPluginOtaStorageSimpleEepromEraseCompleteCallback#

void emberAfPluginOtaStorageSimpleEepromEraseCompleteCallback (bool success)

Erase Complete.

Parameters
TypeDirectionArgument NameDescription
boolN/Asuccess

The result of the erase operation. Ver.: always

This is called when an EEPROM erase operation has completed.


Packet Handoff Plugin Callbacks Documentation#

emberAfIncomingPacketFilterCallback#

EmberPacketAction emberAfIncomingPacketFilterCallback (EmberZigbeePacketType packetType, uint8_t * packetData, uint8_t * size_p, void * data)

A protocol layer packet has been received by the stack.

Parameters
TypeDirectionArgument NameDescription
EmberZigbeePacketTypeN/ApacketType

The type of packet received. See EmberZigbeePacketType.

uint8_t *N/ApacketData

A flat buffer containing the packet contents the buffer starts with the command id followed by the payload

uint8_t *N/Asize_p

a pointer to the size of the packet data

void *N/Adata

This is a pointer to auxiliary data for the command.

This is called when the stack receives a packet that is meant for one of the protocol layers specified in EmberZigbeePacketType.

The packetType argument is one of the values of the EmberZigbeePacketType enum. If the stack receives an 802.15.4 MAC beacon, it will call this function with the packetType argument set to EMBER_ZIGBEE_PACKET_TYPE_BEACON.

The implementation of this callback may alter the data contained in packetData, modify options and flags in the auxillary data, or consume the packet itself, either sending the message, or discarding it as it sees fit.

Returns

  • a EmberPacketAction indicating what action should be taken for the packet, EMBER_ACCEPT_PACKET, EMBER_DROP_PACKET, or EMBER_MANGLE_PACKET


emberAfOutgoingPacketFilterCallback#

EmberPacketAction emberAfOutgoingPacketFilterCallback (EmberZigbeePacketType packetType, uint8_t * packetData, uint8_t * size_p, void * data)

The stack is preparing to send a protocol layer packet.

Parameters
TypeDirectionArgument NameDescription
EmberZigbeePacketTypeN/ApacketType

The type of packet received. See EmberZigbeePacketType.

uint8_t *N/ApacketData

A flat buffer containing the packet contents the buffer starts with the command id followed by the payload

uint8_t *N/Asize_p

a pointer to the size of the packet data

void *N/Adata

This is a pointer to auxiliary data for the command. ZDO commands pass the EmberApsFrame associated with the packet here. Otherwise, this value is NULL.

This is called when the stack is preparing to send a packet from one of the protocol layers specified in EmberZigbeePacketType.

The packetType argument is one of the values of the EmberZigbeePacketType enum. If the stack is preparing to send an 802.15.4 MAC beacon, it will call this function with the packetType argument set to EMBER_ZIGBEE_PACKET_TYPE_BEACON.

The implementation of this callback may alter the data contained in packetData, modify options and flags in the auxillary data, or consume the packet itself, either sending the message, or discarding it as it sees fit.

Returns

  • a EmberPacketAction indicating what action should be taken for the packet, EMBER_ACCEPT_PACKET, EMBER_DROP_PACKET, or EMBER_MANGLE_PACKET


Poll Control Server Cluster Plugin Callbacks Documentation#

emberAfPluginPollControlServerCheckInTimeoutCallback#

void emberAfPluginPollControlServerCheckInTimeoutCallback (void )

CheckInTimeout.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


Prepayment Server Plugin Callbacks Documentation#

emberAfPluginPrepaymentServerConsumerTopUpCallback#

bool emberAfPluginPrepaymentServerConsumerTopUpCallback (uint8_t originatingDevice, uint8_t * topUpCode)

Consumer Top Up.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AoriginatingDevice

Ver.: always

uint8_t *N/AtopUpCode

Ver.: always

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.


Price Client Plugin Callbacks Documentation#

emberAfPluginPriceClientPriceStartedCallback#

void emberAfPluginPriceClientPriceStartedCallback (EmberAfPluginPriceClientPrice * price)

Price Started.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginPriceClientPrice *N/Aprice

The price that has started. Ver.: always

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


emberAfPluginPriceClientPriceExpiredCallback#

void emberAfPluginPriceClientPriceExpiredCallback (EmberAfPluginPriceClientPrice * price)

Price Expired.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginPriceClientPrice *N/Aprice

The price that has expired. Ver.: always

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


emberAfPluginPriceClientPendingCppEventCallback#

uint8_t emberAfPluginPriceClientPendingCppEventCallback (uint8_t cppAuth)

Pending Cpp Event.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AcppAuth

The CPP Auth status. Ver.: always

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


Price Server Plugin Callbacks Documentation#

emberAfPluginPriceServerNewActivePriceMatrixCallback#

void emberAfPluginPriceServerNewActivePriceMatrixCallback (const EmberAfPriceCommonInfo * priceCommonInfo, const EmberAfScheduledPriceMatrix * priceMatrix)

New Active Price Matrix.

Parameters
TypeDirectionArgument NameDescription
const EmberAfPriceCommonInfo *N/ApriceCommonInfo

Ver.: always

const EmberAfScheduledPriceMatrix *N/ApriceMatrix

Ver.: always

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.


emberAfPluginPriceServerNewActiveTariffInformationCallback#

void emberAfPluginPriceServerNewActiveTariffInformationCallback (const EmberAfPriceCommonInfo * priceCommonInfo, const EmberAfScheduledTariff * priceTariffInfo)

New Active Tariff Information.

Parameters
TypeDirectionArgument NameDescription
const EmberAfPriceCommonInfo *N/ApriceCommonInfo

Ver.: always

const EmberAfScheduledTariff *N/ApriceTariffInfo

Ver.: always

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.


emberAfPluginPriceServerNewActiveBlockThresholdsInformationCallback#

void emberAfPluginPriceServerNewActiveBlockThresholdsInformationCallback (const EmberAfPriceCommonInfo * priceCommonInfo, const EmberAfScheduledBlockThresholds * priceBlockThresholds)

New Active Block Thresholds Information.

Parameters
TypeDirectionArgument NameDescription
const EmberAfPriceCommonInfo *N/ApriceCommonInfo

Ver.: always

const EmberAfScheduledBlockThresholds *N/ApriceBlockThresholds

Ver.: always

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.


emberAfPluginPriceServerNewActiveBlockPeriodInformationCallback#

void emberAfPluginPriceServerNewActiveBlockPeriodInformationCallback (const EmberAfPriceCommonInfo * priceCommonInfo, const EmberAfPriceBlockPeriod * priceBlockPeriods)

New Active Block Period Information.

Parameters
TypeDirectionArgument NameDescription
const EmberAfPriceCommonInfo *N/ApriceCommonInfo

Ver.: always

const EmberAfPriceBlockPeriod *N/ApriceBlockPeriods

Ver.: always

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.


Reporting Plugin Callbacks Documentation#

emberAfPluginReportingConfiguredCallback#

EmberAfStatus emberAfPluginReportingConfiguredCallback (const EmberAfPluginReportingEntry * entry)

Configured.

Parameters
TypeDirectionArgument NameDescription
const EmberAfPluginReportingEntry *N/Aentry

Ver.: always

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.


emberAfPluginReportingGetDefaultReportingConfigCallback#

bool emberAfPluginReportingGetDefaultReportingConfigCallback (EmberAfPluginReportingEntry * entry)

Configured.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginReportingEntry *N/Aentry

Ver.: always

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.


RTOS Common Plugin Callbacks Documentation#

emberAfPluginRtosAppTask1InitCallback#

void emberAfPluginRtosAppTask1InitCallback (void )

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

Parameters
TypeDirectionArgument NameDescription
voidN/A

emberAfPluginRtosAppTask1MainLoopCallback#

void emberAfPluginRtosAppTask1MainLoopCallback (void * p_arg)

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

Parameters
TypeDirectionArgument NameDescription
void *N/Ap_arg

Ver.: always


emberAfPluginRtosAppTask2InitCallback#

void emberAfPluginRtosAppTask2InitCallback (void )

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

Parameters
TypeDirectionArgument NameDescription
voidN/A

emberAfPluginRtosAppTask2MainLoopCallback#

void emberAfPluginRtosAppTask2MainLoopCallback (void * p_arg)

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

Parameters
TypeDirectionArgument NameDescription
void *N/Ap_arg

Ver.: always


emberAfPluginRtosAppTask3InitCallback#

void emberAfPluginRtosAppTask3InitCallback (void )

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

Parameters
TypeDirectionArgument NameDescription
voidN/A

emberAfPluginRtosAppTask3MainLoopCallback#

void emberAfPluginRtosAppTask3MainLoopCallback (void * p_arg)

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

Parameters
TypeDirectionArgument NameDescription
void *N/Ap_arg

Ver.: always


SB1 Gesture Sensor Plugin Callbacks Documentation#

emberAfPluginSb1GestureSensorGestureReceivedCallback#

void emberAfPluginSb1GestureSensorGestureReceivedCallback (uint8_t gestureReceived, uint8_t switchNumber)

Called whenever the SB1 receives a gesture.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AgestureReceived

The (enumerated) gesture received.

uint8_tN/AswitchNumber

The switch that received the gesture.


Scenes Server Cluster Plugin Callbacks Documentation#

emberAfPluginScenesServerCustomRecallSceneCallback#

bool emberAfPluginScenesServerCustomRecallSceneCallback (const EmberAfSceneTableEntry *const sceneEntry, uint16_t transitionTimeDs, EmberAfStatus *const status)

Scenes Server Custom Recall Scene.

Parameters
TypeDirectionArgument NameDescription
const EmberAfSceneTableEntry *constN/AsceneEntry

pointer to EmberAfSceneTableEntry for recalled scene Ver.: always

uint16_tN/AtransitionTimeDs

transition time in deci-seconds (1/10 sec) Ver.: always

EmberAfStatus *constN/Astatus

pointer to return EmberAfStatus Ver.: always

Customize the implementation of the Scenes cluster RecallScene command for desired behavior when gradually transitioning to the specified scene over the specified transition time interval.

Upon entry to this callback, the presented scene table entry has been verified to be valid for the endpoint, group ID, and scene ID referenced in the received ZCL Scenes cluster RecallScene command.

NOTE: If this callback is implemented, the expectation is that it will INITIATE the scene transition behavior and return promptly with prospective success or failure status, rather than execute through the full duration of the transition time before returning.

NOTE: The scene table entry pointer, and the information in the scene table entry, are available only during the execution of this callback function. The scene table entry information (NOT the pointer) must be copied and saved before returning from this callback function if it will need to be referenced at other times to perform the desired transition behavior (for example, by a timer-based periodic handler launched by this callback).

If the value of transitionTimeDs is 0xFFFF, the transition time information configured in the scene table entry should be used.

Upon arriving at the target scene configuration, the custom implementation should set the Scenes cluster attributes CurrentScene and CurrentGroup to the scene ID and group ID values contained in the sceneEntry, and set the SceneValid attribute to true.

Returns true if a customization of this callback HAS been IMPLEMENTED. This REQUIRES that a valid EmberAfStatus value has been written to the status argument. Status will be EMBER_ZCL_STATUS_SUCCESS if the scene transition has been initiated successfully, even though the transition time has not fully elapsed and the full effect of the scene transition over the transition time has not yet completed. Otherwise, a suitable error status value should be returned in the status argument.

Returns false if a customization of this callback HAS NOT been implemented. In this case, the Scenes plugin will perform default handling (apply target scene settings immediately without regard for the specified transition time).

Returns

  • true if custom callback is implemented false if custom callback is not implemented (apply default handling)


Security Sensor Interface Plugin Callbacks Documentation#

emberAfPluginSecuritySensorStatusChangedCallback#

void emberAfPluginSecuritySensorStatusChangedCallback (uint16_t status)

Security sensor state changed.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/Astatus

bit new status

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

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

Ver.: always


Simple Metering Client Plugin Callbacks Documentation#

emberAfPluginSimpleMeteringClientRequestMirrorCallback#

uint16_t emberAfPluginSimpleMeteringClientRequestMirrorCallback (EmberEUI64 requestingDeviceIeeeAddress)

Request Mirror.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/ArequestingDeviceIeeeAddress

Ver.: always

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.


emberAfPluginSimpleMeteringClientRemoveMirrorCallback#

uint16_t emberAfPluginSimpleMeteringClientRemoveMirrorCallback (EmberEUI64 requestingDeviceIeeeAddress)

Remove Mirror.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/ArequestingDeviceIeeeAddress

Ver.: always

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.


Simple Metering Server Plugin Callbacks Documentation#

emberAfPluginSimpleMeteringServerProcessNotificationFlagsCallback#

void emberAfPluginSimpleMeteringServerProcessNotificationFlagsCallback (uint16_t attributeId, uint32_t attributeValue)

Process Notification Flags.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AattributeId

Ver.: always

uint32_tN/AattributeValue

Ver.: always

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.


Sleepy Message Queue Plugin Callbacks Documentation#

emberAfPluginSleepyMessageQueueMessageTimedOutCallback#

void emberAfPluginSleepyMessageQueueMessageTimedOutCallback (uint8_t sleepyMsgId)

Message Timed Out.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AsleepyMsgId

Ver.: always

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.


Standalone Bootloader Client Plugin Callbacks Documentation#

emberAfPluginStandaloneBootloaderClientAllowIncomingMessageCallback#

bool emberAfPluginStandaloneBootloaderClientAllowIncomingMessageCallback (EmberEUI64 sourceEui64, uint8_t command)

Allow Incoming Message.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AsourceEui64

The EUI64 of the sending node. Ver.: always

uint8_tN/Acommand

The incoming command ID Ver.: always

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


emberAfPluginStandaloneBootloaderClientAllowBootloadLaunchCallback#

bool emberAfPluginStandaloneBootloaderClientAllowBootloadLaunchCallback (EmberEUI64 sourceEui64)

Allow Bootload Launch.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AsourceEui64

The EUI64 of the node requesting the bootload. Ver.: always

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


Standalone Bootloader Common Plugin Callbacks Documentation#

emberAfPluginStandaloneBootloaderCommonIncomingMessageCallback#

bool emberAfPluginStandaloneBootloaderCommonIncomingMessageCallback (EmberEUI64 longId, uint8_t length, uint8_t * message)

Incoming Message.

Parameters
TypeDirectionArgument NameDescription
EmberEUI64N/AlongId

The sender's EUI64 address Ver.: always

uint8_tN/Alength

The length of the incoming message. Ver.: always

uint8_t *N/Amessage

The array of bytes for the message. Ver.: always

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


Standalone Bootloader Server Plugin Callbacks Documentation#

emberAfPluginStandaloneBootloaderServerQueryResponseCallback#

void emberAfPluginStandaloneBootloaderServerQueryResponseCallback (bool queryWasBroadcast, const EmberAfStandaloneBootloaderQueryResponseData * queryData)

Query Response.

Parameters
TypeDirectionArgument NameDescription
boolN/AqueryWasBroadcast

Boolean indicating whether the query was broadcast or unicast Ver.: always

const EmberAfStandaloneBootloaderQueryResponseData *N/AqueryData

A data structure providing the details about the local device's bootloader. Ver.: always

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


emberAfPluginStandaloneBootloaderServerFinishedCallback#

void emberAfPluginStandaloneBootloaderServerFinishedCallback (bool success)

Finished.

Parameters
TypeDirectionArgument NameDescription
boolN/Asuccess

Boolean indicating the success or failure of the bootload. Ver.: always

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


Sub-GHz Client Plugin Callbacks Documentation#

emberAfPluginSubGhzSuspendZclMessagesCallback#

bool emberAfPluginSubGhzSuspendZclMessagesCallback (uint8_t period)

Sub-GHz Cluster Suspend ZCL Messages.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aperiod

suspend period in minutes

'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.

Returns

  • true to indicate the callback has been handled by the application, false to keep the default behaviour


Sub-GHz Server Plugin Callbacks Documentation#

emberAfPluginSubGhzDutyCycleCallback#

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.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AchannelPage

the channel that registered a Duty Cycle state change

uint8_tN/Achannel

current Duty Cycle mode

EmberDutyCycleStateN/AoldState

the previous Duty Cycle state

EmberDutyCycleStateN/AnewState

the current Duty Cycle state

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

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.


emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback#

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.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AchannelPage

........ current channel page

uint8_tN/Achannel

............ current channel

uint16_tN/AmacTxUcastTotal

.... total number of Mac Tx transaction attempts

uint16_tN/AmacTxUcastFailures

. total number of Mac Tx transaction failures

uint16_tN/AmacTxUcastRetries

.. total number of Mac Tx transaction retries

uint8_tN/Aperiod

............. time in minutes over which macTxUcastXxx were measured

'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.


emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback#

bool emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback (void )

Sub-GHz Cluster Get Suspend ZCL Messages Status.

Parameters
TypeDirectionArgument NameDescription
voidN/A

'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


Tamper Switch Interface Plugin Callbacks Documentation#

emberAfPluginTamperSwitchTamperActiveCallback#

void emberAfPluginTamperSwitchTamperActiveCallback (void )

Tamper is active.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


emberAfPluginTamperSwitchTamperAlarmCallback#

void emberAfPluginTamperSwitchTamperAlarmCallback (void )

Tamper alarm.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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


Temperature Measurement Server Cluster Plugin Callbacks Documentation#

emberAfPluginTemperatureMeasurementServerOverTemperatureCallback#

void emberAfPluginTemperatureMeasurementServerOverTemperatureCallback (uint8_t previousState, uint8_t newState)

Over temperature state changed.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/ApreviousState

state prior to the state change

uint8_tN/AnewState

new state of the state change

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

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


Gateway MQTT Transport Plugin Callbacks Documentation#

emberAfPluginTransportMqttStateChangedCallback#

void emberAfPluginTransportMqttStateChangedCallback (EmberAfPluginTransportMqttState state)

MQTT client state is changed.

Parameters
TypeDirectionArgument NameDescription
EmberAfPluginTransportMqttStateN/Astate

Contains the new and current EmberAfPluginTransportMqttState state.

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


emberAfPluginTransportMqttMessageArrivedCallback#

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

MQTT message arrived.

Parameters
TypeDirectionArgument NameDescription
const char *N/Atopic

A 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.

const char *N/Apayload

A string containing the payload for the message that 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.


Trust Center Keepalive Plugin Callbacks Documentation#

emberAfPluginTrustCenterKeepaliveTimeoutCallback#

bool emberAfPluginTrustCenterKeepaliveTimeoutCallback (void )

Timeout.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


emberAfPluginTrustCenterKeepaliveConnectivityEstablishedCallback#

void emberAfPluginTrustCenterKeepaliveConnectivityEstablishedCallback (void )

ConnectivityEstablished 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. This function is also called after a match descriptor response.

Parameters
TypeDirectionArgument NameDescription
voidN/A

emberAfPluginTrustCenterKeepaliveServerlessIsSupportedCallback#

bool emberAfPluginTrustCenterKeepaliveServerlessIsSupportedCallback (void )

Serverless Keep Alive Supported This function is called by the Trust Center Keep Alive plugin when service discovery receives a response indicating that the server does not support the cluster. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to still start the keep alive process even if the server cluster is not discovered. If this callback returns false, the Trust Center Keep Alive plugin code will only proceed to start the process in case the service discovery was succesful.

Parameters
TypeDirectionArgument NameDescription
voidN/A

emberAfTrustCenterKeepaliveOverwriteDefaultTimingCallback#

bool emberAfTrustCenterKeepaliveOverwriteDefaultTimingCallback (uint16_t * baseTimeSeconds, uint16_t * jitterTimeSeconds)

Overwrite Default Timing Parameters This function is called by the Trust Center Keep Alive plugin when the Trust Center Keep Alive process is started. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to start the keep alive process with timing parameters other than the default values. If this callback returns false, the Trust Center Keep Alive plugin code will proceed to start with the default timing parameters.

Parameters
TypeDirectionArgument NameDescription
uint16_t *N/AbaseTimeSeconds

time for keep alive signalling to be set in seconds

uint16_t *N/AjitterTimeSeconds

time for keep alive signalling to be set in seconds


emberAfTrustCenterKeepaliveServerlessIsEnabledCallback#

bool emberAfTrustCenterKeepaliveServerlessIsEnabledCallback (void )

Serverless Keep Alive Enabled This function is called by the Trust Center Keep Alive plugin when a service discovery is done, a response has arrived and emberAfPluginTrustCenterKeepaliveServerlessIsSupportedCallback() returned true. Applications may consume this callback and have it return true in order to have the Trust Center Keep Alive plugin code to start the keep alive process right away. If this callback returns false, the Trust Center Keep Alive plugin code will return to the disabled state waiting to be enabled.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Tunneling Client Cluster Plugin Callbacks Documentation#

emberAfPluginTunnelingClientTunnelOpenedCallback#

void emberAfPluginTunnelingClientTunnelOpenedCallback (uint8_t tunnelIndex, EmberAfPluginTunnelingClientStatus tunnelStatus, uint16_t maximumIncomingTransferSize)

Tunnel Opened.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AtunnelIndex

The index of the tunnel that has been opened. Ver.: always

EmberAfPluginTunnelingClientStatusN/AtunnelStatus

The status of the request. Ver.: always

uint16_tN/AmaximumIncomingTransferSize

The maximum incoming transfer size of the server. Ver.: always

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


emberAfPluginTunnelingClientDataReceivedCallback#

void emberAfPluginTunnelingClientDataReceivedCallback (uint8_t tunnelIndex, uint8_t * data, uint16_t dataLen)

Data Received.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AtunnelIndex

The index of the tunnel through which the data was received. Ver.: always

uint8_t *N/Adata

Buffer containing the raw octets of the data. Ver.: always

uint16_tN/AdataLen

The length in octets of the data. Ver.: always

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


emberAfPluginTunnelingClientDataErrorCallback#

void emberAfPluginTunnelingClientDataErrorCallback (uint8_t tunnelIndex, EmberAfTunnelingTransferDataStatus transferDataStatus)

Data Error.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AtunnelIndex

The index of the tunnel on which this data error occurred. Ver.: always

EmberAfTunnelingTransferDataStatusN/AtransferDataStatus

The error that occurred. Ver.: always

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.


emberAfPluginTunnelingClientTunnelClosedCallback#

void emberAfPluginTunnelingClientTunnelClosedCallback (uint8_t tunnelIndex)

Tunnel Closed.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AtunnelIndex

The index of the tunnel that has been closed. Ver.: always

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.


emberAfPluginTunnelingClientTransferDataFailureCallback#

void emberAfPluginTunnelingClientTransferDataFailureCallback (uint16_t indexOfDestination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status)

Transfer Data Failure.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AindexOfDestination

The index or destination address of the TransferData command. Ver.: always

EmberApsFrame *N/AapsFrame

The EmberApsFrame of the command. Ver.: always

uint16_tN/AmsgLen

The length of the payload sent in the command. Ver.: always

uint8_t *N/Amessage

The payload that was sent in the command. Ver.: always

EmberStatusN/Astatus

The non-success status code from the transmission of the command. Ver.: always

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


Tunneling Server Cluster Plugin Callbacks Documentation#

emberAfPluginTunnelingServerIsProtocolSupportedCallback#

bool emberAfPluginTunnelingServerIsProtocolSupportedCallback (uint8_t protocolId, uint16_t manufacturerCode)

Is Protocol Supported.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/AprotocolId

The identifier of the metering communication protocol for which the tunnel is requested. Ver.: always

uint16_tN/AmanufacturerCode

The manufacturer code for manufacturer-defined protocols or 0xFFFF in unused. Ver.: always

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.


emberAfPluginTunnelingServerTunnelOpenedCallback#

void emberAfPluginTunnelingServerTunnelOpenedCallback (uint16_t tunnelIndex, uint8_t protocolId, uint16_t manufacturerCode, bool flowControlSupport, uint16_t maximumIncomingTransferSize)

Tunnel Opened.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtunnelIndex

The index to the tunnel table entry that has been opened. Ver.: always

uint8_tN/AprotocolId

The identifier of the metering communication protocol for the tunnel. Ver.: always

uint16_tN/AmanufacturerCode

The manufacturer code for manufacturer-defined protocols or 0xFFFF in unused. Ver.: always

boolN/AflowControlSupport

true is flow control support is requested or false if it is not. Ver.: always

uint16_tN/AmaximumIncomingTransferSize

The maximum incoming transfer size of the client. Ver.: always

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


emberAfPluginTunnelingServerDataReceivedCallback#

void emberAfPluginTunnelingServerDataReceivedCallback (uint16_t tunnelIndex, uint8_t * data, uint16_t dataLen)

Data Received.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtunnelIndex

The identifier of the tunnel through which the data was received. Ver.: always

uint8_t *N/Adata

Buffer containing the raw octets of the data. Ver.: always

uint16_tN/AdataLen

The length in octets of the data. Ver.: always

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


emberAfPluginTunnelingServerDataErrorCallback#

void emberAfPluginTunnelingServerDataErrorCallback (uint16_t tunnelIndex, EmberAfTunnelingTransferDataStatus transferDataStatus)

Data Error.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtunnelIndex

The identifier of the tunnel on which this data error occurred. Ver.: always

EmberAfTunnelingTransferDataStatusN/AtransferDataStatus

The error that occurred. Ver.: always

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.


emberAfPluginTunnelingServerTunnelClosedCallback#

void emberAfPluginTunnelingServerTunnelClosedCallback (uint16_t tunnelIndex, bool clientInitiated)

Tunnel Closed.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AtunnelIndex

The identifier of the tunnel that has been closed. Ver.: always

boolN/AclientInitiated

true if the client initiated the closing of the tunnel or false if the server closed the tunnel due to inactivity. Ver.: always

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.


Update TC Link Key Plugin Callbacks Documentation#

emberAfPluginUpdateTcLinkKeyStatusCallback#

void emberAfPluginUpdateTcLinkKeyStatusCallback (EmberKeyStatus keyStatus)

Status.

Parameters
TypeDirectionArgument NameDescription
EmberKeyStatusN/AkeyStatus

An EmberKeyStatus value describing the success or failure of the key exchange process. Ver.: always

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.


ZLL Commissioning Client Plugin Callbacks Documentation#

emberAfPluginZllCommissioningClientTouchLinkFailedCallback#

void emberAfPluginZllCommissioningClientTouchLinkFailedCallback (EmberAfZllCommissioningStatus status)

Touch Link Failed.

Parameters
TypeDirectionArgument NameDescription
EmberAfZllCommissioningStatusN/Astatus

The reason the touch link failed. Ver.: always

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


ZLL Commissioning Common Plugin Callbacks Documentation#

emberAfPluginZllCommissioningCommonInitialSecurityStateCallback#

void emberAfPluginZllCommissioningCommonInitialSecurityStateCallback (EmberZllInitialSecurityState * securityState)

Initial Security State.

Parameters
TypeDirectionArgument NameDescription
EmberZllInitialSecurityState *N/AsecurityState

The security configuration to be populated by the application and ultimately set in the stack. Ver.: always

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.


emberAfPluginZllCommissioningCommonTouchLinkCompleteCallback#

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

Touch Link Complete.

Parameters
TypeDirectionArgument NameDescription
const EmberZllNetwork *N/AnetworkInfo

The ZigBee and ZLL-specific information about the network and target. Ver.: always

uint8_tN/AdeviceInformationRecordCount

The number of sub-device information records for the target. Ver.: always

const EmberZllDeviceInfoRecord *N/AdeviceInformationRecordList

The list of sub-device information records for the target. Ver.: always

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


emberAfPluginZllCommissioningCommonResetToFactoryNewCallback#

void emberAfPluginZllCommissioningCommonResetToFactoryNewCallback (void )

Reset To Factory New.

Parameters
TypeDirectionArgument NameDescription
voidN/A

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.


ZLL Commissioning Network Plugin Callbacks Documentation#

emberAfPluginZllCommissioningNetworkJoinCallback#

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

Join.

Parameters
TypeDirectionArgument NameDescription
EmberZigbeeNetwork *N/AnetworkFound

Ver.: always

uint8_tN/Alqi

Ver.: always

int8_tN/Arssi

Ver.: always

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.


ZLL Commissioning Server Plugin Callbacks Documentation#

emberAfPluginZllCommissioningServerGroupIdentifierCountCallback#

uint8_t emberAfPluginZllCommissioningServerGroupIdentifierCountCallback (uint8_t endpoint)

Group Identifier Count.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The endpoint for which the group identifier count is requested. Ver.: always

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.


emberAfPluginZllCommissioningServerGroupIdentifierCallback#

bool emberAfPluginZllCommissioningServerGroupIdentifierCallback (uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningGroupInformationRecord * record)

Group Identifier.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The endpoint for which the group identifier is requested. Ver.: always

uint8_tN/Aindex

The index of the group on the endpoint. Ver.: always

EmberAfPluginZllCommissioningGroupInformationRecord *N/Arecord

The group information record. Ver.: always

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.


emberAfPluginZllCommissioningServerEndpointInformationCountCallback#

uint8_t emberAfPluginZllCommissioningServerEndpointInformationCountCallback (uint8_t endpoint)

Endpoint Information Count.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The local endpoint for which the remote endpoint information count is requested. Ver.: always

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.


emberAfPluginZllCommissioningServerEndpointInformationCallback#

bool emberAfPluginZllCommissioningServerEndpointInformationCallback (uint8_t endpoint, uint8_t index, EmberAfPluginZllCommissioningEndpointInformationRecord * record)

Endpoint Information.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

The local endpoint for which the remote endpoint information is requested. Ver.: always

uint8_tN/Aindex

The index of the remote endpoint information on the local endpoint. Ver.: always

EmberAfPluginZllCommissioningEndpointInformationRecord *N/Arecord

The endpoint information record. Ver.: always

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.


emberAfPluginZllCommissioningServerIdentifyCallback#

void emberAfPluginZllCommissioningServerIdentifyCallback (uint16_t durationS)

Identify.

Parameters
TypeDirectionArgument NameDescription
uint16_tN/AdurationS

If 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

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.


ZLL On/Off Server Cluster Enhancements Plugin Callbacks Documentation#

emberAfPluginZllOnOffServerOffWithEffectCallback#

EmberAfStatus emberAfPluginZllOnOffServerOffWithEffectCallback (uint8_t endpoint, uint8_t effectId, uint8_t effectVariant)

Off With Effect.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aendpoint

Ver.: always

uint8_tN/AeffectId

Ver.: always

uint8_tN/AeffectVariant

Ver.: always

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.