Can API Remote Command Mode be used to set Sleep Mode (SM)?

I’m still kind of a “newb” on XBee’s so I hope this is not a trivial question. I have completed most of Robert Faludi’s book and have successfully created a working network with a coordinator XBee (S2) and two Router XBees that pull data in on AD0 from temperature and light sensors. I also have it sending the serial data to an Android tablet via an Arduino and USB. All has been going well until…

The eventual plan was to leave the non-coordinator XBee’s in sleep mode to conserve power - and have them “wake up” when the coordinator (attached to the Android tablet) arrives in range. From the Faludi book and other reading I “thought” I would be able to use the API “Remote AT Command Request” capability to send commands (in packets created in SW on the Ardunio) to the non-coordinator XBee’s to change their configurations - for example to change SM to “4” from “0” to switch back and forth from cyclic sleep mode to non-sleep mode. Also, I thought I could set the ST “Time before sleep” and SO “Sleep Options” as well.

One other objective was to keep at least some of the XBee’s as routers to extend/increase the distance of the network to the final endpoints by hopping through the routers.

Now I am reading that none of this can be done if it involves “sleep” unless I use DigiMesh - in that I can’t “put the network to sleep” as endpoints and then wake it up when the coordinator arrives and change the configuration options to get some routers back.

Is this true? Is Faludi wrong? I do not need to worry much about latency and storage of every transmission by a parent as it wakes up (just one transmission to the child would be enough).

Is it a “MUST” that I be DigiMesh - or is there a way to do what I want to do with ZigBee “Remote AT Command Request” from an API Coordinator.

Thanks in advance. I’m having some fun getting into this.

I am not pretending to have an answer but here is my comment. I too am a newbie and have worked through Faludi’s book, well lot of it.
What I have going is 8 Xbee S2 in sleep mode reporting temperatures around the house to a central API coordinator. that is working great. I am using an arduino with the coordinator and reporting the data and logging it in an SD card. The coordinator is in the API mode 2. I am now using the AT command to change states of other Xbees that will eventually all be put to sleep I turn on and off ports to turn other things on and off. The temperature xbees are End points and awake every 15 seconds and report their readings and then go back to sleep. I never wake them they do that with their own settings.
I think Digimesh is just how the xbees communicate to each other no matter what mode you put them in. sounds like we are doing similar things. Private message me and maybe we can help each other out. doug dot leppard at teralign dot com

Thanks for sharing your progress. It sounds like a similar setup - but I think you are actually further along than my setup so far. Our key issue is the ability to extend distance in the mesh network while still getting the full benefits of sleeping. So sleeping routers are probably a big key. And that probably means DigiMesh from everything that I have read. It looks like the answer might have to come from Digi support. I’m going to try Digi support directly - to see if they can clarify things definitively. I’ll try to come back and post what I find out.

By definition and design something you put to sleep can not work as router because it is not available to pass on data. I put my Xbees asleep for large periods of time and awake very short, right now it is 15 seconds asleep to be extended to 2 minutes and awake about 38ms. This is to save batteries.
So far I have had no problems with the sensors being too far. In our large 3000 sq ft house I have had them all over the house and they have communicated consistently without routers to assist them on.
I am making all my xbees end devices that use batteries.

Yes he is correct. In a Zigbee mesh, the coordinator needs to be main powered and stationary. It is what holds the network together. Instead, an you should use an End device as your node that comes and goes as Roaming End devices is a function of the Zigbee standard.

If you are using the proper firmware version, a router can be configured as an End device by setting the SM command to a non 0 value either from a local AT command or via an API Remote AT command.

If you want all nodes to be sleeping, than Digi Mesh should be used as Digi Mesh for the XBee products supports Sleeping routers.

can you help me have project with xbee s2 ,
my email is :

Ok what Rob was referring to is having what is called Sleeping Routers. A sleeping router is a node that functions as a router while it is awake and sleeps with the rest of the network. That is ONLY supported on Digi Mesh. Changing the SM command from 0 (Router) to 4 (Cyclic sleep) can be done using remote AT commands. Just note that it is going to want to poll its parent every time it wakes up. If you do not have a Parent router in range of the Coordinator in range, it will become disassociated and poll based off of the Disassociated sleep timing.