ZHA With Digi XStick

I bought a Digi XStick because it was listed as supported with Mozilla IOT, but I later found Home Assistant and I think I would like to use it. However, setting up the stick doesn’t seem to work. I checked with dmesg that the stick gets mapped to /dev/ttyUSB0 but entering that with any of the options doesn’t work. Any idea what I might be doing wrong? I saw in the docs that the series 2 chips (which I think the XStick is based on) need the Coordinator firmware flashed on, but I thought the zigbee xstick had that firmware already.

EDIT: should mention I’m on a Raspberry Pi 2 with Raspbian Buster, fully updated with a fully updated hass install.

1 Like

I have this same stick, it started working around .7x or .8x but then stopped around .9x. I have not used it very much but to play around with so I have not tried to get it working again till today. I am on the newest hass.io 0.100.1 and the only thing I had to due to get working again was add the baudrate to config. In your configuration.yaml try adding

zha:
    usb_path: /dev/ttyUSB0
    baudrate: 9600
    radio_type: xbee
    database_path: /config/zigbee.db

if just running homeassistant and not the hass.io I think you have to use database_path: /home/homeassistant/.homeassistant/zigbee.db

The stick should now show up as a zigbee coordinator in your integrations. if you try to add devices and the log shows errors you might have to configure so stuff on the stick through XCTU software. Sorry I am not any type of expert with this stick/zigbee, I got a raspberry pi for free when I bought this stick and had a free zigbee door and motion sensor

1 Like

Thanks @bskloost your tip to configure manually and specify the baud rate was the magic info that got my Digi XStick working with ZHA after far too many hours of trying everything else. Works like a charm now.

Glad to hear, I was just reading through the release notes for 0.111 and saw this so keep an eye out if you upgrade to 0.112.0. Looks like it will have to be deleted from configuration.yaml and done through the intergrations

ZHA - Configuration options for ZHA integration in YAML is now deprecated and will be removed in 0.112.0. - (@Adminiuga - #35161) (zha docs)

Starting with the following radio configuration options:

  • usb_path
  • baudrate
  • radio_type

Are these sticks similar to XBee S2C or S2B? Zigpy-xbee makes an attempt to auto detect baudrate and reconfigure, but that’s blast resort and may not always work. Your best shot is to use XCTU and:

  1. Install correct Zigbee firmware. If similar to S2B then firmware has to be coordinator firmware
  2. Using XCTU configuration, set port speed to 57600 baudrate, that’s what zha would try as default

Regarding latest zha changes: if you choose option to manually enter the config, it would ask for port path and baudrate after asking for radio type. If detection of the radio fails, then it also falls back to manual config

@bskloost thanks. I had seen that deprecation note.

@Quatuor I believe they are similar - this is the stick https://www.digistore.com/XU_Z11_p/xu-z11.htm

I already had the latest coordinator firmware on it via XCTU but I’ve now also set the baud rate to 57600 via XCTU as advised. After removing the manual configuration it didn’t work on the first attempt but after a second restart of HA the ZHA integration did find the XStick automatically.

Zigbee Home Automation
XStick, s/n: ffffffdfffffffbcffffffd5ffffffa1 - Digi
7 devices and 13 entities

This is now mostly handled by the zigpy-xbee library, please feel free to help on GitHub, see ex. here:

and here