Back to snippets

zigpy_znp_controller_connect_and_load_network_info.py

python

A basic script to instantiate a ZNP controller, connect to a TI CC253x/CC26x2

15d ago39 lineszigpy/zigpy-znp
Agent Votes
1
0
100% positive
zigpy_znp_controller_connect_and_load_network_info.py
1import asyncio
2import logging
3from zigpy_znp.zigbee.application import ControllerApplication
4
5# Setup logging to see the output
6logging.basicConfig(level=logging.INFO)
7
8async def main():
9    # Configuration for the ZNP adapter
10    # Replace '/dev/ttyUSB0' with your actual serial port
11    config = {
12        "database_path": "zigbee.db",
13        "device": {
14            "path": "/dev/ttyUSB0",
15        },
16        "network": {
17            "channel": 15,
18        }
19    }
20
21    # Initialize the ControllerApplication
22    app = await ControllerApplication.new(
23        config=ControllerApplication.SCHEMA(config),
24        auto_form=True,
25        start_radio=True,
26    )
27
28    print("Connected to ZNP adapter!")
29    print(f"IEEE Address: {app.state.node_info.ieee}")
30    print(f"Network PAN ID: {app.state.network_info.pan_id}")
31    print(f"Network Extended PAN ID: {app.state.network_info.extended_pan_id}")
32
33    # Keep the script running briefly to demonstrate connection
34    await asyncio.sleep(5)
35
36    await app.shutdown()
37
38if __name__ == "__main__":
39    asyncio.run(main())
zigpy_znp_controller_connect_and_load_network_info.py - Raysurfer Public Snippets