### ControllerApplication usage example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/application.md Example of creating and using the ControllerApplication: connect, start network, permit joins, add an endpoint, and disconnect. ```python from zigpy_znp.zigbee.application import ControllerApplication app = ControllerApplication({"device": {"path": "/dev/ttyUSB0"}}) await app.connect() await app.start_network() await app.permit(time_s=60) # permit joins for a minute await app.add_endpoint(simple_desc) # register an endpoint await app.disconnect() ``` -------------------------------- ### Install zigpy-znp Python module Source: https://github.com/zigpy/zigpy-znp/blob/dev/README.md Commands to create a virtual environment and install zigpy-znp from Git or PyPI. The first command creates a virtual environment if you don't already have one. The second installs the latest commit from Git, and the third installs the latest stable from PyPI. ```console $ virtualenv -p python3.8 venv # if you don't already have one $ source venv/bin/activate (venv) $ pip install git+https://github.com/zigpy/zigpy-znp/ # latest commit from Git (venv) $ pip install zigpy-znp # or, latest stable from PyPI ``` -------------------------------- ### Example: reading devices and frame counter Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/security.md Example usage of `security.read_devices` and `security.read_nwk_frame_counter` with an `ext_pan_id` from the network info. ```python from zigpy_znp.znp import security stored = await security.read_devices(znp, tclk_seed=tclk_seed) frames = await security.read_nwk_frame_counter( znp, ext_pan_id=znp.network_info.extended_pan_id ) ``` -------------------------------- ### Install zigpy-znp from PyPI Source: https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md Install the latest stable release of zigpy-znp from PyPI. ```console $ pip install zigpy-znp ``` -------------------------------- ### Connect and disconnect example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Example usage of connect() and disconnect() with a config schema. Prints the Z-Stack version and capabilities. ```python config = conf.CONFIG_SCHEMA({"device": {"path": "/dev/ttyUSB0"}}) znp = ZNP(config) await znp.connect() print(f"Z-Stack {znp.version}, caps={znp.capabilities:#x}") await znp.disconnect() ``` -------------------------------- ### Listener management examples Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/utils.md Examples showing how to capture incoming messages, perform one-shot waits with error handling, and auto-clean listeners. ```python from zigpy_znp import utils # Capture all incoming AF messages listener = znp.callback_for_response( c.AF.IncomingMsg.Callback(partial=True), on_msg ) # One-shot wait with error-path listener removal future, listener = znp.wait_for_responses( [c.ZDO.StateChangeInd.Callback(partial=True)], context=True ) try: rsp = await asyncio.wait_for(future, timeout=10) except asyncio.TimeoutError: znp.remove_listener(listener) # One-shot wait, auto-cleaned on completion future = znp.wait_for_responses([c.SYS.Ping.Rsp(partial=True)]) ``` -------------------------------- ### UART connect example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/uart.md Example usage of the uart.connect() entry point, showing how to connect and send a ping request, set DTR/RTS, and wait for connection. ```python from zigpy_znp import uart # `connect()` is the public entry point (used by ZNP.connect()): protocol = await uart.connect(config, api=znp) protocol.send(c.SYS.Ping.Req().to_frame()) await protocol.set_dtr_rts(dtr=False, rts=True) await protocol.wait_until_connected() ``` -------------------------------- ### Install zigpy-znp from dev branch tarball Source: https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md Install the latest dev branch as a tarball, for systems without git. ```console $ pip install https://github.com/zigpy/zigpy-znp/archive/dev.tar.gz ``` -------------------------------- ### callback_for_response example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Example usage of callback_for_response with a ZDO.LeaveInd.Callback and a callback that prints the device IEEE address. ```python def on_leave(msg: c.ZDO.LeaveInd.Callback) -> None: print(f"Device left: {msg.IEEE}") znp.callback_for_response(c.ZDO.LeaveInd.Callback(partial=True), on_leave) ``` -------------------------------- ### Install zigpy-znp from dev branch via git Source: https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md Install the latest commit from the dev branch using git. ```console $ pip install git+https://github.com/zigpy/zigpy-znp.git@dev ``` -------------------------------- ### MAC_START_CNF Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/ti-15.4-stack-cop-interface-guide.pdf Confirmation of a start request. This command is sent from the stack to the host to indicate the result of starting a PAN. ```APIDOC ## MAC_START_CNF ### Description Confirmation of a start request. This command is sent from the stack to the host to indicate the result of starting a PAN. ### Command Type Confirmation (CNF) ### Parameters - **Status** (uint8) - The status of the start request. ### Response No response expected. ``` -------------------------------- ### ZNP Load Network Info Usage Example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Example of connecting to the ZNP and loading network information, handling the NetworkNotFormed exception. ```python znp = ZNP(config) await znp.connect() try: await znp.load_network_info(load_devices=True) except NetworkNotFormed: print("No network formed yet") ``` -------------------------------- ### SYS_OSAL_START_TIMER Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack Monitor and Test API.pdf Starts an OSAL timer. ```APIDOC ## SYS_OSAL_START_TIMER ### Description Starts an OSAL timer. ### Method Command ### Endpoint SYS_OSAL_START_TIMER ### Parameters None ### Request Example None ### Response None ``` -------------------------------- ### Example CLI invocations for network_backup, network_restore, energy_scan, nvram_read Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/tools.md Shows how to run the tools from the command line, passing the device path and optional output file. The commands are executed with `python -m zigpy_znp.tools.`. ```console $ python -m zigpy_znp.tools.network_backup /dev/ttyUSB0 backup.json $ python -m zigpy_znp.tools.network_restore /dev/ttyUSB0 backup.json $ python -m zigpy_znp.tools.energy_scan /dev/ttyUSB0 $ python -m zigpy_znp.tools.nvram_read /dev/ttyUSB0 nvram.json ``` -------------------------------- ### Command construction and matching example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/command-base.md Demonstrates constructing a request command and creating a partial command for response matching. ```python import zigpy_znp.types as t import zigpy_znp.commands as c # Construct a full request command req = c.SYS.Ping.Req() frame = req.to_frame() # Partial command used for response matching expectation = c.SYS.OSALNVReadExt.Rsp( partial=True, Status=t.Status.SUCCESS ) ``` -------------------------------- ### Install Python 3.7+ on Ubuntu 20.04 Source: https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md Install Python 3 and virtualenv on Ubuntu 20.04. Ensure the installed Python version is 3.7 or above. ```console $ sudo apt install python3 python3-virtualenv # ensure this is Python 3.7 or above ``` -------------------------------- ### ZDO_STARTUP_FROM_APP Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack Monitor and Test API.pdf This command starts the device in the network. It is sent as an SREQ and returns a status in the SRSP. ```APIDOC ## ZDO_STARTUP_FROM_APP ### Description This command starts the device in the network. ### Method SREQ (Request) / SRSP (Response) ### Endpoint Cmd0 = 0x25, Cmd1 = 0x40 (SREQ) / Cmd0 = 0x65, Cmd1 = 0x40 (SRSP) ### Parameters #### Request Body (SREQ) - **StartDelay** (2 bytes) - Required - Specifies the time delay before the device starts. #### Response (SRSP) - **Status** (1 byte) - Status values: 0x00 – Restored network state, 0x01 – New network state, 0x02 – Leave and not Started. ### Request Example ``` Length = 0x01, Cmd0 = 0x25, Cmd1 = 0x40, StartDelay ``` ### Response Example ``` Length = 0x01, Cmd0 = 0x65, Cmd1 = 0x40, Status ``` ``` -------------------------------- ### SEND GET GROUP MEMBERSHIP RESPONSE (GROUP) Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Group Membership Response command in reply to a Get Group Membership command. ```APIDOC ## SEND GET GROUP MEMBERSHIP RESPONSE (GROUP) ### Description Sends a Get Group Membership Response command in reply to a Get Group Membership command. ### Method N/A (SDK function) ### Endpoint N/A ### Parameters No parameters documented. ### Request Example N/A ### Response N/A ``` -------------------------------- ### start_network() Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/errors.md Starts the network. Raises FormationFailure on commissioning timeout or BDB refusal, and InvalidCommandResponse on unexpected StartupState. ```APIDOC ## start_network() ### Description Starts the network. Raises FormationFailure on commissioning timeout or BDB refusal, and InvalidCommandResponse on unexpected StartupState. ### Exceptions - **zigpy.exceptions.FormationFailure** - Raised on commissioning timeout or BDB refused formation; also raised on `NetworkNotFormed`. - **InvalidCommandResponse** - Raised when Z-Stack 1.2 `StartupFromApp` returned an unexpected `StartupState`. ``` -------------------------------- ### capture_responses example Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Example usage of capture_responses with CatchAllResponse and SYS.Ping.Req. ```python async with znp.capture_responses([CatchAllResponse()]) as responses: await znp.request(c.SYS.Ping.Req()) first = await responses.get() ``` -------------------------------- ### ZNP Start Network Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Forms or starts the network based on the Z-Stack version. ```python async def start_network(self) -> None ``` -------------------------------- ### ControllerApplication.start_network Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/application.md Executes the boot sequence to start the network on the radio, including loading network info, resetting the radio, applying configuration, registering endpoints, and setting up the coordinator device. ```APIDOC ## [async] ControllerApplication.start_network(read_only=False) ### Description Boot sequence executed once per startup: load network info (if not yet loaded), run NVRAM migration and write stack settings (unless read_only=True), reset the radio, apply tx_power and led_mode config, start the network on the radio, register endpoints, subscribe to ZDO callbacks via ZDO.MsgCallbackRegister(ClusterId=0xFFFF), and set up the ZNPCoordinator device. It then sizes _concurrent_requests_semaphore: 16 when the radio uses aligned structs (Z-Stack 3.30), 4 otherwise, unless overridden by max_concurrent_requests (top-level zigpy config key). **Throws:** RuntimeError if the deprecated znp_config:max_concurrent_requests key is set. Logs a warning if the Zigbee2MQTT default network key is in use. ### Method async ### Endpoint ControllerApplication.start_network(read_only=False) ### Parameters #### Query Parameters - **read_only** (bool) - Optional - If True, skip NVRAM migration and writing stack settings. ### Request Example None ### Response #### Success Response None #### Response Example None ``` -------------------------------- ### SEND GET ALARM (ALARM) Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Alarm command in the Alarm cluster. ```APIDOC ## SEND GET ALARM (ALARM) ### Description Sends a Get Alarm command in the Alarm cluster. ### Method Function Call ### Endpoint Not specified ### Parameters Not specified ### Request Example Not specified ### Response Not specified ``` -------------------------------- ### bdbTL_Send_NwkStartReq Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Network Start Request. This function is used to start a new network. ```APIDOC ## bdbTL_Send_NwkStartReq ### Description Sends a Network Start Request. ### Prototype ```c ZStatus_t bdbTL_Send_NwkStartReq(uint8 srcEP, afAddrType_t *dstAddr, bdbTLNwkStartReq_t *pRsp, uint8 seqNum); ``` ### Parameters - **srcEP** (uint8) - The source endpoint. - **dstAddr** (afAddrType_t *) - The destination address. - **pRsp** (bdbTLNwkStartReq_t *) - Pointer to request parameters. - **seqNum** (uint8) - The identification number for the transaction. ### Return - **ZStatus_t** - enum found in ZComDef.h. ``` -------------------------------- ### Example YAML configuration for zigpy-znp Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/configuration.md Shows a complete ZHA zigpy_config with device path, baudrate, and znp_config options like tx_power, led_mode, skip_bootloader, and timeouts. Use this as a template for configuring a ZNP coordinator. ```yaml zha: zigpy_config: device: path: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC__0X00124B001D4EE36F-if00 baudrate: 115200 znp_config: tx_power: 9 led_mode: off skip_bootloader: true sync_request_timeout: 15 async_response_timeout: 30 connect_rts_pin_states: [false, true, false] connect_dtr_pin_states: [false, false, false] ``` -------------------------------- ### bdbTL_Send_NwkStartRsp Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Network Start Response. This function is used to respond to a network start request. ```APIDOC ## bdbTL_Send_NwkStartRsp ### Description Sends a Network Start Response. ### Prototype ZStatus_t bdbTL_Send_NwkStartRsp (uint8 srcEP, afAddrType_t *dstAddr, bdbTLNwkStartRsp_t *pRsp, uint8 seqNum); ### Parameters - **srcEP** (uint8) - The source endpoint. - **dstAddr** (afAddrType_t *) - The destination address. - **pRsp** (bdbTLNwkStartRsp_t *) - Pointer to response parameters. - **seqNum** (uint8) - The identification number for the transaction. ### Return ZStatus_t - enum found in ZComDef.h. ``` -------------------------------- ### ZNP.__init__ Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Constructor for the ZNP class. Initializes the ZNP client with a configuration dictionary. ```APIDOC ## ZNP.__init__ ### Description Initializes a new ZNP instance with the given configuration. ### Parameters - **config** (conf.ConfigType) - Required - Configuration dictionary (dict[str, typing.Any]). ### Example ```python znp = ZNP(config) ``` ``` -------------------------------- ### Install Python 3 and virtualenv on macOS Source: https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md Install Python 3 and virtualenv using Homebrew on macOS. ```console $ brew install python@3 ``` ```console $ brew install virtualenv ``` -------------------------------- ### UTIL_ZCL_KEY_EST_INIT_EST Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack Monitor and Test API.pdf Initializes key establishment. ```APIDOC ## UTIL_ZCL_KEY_EST_INIT_EST ### Description Initializes key establishment. ### Method Command ### Endpoint UTIL_ZCL_KEY_EST_INIT_EST ### Parameters - **taskId** (uint8) - Required - Task ID - **seqNum** (uint8) - Required - Sequence number - **addr** (uint16) - Required - Address - **endpoint** (uint8) - Required - Endpoint ### Response - **status** (uint8) - Status of the operation. ``` -------------------------------- ### zclGeneral_SendGroupGetMembershipResponse Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Group Membership Response command to respond to a Get Group Membership request. ```APIDOC ## zclGeneral_SendGroupGetMembershipResponse ### Description Sends a Get Group Membership Response command to respond to a Get Group Membership request. ### Prototype ```c ZStatus_t zclGeneral_SendGroupGetMembershipResponse( uint8 srcEP, afAddrType_t *dstAddr, uint8 capacity, uint8 grpCnt, uint16 *grpList, uint8 disableDefaultRsp, uint8 seqNum ); ``` ### Parameters - **srcEP** (uint8) - The source endpoint. - **dstAddr** (afAddrType_t*) - The destination address. - **capacity** (uint8) - The capacity of the group table. - **grpCnt** (uint8) - The number of groups in the list. - **grpList** (uint16*) - The list of group IDs. - **disableDefaultRsp** (uint8) - Disable Default Response command. - **seqNum** (uint8) - The identification number for the transaction. ### Return - **ZStatus_t** - enum found in ZComDef.h. ``` -------------------------------- ### SEND GET ALARM RESPONSE (ALARM) Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Alarm Response command in the Alarm cluster. ```APIDOC ## SEND GET ALARM RESPONSE (ALARM) ### Description Sends a Get Alarm Response command in the Alarm cluster. ### Method Function Call ### Endpoint Not specified ### Parameters Not specified ### Request Example Not specified ### Response Not specified ``` -------------------------------- ### ZNP.start_network Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/api.md Forms or starts the network. For Z-Stack 3+ sends BDBStartCommissioning with NwkFormation; for Z-Stack 1.2 sends ZDO.StartupFromApp. ```APIDOC ## ZNP.start_network ### Description Forms or starts the network. For Z-Stack 3+, sends AppConfig.BDBStartCommissioning with NwkFormation and waits for BDBCommissioningNotification. For Z-Stack 1.2, sends ZDO.StartupFromApp(StartDelay=100) and requires StartupState.NewNetworkState or RestoredNetworkState. Then waits for the StartedAsCoordinator callback and polls until the NIB reports a valid channel/PAN. ### Throws - **zigpy.exceptions.FormationFailure** - On timeout. - **InvalidCommandResponse** - On unexpected Z-Stack 1.2 startup state. ### Example ```python await znp.start_network() ``` ``` -------------------------------- ### UTIL_ZCL_KEY_EST_INIT_EST Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack Monitor and Test API.pdf This command is a proxy call to zclGeneral_KeyEstablish_InitiateKeyEstablishment(). It initiates key establishment with a partner device. ```APIDOC ## UTIL_ZCL_KEY_EST_INIT_EST ### Description This command is a proxy call to zclGeneral_KeyEstablish_InitiateKeyEstablishment(). ### Usage #### SREQ | Field | Length (byte) | Description | |---|---|---| | TaskId | 1 | The OSAL Task Id making the request. | | SeqNum | 1 | The sequence number of the request. | | EndPoint | 1 | The endpoint on the partner. | | AddrMode | 1 | The address mode to the partner according to the afAddrMode_t enumeration in AF.h. | | Addr | 8 | If AddrMode is afAddr64Bit, the 8-byte extended address of the partner; otherwise the 2-byte network address of the partner. | #### SRSP | Field | Length (byte) | Description | |---|---|---| | Status | 1 | The ZStatus_t returned by the proxy call to zclGeneral_KeyEstablish_InitiateKeyEstablishment(). | ``` -------------------------------- ### Programmatic use of ControllerApplication Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/configuration.md Shows how to instantiate ControllerApplication with a minimal config dict and connect. The config is validated by app.SCHEMA on __init__. ```python config = {"device": {"path": "/dev/ttyUSB0"}} app = ControllerApplication(config) # validated by app.SCHEMA on __init__ await app.connect() ``` -------------------------------- ### Typical ZNP command usage Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/commands-sys-af.md Demonstrates pinging the device, performing a soft reset with a callback, and retrieving version information. ```python import zigpy_znp.commands as c import zigpy_znp.types as t # Ping + capabilities; the basis of ZNP.connect() rsp = await znp.request(c.SYS.Ping.Req()) assert rsp.Capabilities & t.MTCapabilities.APP_CNF # Soft reset, waiting for the reset indication await znp.request_callback_rsp( request=c.SYS.ResetReq.Req(Type=t.ResetType.Soft), callback=c.SYS.ResetInd.Callback(partial=True), ) # Version response, with optional trailing parameters version = await znp.request(c.SYS.Version.Req()) print(version.CodeRevision, version.BootloaderBuildType) ``` -------------------------------- ### bdbTL_Send_GetGrpIDsRsp Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Group Identifiers Response. This function is used to respond to a get group identifiers request. ```APIDOC ## bdbTL_Send_GetGrpIDsRsp ### Description Sends a Get Group Identifiers Response. ### Prototype ZStatus_t bdbTL_Send_GetGrpIDsRsp (uint8 srcEP, afAddrType_t *dstAddr, bdbTLGetGrpIDsRsp_t *pRsp, uint8 disableDefaultRsp, uint8 seqNum); ### Parameters - **srcEP** (uint8) - The source endpoint. - **dstAddr** (afAddrType_t *) - The destination address. - **pRsp** (bdbTLGetGrpIDsRsp_t *) - Pointer to response parameters. - **disableDefaultRsp** (uint8) - Whether to disable the Default Response command. - **seqNum** (uint8) - The identification number for the transaction. ### Return ZStatus_t - enum found in ZComDef.h. ``` -------------------------------- ### MAC_INIT Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack Monitor and Test API.pdf Initializes the MAC. This command has no request parameters and returns a status indicating success or failure. ```APIDOC ## MAC_INIT ### Description Initializes the MAC. ### Usage SREQ ### Request Format |Byte: 1|1|1| |---|---|---| |Length = 0x00|Cmd0 = 0x22|Cmd1 = 0x02| ### Response Format (SRSP) |Byte: 1|1|1|1| |---|---|---|---| |Length = 0x01|Cmd0 = 0x62|Cmd1 = 0x02|Status| ### Response Parameters - **Status** (byte) - Status is either Success (0) or Failure (1). ``` -------------------------------- ### ControllerApplication.connect Source: https://github.com/zigpy/zigpy-znp/blob/dev/_autodocs/api-reference/application.md Connects the application to the ZNP radio by creating a ZNP instance, connecting it, attaching the application, and binding internal callbacks. ```APIDOC ## [async] ControllerApplication.connect() ### Description Connects the application to the ZNP radio. Asserts that _znp is None, creates a ZNP instance with the current config, connects it, attaches the application, and binds internal callbacks. ### Method async ### Endpoint ControllerApplication.connect() ### Parameters None ### Request Example None ### Response #### Success Response None #### Response Example None ``` -------------------------------- ### bdbTL_NwkStartReqCB_t Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Callback to process an incoming Network Start Request command. ```APIDOC ## Callback: bdbTL_NwkStartReqCB_t ### Description This callback is called to process an incoming Network Start Request command. ### Prototype ```c typedef ZStatus_t (*bdbTL_NwkStartReqCB_t)( afAddrType_t *srcAddr, bdbTLNwkStartReq_t *pReq, uint8 seqNum ); ``` ### Parameters - **srcAddr** (afAddrType_t *) - The destination address. - **pReq** (bdbTLNwkStartReq_t *) - Pointer to request parameters. - **seqNum** (uint8) - The identification number for the transaction. ### Return - **ZStatus_t** - enum found in ZComDef.h. ``` -------------------------------- ### bdbTL_Send_GetEPListRsp Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Endpoint List Response command. This function is used to respond to a Get Endpoint List Request. ```APIDOC ## bdbTL_Send_GetEPListRsp ### Description Sends a Get Endpoint List Response command. ### Prototype ZStatus_t bdbTL_Send_GetEPListRsp (uint8 srcEP, afAddrType_t *dstAddr, bdbTLGetEPListRsp_t *pRsp, uint8 disableDefaultRsp, uint8 seqNum); ### Parameters - **srcEP** (uint8) - The source endpoint. - **dstAddr** (afAddrType_t *) - The destination address. - **pRsp** (bdbTLGetEPListRsp_t *) - Pointer to response parameters. - **disableDefaultRsp** (uint8) - Whether to disable the Default Response command. - **seqNum** (uint8) - The identification number for the transaction. ### Return ZStatus_t - enum found in ZComDef.h. ``` -------------------------------- ### SEND GET LOCATION DATA (RSSI LOCATION) Source: https://github.com/zigpy/zigpy-znp/blob/dev/docs/Z-Stack ZCL API.pdf Sends a Get Location Data command in the RSSI Location cluster. ```APIDOC ## SEND GET LOCATION DATA (RSSI LOCATION) ### Description Sends a Get Location Data command in the RSSI Location cluster. ### Method Function Call ### Endpoint Not specified ### Parameters Not specified ### Request Example Not specified ### Response Not specified ```