The document covers the expected behaviour for device rejoin. We will cover several scenarios that may prompt a rejoin.

Scenario 1: Device Goes Offline

The most common cause of this scenario is when a device loses power due to a power outage or due to low battery.

The following provides an overview of the expected rejoin behaviour in the event of this scenario occurring.

Sleepy Devices

  1. Device goes offline
  2. Device stops issuing Data Requests
  3. Coordinator after not receiving Data Requests from the device, will age the device out of it's neighbour table 
  4. Once device comes back online, it will issue a rejoin request and communications will resume.
  5. Device will broadcast a Device Announce message.

Non-Sleepy Devices

  1. Device goes offline for ~10 minutes
  2. Once device comes back online, it will issue Device Announce
  3. Coordinator will be able to issue commands as normal.


Scenario 2: Coordinator Goes Offline

The most common cause of this scenario is when a gateway loses power due to a power outage or due to interference from a customer (moving a coordinator/hub) .

The following provides an overview of the expected rejoin behaviour in the event of this scenario occurring.

Sleepy Devices

  1. Coordinator goes offline
  2. Device issue a Data Request as normal
  3. Device doesn't receive a 802.15.4 Ack to the request
  4. Device retries the Data Request 11 more times
  5. Device goes into deep sleep and stops issuing Data Requests
  6. Device should stop sending regular data requests ("heartbeat"), and start rejoin attempt. Device should keep trying to rejoin if the previous attempt failed. Back off logic may apply during this rejoin duration.
  7. Coordinator eventually comes back online
  8. ZB 3.0 - Coordinator broadcasts a Parent Announce command frame
  9. Device should successfully rejoin coordinator once back online. There may be a delay, depending on the wait between attempts set during the back-off algorithm.
  10. *At this point the device rejoin mechanism depends on the vendor implementation. Some devices will have a rejoin mechanism, with backoff algorithm, periodically attempting a rejoin, whereas other devices will not rejoin until either the device is power-cycled or has a sensor triggered.

Non-Sleepy Devices

  1. Coordinator goes offline for ~10 minutes
  2. Once Coordinator comes back online it should initiate the discovery sequence. *Devices can also have a keep-alive message scheme to detect if the coordinator is off line, and then enter rejoin mode.
  3. Coordinator will be able to issue commands as normal if device is found on the network.







RapidConnect Rejoin Algorithm




Message Transfer During Rejoin



ZED Secured Rejoin

ZED TrustCentre Rejoin

ZR Trust Center Rejoin


{style}
.wiki-content h1 { 
font-family: 'Helvetica Neue', sans-serif; font-size: 30px; font-weight: bold; color: #20b6e1; letter-spacing: 1px; line-height: 1; text-align: left;
#border-bottom: 1px solid #98bddd !important; 
}
.wiki-content h2 { 
font-family: 'Helvetica Neue', sans-serif; font-size: 20px; font-weight: normal; color: #00517f; letter-spacing: 1px; line-height: 1; text-align: left;
}
.wiki-content h3 { 
font-family: 'Helvetica Neue', sans-serif; font-size: 15px; font-weight: bold; color: #00517f; letter-spacing: 1px; line-height: 1; text-align: left;
}
.wiki-content h4 { 
font-family: 'Helvetica Neue', sans-serif; font-size: 15px; font-weight: normal; font-style:italic; color:#00517f; letter-spacing: 1px; line-height: 1; text-align: left;
}
#title-text{
font-family: 'Helvetica Neue', sans-serif; font-size: 40px; font-weight: 500; letter-spacing: 1px; line-height: 1; text-align: left;
}

.panel, #content .panel {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}

.panel .panelHeader {
text-align: left;
color: #FFFFFF;
line-height: 1em;
padding: 10px 10px 5px;
margin-bottom: 0;
background-color: #00517f;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
-webkit-border-top-right-radius: 5px;
-webkit-border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-top-left-radius: 5px;
color:#FFFFFF
}

{style}