Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

RapidHA and RapidConnect both support 'native' clusters (full list for RapidHA and RapidConnect) by allowing for single-point-configuration of cluster attributes and command handlers.

MMB Networks RapidConnect Desktop application makes adding non-native clusters trivial by providing a fully configurable endpoint widget. See here for more details.

Alternatively, users can easily add support for 'non-native' clusters via their Host code by following the guide below.

What is the difference between Native and Non-Native Cluster Support?

Native Clusters: When we refer to native clusters, we are referring to clusters that the RapidHA/RapidConnect firmware have a handler for. These native clusters can be configured with a single command. Attributes will receive default values and command handlers will have full implementations. This support can be for the Client-End or Server-End cluster, or for both.


Non-Native Clusters: Non native clusters can still be added to the device configuration but certain actions will have to be performed manually, such as, initializing attribute values, implementing command handlers in the Host app, passing commands through to the Host to be handled using the Register Command Passthrough command and handling responses.

Adding Non-Native Clusters to the Device Configuration

Clear Endpoints

When adding a new cluster the the device configuration, the Endpoint configuration must be first cleared and the following command sent:

  1. Put the device into Startup Config mode by sending the Host Startup Ready Command - ( PH:0x55, SH:0x20 ).
  2. Send the Clear Endpoint Config Command - (PH: 0x03, SH: 0x30) to clear the previous endpoint configuration.

Configure Endpoints with new Cluster

Once the endpoint configuration has been cleared, add new endpoints and clusters the the device configuration by sending the Add Endpoint Command(PH:0x03, SH:0x10).

Add Attributes to Cluster

For the non-native clusters:

  1. Add attribute to the cluster by sending the Add Attributes to Cluster Command - ( PH:0x03, SH:0x20 ).
  2. Set attribute values by sending the Attribute Write Command - ( PH:0x03, SH:0x25 ).

Register Commands Passthrough

For non-native clusters, commands that are received by the module will be discarded as there are no embedded handlers for the non-native cluster commands. Therefore commands sent by devices for a non-native cluster need to be passed through from the module to the host. This can be done by enabling command passthroughs using the Register Commands Passthru Command - ( PH:0x03, SH:0x80 ). This command allows all or a specific set of commands to be passed through to the host and handled in the Host logic.

Complete Startup Config

Once all of the above steps are complete, send the Startup Sync Complete Command - ( PH:0x55, SH:0x22 )


Panel
borderStylesolid
titleOn This Page

Table of Contents
maxLevel1
absoluteUrltrue


Panel
borderStylesolid
titleIn This Space

Page Tree
rootApplication Notes
spacesSKB
searchBoxtrue


Panel
borderStylesolid
titleRelated Content

Filter by label (Content by label)
showLabelsfalse
max4
showSpacefalse
cqllabel = "device_configuration" and parent = "113312124"



Style

{style}
 
.wiki-content h1 { 
	font-family: 'Helvetica Neue', sans-serif; font-size: 30px; font-weight: bold; color: #7ab800#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: #a1cd4c#00517f; letter-spacing: 1px; line-height: 1; text-align: left;
 
}
.wiki-content h3 { 
	font-family: 'Helvetica Neue', sans-serif; font-size: 15px; font-weight: normalbold; color: #a7a9ac#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:#a7a9ac#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: #7AB800#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}