30
www.ubisys.de
u
Field
Data Type
Description
InputAndOptions
unsigned8
A four-bit input index in the LSBs and four option flags in the MSBs.
Transition
unsigned8
Specifies the level transition to which this particular instruction applies.
Endpoint
unsigned8
Each instruction must be assigned to a suitable source endpoint in the local device.
Acceptable endpoints for S2(-R): Endpoints #3 and #4.
ClusterID
unsigned16
The 16-bit cluster ID that will be used to transmit the ZCL command payload, e.g.
0x0006 for the on/off cluster, 0x0008 for level control, etc.
CommandTemplate raw data
A variable length ZCL command template, which will be sent from the source endpoint
specified above, using the cluster ID specified above. This can be a simple off (0x00),
on (0x01) or toggle (0x02) command, or more complex commands. There might be
code in the device that modifies the command template according to intrinsic rules or
option flag settings.
Notice that this is the raw payload and does not include a leading length byte.
InputAndOptions
This field contains the physical input number in the lower four bits and indexes into the
InputConfigurations array. For example, a value of 0 identifies the first physical input.
All other bits are reserved for future use and must be written as 0, and ignored when read.
For S2/S2-R: This field may take the values 0 and 1.
Transition
The Transition field specifies when (i.e. under which conditions/circumstances) this particular
instruction shall be executed.
Field
Bit(s)
Description
HasAlternate #7 (0x80)
When this bit is set, there is another instruction that shall be executed in alternating order
with the current one, each time the other conditions are met. In this case two entries must
exist, one with the Alternate bit clear, and one with the Alternate bit set.
Alternate
#6 (0x40)
If this bit is set, this is the alternate instruction of a pair of two instructions which are
executed in alternating order. If this flag is set, “HasAlternate” must be set as well.
RFU
#5…#4 (0x30)
These bits are reserved for future use and must be written as 0 and ignored when read.
Initial State
#3…#2 (0x0C)
These bits indicate the initial state of the input:
00b: Ignore: Don’t care
01b: Pressed: The input was initially active (for less than a second)
10b: Kept pressed: The input has initially been active (for more than a second)
11b: Released. The input was initially inactive
Final State
#1…#0 (0x03)
These bits indicate the final state of the input:
00b: Ignore: Don’t care
01b: Pressed: The input is active (for less than a second)
10b: Kept pressed: The input is still active (for more than a second)
11b: Released. The input is inactive
The “don’t care” states are no real states, but rather placeholders for any other state. At any given time
the input is either released, pressed or kept pressed.
Endpoint
Identifies the source endpoint that will be used in the outgoing ZCL command frame. Notice, that you
should only use an endpoint, which hosts a cluster with the appropriate cluster ID and role (client vs.
server).
ClusterID
Specifies the cluster ID that will be used in the outgoing ZCL command frame. The cluster ID must be