Skip to content

ZigBee User Interface

bradreevmx edited this page Jul 20, 2018 · 6 revisions

Overview

The User interface is a read only interface, which allows ecosystem operators to read the compliance record and ModelId for a model. The Family Tree provides the user with the ability to determine which other models and HW/FW versions have been certified.

The compliance records are indexed by the ComplianceID, which is a hash of the following JSON payload generated by the gateway and submitted to the Compliance Contract. It is critical that the order of tags, and spacing is maintained in the hash.

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

All examples are run from the VeriteemCL.py command line interface. Further, the following constants shall be used.

ZNMHF = '{"Cert":"ZIGBEE","Name":"NORTEK,","Sku":"F-ADT-WTR-1","HwVer":"0X04","FwVer":"0X00000005"}'
ZNMH = '{"Cert":"ZIGBEE","Name":"NORTEK,","Sku":"F-ADT-WTR-1","HwVer":"0X04"}'
ZNM = '{"Cert":"ZIGBEE","Name":"NORTEK,","Sku":"F-ADT-WTR-1"}'
ZN = '{"Cert":"ZIGBEE","Name":"NORTEK,"}'
Z = '{"Cert":"ZIGBEE"}'

API List

Read
Valid
ReadFamily
ReadSubFamilyIndex
CalcComplianceID


Read

Description

The Read function provides compliance record for a ComplianceID. See the overview on how to form a ComplianceId.

Input Parameters

Type Name Description
address ComplianceModelId Compliance ID, which is a hash of the ZNMHF

Return Values

Type Name Description
address Tester ID of the Tester who wrote the compliance record
address MfgModelId Manufacturer's ModelID
string ExpirationData Expiration Data of compliance record
string ComplianceData JSON compliance record
bool Valid True if the compliance Admin has approved the record

Example

ZigBee.Read("0x469a89bc4c962c6f686a8c8cd73b10489e3185cd")
["0xca2a2c28e971321d196fe1ff187afce136f0dc73", "0x469a89bc4c962c6f686a8c8cd73b10489e3185cd", "10/31/17", "{\"ApplicationTypeVersion\": \"1.2.1\", \"ApplicationType\": \"ZigBee Home Automation\", \"CertificateID\": \"ZIG17107ZHA25941-24\", \"CompliantPlatformType\": \"\", \"ProductLongDescription\": \"The device is a water-bug-style flood sensor that can detect the water/liquid leakage at the ground level and from about the sensor.\", \"TechnicalSubCategories\": [\"IAS Zone\"], \"ProductType\": \"End Product\", \"CurrentStatus\": \"Approved\", \"SKU\": \"F-ADT-WTR-1\", \"FunctionalSubCategories\": [\"Water Sensor\\nSecurity\"], \"ParentFunctionalCategories\": [\"Security\"], \"Company\": \"Nortek, Inc.\", \"ProductRevisionVersion\": \"2\", \"HardwareVersion\": \"4\", \"ProductLinkURL\": \"\", \"CertifiedDate\": \"10/31/17\", \"TechnicalCategory\": \"ZigBee Home Automation\", \"ProductName\": \"F-ADT-WTR-1\", \"ProductShortDescription\": \"Water bug (flood sensor)\", \"FirmwareVersion\": \"5\"}", true, "0x0000000000000000000000000000000000000000"]

Valid

Description

This function will return the valid bit for the compliance record. This function does not verify the expiration date.

Input Parameters

Type Name Description
address ComplianceModelId Compliance ID, which is the hash of ZNMHF

Return Values

Type Name Description
bool Valid True if the compliance Admin has approved the record

Example

ZigBee.Valid("0x469a89bc4c962c6f686a8c8cd73b10489e3185cd")
true

ReadFamily

The ReadFamily function accepts Z, ZN, ZNM, ZNMH, ZNMHF JSON strings, and returns the number of sub family members can be found in the family tree. The function also returns the FamilyIndex for the Family String passed into the function, and the ComplianceId.

Input Parameters

Type Name Description
string FamilyString JSON string

Return Values

Type Name Description
address FamilyIndex FamilyString Hash for the FamilyString submitted in the read
bool FamilyValid true if the family string is valid
uint SubCount Number of sub FamilyStrings which are associated with the current family string
address ComplianceId ComplianceId

Example

ZigBee.ReadFamily(ZNM)
["0xdbd94b43698e1fd6f07e28a00e30c060ce94bcf3", true, 1, "0x0000000000000000000000000000000000000000"]

ReadSubFamilyIndex

This function reads the subFamily records for a given FamilyString. The index to the list must be given.

Input Parameters

Type Name Description
string FamilyString FamilyString

Return Values

Type Name Description
address SubFamilyIndex Index for SubFamilyString
string FamilyString FamilyString
uint SubCount Number of sub FamilyStrings associated with the current FamilyString
address ComplianceId ComplianceID when the SubFamilyString is fully specified

Example

ZigBee.ReadSubFamilyIndex(ZNM,0)
["0x3b576483633568dd9552e9a60d90ca138a22bc92", "{\"Cert\":\"ZIGBEE\",\"Name\":\"NORTEK,\",\"Sku\":\"F-ADT-WTR-1\",\"HwVer\":\"0X04\"}", "0x0000000000000000000000000000000000000000"]

CalcComplianceID

Calculate the ComplianceID for the given string.

Input Parameters

Type Name Description
string FamilyString FamilyString

Return Values

Type Name Description
address ComplianceID Hash of FamilyString

Example

ZigBee.CalcComplianceId(ZNMHF)
"0x469a89bc4c962c6f686a8c8cd73b10489e3185cd"

Clone this wiki locally