___________________________________________
上述定义来自《Zigbee Cluster Library Specification》。
之前曾认为一个Cluster描述了某一个应用对象的状态和接收的命令,这样的认识是不正确的(至少是不全面的)。
一个Cluster实际上是一组属性和命令的集合,是两个(类)设备之间的一个通信接口(规约)。它不是附着于单独某一个设备之上,而是联系两个设备的一条纽带,Cluster就是纽带本身。正因为如此,我们才会看到,对于一个设备,有“input cluster”和“output cluster”之分。或者也可以这样说,一个cluster包括两端(two ends),server 端和client端。由于cluster中包含的大部分attributes是存在于server端的,因此有时通过描述server端设备具有的attributes和接收的commands,就可以展示一个完整的cluster。但是要注意到,也有attributes存在于client端的情况。
在一个Cluster被定义好之后,它包含的命令是固定的。例如用于“控制器”和“开关”之间的一个cluster,包含一条命令“Toggle”,含义是“改变开关状态(拨动开关)”。则该cluster对于控制器而言是output cluster(发出“Toggle”命令),对于开关而言是input cluster(接收“Toggle”命令)。