Raw Description into Clusters


I wanted to know what the raw description of my device means. It is 08 0104 0100 00 05 0000 0003 0004 0005 0006 01 0000. Is it possible to turn this into Clusters for my fingerprint device handler?

Looks like it’s a ZHA on/off switch With the required group and scene clusters. Were you expecting something else?



Yes you can. Looks like a ZigBee device.

08 is the Endpoint the device uses.
0104 is the ProfileID for ZigBee HA (this is part of the fingerprint)
0100 is a DeviceID that can specify what kind of ZigBee device
Forget what the 00 is next
05 denotes 5 “In Clusters” and the next 5 4-digit pairs are those clusters (commands the device receives)
0000 is Basic Cluster
0003 is Identify Cluster
0004 is Groups Cluster
0005 is Scenes Cluster
0006 is On/Off Cluster
01 denotes 1 "Out Cluster"
0000 is Basic Cluster


Thanks for replying. On page 79, what exactly does cluster 0007 do? I am still confused between the differences of 0006 and 0007.

Inclusters are commands received by the device.

0006 is the on/off command for a switch.

0007 is a configuration command which let you tell a device whether it is supposed to act as a switch and what kind of switch.

There are some devices which can act as either a dimmer switch or a binary on/off switch, for example, and the configuration cluster could be used to set which way the switch works. Or the switch might be able to be used as either a binary switch or a momentary switch.

For zigbee 3.0, This is detailed in chapter 15 in the following document:


Normally, configuration is a one time event when a device is joined to a network.

0006, on the other hand, is going to be used every time you’re sending an on or off to a switch device.

Ok. Thanks. Also could I have some help with the questions below?

  1. Also what exactly are outClusters and what are they supposed to do?
  2. What outCluster values do I put for my fingerprint device handler?
  1. outClusters are the ones the device can send commands out on. Most end devices like bulbs/switches are mostly inClusters as they receive commands to turn on/off/dim; whereas remotes might have more outClusters to send commands out to devices.
  2. This device has 1 outCluster 0000 so you can put that in your fingerprint. Most ZigBee devices will have 0000 as an outCluster. I think it’s used in joining and that’s pretty much it.

I have a button on my device. When I press it, it changes the status of the on/off state and updates it in the Smartthings app. So would that be categorized as an outCluster?

No. The device isn’t sending a command. It’s simply updating an attribute of it’s on/off cluster (0006) and informing its controller (ST) of the status change.


A common outCluster I’ve seen in ZigBee fingerprints is outClusters: "0019". What is the cluster 0019 used for?

That’s a basic cluster used in all zigbee profiles. It has the over the air (OTA) firmware update information, basically the file location and the fact that there is an update available, and then the status of the update in progress . It can appear as either an in cluster or an out cluster.


I have a device that supports outCluster 0017. Anyone have info on this?

What device do you have?

Orvibo 7 Button Scene Controller.

Can you send me live logs from graph.api.smartthings.com of your device using the outCluster 0017?

You should get something like the below on your logs everytime your device uses outCluster 0017:
description is catchall: 0104 0017 xxxxxxxxxxxxxxxxxxxxxxxxxx

Sure, if you could tell me how to trigger something that uses that cluster :slight_smile:

I’m trying to write a DH for this scene controller, but have no Zigbee SC examples to borrow from. Only buttons. But that won’t help as I’m trying to control the onboard active scene LED indicators as well. I was completely unsure what 0x0017 was, or if it was somehow related.

I suppose this is a cluster you can’t trigger because it is an AlphaSecureKeyEstablishment cluster according to http://www.perytons.com/help/Perytons55help/Documents/supportedzigbeeclust.htm.

That’s as far as my searching got as well.

It appears that your device uses the ZigBee Health Care (ZHC) profile which allows for ASKE.

“ASKE is intended for applications requiring strong and efficient application layer security. The ASKE cluster allows efficient and distributed key agreement for establishment of Application Link Keys, as required for a number of HC use cases. Using the ASKE cluster, a pair of ZigBee devices belonging to the same ZigBee network can agree on a common Application Link Key without intervention of a centralized Trust Center. ZigBee devices carry keying material that may be generated and distributed to nodes before joining (e.g. by means of a 41 commissioning tool) or at joining (e.g. by the Trust Center).”

Pages 42-56 on the ZHC spec should explain everything about ASKE and how the cluster is configured.

Awesome! Not directly useful for my needs, but helpful nonetheless.