Digi Xbee device configurations needed for Coordinator (XB3-24 / XB 2C (S2C)

This is going to sound like a really dumb question. Be ideal to have recommended configurations and their associated settings. Especially for end users with VM instances, etc looking to use XB device as their coordinator.

This thread is for XB devices discussions only!!

Maybe have a link to site indicating which:

  1. Firmware to use
  2. XCTU settings required
  3. Samples of USB dongles for XBx device.

I.E.
XB3-24 flashed with which firmware
https://www.digi.com/products/models/xb3-24z8st

Sparkfun USB dongle

XCTU settings???

What are the XCTU settings? Ideally, this should be provided in order to help end users to quickly configured the XB devices.

XBee Zigbee based radios (via the zigpy-xbee library for zigpy)

  • Digi XBee Series 3 (xbee3-24) modules
  • Digi XBee Series 2C (S2C) modules

You don’t need to configure the Xbee3 via XCTU in order to use it as a coordinator. If you wish, you can update it to the latest firmware, the ones I’ve gotten were all one version out of date, but the changes were minimal. Once you add it via the gui to home assistant, zigpy_xbee will automatically configure the radio as a coordinator.

One change I do like to make via XCTU prior to allowing the automatic configuration is to increase the baud rate to 57600. Otherwise it will stay at the default 9600.

One thing to mention, if you have tweaked any settings, reset the XBee to default configuration first. You can then change the baud rate if you wish and then add to home assistant.

What you’re saying is, right out of the box the XB3-24 the only thing is to make sure its on the latest firmware? If desired.

Would it be to much trouble to ask if you can provide your XCTU profile or screen shot your XCTU settings and post? Or message me with the screen shots if concerned sharing publicly.

The XB3-24’s have the ability to configure three types of firmware, be curious to know which you’re using as well.

I’m asking these questions as I tried playing with the firmware types and settings and somehow during this time I lost the original backup settings and profile.

You want the Digi XBee3 Zigbee 3.0 TH firmware. The instance that is using the XBee3 as a coordinator is 1200 miles away, so no easy way to get the settings from it. The only thing you need to do, is verify you have the latest version of the Digi XBee3 Zigbee 3.0 TH firmware, 1006 last time I checked, load it into XCTU, go to configuration mode then choose default. Once that’s done, change the value for BD to 57600 write the changes and move it to your home assistant instance. When you add it to home assistant, it will automatically set all of the required values and form the network. If you would like to back them up, you can then move the XBee back to XCTU and save them from the configuration view.

Thanks for the insight. I will give the tray and report back.

Last question, which USB dongle are you using?

I’m using the Sparkfun Xbee Explorer dongle. Should I be using something else?

I’ve used the mini usb version of that board with success. I’m now using cheap ones from ebay. https://www.ebay.com/itm/XBee-Explorer-USB-Mini-Adapter-Module-Board-Base-Shield-Multifunction-Cable-Kq/113495840258 The only reason is cost, the Spark Fun boards are good.

@PrairieSnpr

Apology for the delay as I was traveling.

Did as you mentioned but still not able to get work.

homeassistant@ha-test-bed:~/.homeassistant$ ls -la /dev/ttyU*
crw-rw---- 1 root dialout 188, 0 May 16 12:03 /dev/ttyUSB0
homeassistant@ha-test-bed:~/.homeassistant$

# Zigbee
zha:
  usb_path: /dev/ttyUSB0
  database_path: /home/homeassistant/.homeassistant/zigbee.db
  baudrate: 57600

Product Family: XB3-24
Function Set: Digi Xbee3 Zigbee 3.0 TH
Firmware: 1006

Reset XB3 module to default.
Changed baud rate to 57600
Update configuration file for baud rate to match

Error Log:
Error setting up entry /dev/ttyUSB0 for zha
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/config_entries.py”, line 309, in async_setup
hass, self)
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/zha/init.py”, line 99, in async_setup_entry
await zha_gateway.async_initialize(config_entry)
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/zha/core/gateway.py”, line 90, in async_initialize
await self.application_controller.startup(auto_form=True)
File “/srv/homeassistant/lib/python3.7/site-packages/bellows/zigbee/application.py”, line 102, in startup
await self.initialize()
File “/srv/homeassistant/lib/python3.7/site-packages/bellows/zigbee/application.py”, line 53, in initialize
await e.reset()
File “/srv/homeassistant/lib/python3.7/site-packages/bellows/ezsp.py”, line 54, in reset
await self._gw.reset()
File “/usr/local/lib/python3.7/asyncio/tasks.py”, line 423, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

Please try removing the ZHA integration and the entry in configuration.yaml. No entries are required in configuration.yaml, you should be able to use the ui to add ZHA, provide the usb path, select xbee, and it will then configure the xbee. Changes to the ZHA configuration via yaml, are no longer honored after the initial run.

@PrairieSnpr Thanks. Did as exactly as you mentioned. After HA configured the XB3-24 module I was able to discover a Test sensor and Test bulb. However, about an hour later HA looses connection with the both test devices showing unavailable. But I’m still puzzled as to why its this difficult to configure. I’ve research for hours looking for setting for the XB3-24 module. I’m at a lost here. Would like to use the XB3-24 module.

Is there any manual settings to set other than the BD to 57600?

The good news, this is a test bed system leaving production alone.

At this point, it looks like you have the xbee coordinator working. If the devices are dropping from the network, that’s probably a seperate issue and could be anything from interference to distance. There are all sorts of posts and guides to getting a reliable network. My issues were almost always related to devices that hadn’t joined completely or interference.

Honestly, never could it the XB3-24 to work and simple dropped the project… Eating up too much time in getting it to work. Defaulted back to my original Zigbee/Zwave combo device.

There is an Indian made device names Tarang P20 based on Xbee module. Can it be used For ZHA?

Hi not sure if some is still here, but I’m struggling to cnnect my Xbee S2C through mini usb shield to my Hass.io on RPi4 .

I connected it to my USB port , tried many inputs of ttyUSB 1/0 or AMA0 ,in ZHA with no success :frowning:
Here is devices that I use :


You can enable SSH connection to your HassOS, login as root and inspect the available tty devices in the /dev directory - the simplest way can be to plug and unplug the USB adapter with Xbee module and monitor how the /dev directory content changes.

In my setup I’m using XBee 3 module and the SparkFun Xbee explorer:


I’ve soldered the necessary pins manually and connected it to the RX/TX pins of my RPi 4 in accordance with the following diagram:

connection_diagram_bb_thumb

However, the GPIO 14 and 15 pins on RPi 3, 4 and Zero W are taken over by default by the onboard Bluetooth - this has to be disabled by adding the following line to the config.txt file on the boot partition (more info on the device tree overlay page):

dtoverlay=miniuart-bt

If you don’t need Bluetooth at all, you can disable it completely with:

dtoverlay=disable-bt

Once it’s done, the Xbee module will be available on the /dev/ttyAMA0 device, which you can specify when adding the ZHA integration in HA - assuming you’ve plugged it correctly and didn’t mix up RX/TX pins like I tend to do. :grinning: You can check it by SSHing as a root to the RPi and trying to execute some echo '1234567890' >> /dev/ttyAMA0 - when the LED on explorer board blinks, it means that the module has received the data.

There is also one caveat I’ve stumbled upon when trying to make my setup work with OpenHAB before I switched to HA - my Xbee 3 module had the AP (API Enable) configuration field set to “Transparent mode” by default. Using XCTU to restore all settings to defaults and changing that single field to “API mode with escapes [2]” made it possible for OpenHAB to pick up the device and continue with configuration like changing it to coordinator mode, enabling security etc:

Screenshot from 2020-08-16 21-05-23

I don’t know if HA is able to change that setting automatically to API mode with escapes since I had it already configured, but OpenHAB had that step mentioned in its documentation, so missing it costed me quite some time to figure out why it’s not working. :grinning:

You could try setting the mentioned AP configuration field. Also, the Home Assistant’s ZHA integration manual mentions that for your Xbee S2 module the Zigbee coordinator API firmware should be flashed explicitly first.

Hi Guys, sorry for the necro-post, but I’m really struggling. Followed the above instructions, Xbee3-24, flashed latest 1006 firmware, reset XBEE3 to defaults, set baud at 57600 in XCTU, and unable to connect in latest HassOS 4.14 on an RPi 4
I get 2 odd errors, and this is when I select from the dropdown
image

when I am able to not receive the first error, I always get this error
image

I have reinstalled HASS many times. I can easily setup with my Nortek, both zigbee & z-wave, but really prefer the Xbee, with its much higher power.
I am using the cheap USB board above, but also get the errors with a waveshare USB board.

My log says “unable to connect” and specifies 115200, even tho I selected 57600, and even if I edit the default ZHA dialog to 115200(from above screenshot) Xbee won’t connect.

Please if anyone can help I’d rally appreciate it. Despite all the posts, it seems there is very little details about XBee.

my log<<<
2020-10-21 10:40:25 WARNING (MainThread) [zigpy_znp.zigbee.application] Failed to probe ZNP radio with config {‘path’: ‘/dev/ttyAMA0’, ‘baudrate’: 115200, ‘flow_control’: None}
Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/zigpy_znp/zigbee/application.py”, line 142, in probe
await znp.connect()
File “/usr/local/lib/python3.8/site-packages/zigpy_znp/api.py”, line 236, in connect
version = await self.request(c.SYS.Version.Req())
File “/usr/local/lib/python3.8/site-packages/zigpy_znp/api.py”, line 520, in request
response = await response_future
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/zigpy_znp/zigbee/application.py”, line 142, in probe
await znp.connect()
File “/usr/local/lib/python3.8/site-packages/async_timeout/init.py”, line 55, in aexit
self._do_exit(exc_type)
File “/usr/local/lib/python3.8/site-packages/async_timeout/init.py”, line 92, in _do_exit
raise asyncio.TimeoutError
asyncio.exceptions.TimeoutError
2020-10-21 10:40:30 WARNING (MainThread) [zigpy_deconz.api] No response to ‘Command.device_state’ command with seq id ‘0x02’
2020-10-21 10:40:35 WARNING (MainThread) [zigpy_xbee.api] at: No response to AP command
2020-10-21 10:40:37 WARNING (MainThread) [zigpy_cc.api] No response for: SRSP SYS version {}
2020-10-21 10:41:35 WARNING (MainThread) [zigpy_xbee.api] at: No response to AP command
2020-10-21 10:42:43 WARNING (MainThread) [zigpy_xbee.api] at: No response to AP command
2020-10-21 10:43:27 WARNING (MainThread) [zigpy_xbee.api] at: No response to AP command

Okay, I did NOTHING different, but this time it connected !! But does not say coordinator, it says router. I had this once before and was unable to actually pair zigbee devices, since the xbee was a router
Anyone can comment? Please !

How to configure xbee as router instead of coordinator