First time Zigbee user - troubleshooting?

I’m struggling to get my new ZBT-2 communicating to a Zigbee device, and need some troubleshooting tips to help me narrow down whether it’s a problem with the ZBT-2 or the Zigbee device, a frient Electricity Meter Interface 2.

How can I determine if the ZBT-2 is working okay? Should it display any lights during startup, or during the “add device” operation? Is there a way to determine if the ZBT-2 is actually transmitting? Is there some hidden button I need to press to by the ZBT-2 into pairing mode?

I added the ZBT-2 as a Zigbee device, selected “Recommended Installation”, and it installed okay and two integrations appear:
Home Assistant Connect ZBT-2
Zigbee Home Automation

I’ve put the ZBT-2 on a longer USB cable to get it away from my PI5 and also from my Z-Wave dongle.

Just trying to work out where my problem lies - with the ZBT-2, or the frient Electricity Meter Interface 2.

EDIT: Log from attempted pairing:
Feeding watchdog
Feeding watchdog
[<Task pending name=‘device-availability-checker_DeviceAvailabilityChecker’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::DeviceAvailabilityChecker.check_device_availability]
Device availability checker interval starting
Checking device availability
Device availability checker interval finished
Feeding watchdog
[<Task pending name=‘global-updater_GlobalUpdater’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::GlobalUpdater.update_listeners]
Global updater interval starting
Global updater interval finished
Feeding watchdog
Feeding watchdog
Feeding watchdog
[<Task pending name=‘device-availability-checker_DeviceAvailabilityChecker’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::DeviceAvailabilityChecker.check_device_availability]
Device availability checker interval starting
Checking device availability
Device availability checker interval finished
Feeding watchdog
[<Task pending name=‘global-updater_GlobalUpdater’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::GlobalUpdater.update_listeners]
Global updater interval starting
Global updater interval finished
Feeding watchdog
Feeding watchdog
Feeding watchdog
[<Task pending name=‘device-availability-checker_DeviceAvailabilityChecker’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::DeviceAvailabilityChecker.check_device_availability]
Device availability checker interval starting
Checking device availability
Device availability checker interval finished
Feeding watchdog
[<Task pending name=‘global-updater_GlobalUpdater’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::GlobalUpdater.update_listeners]
Global updater interval starting
Global updater interval finished
Feeding watchdog
Feeding watchdog
Feeding watchdog
[<Task pending name=‘device-availability-checker_DeviceAvailabilityChecker’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::DeviceAvailabilityChecker.check_device_availability]
Device availability checker interval starting
Checking device availability
Device availability checker interval finished
[<Task pending name=‘global-updater_GlobalUpdater’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::GlobalUpdater.update_listeners]
Global updater interval starting
Global updater interval finished
Feeding watchdog
Feeding watchdog
Feeding watchdog
Feeding watchdog
[<Task pending name=‘device-availability-checker_DeviceAvailabilityChecker’ coro=<periodic..scheduler..wrapper() running at /usr/local/lib/python3.14/site-packages/zha/decorators.py:78> cb=[set.remove()]>] executing periodic task [zha.application.helpers::DeviceAvailabilityChecker.check_device_availability]
Device availability checker interval starting
Checking device availability
Device availability checker interval finished

I have a ZBT-1 and the Frient electricity meter - been working fine for a couple of years.

Assuming the ZBT-2 works in the same way as its predecessor (I imagine it does, the integration’s the same), you should use the Zigbee Home Automation integration to pair a device.

Click on the Zigbee Coordinator in the device list, then in the “Device Info” box, click on “Add devices via this device” to start pairing.

You can find instructions for the Frient here: