ZB Series End Device SM=0 No Longer Works


I’ve been running a few new modules remotely. All are sleeping for 10 minutes then wake to send I/O and Analog values. The problem is now I can’t set the modules to no-sleep (SM=0) they all say it’s an “Invalid Command”. Of course I assumed this was related to my control program so I used X-CTU to set the register directly. No luck. I get “ERROR” when attempting to set SM=0. It will let me set to other SM values, just not Zero. The device works fine I just can’t take it out of sleep mode. I was able to do this in the past.

Could I have faulty units? This started happening after 48 hours of continuous use. I recently received all 3 in the same shipment and are sequentially numbered.

XB24-Z7WIT-004 (v2941) HV=1944

I re-flashed the devices several times using X-CTU. No Change.

I flashed them from End Devices to Routers (v2341) and as a Router the device would not allow me to perform the following commands (IR, IS, IC, %V). I was not able to read back any DIO or Analog channels.

Any suggestions would be appreciated.


I encountered the same situation as you with the SM=0 a while back and I called the engineers. They said that was intentional since it is an end device. Are you using a microcontroller in your project?

I encountered the same problem. I contacted DIGI and indeed the ZB firmware is no longer supporting “no sleep” mode.
I forced “no sleep” by using “pin sleep” and forcing pin 9 to a logic zero.


I contacted Digi Support. Turns out firmware version 2341 for the Router (API) had its I/O support omitted. The I/O support will return in the next release of the firmware.


No micro controller is used, the XBee is stand-alone. It’s interesting however that when I first received the units I was able to easily change between no-sleep and the various sleep modes. It’s almost as though the unit “timed-out” and disabled the “feature”.

One other thing… when I reprogram the unit back as a Router it doesn’t allow any I/O to be read. So if I’m using the device to read its onboard A/D or DIO lines I can only do this with the End device (which now must sleep). According to the documentation the Router should be able to sample the I/O as well. Seems like a bug (either in the docs or the firmware).

Don’t know what to say, I have never seen the 2x41 allow the SM to be 0. I have alway used a micro with the Xbee due to the complicated circuit involved. Sounds like you might want to let the engineers at Digi know. What were you doing to sleep them for 10 minutes if you were not using a micro?

Message was edited by: fordcf2000

The End devices act as remote sensors so their duty cycle is relatively low (10 mins).

Have you been able to reprogram an End device to become a Router and still able to sample the Router’s digital and analog signals using the latest firmware?

That’s a great solution, thanks.

However the question still remains, will the End device being forced out of sleep via pin sleep and pin 9 low now act as a Router? If yes then great… if no how do I sample I/O with a Router device? The documentation (6/12/2008) states Routers support IS, IR, IC, %V, yet when I try it with firmware v2341 they come up as “Invalid Commands”

Thanks again for all your help guys!

Talked to one of the support staff today like Herbo said, the I/O support will be in the next firmware. The 2x45 firmware is in beta with the engineers but a release data is not available. The person I spoke with said it should be out in about 5 weeks.