API documentation (all series & models)

External control/discovery with our intelligent light models are possible through the following methods:

 
To open and download the guides, please right click on the links and then click "save link as...".
To open and download the guides, please right click on the links and then click "save link as...".
 

API guide (excel file) for LX and RX lights with firmware 2.2.27 and above.

 

TCP socket guide (python script) for products with firmware up to 2.2.27.

 

UDP discovery protocol (terse reference description). Mainly for L4A lights but may also be used with LX/RX lights. The User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite. With UDP, the light (or computer) application can send messages to other hosts on an Internet Protocol (IP) network. Practically this means you can get info about the light from the Ethernet socket. This requires set up by a computer and programming. To do this, you need to build/program a code in a suitable environment (Python, Java, C, C++, or C# are some good examples).

Start from the base code provided in the link above, listen to port 50632, and set the light you want to listen to as a master light. If you don’t know how to set a light as a master, please follow this article (link). The master light sends out packages of information regarding the light schedule (see example below) that can be used to integrate the light in other systems, like into the HVAC system or cooling room where you need information from the light to integrate.

 
The message/package of information is built as follows:
- A timestamp, a rolling counter to determine how old the message is created/sent (MSB) (8 bytes)
- CRC is a crc32 checksum of the message (MSB) (4 bytes)
- The message data length of the message (MSB) (2 bytes)
- The command that is sent in the message. The only command for light setting is supported at this time.  (MSB) (2 bytes)
- Command data, any data that could be needed for the command. For the light setting, it is the number of wavelengths. (MSB) (4 bytes)
- The master multicast ip address. Used by the slave to filter settings from the correct master. The same as in the master information message (4 bytes)
- The light setting in pairs of wavelength and set value (in relative power 0-1000) (MSB) (2 bytes+2 bytes). The total number of bytes shall be the same as in the previous data length information.
 
Example:
timestamp crc data_length command command_data multicast [wavelength+value]*no_of_wavelengths
Example of a message (all shall be as a long byte stream, only separated on lines to be readable):
0000000000000005
0b7e643
0001c
0001
00000007
ef3ffda5
0190 0064
01a4 0064
01c2 0064
0212 0064
0276 0064
0294 0064
02df 0064
 
________________________________________________________________________________________

You may also find external sources regarding scripts like this (link) and use this as your own responsibility.