Manual Dalicore en 7
Manual Dalicore en 7
MA N UA L
2
Contents
1 Introduction 7
2 Protocols 11
3 Installation 15
4 Network 19
5 DALI Patch 23
6 DMX Patch 28
7 Scene 31
8 Show Control 33
9 Protocol Conversion 46
10 Monitors 51
11 Settings 53
12 vManager 59
13 Kiosc 63
Appendices 65
A Trigger Types 66
B Task Types 75
C Templates 82
D API 83
3
©2023 Visual Productions BV. All rights reserved.
No parts of this work may be reproduced in any form or by any means - graphic,
electronic, or mechanical, including photocopying, recording, taping, or infor-
mation storage and retrieval systems - without the written permission of the
publisher.
While every precaution has been taken in the preparation of this document, the
publisher and the author assume no responsibility for errors or omissions, or for
damages resulting from the use of information contained in this document or
from the use of programs and source code that may accompany it. In no event
shall the publisher and the author be liable for any loss of profit or any other
commercial damage caused or alleged to have been caused directly or indirectly
by this document.
Due to the dynamic nature of product design, the information contained in this
document is subject to change without notice. Revisions of this information or
new editions may be issued to incorporate such changes.
Products that are referred to in this document may be either trademarks and/or
registered trademarks of the respective owners. The publisher and the author
make no claim to these trademarks.
4
Declaration of Conformity
We, manufacturer Visual Productions BV, herby declare under sole responsibility,
that the following device:
DaliCore
Full name and identification of the person responsible for product quality and
accordance with standards on behalf of the manufacturer
Date: Place:
November 24th, 2022 Haarlem, The Netherlands
V I S UA L P R O D U C T I O N S B V
IZAAK ENSCHEDEWEG 38A
N L- 2 0 3 1 C R H A A R L E M
THE NETHERLANDS
TEL +31 (0)23 551 20 30
W W W. V I S UA L P R O D U C T I O N S . N L
I N F O @ V I S UA L P R O D U C T I O N S . N L
ABN-AMRO BANK 53.22.22.261
BIC ABNANL2A
IBAN NL18ABNA0532222261
VAT N L 8 5 1 3 2 8 4 7 7 B 0 1
CO C 5 4 4 9 7 7 9 5
Chapter 1
Introduction
Thank you for choosing the DaliCore. The DaliCore is a solid state controller
designed for controlling DALI and DMX lighting systems.
The DaliCore is an application lighting controller that supports DALI (version
1 of the protocol). An ideal solution for a stand-alone DALI installation as the
DaliCore takes care of the commissioning and daily control of the DALI fixtures.
An internal web-server provides the web-interface through which you can pro-
gram the DaliCore. A modern browser is required to access this web-interface
during set-up. A browser or computer is not required for stand-alone use after
the initial set-up.
At the time of writing this manual the DaliCore firmware was at version 1.12.
This manual discusses installing and programming the unit. Chapter 2 provides
background information on the communication protocols used in the DaliCore.
Chapters 3 and 4 cover how to set up the unit and configure the network con-
nection.
The DaliCore needs to know which fixtures are connected to both the DALI
and DMX port. Entering this data is called patching and this is discussed in
chapters 5 and 6.
7
Chapter 7 discussed directly controlling fixtures and programming lighting scenes.
Responding to (external-)triggers, automation and protocol conversion is cov-
ered in chapters 8 and 9.
Incoming and outgoing data can be monitored, as covered in chapter 10. The
DaliCore’s device settings are listed in chapter 11.
Finally, the DaliCore is compatible with complimentary software tools vManager
and Kiosc. These tools are discussed in chapters 12 and 13 respectively.
1.1 Compliance
This device is in compliance with CE, UKCA and FCC regulations.
1.2 Features
The feature set of the DaliCore includes:
• DALI
• DT-6 and DT-8
• DMX-512 (ANSI E1.11) optically isolated port (bi-directional)
• RDM (ANSI E1.20)
• Ethernet based, supporting protocols like UDP, OSC, Art-Net and sACN
• Web-based user-interface for programming
• 4 GPI ports
• PoE (Power Over Ethernet) Class I
• Bundled with vManager software
• Compatible with Kiosc software
1.3 Limitations
The DaliCore is a powerful device with many possibilities, however, there are
some limitations as shown in the following table.
8
DALI Fixtures 64
DMX Fixtures 32
Actionlists 8
Actions per list 48
Actions system-wide 64
Tasks per Action 8
Tasks system-wide 128
Variables 10
Timers 4
The DMX playback implemented in the DaliCore supports 16 static scenes; one
can be active at a time.
9
not powered. The DaliCore will load all its data back from the flash memory
upon startup.
This memory copy process is conducted automatically by the DaliCore and
should not be of any concern of the user. One point of consideration is, however,
that after making a change the unit should be given time to perform the copy to
flash. As a rule of thumb, do not disconnect the power from the device within
30 seconds from making a programming change.
10
Chapter 2
Protocols
The DaliCore supports various protocols. This chapter describes these protocols
and to which extent they are implemented in the DaliCore.
2.1 DALI
Digital Addressable Lighting Interface (DALI) is a protocol for controlling light-
ing systems. DALI has been developed to replace 0-10V controlled lighting. The
protocol is owned by DiiA (Digital Illumination Interface Alliance) and defined
in the IEC 62386 standard.
A DALI network consists of at least one controller and a bus power supply.
Between one and maximum 64 lighting fixtures can be connected to the network.
The communication is bi-directional via an asynchronous, half-duplex, serial
protocol over a two-wire bus at a transfer rate of 1200 bit/s. The wiring of the
network can be made in a bus or star topology, or a combination of the two.
The controller can address fixtures individually, per group or all together (broad-
cast). Each fixture has an address between 0 and 63. These addresses are as-
signed during the commissioning of the system. The DaliCore can perform these
commissioning steps.
11
The bus power supply (e.g. figure 2.1) puts 16V DC on the bus wires.
The DaliCore supports DALI version 1; DALI2 is not supported.
2.2 DMX-512
DMX-512 is the standard communication protocol for stage lighting. Its official
name is E1.11-2008 USITT DMX512-A. Nowadays the reach of the DMX proto-
col has extended beyond entertainment lighting and is also used for architectural
lighting.
Originally one DMX network contained 512 channels which is called a ’universe’.
With the growing size and complexity of lighting systems it is now very common
for a system to compose of multiple universes, each conveying 512 channels.
It is advised to use a shielded twisted pair cable for DMX cabling. The cable
should be terminated with an 120 Ohm resistor.
DMX-512 is a very successful protocol with, however, a few limitations. The
maximum number of attached devices is limited to 32 and they all have to be
connected in bus-topology having one cable running via each device. Further-
more, a DMX-512 cable should not be longer than 300 meters.
The DIN Rail RdmSplitter from Visual Productions (See figure 2.2) helps tackle
those inconvenient limitations. The Splitter takes a DMX signal and sends it
out again on its 6 DMX output ports for scaling group topology. Each output
port is capable of driving 32 more devices. The Splitter can also function as a
signal booster as each port supports another 300 meter long connection.
2.3 RDM
The Remote Device Management (RDM) protocol - officially called ANSI E1.20
- is build on top of the DMX-512 protocol. RDM enhances DMX with bi-
directional communication allowing the fixtures to be detected, addressed and
polled for status information.
12
Although standard DMX cables can be used, the equipment requires specific
electronic considerations for being RDM capable.
The DaliCore can discover RDM fixtures, set starting addresses and choose
modes.
2.4 GPI
The DaliCore features four General Purpose Input (GPI) ports that can be
connected to external equipment, switches and sensors. State changes on these
GPI ports can be used to trigger programmed events inside the DaliCore.
Each GPI port can be switched between Digital and Analog. Set to Digital
the port works as a contact-closure. In Analog mode the port is a 0-10V level
input.
2.5 Art-Net
The Art-Net protocol primarily transfers DMX-512 data over Ethernet. The
high bandwidth of an Ethernet connection allows Art-Net to transfer up to 256
universes.
The data sent out for Art-Net does put a certain load on the network, therefore
it is recommended to disable Art-Net when not in use.
The DaliCore supports sending and receiving of one universe of Art-Net data.
2.6 sACN
The streaming Architecture of Control Networks (sACN) protocol uses a method
of transporting DMX-512 information over TCP/IP networks. The protocol is
specified in the ANSI E1.31-2009 standard.
The sACN protocol supports multi-cast in order to take efficient use of the
network’s bandwidth.
The DaliCore supports sending and receiving of one sACN universe.
2.7 TCP
The Transmission Control Protocol (TCP) is a core protocol of the Internet
Protocol Suite. It is used for its reliable, ordered and error checked delivery
of a stream of bytes between applications and hosts over IP networks. It is
considered ’reliable’ because the protocol itself checks to see if everything that
was transmitted was delivered at the receiving end. TCP allows for the re-
transmission of lost packets, thereby making sure that all data transmitted is
received.
The DaliCore supports receiving TCP messages.
13
2.8 UDP
User Datagram Protocol (UDP) is a simple protocol for sending messages across
the network. It is supported by various media devices like video projectors and
Show Controllers. It does not incorporate error checking, therefor it is faster
than TCP but less reliable.
There are two ways how to have the DaliCore respond to incoming UDP mes-
sages. The API (see page 84) makes typical DaliCore functions available through
UDP. Furthermore, custom messages can be programmed in the Show Control
page (see page 33). This is also the place where to program outgoing UDP
messages.
2.9 OSC
Open Sound Control (OSC) is a protocol for communicating between software
and various multi-media type devices. OSC uses the network to send and receive
messages, it can contain various information.
There are apps available for creating custom-made user interfaces on iOS (iPod,
iPhone, iPad) and Android. These tools allow to program fool-proof user-
interfaces for controlling the device. E.g. Kiosc from Visual Productions.
There are two ways how to have the DaliCore respond to incoming OSC mes-
sages. Firstly, the API (see page 83) makes typical DaliCore functions available
through OSC. Secondly, custom messages can be programmed in the Show Con-
trol page (see page 33).
2.10 DHCP
The Dynamic Host Configuration Protocol (DHCP) is a standardised network
protocol used on Internet Protocol (IP) networks for dynamically distributing
network configuration parameters, such as IP addresses.
The DaliCore is a DHCP client.
14
Chapter 3
Installation
3.1 Mounting
The DaliCore is DIN rail mounted. The unit takes up 6 DIN modules.
3.2 Power
The DaliCore requires a DC power supply between 9 and 24 Volt with a mini-
mum of 500mA. The DC connector is two-pin screw terminal.
The DaliCore is also Power-over-Ethernet (PoE) enabled. It requires PoE Class
I.
Please note that the DaliCore is shipped without a DC power-supply.
3.3 DALI
A DALI system requires a bus power-supply on the DALI bus. Figure 3.1
illustrates a bus power-supply connected to the DALI network. Please note a
separate power-supply is needed to power the DaliCore.
The DaliCore can detect if a bus power-supply is missing. In that case the
message as seen in figure 3.2 is shown on the DALI Patch.
3.4 DMX
The DMX cable is connected to the DaliCore via a three-pin screw terminal
(see figure 3.3).
The port can be configured either as DMX input or DMX output. This setting
is discussed on page 54.
15
Figure 3.1: DALI connections
3.5 GPI
The DaliCore features four General Purpose Inputs (GPI) ports that can be
connected to external equipment, switches and sensors. State changes on these
GPI ports can be used to trigger programmed events inside the DaliCore.
Each GPI port can be switched between ’digital’ and ’analog’. In the digital
mode the signal is held up by an internal pull-up resistor and results in a logic
’0’. The external equipment is intended to short the port’s pin to the provided
ground pin. This short will create a logic ’1’. All four ports share one common
ground pin.
When set to analog the external equipment is supposed to supply a voltage
between 0V and 10V to the port’s pin. For convenience, a 10V supply is available
on one of the pins of the GPI connector. Please refer to figure 3.4 for the pinout
of the GPI connector. Be careful not to supply more than 10V to the GPI port
as that might cause permanent damage.
Figure 3.5 shows examples of how to wire a contact-closure to a GPI port set
to digital. And it shows an example of potentiometer connected to a GPI port
set to analog.
16
Figure 3.3: DMX connection
Please refer to page 57 for more information on configuring the GPI ports.
Programming events based on GPI activity is done in the Show Control page,
which is discussed on page 33.
The green connector used for the GPI port has part number CTB9200/6A and
replacements can be ordered from Farnell/Newark (order code 3881880).
17
(a) Contact-closure (b) Potentiometer
18
Chapter 4
Network
The Ethernet port on the DaliCore is auto-sensing; it does not matter whether
a cross or straight network-cable is being used. Although the Ethernet port is
classified as 100 Mbps, buffer limits may apply for specific tasks as API messages.
19
4.1 IP Address
The DaliCore supports both static IP addresses and automatic IP addresses. By
default, the DaliCore is set DHCP in which it will be automatically assigned an
IP address by the DHCP server in the network. The ’DHCP server’ is typically
part of the router’s functionality.
Static IP addresses are useful when there is no DHCP server in the network, for
instance when there is a direct peer-to-peer connection between a DaliCore and
a computer. It is also useful in permanent installations where the IP address
of the DaliCore is known by other equipment and therefor should not change.
When using DHCP there is always the risk of automatically being given a new
IP address in the event that the DHCP server is replaced. When using static
IP addresses make sure that all equipment on the network have unique IP ad-
dresses.
The DaliCore’s LED helps to determine which kind of IP address is set. The
LED will indicate red when using DHCP and it will indicate white in the case
of a static IP address.
There are three ways to change the IP address setting of the DaliCore.
20
• By briefly pressing the reset button on the device it toggles between
static and automatic IP addresses. By pressing and holding the reset
button (see figure 4.2) on the device for 3 seconds, it will reconfigure the
unit to the factory default IP address and subnet mask. No other settings
will be changed. The default IP address is 192.168.1.10 with the subnet
mask set to 255.255.255.0.
4.2 Web-interface
The DaliCore features an inbuilt web-server. This web-interface can be accessed
via a standard browser. It is recommended to use any of the following browsers:
• Microsoft Edge
• Google Chrome (v102 or higher)
• Apple Safari (v15 or higher)
• Mozilla Firefox (v54 or higher)
The web-interface enables you to configure and program the DaliCore. When
browsing to the unit the home page (figure 4.3) will appear first. The home
page is read-only; it provides information but does not allow for changing any
setting. The other pages present many settings that can be edited. These pages
will be discussed in the subsequent chapters.
21
4.2.1 Uptime
This field indicates how long the unit has been alive since its last reboot.
4.2.3 Master IP
When the unit is not in Stand Alone mode, then this field displays the IP
number of system that is mastering the DaliCore. Refer to chapter ?? for more
information on operating modes.
22
Chapter 5
DALI Patch
The DALI Patch page is the starting point when using the DaliCore to control
DALI fixtures. This page is used for the commissioning of the DALI fixtures.
5.1 Commission...
DALI fixtures that still have their factory default settings do not have a short
address assigned to them. A short address is a value between 0 and 63. Each
fixture should have a unique short address. The process of giving these fixtures
an address is called commissioning.
Use the Commissioning... button to bring up the commissioning dialog; it offers
23
the following choices:
• Find fixtures that have been commissioned before. This function only
reads the DALI network, it does not alter any settings in fixtures.
• Only New fixtures that do not have a short address assigned yet will be
found. Each will be given a free address.
• First, the current patch will be cleared. Then All connected fixtures will
be given a new address regardless whether they already had an address or
not.
• Re-commission selected fixtures only. These fixtures will be given
new addresses. If multiple fixtures share the same short address then
the communication will be corrupted. This option helps you restore this
situation.
5.2 Address
DALI fixtures require a short address in the range of [0,63]. Use the Address
dialog to give each fixture a unique address.
5.3 Rename
The Rename dialog allows you to assign a label to the fixture. This label is
stored in the DaliCore.
24
5.4 Group
The Group dialog (see figure 5.4) enables you to specify in which groups a
particular fixture is present. Once present in a group, this fixture will listen to
all commands send to this group ID.
5.5 Fade
The Fade Time is the time in seconds it will take the fixture to reach a newly
instructed lighting level.
The Fade Rate defines the size of the delta when using up and down commands.
25
5.6 Levels
The Actual Level is the light level the fixture is currently emitting.
The Minimum Level is the lowest brightness the fixture will go to; commands
to set the fixture at a lower level than the minimum will fade to minimum. Off
/ level 0 is always available regardless of minimum.
The Maximum Level is the highest lighting level the fixture will go to; the fixture
will also fade to the maximum brightness when commands will try to set the
lighting level higher than this maximum setting.
At power-on the fixture will automatically set the intensity at the Power on
level .
The Failure Level is the lighting level the fixture will go to when there is a
failure on the DALI bus, for example when there is no DALI power supply.
5.7 Locate
When the Locate checkbox is enabled, then all fixtures will be doused except the
selected fixtures; they will be fully on. This function will help identify selected
fixtures.
5.8 Info
The Info section displays the settings currently stored in the DALI fixture.
26
5.9 Status
The Status section displays possible faults reported by the DALI fixture.
27
Chapter 6
DMX Patch
The DMX Patch page is the starting point when using the DaliCore to control
DMX fixtures. This page is used for identifying which fixtures will be controlled.
Up to 32 fixtures can be entered.
6.1 Address
DMX starting addresses range between 1 and 512. The DaliCore automati-
cally sets the DMX address when adding fixtures to the patch, by finding the
first available DMX channel in your configuration. You are free to change the
address.
28
If you have multiple fixtures selected, the DaliCore will set the entered address
for the first selected fixture and will automatically have the next selected fixtures
follow the previous ones. For example, if you select four RGB fixtures in the
patch and set the address to 101, this will result in addresses 101, 104, 107 and
110 for the selected fixtures.
6.2 Personality
Each fixture requires a personality; a profile that matches the fixture’s DMX
traits. The personality can be composed out of the following parameters:
I Intensity
R Red
G Green
B Blue
C Cold White
W Warm White
A Amber
Z Zoom
F Focus
S Special
When a parameter is 16-bit it requires two DMX channels. In this case, the fine
channel is denoted by the parameter character in small capitals. E.g. a 16-bit
RGB fixture, occupying 6 DMX channels, would have the following personality
RrGgBb.
A personality string can be entered directly in the patch table or by using the
Personality dialog (figure 6.2).
6.3 Fade
Pressing the Fade button will bring up a dialog (figure 6.3) where a fade time
can be set for the selected fixtures. This fade time will be applied to all scene
changes.
29
Figure 6.2: Personality dialog
6.5 Discover
Use the Discover button to search for RDM capable fixtures. Fixtures found
via a RDM discovery will show their RDM UID in the patch table.
Before using RDM, RDM needs to be enabled. This can be done on the Patch
or Settings page. By default RDM is disabled.
6.6 Locate
When the Locate checkbox is enabled, then all fixtures will be doused except the
selected fixtures; they will be fully on. This function will help identify selected
fixtures.
30
Chapter 7
Scene
The Scene page enables you to store and recall lighting scenes for both the DALI
and DMX luminaires.
For the DALI, the scene and group data is stored inside the fixtures. Where as
for DMX this data is stored in the DaliCore.
7.1 Scenes
There are 16 scenes. Each scene holds a certain lighting level for each fixture. It
is also possible set a don’t care value in a scene. In this case, when the scene is
called the luminaire does not change its levels. In DALI the value 255 reserved
31
for don’t care.
To program a scene, select some fixtures, set their levels and press the Record
button and finally one of the scene buttons.
A scene is simply recalled by pressing its button (make sure the Record button
is not active).
7.2 Groups
Luminaires can be organized into groups. There are 16 groups, each can be
empty or hold a number of luminaires.
To program a group, select some fixtures, press the Record button and finally
one of the group buttons.
A group is simply recalled by pressing its button (make sure the Record button
is not active).
32
Chapter 8
Show Control
The DaliCore can interact with the outside world; the contact-closures can be
triggered or it can send and receive messages and values through various proto-
cols. It is possible to automate the DaliCore by having it respond automatically
to incoming signals. An example of this would be to activate a scene upon
receiving a certain UDP message via the network.
Another option is integrating the DaliCore with other systems, by using the
various protocols it can receive to trigger its functionality. The Show Control
page (See figure 8.1) enables this kind of programming to be made.
The Show Control page presents a system of actions. A signal that the DaliCore
should to respond to or perhaps convert into some other signal, needs to be
33
expressed in an action. Before programming actions please consider the show
control structure in figure 8.2.
Inside the action we define the trigger and tasks. The trigger specifies for which
signal to filter. In the above DMX example the trigger would be set to ’channel
1’ and ’channel 2’ respectively. The tasks determine what the DaliCore will do
when this action is triggered. Several tasks can be placed in the action. There
are tasks available for a wide range of DaliCore features and external protocols.
Task types are detailed in Appendix B on page 75.
34
DALI Received DALI messages.
Scene Events generated by the scenes
Fixture Events generated by the fixtures
Kiosc Triggers from Kiosc. For each Action various controls can
be chosen such as buttons and sliders, colour picker etc. The
order of the actions will control the arrangement in Kiosc.
GPI GPI port activity
OSC OSC network messages
UDP UDP network messages
TCP TCP network messages
DMX Input DMX received on the DMX port (switch port to Input in
the Settings page)
Art-Net Art-Net DMX data
sACN sACN DMX data
RDM RDM discovery result
System Events such as ’Start up’
Timer There are 4 internal timers in the DaliCore. An event can
be raised when a timer starts or ends. Timers are set and
activated by the Timer tasks.
Variable There are 10 Variables in the DaliCore. The Variable source
can trigger when the value of a variable is changed or
refreshed. Variables are changed or refreshed using the
Variable task.
Randomizer The Randomizer source can trigger on a number randomly
created by the Randomizer task.
Actionlist Triggers whenever an Actionlist is enabled or disabled.
User List 1-4 These actionlists have no trigger value. They can only be
triggered by the Action task. They are useful for advanced
programming.
Actionlists can be temporarily suspended by disabling their checkbox in the
Show Control page. There is also a task available to automate changing the
state of this checkbox.
8.2 Actions
Actions are executed when a certain signal is received. This signal is defined by
the trigger. A trigger is always relative to the actionlist the action belongs to.
For example, when the trigger-type is set to ’Channel’ then it refers to a single
DMX channel if the action is placed inside a ’DMX Input’ list and it means a
single Art-Net channel if the action resides in an Art-Net actionlist.
35
Figure 8.3 shows the screen when editing an action.
8.3 Tasks
Tasks are added to an action in order to specify what to do when it gets executed.
Up to 8 tasks can be included in an action, systemwide there is a maximum of 128
tasks. The tasks are executed in the order of the list. There is a wide selection of
tasks available to choose from, they include altering any of the internal software
features like playbacks and recorder but also sending out messages through any
of the supported protocols. The tasks are organised in categories. Once a task is
chosen from these categories each task allows for further choice between several
Features and Functions. Tasks contain up to two parameters that might be
required for its execution.
If the event that triggers the action passes a parameter along then this parameter
can be used in a task. The Set function makes a task use a fixed value, however,
36
when using the Control function then the trigger’s parameter is used. This is
very useful for conversions between protocols.
For example when converting 0-10V to DMX the GPI action specifies the port
(e.g. #1) and flank (e.g. OnChange) on which it will trigger. The actual 0-10V
level sampled on the GPI port will be passed along and fed into the action.
Then when a task (e.g. DMX) uses the function Control this 0-10V level will
be used for setting the DMX value.
A task can be tested by selecting it and pressing the ’execute’ button in the
Edit Action dialog. The complete action can also be tested; go to the Show
Control page, select the action and press the Execute button.When either of
these Execute buttons are used, the source of the Control value for tasks will
be the Execute button. The result will depend on the chosen task and feature,
but will most likely be 100%, 1.0, or 255 when pressed and 0%, 0.0, or 0 when
depressed.
Appendix B provides a detailed overview of the available tasks, features, func-
tions and parameters.
8.4 Templates
The Show Control page presents a list of templates. A template is a set of
actionlists, actions and task. These templates configure the DaliCore to perform
typical functions; for example convert Art-Net to DMX or control the 16 DALI
scenes through OSC. The templates thus save time; otherwise actions should
have been set up manually. They can also function as a guide to soften the
learning curve on actions; a lot can be learned from adding a template and then
exploring the actions and tasks it created.
Please note that some templates require settings to be changed in the settings
page; for example the ’Receiving Art-Net’ template needs the DMX outlets to
be set to outputs in order to achieve an Art-Net to DMX conversion.
Appendix C gives an overview of the available templates.
8.5 Variables
Variables are part of the show control system in the DaliCore. There are vari-
ables and each can hold a value in the range of [0,255]. These values can be
manipulated by tasks and can be used for advanced action programming. Vari-
ables can be added as sources in order to have actions triggered when a variable
changes value.
You can see the status of the variables in the monitor page, as discussed on page
51.
Please note that the variable values are not stored between power cycles.
To illustrate the use of variables, please see the following example in which a
variable is used to keep track of the last activated scene between power-cycles.
(By default, the DaliCore does not remember which scene was active after a
37
power-cycle.) For simplicity, we assume that an external system is selecting
cues inside the DaliCore by sending UDP messages.
• Program 4 scenes on the Scene page.
• Add the Variable source and insert one action. If the variable changes
then jump to the appropriate scene by adding a Scene task to this action.
• Have the external system use the UDP API to set the variable val-
ues in order to select a cue. The appropriate API message is
core-va-1-set=<integer> where <integer> is the scene number.
38
• Add the System source and insert one action. At start-up, trigger a
variable ’change’ in order to jump to the previously selected scene.
8.6 Timers
The show control system of the DaliCore features four internal timers. By using
tasks, the timers can be set to certain durations and they can be started. Once
started the timers will countdown to zero. When the timer reaches zero it will
generate an event that can be captured by using the Timer actionlist. Please
note that the timer values are not stored between power cycles. You can see the
status of the four timers in the monitor page, under Timers.
The next example will show a timer being used to regularly send a UDP message
to an external system in order to notify that the DaliCore is still ’alive’.
• Setup and start the timer at power-on. This is done by creating an action
in the System actionlist.
39
• If the timer expires then send the UDP message and restart the timer.
This is done by creating an action in the Timer actionlist.
8.7 Randomizer
The Randomizer is an internal software feature that can generate a (pseudo-
)random number. This is useful for having an event trigger a random lighting
scene in a themed environment. The randomizer is activated by the Randomizer
task. The result of the randomizer’s calculation can be obtained by catching
the event in the Randomizer actionlist.
The following example shows how to use a Kiosc button to trigger a random
scene.
40
• Inside the Kiosc actionlist is a button-action. This triggers the task
Randomizer, which is set to a range of between 1 and 6. (Parameters 1
and 2 of the task Randomizer)
41
• Next in the actionlist Randomizer there is an action triggered by the
Randomizer. The task Scene, controlled by the result of the Randomizer,
jumps to a scene.
42
The following example demonstrates the use of a User List. Imagine a scenario
in which the GPI is used to change between three lighting scenes. To prevent
unauthorised use a key-contact-closure is connected to GPI pin 4; the first three
GPI should only respond when pin 4 is a closed contact by using the key.
• Program three scenes
43
• Create an User List with three actions.
44
• Add an GPI actionlist and link the first three GPI ports to the action in
the User List.
• Use the fourth GPI port enable or disable the User List.
For brevity the state of the GPI port 4 is ignored at start-up. Usually additional
actions are created to Refresh this port on start-up.
45
Chapter 9
Protocol Conversion
46
Control Protocols Information
UDP -
TCP -
OSC percentage [0%,100%], number, string, colour, On/Off
DMX number [0,255]
Art-Net number [0,255]
sACN number [0,255]
Although DMX, Art-Net and sACN are dedicated lighting protocols and natu-
rally fit in the next category, their individual channels lend themselves well for
conveying control messages.
Setting up a conversion is done in the Show Control page. First add the incoming
protocol from the Sources table into the Actionlist table. Then add an action to
this new actionlist. Inside this action the trigger-flank field (if visible) should be
set to Change; as this action should be triggered every time the incoming signal
changes. Furthermore, a task need to be added, the task-type determines which
protocol is the output of our conversion. It is important that the Function in
this task is set to Control. This will make sure that the output is not a fixed
value, rather it will output the information received from the incoming signal.
Figure 9.1 shows a conversion between DMX and OSC. This example assumes
the DMX port is set to Input on the Settings page.
47
Step 1
Step 2
incoming Art-Net and sACN together into the DMX output. Also, at any point
it is possible to merge the incoming DMX data with the data generated by the
internal scenes.
To set up the conversion go to the Show Control page and choose the incom-
ing protocol from the Sources table and add it to the Actionlists table. Then
add an action for the DMX Universe you wish to convert. The trigger-type in
the actions should be set to UniverseA to make the DaliCore process the 512
channels as a whole rather then process individual channels. The action should
contain a DMX-task with the Feature set to Universe; all DMX Universe data
is first being copied into the DaliCore’s internal DMX buffer. From this buffer
it can be copied to the DMX, Art-Net and/or sACN outlet using the function
Control HTP. The different protocols can be enabled or disabled on the settings
page. Figure 9.2 provides a schematic for this data flow.
The additional Clear function is not related to the data merging process; it is
just a function to clear the whole universe to zero.
Please note that the Templates table provides pre-programmed configurations
for the most popular conversions.
A very typical conversion that can illustrate as an example is to convert Art-
Net universe 0.0 to the DMX output. Figure 9.3 shows the actionlist, figure 9.4
shows the contents of the action and figure 9.5 shows the required configuration
of the Settings page.
48
Figure 9.2: DMX merging data flow
49
Figure 9.5: Converting Art-Net to DMX step 3
50
Chapter 10
Monitors
This page allows the user to inspect the incoming and outgoing data, both
DMX-type data (See figure 10.1) as well as control messages (See figure 10.2).
Monitoring incoming and outgoing data can help the user troubleshoot during
programming.
51
Output The combined Playback, ShowControl, DMX, Art-Net and sACN output.
DMX Input The dmx signal physically inserted in the DMX port
Art-Net Input The signal received over Art-Net
sACN Input The signal received over sACN
TCP The messages received over TCP
UDP The messages sent or received over UDP
OSC The messages sent or received over OSC
Timers The internal timers and variables
For the DMX, Art-Net and sACN inputs and outputs the preferred unit for
displaying the information can be chosen on the right.
52
Chapter 11
Settings
The DaliCore’s settings are organised into sections, see the Settings page figure
11.1. This chapter will discuss each section.
11.1 General
You can change the DaliCore’s label. This label can be used to distinguish the
unit in a set-up with multiple devices.
By enabling the Blink checkbox the device’s LED will blink to help to identify
it amongst multiple devices.
The API commands discussed in appendix D start with a prefix that is set to
core by default. When using multiple devices from Visual Productions it can be
53
Figure 11.2: General Settings
useful to assign unique labels to these prefix, especially when using broadcasted
messages. Read more about feedback loops in paragraph D.4.1.
Unauthorised users can be prevented from making changes to the DaliCore by
enabling the Password protection. Once enabled, the password can be disabled
via the web-interface (using the Disable button) and the reset button (see figure
4.2). Long-press the reset button to disable the password protection; this will
also revert the unit’s static IP back to the default factory settings.
11.2 IP
The IP fields are for setting up the IP address and subnet mask of the DaliCore.
The Router field is only required when Port Forwarding is used. You can also
enable or disable the DHCP feature (For more information see chapter 4 at page
19).
11.3 DMX
The DMX settings specify whether the DMX port is an Input or output.
54
Figure 11.4: DMX settings
When the Slow DMX checkbox is enabled, the DaliCore will slowdown the rate
at which it sends out DMX. This is done to facilitate DMX fixtures that have
difficulties keeping up with the optimal DMX transmission rate.
RDM can be disabled by using the Enable RDM checkbox. This checkbox is
repeated on the Patch page.
11.4 Art-Net
The Art-Net feature in the DaliCore supports 1 universe out and 1 universes in.
These universes can be mapped to any of the 256 available universes in the
Art-Net protocol. The universe is entered in the ’subnet.universe’ format, i.e.
the lowest universe number is written as ’0.0’ and the highest universe number
is denoted as ’15.15’. The outgoing Art-Net transmission can be disabled by
entering ’off’ in the output fields.
The Destination IP determines where the outgoing Art-Net data will be sent to.
Typically, this field contains a broadcast address like 2.255.255.255 which will
send the Art-Net data to the 2.x.x.x IP range. Another typical Art-Net broad-
cast address is 10.255.255.255. When using broadcast address 255.255.255.255
then all the devices on the network will receive the Art-Net data.
It is also possible to fill in a unicast address like 192.168.1.11; in this case the
Art-Net data will be send to one IP address only. This keeps the rest of the
network clean of any Art-Net network messages.
55
11.5 sACN
The DaliCore supports 1 incoming sACN universe and 1 outgoing universe. The
universe field should hold a number in the range of [1,63999]. Outgoing sACN
transmission can be disabled by entering off into the sACN output field.
Set priority field to control the priority level of the output universe. The priority
can be set from 0 (lowest) to 200 (highest).
11.6 OSC
External equipment sending OSC messages to the DaliCore need to be aware of
the number specified in the ’Port’ field. This is the port the DaliCore listens to
for incoming messages.
The DaliCore will send its outgoing OSC messages to the IP addresses specified
in the ’Out IP’ fields. Up to four IPs can be specified here. Use the ’ip-
address:port’ format in these fields, e.g. ”192.168.1.11:9000”. If a field should
not be used then it can be filled with IP 0.0.0.0:0. It is possible to enter a broad-
cast IP address like 192.168.1.255 in order to reach more than four recipients.
Enabling the Forward checkbox will have the DaliCore copy every incoming
OSC message and send it the addresses specified in the ’Out IP’ fields.
56
11.7 TCP/IP
Defines the listening ports for TCP and UDP messages. External systems in-
tending to send TCP or UDP message to the DaliCore need to know the unit’s
IP address and this port number. By default both ports are set to 7000.
11.8 Cloud
By enabling the Share Analytics options, you will help Visual Productions im-
prove its products. When enabled, the DaliCore will send low-bandwidth diag-
nostics and usage data to Visual Productions. This information remains anony-
mous.
The Cloud ID is not implemented yet, and is for future functionality.
11.9 GPI
The GPI ports can be configured either as digital (contact-closure) or as analog
(0-10V) input.
In case a port is set as analog and the signal supplied falls within the 0-10V
range (e.g. 1-5V) then it is recommended to calibrate to port in order to map
the minimal voltage to a logical 0% and map the maximum voltage to 100%.
To perform a calibration first enable the Calibrate button, then bring the in-
coming signal to the minimum level, bring the signal to the maximum level and
then close the calibration process by clicking the Calibrate button again.
Do not apply more than 10V to the GPI port, as this could cause permanent
damage.
57
Figure 11.10: GPI Settings
58
Chapter 12
vManager
The following section explain the buttons in the vManager, as seen in figure
12.1.
59
12.1 Backup
Backups of all the programming data inside the device can be made. This
backup file (an XML) is saved on the computer’s hard-disk and can be easily
transferred via e-mail or USB stick. The data of the backup can be restored via
the Restore button.
Apps distributed by app stores are not allowed to access files outside this des-
ignated location. It is important to know where vManager is storing its files, in
case you wish transfer a backup file to memory stick or dropbox.
The designated file location differs per operating system and is likely to be a
long and obscure path. For this reason, vManager provides you with a shortcut
to the correct file location. A Folder button can be found in the file related
dialogs. Clicking this button will open a file browser at appropriate folder.
Warning: Make sure the power to the device is not interrupted during the
upgrade process.
60
12.3 Set Date & Time
The computer’s date and time can be quickly copied to the unit by selecting a
device and clicking the Set Date & Time button. Not all Visual Productions
devices feature an internal real-time clock. The DaliCore does not have such a
RTC.
12.4 Blink
The device’s LED can be set to Blink fast for identifying the particular unit
amongst multiple devices. The blinking is enabled by double-clicking on a device
in the Devices list or by selecting a device and then clicking the Blink button.
12.6 Reboot
The Reboot button allows you to remotely restart the device. This is useful for
testing the unit’s behaviour after a power-cycle.
12.7.1 iOS
vManager can be downloaded from the Apple iOS app-store at https://itunes.
apple.com/us/app/vman/id1133961541.
12.7.2 Android
vManager can be found on the Google Play store at https://play.google.
com/store/apps/details?id=org.visualproductions.manager.
61
12.7.3 Windows
Visit the Microsoft store at https://www.microsoft.com/en-us/p/vmanager/
9nblggh4s758.
Windows 10 is required.
12.7.4 macOS
Visit the Apple macOS app store at https://apps.apple.com/us/app/vmanager/
id1074004019.
12.7.5 Ubuntu
You can acquire the vManager from Snapcraft at https://snapcraft.io/
vmanager.
Ubuntu 22.04 LTS is recommended. The software is only available for the
amd64 architecture.
62
Chapter 13
Kiosc
Kiosc is an application for creating custom touch screen user-interfaces for the
range of lighting controllers from Visual Productions. Kiosc is designed to have
no editing capability, making it a fool-proof interface that can safely be presented
to non-technical operators.
Kiosc is the ideal way to remote control our solid-state lighting controllers like
CueluxPro, CueCore1, CueCore2, QuadCore, IoCore1, IoCore2, LPU-2, Dal-
iCore, B-Station1 and the DaliCore. Kiosc enables you to choose scenes or
presets, set intensity levels or choose RGB colours.
You can also use it to control third-party AV equipment. Kiosc speaks OSC,
UDP and TCP.
63
Kiosc is available as software app and as a physical product. The hardware
version of Kiosc is a wall-mount 7” touch screen with Kiosc pre-installed. It is
powered by PoE and requires only a RJ-45 connection.
64
Appendices
65
Appendix A
Trigger Types
The following tables list the different types of triggers that can be used in the
DaliCore. The different types are accompanied with values and flanks.
A.1 DALI
Trigger events when any of the following DALI messages are intercepted on the
DALI bus.
Trigger Type Trigger Value Flank Description
Intensity Fixture Change
Intensity Fixture Down
Intensity Fixture Up
Scene Any Fixture -
Lamp Failure Fixture Change
Lamp Failure Fixture Down
Lamp Failure Fixture Up
A.2 Fixture
66
A.3 Kiosc
When editing the Kiosc actionlist it will be possible to add different kind of ac-
tions such as Button, Fader and Colour Picker. These elements will be displayed
in the Kiosc software.
More details on Kiosc can be found on page 63.
67
A.4 GPI
68
A.5 DMX Input
A.6 UDP
A.7 TCP
69
A.8 OSC
A.9 Art-Net
70
A.10 sACN
A.11 RDM
A.12 Randomizer
The Randomizer will generate a pseudo-random number, this functionality is
discussed on page 40.
A.13 System
71
Use Startup if something needs to happen as soon as the DaliCore is powered
on. Please note that ethernet network might not be online yet.
Use the Network Connection trigger if something needs to happen as soon as
the ethernet network becomes online after a power-cycle.
A.14 Variable
Variables can contains a number between 0 and 255. This functionality is ex-
plained on page 37.
72
Trigger Type Trigger Value Flank Description
Channel Variable Index - The specified variable changes
...
A.15 Timer
There are four timers in the DaliCore. This functionality is explained on page
39.
73
Trigger Type Trigger Value Flank Description
Channel Timer Index Change The timer starts or stops
Channel Timer Index Stop The timer stops
Channel Timer Index Start The timer starts
Time Timer Index - A Stream of the current time of that timer
The timer will automatically stop when it reaches 00:00.0. An Action needs to
be programmed in order to restart the timer and make it loop.
A.16 Actionlist
Actionslists are discussed in detail on page 34. The Actionlists have a checkbox
for enabling/disabled. Changing this checkbox generates a trigger.
74
Appendix B
Task Types
Tasks allow you to automate the functionality in the DaliCore. All this func-
tionality is categorized in task-types. This appendix provides a listing of the
various task-types. The tables present an overview of all available features and
functions per task-type.
B.1 Fixture
Manipulate the fixtures directly.
75
All All DALI and DMX fixtures.
Group Specify a group number. The Group can contain DALI
and/or DMX fixtures.
DALI Fixture Specify a fixture index from the DALI patch.
DMX Fixture Specify a fixture index from the DMX patch.
Selected The currently selected fixture.
B.2 OSC
Send an OSC message via the network. The OSC recipients are specified in the
Settings page.
B.3 UDP
Send a UDP message via the network. Specify the recipient in Parameter 2.
For example ”192.168.1.11:7000”.
76
Feature Function Parameter 1 Parameter 2
Send Float Set floating point number IP address & port
Send Float Control - IP address & port
Send Unsigned Set positive number IP address & port
Send Unsigned Control - IP address & port
Send Bool Set true or false IP address & port
Send Bool Control - IP address & port
Send String Set text string IP address & port
Send String Control - IP address & port
Send String Hex Set text string IP address & port
Send String Hex Control - IP address & port
Send Bytes Set Hex string IP address & port
Wake On Lan Set MAC Address IP address & port
Please note that string in parameter 1 has a maximum length of 31 characters.
The Send Bytes enables you to send a string of characters, where the characters
are specified by their hexadecimal ASCIIASCII code. This allows for non-
printable characters - e.g. NULL (0x00) and CR (0x0D) to be sent. For example
to send the string Visual with an added CR and LF enter 56697375616C0D0A
in parameter 2.
When using the Wake On Lan feature parameter 1 should contain the MAC
Address of system’s NIC (Network Interface Controller) you wish to wake up.
The recommended value for parameter 2 is 255.255.255.255:7. This broad-
casts the message to the whole network at port 7 which is most commonly used
for Wake On Lan.
B.4 DMX
Manipulate the DMX levels. These are the levels that can also be sent out via
Art-Net or sACN.
77
Feature Function Parameter 1 Parameter 2
Universe Control HTP Universe # -
Universe Clear Universe # -
Channel Set DMX Channel DMX Value
Channel Toggle DMX Channel -
Channel Control DMX Channel -
Channel Inverted Control DMX Channel -
Channel Decrement DMX Channel -
Channel Increment DMX Channel -
Bump Set DMX Channel DMX Value
Bump Control DMX Channel -
Clear All - -
RGB Set DMX Address RGB Colour value
RGB Control DMX Address -
XY Control DMX Address -
XxYy Control DMX Address -
Ii Set DMX Address Intensity Value
Ii Control DMX Address -
Block Control DMX address and footprint Fixture count
Set Source - - -
The Bump feature will momentarily set the value of a DMX channel and then
take it back to 0, effectively creating a pulse.
XY will take an incoming position and translate it to two DMX channels. XxYy
will translate it to four DMX channels; a 16-bit pan and a 16-bit tilt level.
The Ii feature can take an incoming value and translate it to two-channel DMX
16-bit value.
Block can set a number of DMX channels to the same value. Parameter 1 will
denote the starting channel and parameter 2 determines how many channels will
be set. The footprint field in parameter 1 offers the possibility to have ’space’
between the channels.
B.5 RDM
Perform a discovery using the RDM protocol.
78
B.6 System
Miscellaneous tasks.
Feature Function Parameter 1 Parameter 2
Blink Set On or Off -
Blink Toggle - -
Blink Control - -
Blink Pulse Seconds -
The Blink feature controls the LED on the unit as seen in figure 4.2.
B.7 Timer
Manipulate on of the four internal timers.
B.8 Randomizer
Trigger the Randomizer to generate a new random number.
B.9 Variable
Manipulate one of the 10 variables.
79
Feature Function Parameter 1 Parameter 2
Set Value Set Variable # Number in the range of [0,255]
Set Value Toggle Variable # Number in the range of [0,255]
Set Value Control Variable # -
Set Value Inverted Control Variable # -
Set Value Decrement Variable # -
Set Value Increment Variable # -
Set Value Stop Continuous Variable # -
Set Value Continuous Decrement Variable # Delta
Set Value Continuous Increment Variable # Delta
Set Value Control Scaled Variable # -
Set Value Control Offset Variable # -
Refresh Set Variable # -
Single Dimmer Set Variable # Delta
Curve Control Variable # Curve
Curve Inverted Control Variable # Curve
Variables are further explained on page 37.
The Single Dimmer feature is used to increase or decrease a level by using only
one switch. When controlling this task through a GPI action , then closing the
GPI will increase or decrease the level. Opening the GPI port will freeze on
the current level. This feature is useful for controlling an intensity will just one
button.
B.10 Action
Use the Link feature to have one action trigger another action.
B.11 Actionlist
Manipulate an actionlist.
80
Feature Function Parameter 1 Parameter 2
Enable Set Actionlist On or Off
Enable Toggle Actionlist -
Enable Control Actionlist -
Enable Inverted Control Actionlist -
B.14 GPI
Manipulate the GPI port.
81
Appendix C
Templates
This appendix discusses the templates provided in the Show Control page.
Template Description
DMX ->DALI Channels DMX channels 1 to 32 will be converted to DALI fixture levels.
DMX ->DALI Groups DMX channels 1 to 16 will be converted to DALI groups levels.
DMX ->DALI Broadcast DMX channel 1 will be converted to the DALI broadcast level.
DALI ->DMX DAlI fixture intensities 1 to 32 will be converted to DMX
channels.
Receiving DMX Receiving DMX on the DMX ports. DMX properties in the
Settings page have to be configured accordingly.
Receiving Art-Net Receiving Art-Net and sending it out on the DMX port.
Art-Net properties in the Settings page have to be configured
accordingly.
Receiving sACN Receiving sACN and sending it out on the DMX port. sACN
properties in the Settings page have to be configured
accordingly.
Digital GPI ->Scene Each GPI port will trigger scene 1, 2,, 3, or 4. Set the GPI
ports to digital on the Settings page.
Analog GPI ->DALI Each GPI port will control the intensity of a DALI fixture. Set
the GPI ports to analog on the Settings page.
82
Appendix D
API
D.1 OSC
The scenes can be called by using the following command. The number ’1’ can
be replaced by any number in the range of [1,16].
The following table uses actionlist #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8]. The table also uses action #2 as
an example. The number ’2’ can be replaced by any number in the range of
[1,48].
83
The following table uses timer #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,4].
The following table uses variable #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8].
84
projectors and show controllers.
The functionality within the DaliCore can be controlled by using the following
ASCII strings (human readable text) messages:
Scenes can be called by using the following command. The number ’1’ can be
replaced by any number in the range of [1,16].
String Description
core-scene=1 Activate scene #1
The following table uses actionlist #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8]. The table also uses action #2 as
an example. The number ’2’ can be replaced by any number in the range of
[1,48].
String Description
core-al-1-2-execute=<arg> Execute action #2 inside actionlist #1
core-al-1-enable=<bool> Set the ’enable’ checkbox for actionlist #1
The following table uses timer #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,4].
String Description
core-tm-1-start Start timer #1
core-tm-1-stop Stop timer #1
core-tm-1-restart Restart timer #1
core-tm-1-pause Pause timer #1
core-tm-1-set=<text> Set timer #1 at the time-string
The following table uses variable #1 as an example. The number ’1’ can be
replaced by any number in the range of [1,8].
String Description
core-va-1-set=<integer> Set the value of variable #1
core-va-1-refresh Refresh variable #1; a trigger will be generated as if the
variable changed value
core-va-refresh Refresh all variables; triggers will be generated
The following table shows how to activate miscellaneous functions.
String Description
core-dmx-1=<integer> Set the value of a DMX channel
core-blink Momentarily flashes the DaliCore’s LED
core-hello The unit will reply with the same Hello message
85
D.3 HTTP
HTTP (Hyper Text Transfer Protocol) is the standard protocol to access web
pages. It can also be used to control the DaliCore, using the URLs listed below.
Scenes can be called by using the following command. The number ’1’ can be
replaced by any number in the range of [1,16].
Description URL Parameter Range Example
Activate scene /ajax/scene/1 - http://192.168.1.10/ajax/scene/1
The following table uses actionlist #1 as an example. The number ’01’ can be
replaced by any number in the range of [01,08].
D.4 Feedback
The DaliCore is able to send feedback to external equipment using its API, so
called ’clients’. The DaliCore keeps a memory of the last four OSC clients and
last four UDP clients. The clients will automatically receive updates on several
playback related state changes.
Below is a table listing the messages the DaliCore will send back to its clients.
86
OSC UDP
/core/scene core-scene
/core/al/1/enable core-al-1-enable
/core/hello core-hello
The hello command is ideal for polling the device; it allows you to verify that
the DaliCore is online at the IP address and port that you expect.
A power-cycle will clear the internal client lists. Send /core/goodbye or core-goodbye
to explicitly be removed from the client list.
Consider programming custom action in the show control when additional feed-
back functionality is required.
87