
up direction, another one for the down direction.
The idea is that each transition from the released state to the pressed state fires a “move up/open”
command for the first button (“move down/close” command for the second button), and each
transition from the pressed to the released state fires a “stop” command (same for both buttons). The
trick here is to not send a stop command when the transition originates in a kept-pressed command.
3.9.1. Examples
If stationary switches are connected to the inputs of a J1 or J1-R the following instructions shall be
used:
1
41 element type: 0x41 (raw data)
2
04 00 element count: 0x0004 (4 entries)
3
4
06 element #1: six bytes
5
00 InputAndOptions: 0x00
6
0D Transition: released -> pressed
7
02 Source: Endpoint #2 (hosts window covering client cluster on J1)
8
02 01 Cluster ID: 0x0102 – window covering
9
00 ZCL Command Template: Move up/open
10
11
06 element #2: six bytes
12
00 InputAndOptions: 0x00
13
03 Transition: any state -> released
14
02 Source: Endpoint #2 (hosts window covering client cluster on J1)
15
02 01 Cluster ID: 0x0102 – window covering
16
02 ZCL Command Template: Stop
17
18
06 element #3: six bytes
19
01 InputAndOptions: 0x01
20
0D Transition: released -> pressed
21
02 Source: Endpoint #2 (hosts window covering client cluster on J1)
22
02 01 Cluster ID: 0x0102 – window covering
23
01 ZCL Command Template: Move down/close
24
25
06 element #4: six bytes
26
01 InputAndOptions: 0x01
27
03 Transition: any state -> released
28
02 Source: Endpoint #2 (hosts window covering client cluster on J1)
29
02 01 Cluster ID: 0x0102 – window covering
30
02 ZCL Command Template: Stop
Here, the blind moves as long as either switch is turned on. As soon as it is turned off, motion stops.
The same approach can be applied to a C4, which allows two connect four switches and thus
provides two window covering controllers (or a mix of one window covering controller plus one or two
other functions).
3.10. Single Stationary Switch as Scene Selector Switch
Related C++ class: CZigBeeDeviceSetupInputPatternSwitchScene.
This recipe allows to recall one or two scenes, i.e. one in the first stable position of the switch and
optionally one in the second. In contrast to all other input actions, a recall scene command will always
be sent as groupcast to the group specified in the payload of the recall scene command.
15