"Zzh!" (short for "Zig-a-zig-ah!") open-source hardware licensed Zigbee USB-stick based on TI CC2652R

You need to run the commands on the computer the device is connected to.

Thanks was searching for a guide like that, but couldn’t find it from google earlier this week.

However when running Home Assistant (OS) it wasn’t that straight forward for me. As Home Assistant OS is missing the buildtools the installing of pycryptodome package will fail. After a lot of Googling and trying it turns out you need to issue to following command first:
apk add alpine-sdk

Then the default buildtools will be available pip can do the job. It is really great to be able to backup your network and migrate easily. Many thanks to everyone who invested their time and effort into it!

And you should use python3 instead of python in the example commands.

Another lesson learned: as you need exclusive access to the stick you need to stop ha core (ha core stop) before taking the backup.

Well, they’re not my guides, and hopefully you only have Python 3.x installed :man_shrugging:

@Tinkerer was not meant as criticism or anything, just a heads up for anyone trying to follow the guides when they are Home Assistant OS. Glad you shared the guide :slight_smile:

I guess I have to use python3 as that was chosen in the migration path from Python 2 in HA OS or something, no real clue about it. I have come across it more often (same a with pip and pip3 sometimes), but just to warn people who haven’t seen it before as it might be difficult to find out what is wrong.

I’ve tried to setup via another RPI having a fresh install of HA Supervised over Debian 10, but failed on backing up the network file. Backing up the nvram file works, however. So I tried the Windows 10 setup with success.

Windows 10 Setup (Guide Ref.)
This is the steps I took for anyone who have trouble.

-Download and install Python Windows Installer(64-bit) . Latest as of today is 3.9.5
-Open Windows CMD on pc for the following steps.

Press win Key + r key
Type cmd
cd Downloads

-Create a virtualenv before installing the zigpy-znp by running these line one at a time in windows cmd.

py -3 -m venv venv

-Install zigpy-znp for windows

pip install https://github.com/zigpy/zigpy-znp/archive/dev.tar.gz

-Plug in your CC2531 or the like usb stick into your pc usb port.
Note: CC2652 will need to install this driver for windows to be able to recognize the COM Port

-Navigate to device manager to find the COM Port #.

press win key
type 'device manager'

-Backup network. The saved file will be under Downloads folder
Note: change the COM5 to whatever yours is

py -m zigpy_znp.tools.network_backup COM5 -o network.json

Do you run it with hassio? or by chance are you using HA with docker. I am facing some difficulties setting the system up.

Straight Hassos image onto an SD card on my Pi4. Have since switched over to ZHA. What issues are you seeing?

I am able to use the zzh! with hassos directly, however I am interested in the HA with docker and when I try to install the supervised HA version using docker I got stuck and the installation fails every time I try, the ssh connection is suddenly rejected.

If you’re looking for help with the Supervised installer then:

  1. You should start a fresh thread
  2. The Supervised installer is for experts in Docker, Linux, and networking only

I ordered about 10 days ago and set it up last weekend. I am using it with Zigbee2mqtt. It was painless to get up-and-running. I followed the instructions step-by-step and everything worked first time. I haven’t stressed it much but added some Ikea motion sensors without issue.

I run HA on an N2+ box and have the stick plugged directly into a USB port. The range seems ok and is covering three floors of the house so far without an issue.

I also get ‘Device offline’. How do I get it to go online?

I have verified it has been flashed correctly.

1 Like

A post was merged into an existing topic: Do NOT Buy Slaesh’s Zigbee Stick

Also have a device thats showing as offline, did you solve this?

Hi, I can’t find any information about this stick regarding the max number of handled devices via zigbee.
I have a lot of routers (20-25 xiaomi mi power plugs), can it handle 150-200 devices with this much routers?
And if I understand correctly, this stick can also handle ble connections?
I have 10-12 ble temperature devices, so this stick could also read the temperature measurements while acting as a zigbee coordinator?


See https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator#z-stack-coordinator-firmwares - it can handle many hundreds of devices.

The firmware doesn’t support BLE though

I wouldn’t put Zigbee and BT together on one stick. They disturb each other and if you’re using BLE, it is really a lot of data that comes in.

The general advise here would be, to use two different sticks (one BT/BLE and one Zigbee) and put them as far as you can get from each other. Best is to use some extension cables for each stick. :slight_smile:

1 Like

I have now 101 devices on my zigbee2mqtt mesh with Zzh stick and 45 of them are routers. I also wonder what would be the number of devices that I can add before issues might occur. Sometimes a device drops from the zigbee network, which already might be an indicator. But I also had that when the network was much smaller. Responsiveness is still very good.

Depends on how many Zigbee 3.0 devices you have and how many are only Zigbee 1.2 HA (Zigbee Home Automation 1.2) devices. CC2652 max for Zigbee 3.0 devices is 200. Routers otherwise set limit.


Tip is to buy a few better routers like those from Tube

1 Like

So my zzh is deffo doing a better job then the Sonoff Zigbee Router (the WiFi one flashed with Tasmota), so kudos for that… but it still sometimes shows as offline plus the integration shows as following, which is prob fine (as it works) but looks wrong:


I think the trick re getting lamps into pairing mode is the off / on ratio.

I use a longer off than on ratio and it seems to be pretty predictable / reliable.

So I start with it off and then go On off off off on off off off on, ending up with the on (that should then be throbbing / pulsing) after the 3 / 6 / whatever cycles required.