zigbee2mqtt is an open source software developed by Koenkk, available on GitHub at the following: https://github.com/koenkk/zigbee2mqtt
Installing zigbee2mqtt on Raspberry Pi is described at the following: https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html
The complete documentation is available at the following: https://www.zigbee2mqtt.io/
The principle for integrating zigbee devices in Home Assistant is to use a zigbee2mqtt dongle designed originally by Texas Instruments which can be flashed as a standard Coordinator, or a Router.
zigbee USB sniffer/flasher: https://www.lazada.sg/products/i1188144010-s4745402413.html?urlFlag=true&mp=1
Firmware to flash a zigbee dongle as Coordinator can be found here: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin
Firmware to flash a zigbee dongle as a router can be found here: https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/CC2531/bin
For flashing a zigbee dongle using a Mac:
Install homebrew: https://docs.brew.sh/Installation
Then follow the procedure described here: https://www.zigbee2mqtt.io/information/flashing_the_cc2531.html