Tridonic
Tridonic is a lighting system based on the DALI bus technology. HSYCO integrates this system and communicates with it through the DALI SCI2 interface module and its communication protocol. The integration relies on a direct connection between the DALI SCI2 interface and HSYCO server’s RS-232 serial port, or through a TCP/IP to serial port gateway.
Contents
Communication
The DALI SCI2 interface module communicates with HSYCO through a RS-232 interface.
RS-232 parameters:
Baud rate | 38400 bps |
Data bits | 8 |
Stop bit | 1 |
Parity | none |
Further, the RS-232 signals RTS and DTR must be set to the following levels: RTS = +6 ... +12 V DTR = -6 ... -12 V Refer to the SCI2 manual for installation, wiring and power supply requirements.
Tridonic Configuration
On one BUS, there can be up to 64 dimmers, addressed from 0 to 63, organized in up to 16 groups (0 - 15) or individually addressable. The driver also includes the support for the MSensor 2.0 motion detector and photometer functionalities. The MSensor 2.0 can be configured to work in two different modes:
- Direct-master mode (default mode): The MSensor has a DALI address and sends motion detection and light regulation commands to the group specified by its rotary switch (if the switch is set on the value X the controlled group will be X - 1, if the switch is set on “0” the commands are broadcasted). The light intensity value measured by the light sensor is only read upon request (see I/O Events API)
- Indirect-master mode: The MSensor doesn’t have a DALI address and does not control any dimmer directly. The motion detector and the light sensor have two different eDALI (extended DALI) addresses from which they send motion and light intensity asynchronous events.
HSYCO Configuration
Options
ID | Default | Values | Description |
---|---|---|---|
discovery | true | true | auto-detects all DALI devices and groups, and automatically lists them in the systemtopo.txt file |
false | auto-detect for devices is disabled | ||
startupevents | false | true | generate IO events also during the driver’s start-up phase |
false | start generating events only after HSYCO is aligned with the current status of the system | ||
broadcastrange | 1-254 | <min>-<max> | specifies the minimum <min> and maximum<max> allowed light levels for the broadcast command |
groupsrange | g<n>:1-254 | g<n>:<min>-<max> | specifies the minimum <min> and maximum<max> allowed light levels for the group <n>. If more than one group range is to be specified, then list the ranges separated by “;”, e.g. groupsrange=g0:20-254;g1:40-250 |
luxdelta | 0 | ≥ 0 | option for MSensors. Specifies the minimum difference between light intensity readings required to generate a new event. I.e. when a “xxx.lux” event is generated, a new event (from the same sensor) will be generated only if the new value is greater than the old value plus the luxdelta value or smaller than the old value minus the luxdelta value |
The Device Configuration Database
The systemtopo.txt file contains the list of all dimmers, groups and the broadcast address that could be directly associated to graphic objects in the Web-based user interface. This file can be filled manually or automatically by HSYCO at start-up. To enable automatic discovery and automatic generation of devices’ information in the systemtopo.txt file, use the discovery option in the hsyco.ini configuration file. This is an example of an automatically generated systemtopo.txt file:
(devices) tr.0 : LIGHT ; DIMMER ; tr.1 : LIGHT ; DIMMER ; tr.2 : LIGHT ; DIMMER ; tr.g1 : LIGHT ; DIMMER ; DALI group [1,2] tr.g4 : LIGHT ; DIMMER ; DALI group [0,1] tr.broadcast : LIGHT ; DIMMER ; DALI broadcast
You should then manually add comments and other optional parameters:
(devices) tr.0 : LIGHT ; DIMMER ; door tr.1 : LIGHT ; DIMMER ; corridor 1 tr.2 : LIGHT ; DIMMER ; corridor 2 tr.g1 : LIGHT ; DIMMER ; DALI group [1,2]; corridor group tr.g4 : LIGHT ; DIMMER ; DALI group [0,1]; entrance group tr.broadcast : LIGHT ; DIMMER ; DALI broadcast
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can't connect to the panel | |
<n>
g<m> |
on | W | set the light level of the target to the last level set before the off command |
off | R | the target is off | |
W | switch the target off | ||
1...100% | R | the light level of the target corresponds to the reported value | |
W | set the light level of the target to the specified value | ||
X/Y | W | set the light level of the target to the specified fraction (e.g. a value of 1/5 corresponds to 20%) | |
min | W | set the light level of the target to the minimum level (1%) without fading | |
max | W | set the light level of the target to the maximum level (100%) without fading | |
up | W | set the light level of the target one step higher | |
down | W | set the light level of the target one step lower | |
<n>.lux[Note 1] | read | W | request the reading of the light intensity measured by the targeted MSensor |
<lux> | R | the light intensity measured by the targeted MSensor corresponds to the reported value (in lux). The reading must be requested via the “read” function | |
broadcast.lux[Note 1] | read | W | request the reading of the light intensity on all the MSensors |
e<x>.lux[Note 2]
where <x> is the eDALI address of the light sensor of the MSensor |
<lux> | R | the light intensity measured by the targeted MSensor corresponds to the reported value (in lux) |
motion | g<m>[Note 1] | R | a motion event has been reported to group <m> |
broadcast[Note 1] | R | a motion event has been broadcasted | |
e<x>[Note 2] | R | a motion event has been generated by the MSensor’s light sensor with eDALI address <x> | |
<n>.scene
g<m>.scene |
0...15 | W | set the light level of the target to the value stored for the specified scene number (from 0 to 15) |
command | <xxyy> | R | the 2-byte hexadecimal DALI frame[Note 3] has been sent to the system |
W | sends the 2-byte hexadecimal DALI frame[Note 3] to the system | ||
monitor | none | W | none of the DALI frames detected on the bus will be reported |
ignored | W | only the DALI frames detected on the bus not processed by the driver will be reported | |
all | W | all the DALI frames detected on the bus will be reported | |
<xxyy> | R | the reported 2-byte hexadecimal DALI frame[Note 3] has been detected on the bus | |
refresh | 0 | W | the secondary properties of the devices (minimum and maximum levels, fade time and fade rate) won’t be rechecked on every monitor loop iteration |
1 | W | the secondary properties of the devices (minimum and maximum levels, fade time and fade rate) will be rechecked on every monitor loop iteration | |
<n>.error
g<m>.error |
0 | R | the target works properly |
1 | R | the target is in an error state |
- Note 1
- Only available if the MSensor is configured to work in Direct-master mode (default mode).
- Note 2
- Only available if the MSensor is configured to work in Indirect-master mode.
- Note 3
- The 2-byte DALI frames consist of an 8-bit address part and an 8-bit command part.
The address byte is formatted as follows:
Type of Address | Byte Description |
---|---|
Individual address | 0AAAAAAS (AAAAAA = 0 .. 63, S = 0/1) |
Group Address | 100AAAAS (AAAA = 0 .. 15, S = 0/1) |
Broadcast Address | 1111111S (S = 0/1) |
The command byte is to be interpreted as an arc power level (light intensity) if bit S is 0. The arc power can range between 00 (off) and and FE (maximum level) expressed in hexadecimal. A 1 in the position S means that the command byte is to be interpreted as a DALI command. Refer to the following table for a list of all available commands:
Command | Description |
---|---|
00 | Extinguish the lamp without fading |
01 | Dim up 200 ms using the selected fade rate |
02 | Dim down 200 ms using the selected fade rate |
03 | Set the actual arc power level one step higher without fading |
04 | Set the actual arc power level one step lower without fading |
05 | Set the actual arc power level to the maximum value |
06 | Set the actual arc power level to the minimum value |
07 | Set the actual arc power level one step lower without fading |
08 | Set the actual arc power level one step higher without fading |
10 + scene | Set the light level to the value stored for the selected scene |
20 | Reset the parameters to default settings |
21 | Store the current light level in the DTR |
2A | Store the value in the DTR as the maximum level |
2B | Store the value in the DTR as the minimum level |
2C | Store the value in the DTR as the system failure level |
2D | Store the value in the DTR as the power on level |
2E | Store the value in the DTR as the fade time |
2F | Store the value in the DTR as the fade rate |
40 + scene | Store the value in the DTR as the selected scene |
50 + scene | Remove the selected scene from the slave unit |
60 + group | Add the slave unit to the selected group |
70 + group | Remove the slave unit from the selected group |
80 | Store the value in the DTR as a short address |
90 | Returns the status of the slave as XX |
91 | Check if the slave is working |
92 | Check if there is a lamp failure |
93 | Check if the lamp is operating |
94 | Check if the slave has received a level out of limit |
95 | Check if the slave is in reset state |
96 | Check if the slave is missing a short address |
97 | Returns the version number as XX |
98 | Returns the content of the DTR as XX |
99 | Returns the device type as XX |
9A | Returns the physical minimum level as XX |
9B | Check if the slave is in power failure mode |
A0 | Returns the current light level as XX |
A1 | Returns the maximum allowed light level as XX |
A2 | Returns the minimum allowed light level as XX |
A3 | Return the power up level as XX |
A4 | Returns the system failure level as XX |
A5 | Returns the fade time as X and the fade rate as Y |
B0 + scene | Returns the light level XX for the selected scene |
C0 | Returns a bit pattern XX indicating which group (0-7) the slave belongs to |
C1 | Returns a bit pattern XX indicating which group (8-15) the slave belongs to |
C2 | Returns the high bits of the random address as HH |
C3 | Return the middle bit of the random address as MM |
C4 | Returns the lower bits of the random address as LL |
Other than the above described commands, it is possible to send the following 2-byte DALI frames:
Frame | Description |
---|---|
A100 | All special mode processes shall be terminated |
A3XX | Store value XX in the DTR |
A5XX | Initialize addressing commands for slaves with address XX |
A700 | Generate a new random address |
A900 | Compare the random address with the search address |
AB00 | Withdraw from the compare process |
B1HH | Store value HH as the high bits of the search address |
B3MM | Store value MM as the middle bits of the search address |
B5LL | Store value LL as the lower bits of the search address |
B7XX | Program the selected slave with short address XX |
B9XX | Check if the selected slave has short address XX |
BB00 | The selected slave returns its short address XX |
BD00 | Go into physical selection mode |
The value of the events ID.command and ID.monitor is expressed as a 4-digits string “XXYY” representing the hexadecimal value (upper case letters) of the two bytes. For instance, to send the command 00 to the group 1 of our system “tr”, the following syntax will apply: tr.command = 8300
User Interface
All the devices that have been defined in the systemtopo.txt database are automatically listed in the Web Editor. Adding a slider to control a dimmer requires just a few clicks and no additional EVENTS logic.
Release Notes
3.3.0
- added support for Tridonic MSensor 2.0 devices
3.0.0
- initial release
Tridonic is a registered trademark of Tridonic.