Skip to content

ZigBee Device Compliance

bradreevmx edited this page Jul 20, 2018 · 17 revisions

***************************************
This smart contract is a Proof of Concept developed by Verimatrix using the publicly available ZigBee Compliance Data.

The accuracy of the compliance records are not Guaranteed. ***************************************

Table of Contents

Interfaces

Admin Interface
Tester Interface
User Interface

Architecture Documents

Compliance Data Objects
Family Tree
Mediation

Overview

The ZigBee Device Compliance contract maintains two tables: Family Tree, and Compliance Records. The Family Tree is passed a family string, and returns sub-family links or a compliance ID. A fully specified family string shall have the following format:

ZNMHF = {"Cert":"ZIGBEE","Name":"COMPANY","Sku":"SKU#","HwVer":"0X01","FwVer":"0X00000001"}

"Cert"

  • All certification types shall resolve to ZIGBEE for the family tree. The full compliance record contains the detailed certification type.

"Name"

  • Company name is trimmed to the first word of the Company Name
  • Uppercase
  • No special characters
  • Basic Cluster (0x0000), ManufacturerName (0x004)

Sku

  • Uppercase
  • No special characters
  • Basic Cluster (0x0000), ModelIdentifier (0x0005)

HwVer

  • 8 bits
  • Hex
  • Uppercase, including the 'X'
  • Basic Cluster (0x0000), HWVersion (0x0003)

FwVer

  • 32 bits
  • Hex
  • Uppercase, including the 'X'
  • OTA Upgrade (0x0019), CurrentFileVersion (0x0002)

A partial family string my omit ending portions of the family string, such as:

ZNMH = {"Cert":"ZIGBEE","Name":"COMPANY","Sku":"SKU#","HwVer":"0X01"}
ZNM = {"Cert":"ZIGBEE","Name":"COMPANY","Sku":"SKU#"}
ZN = {"Cert":"ZIGBEE","Name":"COMPANY"}
Z = {"Cert":"ZIGBEE"}

Whenever a fully specified family string is passed to the Family Tree, then the Compliance Record shall be returned. However, a partial family string will return the sub-family links. A partial family string is useful when a user needs to determine if there are other certified firmware versions or hardware versions for a device trying to enter the network.

Once the Family String has been converted to a ComplainceID, then the ZigBee Compliance tables may be read. The tables contain the compliance information about the device, along with the ModelID which is used to access the manufacturer tables.

Clone this wiki locally