Cluster Reference

This section documents the standard cluster classes which may be instantiated. See add_cluster for help on instantiating new clusters.

The default cluster ID, cluster type (server or client) and APS encryption settings of each cluster are listed. Additionally, some ZCL clusters define attributes. When present, these are listed as follows:

Name ID Type R/W Description
common name 16-bit ID 8-bit ZCL type ID read/write description of attribute

Refer to the ZCL specification for additional information about these attributes.

Cluster

Does not support a specific protocol. The Cluster class is mainly used to support generic ZigBee pass-through behavior (see send_zigbee and received_zigbee*).

ID: Unspecified

Type: Unspecified

APS Encryption: Before 1.6.0: False. As of 1.6.0: None (defaults to endpoint’s encryption level).

ZCL_Cluster

Supports the ZCL protocol. The ZCL_Cluster class is mainly used to communicate with remote instances of clusters when a more specific cluster class does not exist. For example, if a remote server cluster with ID 0x1234 exists and supports ZCL, a ZCL_Cluster client with ID 0x1234 could be instantiated locally.

This class has handlers for the following standard ZCL commands:

  • Read Attributes (0x00)
  • Read Attributes Response (0x01)
  • Write Attributes (0x02)
  • Write Attributes Undivided (0x03)
  • Write Attributes Response (0x04)
  • Write Attributes, No Response (0x05)
  • Configure Reporting (0x06)
  • Configure Reporting Response (0x07)
  • Read Reporting Configuration (0x08)
  • Read Reporting Configuration Response (0x09)
  • Report Attributes (0x0A)
  • Default Response (0x0B)
  • Discover Attributes (0x0C)
  • Discover Attributes Response (0x0D)

ID: Unspecified

Type: Unspecified

APS Encryption: Before 1.6.0: False. As of 1.6.0: None (defaults to endpoint’s encryption level).

Attributes: None

ZCL_BasicCluster_server

This is a ZCL cluster class which contains basic information about the local device. Attribute values on this cluster will be saved to file to protect against power failure. These files will be automatically read when the local device restarts. Additionally, attribute values on this cluster are shared across all instances of the cluster on endpoints of the local device. In other words, if this cluster is instantiated on more than one endpoint, changes to attribute values on one cluster instance will affect all other instances as well.

ID: 0x0000

Type: Server

APS Encryption: False

Attributes:

Name ID Type R/W Description
ZCL Version 0x0000 0x20 R The ZCL version that the local device conforms to.
Application Version 0x0001 0x20 R The version of the framework code used by the local device. The high four bits indicate the major revision and the low four bits indicate the minor revision. For example, 0x13 would indicate version 1.3
Stack Version 0x0002 0x20 R The low eight bits of the local XBee radio’s firmware version. For example, if the XBee is running 3326 firmware, this value will be 0x26.
Manufacturer Name 0x0004 0x42 R The string description of the local device’s manufacturer, up to 32 characters. Defaults to: Digi International
Model Identifier 0x0005 0x42 R The string description of the local device, up to 32 characters. Defaults to: ConnectPort X2 for Smart Energy
Power Source 0x0007 0x30 R Enumeration of where the local device is getting power. This attribute is set to specify that the power source is unknown by default.
Local Description 0x0010 0x42 RW A user-settable string describing the location of the local device, up to 16 characters. Defaults to an empty string.
Physical Environment 0x0011 0x30 RW A user-settable, profile-specific enumeration describing the environment of the local device.

ZCL_BasicCluster_client

This is a ZCL cluster class which is the corresponding client to the Basic cluster server. No additional functionality is provided.

ID: 0x0000

Type: Client

APS Encryption: False

Attributes: None

ZCL_IdentifyCluster_server

This is a ZCL cluster class which provides the interface for instructing the local device to identify itself. For example, when identifying themselves, Digi devices will blink an LED rapidly. Attribute values on this cluster are shared across all instances of the cluster on endpoints of the local device. In other words, if this cluster is instantiated on more than one endpoint, changes to attribute values on one cluster instance will affect all other instances as well.

The following cluster-specific command handlers are supported:

  • Identify (0x00)
  • Identify Query (0x01)

ID: 0x0003

Type: Server

APS Encryption: False

Attributes:

Name ID Type R/W Description
Identify Time 0x0000 0x21 RW The remaining number of seconds for which the local device will identify itself. Writing to this value is equivalent to sending an Identify command.

ZCL_IdentifyCluster_client

This is a ZCL cluster class which is the corresponding client to the Identify cluster server.

The following cluster-specific command handlers are supported:

  • Identify Query Response (0x00)

ID: 0x0003

Type: Client

APS Encryption: False

Attributes: None

ZCL_TimeCluster_server

This is a ZCL cluster class which presents the current time so that other devices on the network can synchronize to a common time value. Typically, if the local device has a Time server cluster, it will be using NTP to synchronize its time internally (see Time Synchronization). User-settable attribute values on this cluster will be saved to file to protect against power failure. These files will be automatically read when the local device restarts. Additionally, attribute values on this cluster are shared across all instances of the cluster on endpoints of the local device. In other words, if this cluster is instantiated on more than one endpoint, changes to attribute values on one cluster instance will affect all other instances as well.

ID: 0x000A

Type: Server

APS Encryption: True

Attributes:

Name ID Type R/W Description
Time 0x0000 0xE2 R The current time, in UTC 2000 (seconds since Jan 1, 2000).
Time Status 0x0001 0x18 R Bitmap representing the the synchronization state of this time server. For example, 0x01 indicates that the time server is a master time source, and 0x02 indicates that it is synchronized but not a master.
Time Zone 0x0002 0x2B RW

User-settable, signed offset from UTC (in seconds) representing the local time zone.

As of 1.5.0: Will be determined from time zone region in Python if operating system supports it (note: NDS does not support time zone regions).

Daylight Savings Start 0x0003 0x23 RW

User-settable UTC of when daylight savings time starts for the current year.

As of 1.5.0: Will be determined from time zone region in Python if operating system supports it (note: NDS does not support time zone regions).

Daylight Savings End 0x0004 0x23 RW

User-settable UTC of when daylight savings time ends for the current year.

As of 1.5.0: Will be determined from time zone region in Python if operating system supports it (note: NDS does not support time zone regions).

Daylight Savings Shift 0x0005 0x2B RW

User-settable, signet offset from standard time (in seconds) while daylight savings is in effect.

As of 1.5.0: Will be determined from time zone region in Python if operating system supports it (note: NDS does not support time zone regions).

Standard Time 0x0006 0x23 R

The standard time of the local device (seconds since Jan 1, 2000), after adjusting for the time zone.

As of 1.4.0: Attribute will only be present if Time Zone is set to a valid value.

Local Time 0x0007 0x23 R

The local time of the local device (seconds since Jan 1, 2000), after adjusting for the time zone and daylight savings.

As of 1.4.0: Attribute will only be present if Time Zone, Daylight Savings Start, Daylight Savings End, and Daylight Savings Shift are set to a valid value.

ZCL_TimeCluster_client

This is a ZCL cluster class which is used to synchronize time with a ZCL Time server cluster elsewhere on the local network. As such, if the local device has a Time client cluster it will typically be using ZCL to synchronize its time (see Time Synchronization). This means that the Time client will automatically query any Time servers it discovers, and will periodically re-query any known servers, in order to keep time on the local device synchronized. Specifically, a query involves reading the Time and Time Status attributes and checking if the status indicates that the server has a valid time. If so, the Time value is used to set the time on the local device.

ID: 0x000A

Type: Client

APS Encryption: True

Attributes: None

SE_KeyEstablishmentCluster_server

The following cluster-specific command handlers are supported:

  • Initiate Key Establishment Request (0x00)
  • Ephemeral Data Request (0x01)
  • Confirm Key Data Request (0x02)
  • Terminate Key Establishment (0x03)

ID: 0x0800

Type: Server

APS Encryption: False

Attributes:

Name ID Type R/W Description
KeyEstablishmentSuite 0x0000 0x31 R Speficies supported cryptographic schemes for key establishment on the device.

SE_KeyEstablishmentCluster_client

The following cluster-specific command handlers are supported:

  • Initiate Key Establishment Response (0x00)
  • Ephemeral Data Response (0x01)
  • Confirm Key Data Response (0x02)
  • Terminate Key Establishment (0x03)

ID: 0x0800

Type: Client

APS Encryption: False

Attributes:

Name ID Type R/W Description
KeyEstablishmentSuite 0x0000 0x31 R Speficies supported cryptographic schemes for key establishment on the device.

SE_PriceCluster_server

This is a ZCL cluster class which hosts SE Price events. Any events which have not yet expired will be stored to file to protect against power failure. These files will automatically be read when the local device restarts. Additionally, attribute values on this cluster will be saved to file to protect against power failure. These files will also be automatically read when the local device restarts.

The following cluster-specific command handlers are supported:

  • Get Current Price (0x00)
  • Get Scheduled Prices (0x01)
  • Price Acknowledgment (0x02)

ID: 0x0700

Type: Server

APS Encryption: True

Attributes:

Name ID Type R/W Description
Tier Label 1 0x0000 0x41 RW The label for price tier 1 as a string, up to 12 characters.
Tier Label 2 0x0001 0x41 RW The label for price tier 2 as a string, up to 12 characters.
Tier Label 3 0x0002 0x41 RW The label for price tier 3 as a string, up to 12 characters.
Tier Label 4 0x0003 0x41 RW The label for price tier 4 as a string, up to 12 characters.
Tier Label 5 0x0004 0x41 RW The label for price tier 5 as a string, up to 12 characters.
Tier Label 6 0x0005 0x41 RW The label for price tier 6 as a string, up to 12 characters.

SE_PriceCluster_client

This is a ZCL cluster class which is the corresponding client to the Price cluster server. This class receives SE Price events, keeps track of their start and end times and generates RPC response messages as appropriate.

The following cluster-specific command handlers are supported:

  • Publish Price (0x00)

ID: 0x0700

Type: Client

APS Encryption: True

Attributes: None

SE_DemandResponseLoadControlCluster_server

This is a ZCL cluster class which hosts SE DRLC events. Any events which have not yet expired will be stored to file to protect against power failure. These files will automatically be read when the local device restarts.

The following cluster-specific command handlers are supported:

  • Report Event Status (0x00)
  • Get Scheduled Events (0x01)

ID: 0x0701

Type: Server

APS Encryption: True

Attributes: None

SE_DemandResponseLoadControlCluster_client

This is a ZCL cluster class which is the corresponding client to the DRLC cluster server. This class receives SE DRLC events, keeps track of their start and end times and generates RPC response messages as appropriate.

The following cluster-specific command handlers are supported:

  • Load Control Event (0x00)
  • Cancel Load Control Event (0x01)
  • Cancel All Load Control Events (0x02)

Note

This class is not currently intended to be part of a functioning DRLC implementation, and is only meant to provide notification of DRLC events on the network. Report Event Status commands will not be generated by this class even if the device class attribute is changed to a value other than its default of 0x0000.

ID: 0x0701

Type: Client

APS Encryption: True

Attributes:

Name ID Type R/W Description
Utility Enrollment Group 0x0000 0x20 RW The current utility enrollment group of this client, or 0x00 for no group.
Start Randomize Minutes 0x0001 0x20 RW The client will wait a random number of minutes (up to this many) before taking action after a DRLC event starts. The client currently does not take action on DRLC events so this attribute has no effect.
Stop Randomize Minutes 0x0002 0x20 RW The client will wait a random number of minutes (up to this many) before taking action after a DRLC event ends. The client currently does not take action on DRLC events so this attribute has no effect.
Device Class 0x0003 0x21 R Bitmap representing DRLC device classes that this client corresponds to. Defaults to 0x0000, or no device classes.

SE_MessageCluster_server

This is a ZCL cluster class which hosts SE Message events. Any events which have not yet expired will be stored to file to protect against power failure. These files will automatically be read when the local device restarts.

The following cluster-specific command handlers are supported:

  • Get Last Message (0x00)
  • Message Confirmation (0x01)

ID: 0x0703

Type: Server

APS Encryption: True

Attributes: None

SE_MessageCluster_client

This is a ZCL cluster class which is the corresponding client to the Messaging cluster server. This class receives SE Message events, keeps track of their start and end times and generates RPC response messages as appropriate.

The following cluster-specific command handlers are supported:

  • Display Message (0x00)
  • Cancel Message (0x01)

ID: 0x0703

Type: Client

APS Encryption: True

Attributes: None

SE_SimpleMeteringCluster_client

This is a ZCL cluster class which is the corresponding client to the Metering cluster server.

The following cluster-specific command handlers are supported:

  • Get Profile Response (0x00)
  • Request Fast Poll Mode Response(0x03)

ID: 0x0702

Type: Client

APS Encryption: True

Attributes: None

OTA_Cluster_Server

This is the ZCL cluster class which implements the ZigBee OTA Cluster and provides firmware images to client devices on the network.

The following cluster-specific command handlers are supported:

  • Query Next Image Request (0x01)
  • Image Block Request (0x03)
  • Image Page Request (0x04)
  • Upgrade End Request (0x06)
  • Query Specific File Request (0x08)

ID: 0x0019

Type: Server

APS Encryption: True

Attributes: None