Overview
Cluster ID: 0x0005
The Scenes Cluster provides attributes and commands for configuring and recalling1 Scenes. Each Scene corresponds to a set of stored values for specified attributes2, for one or more clusters, on the same end point as the Scenes cluster.
In most cases, Scenes are associated with a particular group ID. Scenes may also exist without a group, in which case the value 0x0000 replaces the group ID. Note that extra care is required in these cases to avoid a Scene ID collision, and that commands related to Scenes without a group may only be unicast, i.e., they may not be multicast or broadcast.
1 "Recalling" is the term used to describe the process of setting attribute values to those values stored using a specific Scene ID key
2 Each cluster has a limited number of attributes that have their values stored for the purpose of recalling Scenes. To see these attributes, go to the Scene Table Extensions section under each cluster.
Use Case
Outlined below are some common use cases for using the Scenes Cluster:
- User wants to set the Lock state of a door lock to a previously stored value by recalling a Scene.
- User wants to set the on/off state of a switch to a previously stored value by recalling a Scene.
- User wants to set the light level of a bulb to a previously stored value by recalling a Scene.
In general, the use case for Scenes follow a similar pattern:
- Add a Scene.
- Recall Scene at a later time to set current attribute values to stored values.
OR
- Store the current values for all of the relevant scene extension tables attributes, for all clusters, on the current endpoint.
Exploring Scenes Using RapidConnect Desktop
As is the case for most Zigbee features, the easiest way to become familiar with Scenes is to use RapidConnect Desktop. The software simplifies many of the operations required when working with Scenes.
Pre-requisites
- Coordinator device configured with the Scenes client-end cluster and Groups client-end cluster. This step should not be required if configuring the coordinator using the supplied Coordinator.xml configuration file.
- Two or more Dimmable Light devices configured with the Scenes server-end cluster and Groups server-end cluster. See here for a tutorial.
- Network formed by the coordinator, with both Dimmable Lights joined to it.
Step 1: Add two or more end devices to a Group
As explained in the overview above, Scenes are typically used along with the Group Cluster in order to recall Scenes for a group of devices, e.g. a group of Dimmable Lights.
To view the full effect of the Scene recalls it is recommended that at least 2 groups are configured so that users can see attribute changes for devices in only targeted groups.
*Follow the guide here for information on adding devices to groups.
Step 2: Configuring Scenes
Add a new Scene
Open the 'Device Management' window and select one of the joined devices in the 'Devices' list.
Expand the Scenes: Server (0x0005) tab.
- Action DropDown: Allows you to add, view, and recall Scenes.
- GroupID: Target GroupID on device. Device should already be in a group with the same ID.
- SceneID: SceneID of the new Scene
- Transition Time: Time taken to transition from one state to another one Scene is recalled
- Scene Name: Name of the new Scene(optional)
- Extension Fields: The extension fields set tell the Scene table what attribute values are to be saved when a scene is added.
- The extension field sets are added in the following format: ' ClusterID1 NumberOfAttributes1 AttributeValues1, ClusterID2 NumberOfAttributes2 AttributeValues2 '... e.g for the On/Off Cluster the following extension field set would be used to add a scene with the On/Off attribute set to OFF(0x00) = 06 00 01 00
- Multiple extension fields set can be added by separating by a comma.
Once a Scene is successfully added, it is added to the scene table.
Store a Scene
Storing a scene will automatically store the attribute values for all relevant clusters attributes on the given endpoint.
- Expand the action dropdown on the Scene tab and choose 'Store Scene'.
- Set the GroupID and SceneID of the Scene to be added.
- Click Send
- The attribute values for all clusters(0x0006 & 0x0008) on the endpoint has now been stored, see (1) below.
Repeat for other Devices and Scenes
The steps above can be repeated for each end device. Multiple Scenes can be added with various combinations of attribute values can be stored using unique SceneIDs.
Recall Scene
Once multiple Scenes have been configured, it's time to recall a Scene.
Recalling a Scene can be performed in a 2 ways.
Recalling a Scene from a single device
A Scene can be recalled by directly targeting that device(ZCL Unicast). For this, the same Scenes:Server tab used above can also be utilized.
- Expand the action dropdown and select 'Recall Scene' from the list.
- Set the GroupID(1) and SceneID(2) to the Scene thats to be recalled.
- Click 'Send'
If everything was done correctly, the current attribute values for those attributes stored in the Scene should now be the stored values. These attributes can be read to verify.
Recalling a Scene for a Group
To recall a Scene for a Group(multiple device or endpoints), the ZCL Message tab from the RapidConnect Desktop can be used.
- Transmission Type: Set to Multicast
- Group ID: ID of group with Scene to be recalled
- Cluster ID: Sene cluster (0x0005)
- Command ID: Recall Command = 0x05
- Frame Type: Set to 'Cluster Specific Command'
- Payload: GroupID and SceneID key values