Other Parts Discussed in Thread: Z-STACK,
Hi guys,
I'm trying to migrate my ZStack 1.2 project to ZStack 3.0.2.
I have the most common and simple scenario.
- battery powered SED
- polling every 15 seconds to get attributes update
- It does NOT support binding, no EZ, no TL... only simple scenario - automatically join existing network - nothing more.
As a base for my migration I took generic app from examples.
In Zstack 1.2 by default when device booted, it tried to join or re-join the network. It seems it does not occur automatically in Zstack 3.0.2.
I found here in dicsussions that it is probably necessary to call bdb_StartCommissioning(0) in the init method.
Question nr.1: Is it true? Should I call bdb_StartCommissioning(0) in my initialization? Would it take care of "first time" joining and also re-joining?
Question nr.2: I'm little bit configused about that 0 as and argument to bdb_StartCommissioning(). Usually there are many examples in the documentation where e.g. "BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING" is passed.. But as long as I don't plan to support binding it does not make much sense to me..
Question nr.3: Would the default BDB related code provided in genericApp take care of situations when parent is lost (changing parent/re-joining) or do I have to implement anything additional there?
Question nr.3: Is it still OK to use zcl_SendReportCmd also in ZStack 3.0.2? I noticed there is bdb_RepChangedAttrValue. Does it serve the same purpose? E.g. if I want to send periodic reports to parent without any additional reporting configuration whatsoever.
Question nr.4: Do I have to change the poll rate when device changes its network status? E.g. if it gets orphaned? My poll rate is set to 10 seconds in config and I use polling to get my custom attributes written.. But, is it necessary to make the polling more intense in some cases when parent is lost or joining is performed? Or is it done automatically or I shouldn't care?
Thank you very much!