The full functionality of the decision matrix is explained in the specification.
Beijing have a decision matrix consisting of eight entries. This matrix can be used to control the I/O channels. Possible actions are listed in the table below.
Action | Action code | Parameter | Description |
---|---|---|---|
NOOP | 0 | Not used | No operation. Will do absolutely nothing. |
SET | 1 | Channel (0-1) | Set output of I/O channel high. Set the output of the I/O channel given by the argument to its high state. The argument is an integer where 0 is output 0 and so on and can be in the range 0-1. |
CLR | 2 | Channel (0-1) | Set output of I/O channel low. Set the output of the I/O channel given by the argument to its low state. The argument is an integer where 0 is output 0 and so on and can be in the range 0-1. |
TOGGLE | 3 | Channel (0-1) | Toggle output for channel Toggle output four output I/O channel given by argument. The argument is an integer where 0 is output 0 and so on and can be in the range 0-1. Does not have any meaning for a channel set as input. |
STATUS | 4 | sendorindex | Works the same as when the module receive a CLASS1.CONTROL,SYNC event with the exception that zone/sub zone always is the same as of the module. |
STATUSALL | 5 | Not used | same as STATUS above but without the sendorindex argument. Will report info for all channels and types. |
You want to activate output I/O 0 when a CLASS1.CONTROL, TurnOn, Type=5 event is received.
A matrix row consist of
Byte | Description |
---|---|
0 | oaddr |
1 | flags |
2 | class-mask |
3 | class-filter |
4 | type-mask |
5 | type-filter |
6 | Action code |
7 | Action parameter |
So for example if you populate the row with the following values
Byte | Value | Description |
---|---|---|
0 | 0x00 | oaddr |
1 | 0x80 | flags |
2 | 0xff | class-mask |
3 | 0x1e | class-filter |
4 | 0xff | type-mask |
5 | 0x05 | type-filter |
6 | 0x01 | Action code |
7 | 0x01 | Action parameter |
If you double click a decision matrix row a dialog comes up which help you to set the values.