Thermokon Li65+ Lux-Temperature RS485 Sensor - Version 2.1.0#
Module Summary#
Reads lux and temperature values from a Thermokon Li65+ sensor over RS485, using the Modbus RTU protocol.
Module Status#
If you encounter any issues with this module, or have any feedback regarding its operation, please contact our support team.
Module Scope#
This module can currently only be used with LPCs and TPCs with attached RIOs. It can not currently be used with LPCX, VLC and VLC+ controllers.
Release Notes#
Version 2.1#
Increased maximum Polling time (300s)
Fixed bug ranges not reponsive to values.
Version 2.0#
Initial release.
Added Lux Level Changed Trigger.
Added Temperature Changed Trigger.
Added Start Polling Action.
Added Stop Polling Action.
Minor point releases (eg. 1.1.x) will be for small fixes and may not be listed here.
Configuration#
The Thermokon Li65++ Temp RS485 Modbus device will need settings matching the module to be compatible. For more information see the device datasheet.
The DIP switches on board of the device should be configured as below.
Measuring DIP switches (set of 6 switches)
Light range (0 to 50 kLux):
DIP 1: On
DIP 2: Off
DIP 3: On
Temperature range (-20°C to +80°C):
DIP 4: Off
DIP 5: Off
Units (SI)
DIP 6: Off
Addressing DIP switches (top row of 5 switches)
DIPs 1 - 5: Modubs slave address/ID set in binary format. By default, both the Li65+ and the module use ID 1.
If more than one Li65+ devices are being used, they must have unique addresses/slave IDs and a new module Instance must be used for each.
Addressing DIP switches (bottom row of 5 switches)
Termination (Off)
DIP 1: Off
Baud rate (9600)
DIP 2: Off
DIP 3: Off
Parity (None)
DIP 4: Off
DIP 5: Off
Designer Port Configuration
The serial port of the Controller (whether local or a RIO) must be configured in the Network tab > Interfaces settings.
Mode: RS485
Baud Rate: 9600
Parity: None
Operation#
Instance Properties#
The Serial Port must be the same as the previously configured Serial Port in the Network tab.
The Modubs Slave ID must match that set on the Li65+ device. By default, both the Li65+ and the modules use ID 1. If more than one Li65+ devices are being used, they must have unique addresses/slave IDs and a new module Instance must be used for each.
Lux and temperature values are requested from the Li65+ by polling. The Poll Time determines how often to retrieve the values. If both Lux and Temperature are set to poll in the Start Polling Action, both will use the same Poll Time but for reliability, the temperature will be requested two seconds behind the lux level.
If Log Trigger Matches Logging is enabled, non-matched triggers will be logged with a reason as to why it was not matched. This is intended for diagnostics and problem solving and should ideally be disabled during normal operation.
Status Variables#
The values can be viewed on the IO Module tab of the web interface.
Current Lux Level (lux)
Current Temperature (degrees Celcius)
Triggers#
Lux Level Changed#
Fires when a lux level is received from the Li65+.
If the Match Type is Enters Range
, if the previous value was not between the Minimum and Maximum values but the new value is,
the trigger will be fired and the new lux level will be passed as Trigger variable 1. If the previous value was already in the range,
the trigger will not fire.
If the Match Type is Changes within Range
, if the new value is between the Minimum and Maximum values and not the same as the
previous value, the Trigger will fire and the lux level will be passed as Trigger variable 1
.
Temperature Changed#
Fires when a temperature value is received from the Li65+.
If the Match Type is Enters Range
, if the previous value was not between the Minimum and Maximum values but the new value is,
the trigger will be fired and the new temperature value will be passed as Trigger variable 1. If the previous value was already in the range,
the trigger will not fire.
If the Match Type is Changes within Range
, if the new value is between the Minimum and Maximum values and not the same as the
previous value, the Trigger will fire and the temperature value will be passed as Trigger variable 1
.
Actions#
Start Polling#
Starts/enables the poll timer using the interval set in the Instance property, Poll Time. By default, both Lux and Temperature values will be queried, but the properties can be used to poll just Lux or Temperature.
This Action must be used to start the querying of values. Without starting the poll timer, Triggers will not fire.
If both Lux and Temperature are set to poll, both will use the same Poll Time but for reliability, the temperature will be requested two seconds behind the lux level.
Stop Polling#
Stops/disables the poll timer. By default, both Lux and Temperature will cease being polled, but the properties can be used to stop just Lux or Temperature polling.
Polling can be resumed using the Start Polling action.
Support#
If you encounter any issues with this module, please contact our support team.