Virtus
Warning
This manual applies only to the firmware version v0.34 onwards. Inveo does not guarantee that the information contained in this document applies to previous firmware revisions.
Purpose of the device
Virtus is an advanced device designed to monitor environmental conditions and control output devices, for example in telecommunication rack cabinets.
The user can assign actions to specific events, allowing the device to control outputs or send notifications via various communication protocols automatically.
Virtus has built-in logic capabilities – Logic, Lua. With logic functions and the Lua programming language, the device is capable of performing complex logic operations without the need for external controllers. This makes Virtus not only an effective, but also a flexible tool for any automation system.
The data can be shared via a range of popular communication protocols, such as HTTP(S), MQTT(S), SNMP v2/v3, SMSApi, Modbus TCP/RTU, making it compatible with various external systems and devices.
Various power supply methods and a wide range of input voltages make the device universal and flexible – the 48V DC input allows the device to be powered directly from telecommunication network's backup batteries, ensuring continuity of operation even in the event of a power loss.
Changelog
1.0 29th of May 2025
- Firmware revision v0.34
- Purpose of the device
- Changelog
- Technical characteristics
- Network configuration
- Device configuration
- Defining actions
- Communication protocols
- Warranty and manufacturer's liability
Technical characteristics
| Parameter | Description |
|---|---|
| Power supply | 10-12V DC via the front round connector and rear 3,5 pluggable terminal block PoE: 33-57V PoE IEEE 802.3af 48V DC via a 3,5mm pluggable terminal block |
| Power consumption | Maximum 1,5W |
| Bus | 1-wire – flat RJ12 cable or 3,5mm pluggable terminal block Supports up to 32 sensors Dedicated sensors: temperature, humidity, water pressure, air pressure, analogue voltage, analogue current, gases: CO, CO₂, NOₓ |
| Inputs | 4 digital inputs Input type: digital, normally open, pre-polarized, galvanically isolated |
| Outputs | Output type: potential-free NO relay output Maximum operating voltage: 30V DC Maximum relay load: 1A NO output (normally open) Activation time: 1ms Deactivation time: 5ms Operating mode: bistable, astable, monostable, timed |
| Communication | Ethernet 10/100Mbps, RJ45 port RS-485 (Modbus RTU) Optional cellular modem |
| Enclosure ingress protection | IP30 |
Dimensions
Information
All dimensions are in millimeters.
General view
Connectors description
Front connectors
- ANT – GSM antenna (option),
- Mini SIM card slot,
- BUS – 1-Wire bus RJ12 connectors,
- LAN – Ethernet RJ45 port,
- Boot – Wake indicators button,
- DI – Inputs No. 0 i 1,
- Power – 12V DC power connector.
Rear connectors
- IN 48V DC – 48V DC power supply input,
- IN 12V DC – 12V DC power supply input,
- RS485 – RS-485 connector (Modbus RTU),
- BUS – 1-Wire bus pluggable terminal blocks,
- IN2 – Input No. 2,
- IN3 – Input No. 3,
- OUT1 – Relay No. 1 output,
- OUT2 – Relay No. 2 output.
Outputs can be connected both in digital and voltage mode
LED indicators
- Additional LED indicators – their assignment is defined by the user
- GSM network connection status
- Sensor bus status:
- Off: Sensor bus inactive,
- On: Sensor bus active,
- Blinks: Sensor bus error.
- Ethernet connection status
- Inputs status
- Outputs status
- Power indicator
Network configuration
Warning
After the initial power-up, it's needed to configure the device. It can be done in two ways, the simplest method is to use the Inveo Discoverer programme.
Changing the device's IP address - Discoverer programme
After running the Discoverer programme and searching for the appropriate device:
- Right-click the device,
- Click the Change button.
After the dialogue window is opened you can:
- Set the IP address, mask, gateway, DNS1/DNS2.
- Change the Host name.
If Remote Config is disabled (enabled by default), the device needs to be configured by changing the computer's subnet:
To enable remote configuration:
- Go to the Administration tab,
- In the Access configuration window, select Enable Remote Config.
Note
The device will be configured after the Change button is pressed.
Changing the computer's subnet address for configuration
During configuration without Discoverer programme, it's needed to change the subnet address of the computer on the same network.
To access the computer's network configuration, do one of the following:
- Press Win + R, type in
ncpa.cpl, and then press Enter. - Alternatively, go to: Start → Control Panel → Network and Internet → Network and sharing center → Change adapter settings.
Then:
- Select the network connection.
- Right-click it and select Properties.
- After selecting this option, network connection configuration screen will appear.
Select Internet protocol version 4 (TCP/IPv4) and type in the following parameters:
Note
After applying the configuration with OK, start a web browser and type in the following address: 192.168.111.15. (Default user and password: admin/admin)
Network settings configuration
To customise the device's network settings, go to the Administration / Network tab. Parameters such as the IP address, subnet mask, gateway, DNS, and other network-specific options can be configured here.
If DHCP is activated, the module will try to get its IP address, subnet mask, network gateway and DNS addresses from the DHCP server. In this situation, the IP Address, IP Mask, Gateway, DNS1, DNS2 fields are inactive.
If the DHCP server is not available, the device will set own values for the parameters from the grayed-out fields.
The following fields are used for network configuration:
Do konfiguracji sieciowej służą następujące pola:
- DHCP – Enable/disable DHCP server,
- IP – Device IP address,
- Netmask – IP subnet mask,
- Gateway – Network gateway,
- DNS1, DNS2 – DNS server addresses.
Tip
Apply changes using the Save button.
Network status preview
Information
The device allows for preview of current LAN settings. In the Administration / Network tab, move the mouse over the blue "i" icon. If DHCP is used, the information icon will display the data received from the DHCP server.
The section contains the following information:
- IP – Current IP address,
- Netmask – Subnet mask,
- Gateway – Network gateway,
- DNS1, DNS2 – DNS addresses.
Device configuration
Module's www interface
The web interface allows for intuitive and advanced device management. After typing in the device's IP address into the browser's search bar, a webpage opens allowing full configuration and customisation of the device's operating parameters according to the individual user needs. On the left-hand side of the screen, a list of tabs is located, allowing for quick access to various functions and settings. Available tabs:
In the upper portion of the website, an information ribbon is located, informing the user about key device data, such as: model, IP address, unique user-assigned name, firmware version, and MAC address.
Thanks to the website, the user can modify settings, configure parameters, and monitor device operation in real-time. The webpage is the central control point, allowing for effective management and customization according to the changing user needs.
Device status preview
In the Status tab, all information about currently used outputs, inputs and sensor readings can be found.
graph TB
A[Status] --> B[Sensors]
A --> C[Outputs]
A --> D[Inputs]
Sensors window
In this window, current sensor readings are displayed. Sensors can be configured in the Sensors tab.
Using the Enable autorefresh button, the user can enable or disable automatic readout refreshing.
Individual table columns contain the following data:
- Name – Sensor name defined in the Sensors tab,
- Type – Graphic representation of the sensor type:
– Temperature sensor,
– Humidity sensor,
– Input,
– Analogue current sensor 4-20mA,
– Pressure sensor,
– Analogue voltage sensor 0-10V DC,
– Carbon monoxide presence sensor (CO),
– Carbon dioxide presence sensor (CO2).
- State – Sensor state:
- Error – Reading error (sensor damaged or connected incorrectly),
- Normal – Sensor gives correct readings that are within normal limits,
- Warn L – Lower threshold warning,
- Warn H – Upper threshold warning,
- Alert L – Lower alarm threshold,
- Alert H – Upper alarm threshold.
- Last value – Last read value,
- Last read – Time that has passed from the last reading (value is refreshed constantly when autorefresh is on).
Tip
The Sensors window is visible only after a sensor has been configured in the Sensors tab.
Outputs window
In this window, current output state is displayed. Outputs can be defined in the I/O Settings tab.
Individual table columns contain the following data:
- Name – Output name defined in the I/O Settings tab.
The following input types are available:
- Digital – DO – Physical module outputs,
- Virtual – VO – Virtual outputs used for binding and relations configuration.
If the output state is dependent upon different factors, appropriate information is shown under its name:
- output unavailable – assigned to the shutter,
-
output unavailable – output is routed – See section Binding.
-
Off/On – Current output state, clicking the left mouse button in this area will change the output state - this option enables manual output control,
- Coil state – Current relay coil state - green colour means that the relay is activated.
Output activation (Off/On column in the table) is not always identical as the Coil state.
Example
If the output is configured in astable mode, with Time on and Time off parameters defined, enabling the output in the Status tab changes the state in the Off/On column. In this case we can observe the coil state is alternately activated/deactivated, according to the parameters defined in Time on / Time off.
Tip
If the output is configured for shutter control or other input/output state has been bound to it, testing its operation in the Off/On column will not be possible.
Inputs window
In this window, current input state is displayed. Inputs can be defined in the I/O Settings tab.
Individual table columns contain the following data:
- Name – Input name defined in the I/O Settings tab,
- In state – Input state,
- Last action – Last registered action (eg. Action On),
- Counter – Displays the amount of times the input has been activated since last reset,
- Clear – Resets the counter.
Device status preview via a JSON resource
The device's state can be previewed by recalling the JSON resource: http://ip_address/data/status.json
Example response
{
"status": {
"model": "Virtus-2-4",
"name": "",
"mac": "00:00:00:00:00:00",
"output": [
{
"name": "DO 0",
"on": 0,
"coil": 0
},
{
"name": "VO 3",
"on": 0,
"coil": 0
},
],
"input": [
{
"name": "DI 0",
"state": 1,
"action": 2,
"cnt": 1
},
{
"name": "VI 4",
"state": 0,
"action": 1,
"cnt": 0
}
],
"repeat_next": [10961, 10961, 10961, 10961],
"sensor": [
{
"id": 0,
"name": "",
"value": 0,
"unit": "",
"state": 6,
"last": 109614
},
],
"logic": 0,
"virtstate": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"sntp_update": 1746510872,
"mqtt_conn": 0,
"fw": "0.32",
"sunrise": "07:54",
"sunset": "19:59",
"time": "09:45:00",
"date": "29-05-2025"
}
}
- model – Device model,
- name – User-assigned module name,
- mac – Module's MAC address,
- output:
- name,
- on – Output state,
- coil – Relay coil state.
- input:
- name,
- state – Input state – 0 – input inactive, 1 – input active,
- action – Last input action – 1 – Action On, 2 – Action Off,
- cnt – Input counter value.
- repeat_next – Time until the next periodic action is executed (if defined),
- sensor:
- id – Sensor's ID number,
- name,
- value – Measured value,
- unit – Measurement unit,
- state,
- last – Time since last readout (in seconds).
- virtstate – Internal variable values,
- sntp_update – Last time downloaded from the SNTP server in the form of a Unix timestamp,
- mqtt_conn – MQTT broker connection status,
- fw – Firmware version,
- sunrise – Calculated sunrise time,
- sunset – Calculated sunset time,
- time,
- date.
Inputs/outputs configuration
In the I/O Settings tab, advanced configuration options can be accessed, allowing the user to define device operation. Here, behaviour of inputs and outputs can be configured. Additionally, this tab gives users the option to configure the display.
graph TB
A[I/O Settings] --> B[Outputs]
A --> C[Inputs]
A --> D[LED]
Outputs
This tab allows configuration of outputs – both physical and virtual (option). The following settings can be changed in individual columns:
- Name – This field allows the output name to be changed,
-
Mode – Output operation mode:
- Disable,
- Bistable,
- Astable – Periodic mode - output is activated and deactivated periodically. The activation and deactivation times are defined by the parameters Time on and Time off,
- One-pulse – Single output trigger mode - output is activated for a time defined in Time on after time defined in Time off passes,
-
Time on – (parameter used in Astable and One-pulse mode),
- Time off – (parameter used in Astable and One-pulse mode).
Clicking Advanced configuration enables changing of advanced output settings:
- Name – This field allows the output name to be changed,
- Power-on state – State that the device should reach after power is connected to the module:
- Off,
- On,
- Last – State before the power was disconnected.
- Invert – Output channel inversion:
- NO – Normally open,
- NC – Normally closed.
- Text ON – Text dispayed on the LED display when the output is activated,
- Text OFF – Text dispayed on the LED display when the output is deactivated.
LED
LED signaling settings can be configured in this tab:
- Power saving mode – Parameter allows activation of power saving mode – after the defined time (in seconds) passes, the device's LED indicators are turned off. Clicking the RESET button activates the indicators,
- LED #0 .. LED #3 – Parameter allows customization of additional LED's - INFO A/B/C/D to react in accordance to the preferences set.
Tip
Apply changes using the Save button.
The following commands can be used to program the additional LED's (x indicates the input/output/sensor channel):
i[x]– Input channel state,o[x]– Output channel coil state,o[x].on– Output channel state,v[x]– Virtual variable state,s[x].aHi– Sensor high level alarm,s[x].aLo– Sensor low level alarm,s[x].wHi– Sensor high level warning,s[x].wLo– Sensor low level warning,s[x].err– Sensor error,s[x].ok– Sensor operates correctly,ping[x]– Ping status:0- error,1- success,mb[x].y– mbAgent value,- External device:
dev[x].err– Connection lost,dev[x].o[y]– External output,dev[x].i[y]– External input,dev[x].s[y].err– External sensor error.
- Negation and logical operations (|/&/^):
!s[0].err!o[0]&v[1]
Sensors configuration
This tab allows the user to assign specific sensors to dedicated memory slots and to configure their parameters. It allows individual control over each sensor, setting specific parameters and modes of operation. Additionally, it enables the preview of historical readings, which can be downloaded in the form of JSON or CSV files.
graph LR
A[Sensors] --> B[All]
A --> C[History]
A --> D[Chart]
All
Thanks to this tab, the user has full control over sensors configuration, readings correction and notifications. New sensors that integrate with Virtus automatically can be added. The user can define parameters for each sensor, customizing them to own needs and operation conditions. Additionally, this tab shares the tools to edit existing sensors, allowing them to be constantly adaptable to the changing conditions or user needs.
Each sensor table column contains the following information:
- ID – Sensor identification number,
- Name – Sensor name,
- Src – Source, from which the sensor readings are taken (1-Wire or counter),
- Type – Connected sensor type:
– Temperature sensor,
– Humidity sensor,
– Input,
– Analogue current sensor 4-20mA,
– Pressure sensor,
– Analogue voltage sensor 0-10V DC,
– Carbon monoxide presence sensor (CO),
– Carbon dioxide presence sensor (CO2).
- Log – Informs if the sensor has an active (Yes) or inactive (No) readout log function,
- Alarms – Activated warnings/alarms:
- LL – Lower alarm threshold,
- L – Lower warning threshold,
- H – Upper warning threshold,
- HH – Upper alarm threshold.
- Config – Sensor configuration buttons:
– Edit sensor parameters,
– Delete sensor.
The following dialogue window is displayed afer clicking the edit button:
- Source – Sensor source:
- One-wire – Physically connected to the sensor bus,
- mbAgent – Sensors using the Modbus protocol, interrogated by the Poller function,
- Inveo – Inveo device sensors connected to the device - see the iCluster chapter,
- Counter – Counter input,
- Sensor 1-wire address – Scan bus makes it possible to locate and assign a sensor connected to the device,
- Sensor name,
- Sensor type:
- Temperature,
- Humidity,
- Input,
- Current,
- Pressure,
- Voltage,
- CO – Carbon monoxide,
- CO2 – Carbon dioxide.
- Hysteresis – Sensor hysteresis (inactive if the sensor type is set to Input) – applies to the warning and alarm states. The hysteresis defines the maximum acceptable difference between the warning/alarm threshold and normalization value.
Example
High warning is set to 30 degrees, hysteresis is 2 degrees. After the sensor reaches 30°C, the device will reach the alarm state that will presist until the sensor value drops to 28°C (30-2=28). Hysteresis is the offset between warning/alarm activation or deactivation, preventing the alarm states from being triggered too often during small measurement fluctuations.
- Channel – Channel selection – active only if the sensor type is set to Input,
- Sensor log – Enable/disable sensor data logging to device memory,
- Notifications – Enable/disable notifications,
- MQTT notification – Enable/disable MQTT notifications.
Enabling Notifications allows to change the device's reaction to:
- Transition of sensor to an alarm- and error-free state,
- Transition of sensor to the error state.
The user can select the type of a notification that will be sent in response to the above events. Appropriate settings in the Services tab must be configured first for the notifications to be sent.
To assign an action, click +. A dialogue window will be displayed, where the desired action (defined previously in All) can be selected.
Action assignment procedure has been described in detail in the Inputs chapter.
Alarms configuration
In the settings section dedicated to sensor alarm configuration, the user gains full control over customization of alarm parameters to his own needs. This allows configuration of alerts and reactions to important sensor operation events.
- Low alarm – Enable low level alarm,
- Low alarm value – Value that will make the sensor reach the state of low level alarm.
- Low warning – Enable low level warning,
- Low warning value – Value that will make the sensor reach the state of low level warning.
- High warning – Enable high level warning,
- High warning value – Value that will make the sensor reach the state of high level warning.
- High alarm – Enable high level alarm,
- High alarm value – Value that will make the sensor reach the state of high level alarm.
After the alarm is activated, additional window that allows customization of device reaction for alarm situation appears. Here, the user can configure notifications and assign specific actions.
- Sensor preoffset – Sensor correction field, according to the linear function formula f(x)=ax*b,
- Sensor multiplication 'a',
- Sensor offset 'b' – Constant value correction.
History
This tab allows for activation and configuration of historical sensor readout logging:
- History – Enable/disable sensor readout logging,
- Wait for SNTP – When enabled, data from the sensors will be logged only when the device downloads time from the SNTP server after a restart,
- Go to SNTP configuration button – Enables quick access to the SNTP configuration tab,
- Remove – Allows clearing memory of records older than the specified number of days.
Tip
In order to log the sensor data into the device's memory, the Sensor log function must be activated in Sensors / All (available in sensor configuration mode).
Chart
In this tab, all sensors (with Sensor log enabled in Sensors / All) readings are presented on graphs.
- Refresh data,
- Download JSON,
- Download CSV,
- Remove X oldest logs – Remove x oldest sensor readings from memory,
- Clear history – Remove all readings from device memory.
Sensor handling
To make sure that the sensor readings are precise and reliable, it is recommended to follow the steps below:
Sensor assignment
First, connect the sensor to the device – consult Sensor connection diagram.
After that, using the device's webpage, locate and configure the sensor's basic parameters. If no sensors were connected to the device previously, the user can use the automatic sensor assignment option. Reset the device after the sensors have been connected – after the device restarts, it will automatically recognize and assign available sensors, specifying their type too.
Manual sensor configurations steps are described below.
Step 1: In Sensors / All, click +:
In the displayed dialogue window, select the sensor Source first. In this case, select One-wire (sensor physically connected to the device's bus).
Sensor assignment should begin with clicking Scan bus, that will display a window with detected sensors:
Assign the selected sensor.
Step 2: Basic parameters configuration:
In the sensor's configuration window, set the correct sensor type, assign a name etc. All settings should be applied using the Save button.
Step 3: Status tab preview:
A sensor that is configured correctly will display its readings in Status / Sensors:
Sensor readings logging and graph preview
Conducting the configuration as per above instructions does not guarantee automatic sensor readings logging to the device memory. It only allows current value preview. To log the sensor data periodically, follow those directions:
Step 1: Enable automatic sensor readings logging:
In Sensors / All, click 
A sensor configuration window will be displayed:
Go to Sensor log and Enable it. All settings should be applied using the Save button.
Step 2: Enable automatic reading logging:
Sensors / History tab:
Go to History and select it using the slider.
After the device restarts or an Internet connection error occurs, it will automatically switch to logging using the built-in Real Time Clock (RTC). Wait for SNTP allows the device to wait for SNTP time before it begins logging data. Thanks to this, reading time precision is provided, even when no Internet connection is available.
Tip
After making changes, apply them using the Save button.
Step 3: Set the current time:
The device is equipped with an internal RTC with battery backup. If the device has constant Internet access, SNTP can be enabled.
Administration / Time - SNTP allows for SNTP configuration – guaranteeing that the current time will be kept even when no power is connected to the device.
Tip
After making changes, apply them using the Save button.
Once the unit has been configured according to the above instructions, the device will start saving sensor data to internal memory. The module also allows preview of graph of sensor readings over time.
Download of stored sensor readings
Saved sensor readings can be downloaded in the form of JSON or CSV files by recalling the internal memory resource.
To do this, use the following command: http://device_IP_address/data/log.json.
Sensor readings can also be downloaded from the device's webpage. To do that, in Sensors / Chart, click the appropriate button: Download JSON or Download CSV.
Notifications configuration
This tab enables configuration of various notifications – activation, deactivation and notifications assignment involving E-mail, SMS, SNMP Trap, MQTT, related to sensors, inputs and outputs.
For the notifications to be effective:
Step 1: Enable notifications in the selected system elements tab: sensors, inputs or outputs, define the type of notifications,
Step 2: Depending on the notification type selected - SMS, e-mail, SNMP Trap, MQTT – configure the settings in Services – consult Network services
Step 3: Enable notifications in the Configuration tab.
Sensors
In this tab, notifications settings regarding operation of particular sensors can be configured. Notifications for the selected sensor can be enabled in two ways: in the Sensors tab during sensor configuration or by clicking an icon in Notifications / Sensors.
The configuration window that appears after notifications are activated, allows for full customization:
Tip
In order for the E-mail, SMS, SNMP Trap and MQTT notifications to operate correctly, configure them in the Services tab – consult Network services.
In the table, the user has the ability to select the type of notifications that are to be sent in response to defined events:
- Info – Periodic sensor state information,
- OK – Sensor normalization state after a previous error or alarm state,
- Error – Sensor error state,
- Alarm low – Low level alarm state,
- Warning low – Low level warning state,
- Warning high – High level warning state,
- Alarm high – High level alarm state.
If no alarm values have been previously defined, it can be done using the
icon which opens a window to input the required value:
After inputting the required value, enable the function by clicking
.
The settings will also be visible in the Sensors tab.
Tip
To activate the notifications function, it is important to enable it in the Configuration tab, in addition to the settings configured here.
Inputs
In this tab, notifications settings regarding operation of device inputs can be configured. After clicking
, notifications for the selected input will be activated, leaving only their details to be configured. The configuration window that appears after the notifications have been activated, enables full customization.
It's possible to activate MQTT and SMS, SNMP Trap and notifications.
Tip
In order for the E-mail, SMS, SNMP Trap and MQTT notifications to operate correctly, configure them in the Services tab – consult Network services.
In the table, the user can select the type of notifications that are to be sent in response to defined events:
- On change action – Input state change (activated – deactivated),
- Info – Input state information.
Tip
To activate the notifications function, it is important to enable it in the Configuration tab, in addition to the settings configured here.
Outputs
In this tab, notifications settings regarding operation of devices connected to the device's outputs can be configured. After clicking
, notifications for the selected output will be activated, leaving only their details to be configured. The configuration window that appears after the notifications have been activated, enables full customization.
It's possible to activate E-mail, SMS, SNMP Trap and MQTT notifications.
Tip
In order for the E-mail, SMS, SNMP Trap and MQTT notifications to operate correctly, configure them in the Services tab - consult Network services.
In the table, the user has the ability to select the type of notifications that are to be sent in response to defined events:
- On change action – Output state change (activated – deactivated),
- Info – Output state information.
Tip
To activate the notifications function, it is important to enable it in the Configuration tab, in addition to the settings configured here.
Configuration
In this section, there is an option to activate the notification functions required to send notifications. Additionally, the user has the ability to adjust general parameters related to notifications.
- Notification – Enable/disable notifications,
- E-mail info – Frequency of e-mail messages containing the sensor/input/output state sending,
- SMS info – Frequency of SMS messages containing the sensor/input/output state sending,
- MQTT info – Frequency of MQTT messages containing the sensor/input/output state sending,
- MQTT Retain – Activated option causes the broker to retain last messages for topics the device sends data to,
- SNMP Trap – Selected SNMP Trap,
- IO time – Minimum time that must pass between subsequent input/output state changes to prevent multiple notifications to be sent, especially during testing or experiments with device's inputs/outputs.
The tables Sensor, Input and Output are located in this tab.
Each table contains predefined commands that allow sending of e-mail and SMS messages containing the current device states. Additionally, the user has the ability to edit those commands, which makes customization to own preferences possible, eg. by assigning a name to the device. Each table contains a topic, use of which is required if using MQTT to send notifications.
Work matrix
KNX outputs
In the Work matrix/KNX outputs tab, it's possible to configure the behaviour of an output in response to data frames sent to specified KNX groups.
When Virtus receives a data frame on a specified KNX group (eg. 1/1/1), it will automatically execute the defined actions such as output activation, deactivation, state inversion or momentary deactivation. Thanks to this, the user can precisely control the device's behaviour depending on the KNX signals.
Clicking Advanced configuration will change the configuration view, which makes copying the command path easy:
KNX commands recognized by the device:
- On – Output activation – can assume 2 values:
- 0 – Sending this command will deactivate the output,
- 1 – Sending this command will activate the output.
- Off – Output deactivation – can assume 2 values:
- 0 – Sending this command will activate the output,
- 1 – Sending this command will deactivate the output.
- Invert – Output state inversion:
- 0 – This command will not affect the output state,
- 1 – Sending this command will invert the output state.
- Time – Timed output activation/deactivation:
- 00 – Relay deactivation,
- 01 TonMSB TonLSB ToffMSB ToffLSB – Relay activation for the defined time after the specified delay. The time is defined in 0,1 second units stored in HEX.
Example
Activate the relay for 60 seconds (value of 600) after a 8 second delay (value of 80): - dec 600 hex 0x02 0x58 - dec 80 hex 0x00 0x50 Syntax:
Tip
To program relay activation without a delay, don't enter a Toff value.
KNX/TCP/UDP Inputs
This tab allows the user to program the device's reaction to a signal received on a selected input. To achieve this, KNX, UDP, and TCP protocols can be used. Multiple reactions can be assigned to a single input.
After selecting the protocol, input additional information depending on the selected setting:
KNX:
- KNX group – Target KNX group, eg. 1/1/1,
- Frame – Syntax of the command sent to the specified KNX group in hexadecimal (HEX) format. Example syntax: 0105.
TCP/UDP:
- Server IP/DNS – Target IP address for the TCP/UDP frame,
- Port – Default 9761,
- Frame – TCP/UDP frame contents. For example
input %i[0]% triggered.
Clicking the
icon deletes the action.
Depending on the Action type selected in I/O Settings / Inputs, different functions are available:
- Standard:
- Action Off,
- Action On.
- Hold:
- Action Off,
- Action On,
- Action Hold On,
- Action Hold Off.
- Cnt:
- Action I,
- Action II,
- Action III,
- Action IV.
- Toggle:
- Action I,
- Action II.
- Freq:
- Action Off,
- Action On.
The Go to the inputs configuration button located in the upper-right corner allows quick access to IO Settings/Inputs.
Binding
This tab enables configuration of relations between inputs and outputs.
iCluster
iCluster allows multiple Inveo devices to interconnect within a single LAN. This enables preview of device state, measured values, and output control. It is also possible to transfer the input state of an external device to the selected Virtus output. The following Inveo modules can be interfaced with the device:
- Daxi series
- IQIO series,
- Nano Relay Output,
- Nano Digital Input,
- Nano Temperature Sensor,
- Hero Web Sensor,
- Lantick series.
To connect the Virtus with another Inveo module, click
- a dialogue window will appear with the option to find the device in a LAN. After clicking Scan, the module will search for all available devices:
After Selecting the device, apply the settings using
.
By clicking the
icon, details of the connected devices can be viewed, output control tested, external sensor redout routed to Virtus etc.
Outputs
This tab allows routing of state from other components:
- Name,
- Route from – Source that will have influence over the output state – change of state of the channel in this field will cause the output state to change accordingly.
Available output state sources:
i[x]– Input channel state,i[x].act– Last input action,o[x]– Output channel coil state,o[x].on– Output channel state,v[x]– Virtual variable state,s[x].aHi– Sensor high level alarm,s[x].aLo– Sensor low level alarm,s[x].wHi– Sensor high level warning,s[x].wLo– Sensor low level warning,s[x].err– Sensor error,s[x].ok– Sensor operates correctly,ping[x]– Ping status:0- error,1- success,mb[x].y– mbAgent value,- External device:
dev[x].err– Connection lost,dev[x].o[y]– External output,dev[x].i[y]– External input,dev[x].s[y].err– External sensor error.
-
Negation and logic operations (|/&/^) e.g.:
!s[0].err!o[0]&v[1]
-
Route to – Variable, the output state will have influence on. Available variables:
-
v[x]– Internal variable, mb[x].y– mbAgent value,- External device:
dev[x].o[y]– External output.
- Negation and logic operations (|/&/^) e.g.:
!s[0].err!o[0]&v[1]
Tip
If the source is preceeded by "!i", the coil state will be opposite to the state of source channel. For example: !io[3] means that the output will have the state opposite to input 3.
The
icon opens the step-by-step configuration window.
Inputs
This tab allows to set the virtual inputs in relation to external sources.
- Name,
-
Route from – Source that will have influence over the output state - change of state of the channel in this field will cause the output state to change accordingly. The following commands can be used (the lis is available by clicking i):
-
i[x]– Input channel state, o[x]– Output channel coil state,o[x].on– Output channel state,v[x]– Virtual variable state,s[x].aHi– Sensor high level alarm,s[x].aLo– Sensor low level alarm,s[x].wHi– Sensor high level warning,s[x].wLo– Sensor low level warning,s[x].err– Sensor error,s[x].ok– Sensor operates correctly,ping[x]– Ping status:0- error,1- success,mb[x].y– mbAgent value,- External device:
dev[x].err– Connection lost,dev[x].o[y]– External output,dev[x].i[y]– External input,dev[x].s[y].err– External sensor error.
The
icon activates the step-by-step configuration.
mbAgent
Poller is a function of the program that regularly downloads data from other system, device or application using the Modbus TCP/Modbus RTU protocol. The poller operates by sending inquiries to a specified target and awaiting a reply. Clicking Create a mbAgent instance will display subsequent dialogue windows with detailed configuration options:
Device settings:
- mbAgent name – Poller name,
- Protocol – Poller communication protocol:
- Modbus TCP
- Modbus RTU
- Transport:
- TCP (option for Modbus TCP),
- UDP (option for Modbus TCP),
- RS485/RS232 (option for Modbus RTU).
- Device PDU – Device's Modbus address,
- Connection timeout [ms] (only for Modbus TCP),
- Response timeout [ms],
- IP address (Modbus TCP only) of the monitored device,
- Port (Modbus TCP only) – Communication port for the monitored device.
Clicking Next will go to the next parameter window.
Data:
- Start register address,
- Number of registers,
- Register type:
- Coils
- Input Register 16-bits
- Holding Register 16-bits
- Discrete Inputs
- Refresh interval [s],
- Writable.
Mappers:
- Mapper name,
- Address – Register address.
Schedule
This tab allows the user to control system operation using defined schedules or cron expressions. This advanced function allows for flexible programming of various actions, such as turning devices on and off, defining latitude and longitude for precise synchronization with sunrises and sunsets. Additionally, it's possible to assign specified actions to cron expressions, creating a personalized system operation schedule.
Weekly
It's possible to define up to four weekly schedules – activation of device outputs during specified hours of a weekday.
Change time format – Change time format from 24h to 12h.
Programming of the schedule should begin with defining the start and end times. Next, using the
button, go to weekday selection, and define the outputs that the schedule will aplly to. Save all changes using
.
Enable rule – Enables/disables the selected schedule.
Cron action
The tab allows the user to activate previously defined actions, according to a schedule utilizing a cron expression.
Firstly, enable cron operation:
Clicking + will start a step-by-step cron configuration.
After applying the cron time settings, go to the next configuration step:
- Cron expression – Defined cron expression.
returns to cron configuration, - Comment – User comments,
- Action – Assign actions defined previously – consult Defining actions,
- Config – Allows the user to accept the configuration or leave the editor.
Cron standard
This tab allows for programming of output operation according to the cron expressions:
- Cron standard – Enable/disable Cron,
- Missed Cron Replay – Execution of cron orders that have been missed because of a power failure. Maximum restore time: 7 days since power loss.
Step-by-step cron configuration:
Clicking
will go to the cron expression configuration. After a cron expression is added, command configuration is possible - program how particular outputs should operate during the set cron expression. The following options are available to each output:
- None – No state change,
- Not – State inversion,
- Off,
- On.
Apply the configuration by clicking Add command.
Click + to add additional commands.
Advanced cron configuration:
Advanced configuration allows the user to access advanced cron configuration.
The drawing describes the meaning of columns:
* * * * * Control command
| | | | |
| | | | ---------- Day of the week (0-7) (0 and 7 sunday)
| | | -------------- Month (1-12)
| | ----------------- Day of the month (1-31)
| --------------------- Hour (0-23)
------------------------ Minute (0-59)
The control command consists of 8 fields representing the state of outputs.
Each field can assume the values:
- 1 – Output activation,
- 0 – Output deactivation,
- n – Negation (state inversion),
- - – Leave the output with no changes.
Example
| Output | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| State | 1 | 1 | 0 | 1 | n | 1 | - | 0 |
- Activate outputs 1, 2, 4, 6,
- Deactivate outputs 3, 8,
- Invert output 5,
- Output 7 - no changes.
The controller recognizes the following entries:
- Sunday can be represented by 0 or 7
- The day of command execution can be inputted in two ways: day of the month or day of the week. If two fields are filled, the command will be executed both on the day of the month and day of the week!
- Numerical values can be saved in various formats:
- 1-3 – Values 1, 2, 3,
- 0-10/2 – Values 0, 2, 4, 6, 8 i 10 (every 2nd value in the range from 0 to 10),
- 1,2,5 – Values 1, 2, 5,
- */2 – Every 2nd allowed value (np. in the first collumn it will be 0, 2, 4, 6...56, 58),
- 1-3,5,6 – 1, 2, 3 and 5, 6,
- SR – time of the sunrise,
- SS – time of the sunset.
Tip
Because of Daylight Savings Time, avoid tasks that should happen between 2:00 and 3:00 on a Sunday. During automatic change from winter to summer time, the action will not complete, while during change from summer to winter time, it will be completed twice.
Example
- Activate relay No. 3 at 12:45:
45 12 * * * --1------ - Activate relay No. 5 at 17:30 on the 16th of October:
30 17 16 10 * ----1--- - Activate relay No. 2 at 8:00 form Monday til Friday:
00 8 * * 1-5 -1-------- - Activate relay No. 1 and 5 from Monday til Friday at sunrise:
SR SR * * 1-5 1---0--- - Activate relay No. 1 at dusk and deactivate at dawn:
SS SS * * * 1--------- SR SR * * * 0--------- - Activate relay No. 3 10 minutes after dawn:
SR+10 SR * * * --1-----
Configuration
This tab allows output control configuration using cron expressions.
- Twilight – Twilight type selection – see Twilight,
- Longitude – Degrees (positive value for the eastern longitude, negative for western longitude),
- Longitude – Minutes (positive value for the eastern longitude, negative for western longitude),
- Latitude – Degrees (positive value for the northern latitude, negative for southern latitude),
- Latitude – Minutes (positive value for the northern latitude, negative for southern latitude).
Twilight
- Civil (-6⁰) – Civil twilight - the phase of sunset when the centre of the solar disc is no more than 6 angular degrees below the horizon. During this period, the brightest stars and planets appear in the sky, retaining enough natural light for normal outdoor activities.
- Nautical (-12⁰) – Nautical twilight (also known as dusk) - the time after sunset when the centre of the solar disc is less than 6 angular degrees below the horizon, but still above 12°. This phase allows the horizon line to be clearly observed, which is important in astronavigation, enabling simultaneous navigation based on terrestrial and celestial objects.
- Astromical (-18⁰) – Astronomical twilight - the period when the centre of the solar disc is between 12 and 18 angular degrees below the horizon. It ends with the beginning of astronomical night. Astronomical dawn - the time before sunrise when the sun's rays light up the sky, making the faintest stars no longer visible. Astronomical dawn lasts from the time the centre of the Sun's disc is more than 18° below the horizon line until it is more than 12° below the horizon line. The astronomical dawn ends the astronomical night and then the nautical dawn begins.
- Nautical dawn – The time before sunrise when the horizon and landscape become visible, allowing navigation based on illuminated objects on land or sea. During this time, the brightest stars are still visible in the sky. Nautical dawn lasts from the moment when the centre of the Sun's disc is more than 12° below the horizon line, but still less than 6° below the horizon line.
- Civil dawn – The time before sunrise when the centre of the sun's disc is already more than 6° below the horizon line.
Virtus calculates the hour of the sunrise and sunset - to do that, input of geographical coordinates is needed (longitude and latitude in the degrees/minutes format).
- Twilight – Select the astronomical clock mode:
- Sunrise/set (-0,58°),
- Civil (-6°),
- Nautical (-12°),
- Astronomical (-18°).
Remote hosts ping (Watchdog)
The device is equipped with the function of "pinging" – it can interrogate remote hosts (other network devices, servers etc.) and react to their availability.
To add a new device to check the availability of, click + in the All ping pong actions table – a Create a new ping feature dialogue window will appear:
- Name – Ping name,
- IP address – IP address of the pinged device,
- Interval – Ping interval (in seconds),
- Timeout – Ping response time limit,
- Error tolerance – Maximum permissible amount of ping response errors before error state occurs.
Tip
All changes should be saved with 
A new ping will show up in the table, Actions ping OK and Actions ping Error columns will be populated with + buttons, that allow assignment of selected actions that are to be executed in the event of correct and erroneous ping response. The process of assigning actions is described in the Defining actions chapter.
Clicking
will activate an additional indicator next to the request name - assuming green colour for a correct ping response or red if a response error occurs.
Logic functions
This tab allows configuration of logic functions - afer certain conditions are met, a defined action is executed.
Conditions
To configure a new logical funtion, click Add a condition.
Available logical variables:
- input,
- input cnt – Input counter,
- output,
- sensor,
- sensor state:
- 0 - Sensor error,
- 1 - Normal state,
- 2 - Sensor low level warning,
- 3 - Sensor high level warning,
- 4 - Sensor low level alarm,
- 5 - Sensor high level alarm,
- constant,
- variable,
- active input action,
- schedule.
Result True / Result False – Reaction for meeting/not meeting the condition:
- None,
- Output – Output control,
- Action – Recall defined action,
- Variable – Virtual input/output control.
Example
Output 1 will be activated as long as the sensor 0 temperature is greater than or equal to 25. If the temperature drops below this value, output 1 will be deactivated.
Lua Script
The Lua Script tab allows the user to define custom actions and input/output control logic using the Lua script language.
The main tab section contains a code editor that can be used to create and edit Lua scripts. Those scripts allow customization of device operation depending on different events.
- Reload workspace – Reload the editor,
- Load to module – Upload the Lua script to the device (without saving to persistent memory),
- Store in FLASH – Save the Lua script to device memory (the script will remain active after a restart),
- Clear console – Clear the output console,
- Restore code – Restore the default Lua code.
Tip
The "Lua" option located at the bottom of the tab allows the user to enable or disable Lua script support in the device.
Available system functions
start()– Recalled after the system start-up,timeout()– Recalled afterset_timeout(ms)period has passed,httpdscript(name,args)– Recalled when a HTTP request begins with/data/script/,void set_timeout(ms)– Sets the internal timer and recalls thetimeout()function,void clear_timeout()– Clears and disables the timer.void action(name)– Recalls thenameaction.
Lua libraries
The system offers several libraries enabling interaction with the device. The dev library is specific to Inveo devices. All other libraries are standard.
dev library
out_default(channel, int)– Output control:0– Disable,1– Enable,2– Invert state.
out_static(channel)– Enable output in static mode,out_off(channel)– Disables the output on a given channel,out_single(channel, ton, toff)– Sets a single pulse on the output,out_blink(channel, ton, toff, cnt)– Sets flash on the output,out_get(channel)– Returns the output state,in_get(channel)– Returns the input state,in_get_cnt(channel)– Returns the input counter,virt_set(id, val)– Set virtual variable,virt_set(id)– Returns the state of the virtual variable,sensor_get(id)– Returns the sensor state:0– Sensor error (damaged/incorrectly connected sensor etc.),1– The sensor returns correct readings,2– Sensor low level warning,3– Sensor low level alarm,4– Sensor high level warning,5– Sensor high level alarm.
Communication
email(recipient, subject, text)– Sends an e-mail,recipient– Recipient address,subject– Message topic,text– Message content.
HTTP
http_send(url, data, data_length, method, content_type)– Sends a HTTP request,url– Address, the device will send the request to. Enteringnullwill send the request to the address specified in the HTTP Client tab,data– Data that will be sent,data_length,method– HTTP method:0– GET,1– POST,2– PUT,3– DELETE.
content_type:0– PLAIN,1– JSON,2– XML.
MQTT
mqtt(topic, data, length)– Sends an MQTT notification,topic– Topic, the notification will be sent to,data– Data that will be sent,length– Data length.
Logging and debugging
log(message)– Saves message to flash memory,console(message)– Dispays the message in the Lua console.
httpdscript() request response
httpd_resp()– Sets the HTTP response.
Example
function example()
--download sensor ID=0 state
state,value = dev.sensor_get(0)
if(value>20) then
dev.console("Highest value" .. value)
--set channel ID 3 to:
--0-off,1-on,2-inv
dev.out_default(3,2)
elseif (value<10) then
dev.console("Lowest value" .. value)
else
dev.console("Mean value" .. value)
end
end
--recall function when the device starts
function start()
dev.set_timeout(100);
end
--recall the timeout function
function timeout()
example()
dev.set_timeout(100);
end
Variables
This tab allows the user to specify the values of virtual variables.
System management
The Administration tab allows control over device aspects that influence the operation, security and system configuration.
graph TB
A[Administration] --> B[Access]
A --> C[Network]
A --> D[Time]
A --> E[System events]
A --> F[Backup]
A --> G[Update]
Access
The user can manage webserver access. This involves authentication, device name and access from the Discoverer programme.
- Password – Enable/disable configuration password,
- Current password,
- New password,
- Repeat new password,
- Module name – Assigning an individual name to the module makes module identification in the system easier,
- Enable remote config – Enable/disable configuration via the Discoverer programme.
Information
Default device settings:
- username: admin
- password: admin
API keys
The device allows the user to configure a set of five unique API keys, used for authentication and identification of users or processes that initiate communications with the device.
- Enable – Enable/disable the selected API key,
- Custom name – Key name assigned by the user,
- Expiry date – API key expiry date,
- HTTP Client, HTTP Server, MQTT, UDP/TCP, REST API – Selection of the communication protocol that will use the specified API key,
- API key – Key value entry field,
- Generate API key – This button generates a random API key that will automatically be inputted into the API key field.
Wskazówka
Changes made in the API keys tab should be saved with Save API keys.
Network
In this tab, the device's network settings can be changed. Configuration is described in the Network configuration chapter.
Time
This section allows the user to control time, time zone settings, and download of curerrent time from the computer.
- Current time – Preview of current time in the device,
- Current date – Preview of current date in the device,
- Update time in the device – Allows to set the device time to the same time as the computer.
The device is equipped with SNTP support, that is responsible for synchronizing device time with a SNTP server. It's crucial for correct data logging and performing timed tasks.
- SNTP – Enable/disable SNTP,
- Server – SNTP server address,
- Poll time – Server poll time (in seconds).
Tip
Example SNTP servers:
- tempus1.gum.gov.pl – IP address: 194.146.251.100
- tempus2.gum.gov.pl – IP address: 194.146.251.101
Additionally, the device is equipped with an internal RTC with battery backup. If the device does not have constant Internet access, it can use this clock to keep precise time.
- Daylight saving – Enable/disable daylight savings time,
- Time zone – Time zone selection.
System events
This tab enables logging of system events to the flash memory, giving users the option to preview and analyze different system events. This process helps with system operation monitoring and diagnosing possible problems.
- Flash log – Enable/disable logging of events to flash memory,
- Log system events – Enable/disable logging of activations, time changes, factory settings restore, restarts, changes to configuration,
- Log network events – Enable/disable logging network events.
Backup
Users can create configuration backups and restore the system from previous backups in this tab.
Create a backup file
- Enter password – Password protecting the backup,
- Re-type password.
Download enables download of configuration data to the PC.
Restore
- Backup password – Backup access password,
- Backup file – Browse the backup file.
Upload – Uploads the selected backup to the device. Reboot – Allows the device to reboot. Reset to default – Allows the user to restore default settings.
Defining actions
The device undertakes user-defined actions in response to specific signals or sensor readings. Those may include:
- Output control: Activation or deactivation of a selected output based on sensor readings. (eg. turning a fan on after temperature exceeds a certain threshold),
- Sending notifications in the form of SMS, e-mail, MQTT frame, HTTP, TCP, UDP, SNMP trap, and other: Automatic sending of alert/notification to the user or another system in response to defined conditions,
- Other actions defined by the user: Actions specific to a particular system or needs such as saving data to a database, alarm activation, change to other device settings etc.
The actions are specific reactions of the module to received signals and input data, in accordance to the instructions set by the user. Many functions can be conducted by multiple methods depending on preferences and needs.
graph TB
A[Actions] --> B[All]
A --> C[Inputs]
A --> D[KNX]
A --> E[System]
A --> F[Periodic]
All
This tab allows preview and management of defined actions supported by the device.
Control Actions window
- Remove all actions – Removes all actions defined in the device,
- Add a new action – A window displayed after clicking this button allows the user to define each parameter of the added action:
- Action name
Clicking Add entry allows for communication protocol selection and further configuration.
After the programmed action's details are configured, click Add. It's possible to configure multiple actions for one event. After defining all required settings, save the changes using
.
All available actions window
All defined and system actions are visible in this window. Each of them can be:
- Amended –

- Tested –

- Deleted –

Protocol configuration
KNX
- KNX destination group,
- KNX frame – KNX frame syntax in HEX format.
Example
- KNX destination group: 1/1/1
- KNX frame: 0105
Sent data:
UDP
- Server IP – Target IP address,
- Port – Port, on which the target device is listening,
- Input data – Command sent to the target device.
Example
- Server IP: 192.168.22.6
- Port: 9761
- Input data:
%i[0].cnt% DEMO
Sent data:
TCP
- Server IP – Target IP address,
- Port – Port, on which the target device is listening,
- Input data – Command sent to the target device.
Example
- Server IP: 192.168.22.6
- Port: 9761
- Input data:
Input 1 – %i[1]%
Sent data:
HTTP
Detailed protocol configuration is located in the Services tab.
- Server URL address – Target URL address,
Warning
The target URL must match the following convention: http://ip_address:port/resource
- HTTP method:
- GET
- POST
- PUT
- DELETE
- Content-type:
- text/plain
- application/x-www-urlencoded
- application/json
- application/xml
- Input data – Command sent to the target device.
Example 1
- Server URL address:
http://192.168.22.6:877 - HTTP method: POST
- Content-type: text/plain
- Input data:
Output 1 – %o[1]%
Sent data:
Example 2
- Server URL address:
http://192.168.22.6:877 - HTTP method: POST
- Content-type: application/json
- Input data:
{ "%i[0].name%":%i[0]%, "%i[1].name%":%i[1]%, "%s[0].name%":%s[0]% }
Sent data:
MQTT
Detailed protocol configuration is located in the Services tab.
- MQTT topic – Topic, the device sends data to,
- Retain flag – Activated option causes the broker to retain last messages for topics the device sends data to,
- Input data – Message payload.
Example
- MQTT topic:
nline/test - Retain flag: Off
- Input data:
%time% input %i[0].name% activation
Sent data:
IO
- Input command – Command field:
out_on=ch– Activate output No. "ch",out_off=ch– Deactivate output No. "ch",out_inv=ch– Output No. "ch" state invert,out_blink=ch,ton,toff,cnt– Periodic output No. "ch" control. Parameters:ton– Activation time (in seconds),toff– Deactivation time (in seconds),cnt– Number of activation cycles (not required).
out_time=ch,ton,toff– Activate output No. "ch" for the time defined in ton, after toff time passes. The toff parameter is not required - skipping it will activate the output without a delay,out_all=10n-11100– Command defining the state of all available outputs. Each digit represents a subsequent output:1– Activated,0– Deactivated,n– State invert,-– No state change.
Example
- Input command:
out_inv=0
This setting will invert the state of output 0.
Internal log
- Log message – Message syntax,
- Log level:
- DEBUG
- INFO
- WARNING
- ERROR
Example
- Log message:
TEST MESSAGE - Log level: INFO
Sent data:
Detailed protocol configuration is located in the Services tab.
- Receivers (comma separated) – E-mail recipients (comma separated),
- E-mail subject – E-mail message subject,
- E-mail message – E-mail message contents.
Example
- Receivers (comma separated):
test1@test.com - E-mail subject:
test - E-mail message:
e-mail test Input 1 - %i[0]%
Those settings will cause an e-mail with the topic of test, with the contents of e-mail test Input 1 - and current input state to be sent to test1@test.com.
SMS
Detailed protocol configuration is located in the Services tab.
- SMS sender,
- Receivers (comma separated) – SMS recipients (comma separated),
- SMS message – SMS message contents.
Example
- SMS sender: INVEO
- Receivers (comma separated): xxx xxx xxx
- SMS message:
Output 1 state - %i[1]%
Those settings will cause an SMS from INVEO, with the contents of Output 1 state - (output state) to be sent to the phone number xxx xxx xxx.
SNMP Trap
- Trap message – Message syntax.
Example
- Trap message:
user[0]:i[0]
Sent data:
Inputs
Defined actions can be configured and assigned to specific inputs in this tab.
Depending on the input operation mode (defined in I/O Settings / Inputs), various forms of actions triggering the assigned action are available.
| Selected action mode | Available action forms | Action that will trigger the assigned action |
|---|---|---|
| Standard | Action Off | Action is triggered by input deactivation |
| Action On | Action is triggered by input activation | |
| Hold | Action Off | Action is triggered by input deactivation - input was activated for a time shorter than defined by the user in Parameter |
| Action On | Action is triggered by input activation | |
| Action Hold On | Action is triggered by input activation for a time longer than defined by the user in Parameter | |
| Action Hold Off | Action is triggered by input deactivation - input was activated for a time longer than defined by the user in Parameter | |
| Cnt | Action I | Action is triggered by the specified number of activations in a time period defined by the user in Parameter |
| Action II | Action is triggered by the specified number of activations in a time period defined by the user in Parameter | |
| Action III | Action is triggered by the specified number of activations in a time period defined by the user in Parameter | |
| Action IV | Action is triggered by the specified number of activations in a time period defined by the user in Parameter | |
| Toggle | Action I | Subsequent pulses on the input recall Action I and Action II alternately |
| Action II | ||
| Freq | Action Off | Action is triggered by input activation with a frequency lower than defined by the user in Parameter |
| Action On | Action is triggered by input activation with a frequency higher than defined by the user in Parameter |
The Go to the input actions allows quick access to the I/O Settings / Inputs tab.
The
icon allows for step-by-step configuration.
Assigning actions
To assign an action to a chosen event, click +. A dialogue window will be displayed, where the desired action (defined previously in All) can be selected.
After an action is assigned, a window appears in the table:
-
Additional settings (repetition and delay) icon:
- Repetition interval [s] – Interval between executed actions. If this field is empty, the action will be executed only once,
- Repetiton in a loop – Actions will be executed in a loop,
- Specific number of repetitions – Actions will be repeated for a specified number of times,
- Number of repetitions,
- Delay of action execution [s]:
- The trigger has to be active – The action will be delayed only when the trigger is active,
- Regardless of trigger status – The action will be delayed regardless of the trigger state, Save the changes using Apply.
- Repetition interval [s] – Interval between executed actions. If this field is empty, the action will be executed only once,
-
Action delay icon: grey – delay disabled, green – delay enabled,
- Action repetition icon: grey – repetition disabled, green – repetition enabled,
- Action name – defined by the user during addition or amendment of action settings,
- Utilized communication protocol,
- Bin icon – clicking it will remove action assignment,
- Edit icon – clicking it will edit the action settings,
- Try icon – clicking it will execute the action.
KNX
In the Actions/KNX tab, actions that are to be performed in response to data frames received by specified KNX groups can be defined.
When the module receives a data frame on a specified KNX group (eg. 1/1/1), it will automatically execute the defined actions. For example, depending on the configuration, it could be sending an e-mail to a specified address, running a predefined procedure or notifying the users about an event.
Firstly, the KNX group number should be entered. This will cause a dialogue window to appear, containing detailed settings. The next step is to select the communication protocol:
Clicking Add entry will enable communication protocol selection and further configuration.
- Select protocol – Protocol selection field – the parameteres of particular protocols have been described in detail in the Control Actions Window chapter.
After the details have been set, click Add. It's possible to configure several actions for a single event.
After all settings have been cofigured, apply the changes using
.
System
This tab allows the user to define system actions which the device will perform in the following events:
- Power up – Device power supply restore,
- Ethernet up – Ethernet access gained,
- Ethernet down – Ethernet access lost,
- Wi-Fi up – Wi-Fi access gained,
- Wi-Fi down – Wi-Fi access lost,
- Modbus safe mode.
Click + to assign the action to a desired event. A new dialogue window will appear:
Clicking Add entry will enable communication protocol selection and further configuration.
- Select protocol – The parameters of each protocol have been described in detail in the Control Actions window section.
After the programmed action's details are configured, click Add. It's possible to configure multiple actions for one event.
After defining all required settings, save the changes using
.
Periodic
This tab allows the user to define periodic actions - performed in specified time intervals.
Communication protocols
In the Services tab, options enabling detailed communication protocol configuration options are located:
graph LR
A[Services] --> B[Web]
A --> C[HTTPc]
A --> D[MQTT]
A --> E[E-mail]
A --> F[SMS]
A --> G[Modbus]
A --> H[SNMP]
A --> I[Syslog]
A --> J[TCP/UDP]
A --> K[iCluster]
A --> L[REST API]
Web
In this section, the user can customize the device's network interface settings, manage resource access or modify network connection parameters.
- HTTP Port,
- HTTPS port,
- API key – Enable/disable API key requirement for I/O control,
- SSL/TLS – Enable/disable encryption,
- Select Key file (pem) – Allows upload of SSL server key (pem format),
- Select CSR file (pem) – Allows upload of CSR server key (pem format).
HTTPc
In this section, the device can be configured so it initiates HTTP connections with defined servers or services. URL addresses, request parameters and other connection details can be defined here. The device can send event data via HTTP/HTTPS, using GET or POST.
- HTTP Client – Enable HTTP Client service,
- Server – HTTP server address, to which information will be sent,
- HTTP Port – Port, on which the HTTP server listens,
- HTTP Method – Message sending method: GET / POST / PUT / DELETE,
- Content type:
- text/plain
- json
- xml
- form
- Resource – Resource the module will refer to,
- API key – Enable/disable API key requirement for I/O control,
- User – Username,
- Password,
- HTTP ping request interval,
- HTTP ping request – Ping request syntax,
- SSL/TLS – Enable/disable encryption,
- SSL certificate mode:
- Use Certificate Bundle,
- Use Uploaded Certificate,
- Insecure! Disable SSL verification,
- Skip cert CN check – Skip certificate common name check,
- Use Client certificate,
- Client key password,
- SSL server root certificate,
- Client certificate,
- Client key.
MQTT
This tab is used to configure MQTT broker communication parameters, allowing for data exchange with the publish-subscribe model. This allows the user to define key aspects such as topics, server address, port, and other connection parameters.
The device sends data to the server every minute and every time a value change occurs.
The data stream can be encrypted. After a connection with the MQTT broker is established, the users can subscribe to the data coming from the device.
There is no limit in the amount of subscribers that can receive data from a single device.
- MQTT Client – Enable MQTT service,
- Broker – MQTT broker address,
- Port – Port, on which the server listens (commonly 1883),
- QoS – Quality of Service level. Can assume one of three values: 0 (At most once), 1 (At least once), 2 (Exactly once),
- Subsribe topic – The topic must be in the format (eg. /sensor/home – without „/” at the end),
- Client ID,
- User – (optional) MQTT user name,
- Password – (optional),
- API key – Enable/disable API key requirement for I/O control,
- Send test message - Send a test message to the broker - topic validation, payload 1.
- SSL/TLS – Enable/disable encryption,
- SSL certificate mode:
- Use Certificate Bundle,
- Use Uploaded Certificate,
- Insecure! Disable SSL verification,
- Skip cert CN check – Skip certificate common name check,
- Use Client certificate,
- Client key password.
The device is equipped with the LWT mechanism, meaning Last Will and Testament. LWT is a mechanism that allows the MQTT client to send a message automatically in the event of a client error or MQTT broker connection loss.
The LWT mechanism allows the user to define a topic and message that will be published if the client looses connection.
- LWT – Enable/disable LWT,
- QoS – Quality of Service level. Can assume one of three values: 0 (At most once), 1 (At least once), 2 (Exactly once),
- LWT retain – If enabled, the LWT message will be saved on the broker an will be available for new topic subscribers,
- LWT Topic – Topic that the LWT message will be published at,
-
LWT Message – LWT message contents.
-
SSL server root certificate,
- Client certificate,
- Client key.
Tip
After making changes, apply them using the Save button.
Tip
For the Inveo broker, the settings should be as follows:
- MQTT Address: mqtt.inveo.com.pl
- MQTT Port: 1883
A computer with the Inveo Monitoring application installed can be used as a broker. To do that, type the PC's IP address into the MQTT Address field.
Tip
Make sure that the selected Topic is unique, eg. /daxi/MAC_address.
In this section, e-mail server connection parameters can be configured. This makes it possible to send e-mails automatically in response to defined actions or alarms.
- E-mail – Enable/disable e-mail service,
- Server – SMTP server address,
- Port,
- SSL/TLS – Enable/disable encryption,
- User – Username,
- Authorization – Authorization method:
- None,
- Plain – Password,
- Password – Only used with Authorization: Plain,
- From – Sender e-mail address,
- Subject,
- Recipients (comma separated),
- Debug – Message debugging function,
- Send a test e-mail.
SMS
The module can be configured to send SMS messages in respondse to defined events or with an information eg. about an alarm.
- SMS service – Enable/disable SMS service,
- Provider – Defines the SMS service provider, with whom the API is integrated:
- SMSAPI.pl
- Token API – Unique authorization key used for access authentication and communication with the SMS service provider's API,
- Limit – Daily limit of SMS messages, value of 0 will disable the SMS sending service,
- From – Defines the message sender: this can be a predefined name, phone number or other identifier that will be visible to the message's recipient,
- Recipients (comma separated) – List of recipients phone numbers,
- Send a test SMS.
Modbus
Device data can be read and written using MODBUS TCP. The device supports the following Modbus functions:
- 0x01 Read Coils
- 0x02 Read Discrete Inputs
- 0x03 Read Holding Register
- 0x04 Read Input Register
- 0x05 Write Single Coil
- 0x06 Write Single Register
- 0x0F Write Multiple Coils
- 0x10 Write Multiple Registers
- Modbus TCP – Enable/disable Modbus TCP service,
- TCP Port – Modbus TCP port (default 502),
- Modbus RTU via TCP – Enable/disable Modbus RTU via TCP service,
- PDU,
- RTU Baudrate,
- RTU Parity,
- RTU Stop bit.
Content of the registers is shown in the following tables:
Read Coils
| Address | R/W | Description |
|---|---|---|
| 1 | R/W | Output 0 state, enable (in the operation mode defined by the user) / disable output 0:0-off, 1-on |
| 2 | R | Output 0 state |
| 3 | R/W | Output 1 state, enable (in the operation mode defined by the user) / disable output 0:0-off, 1-on |
| 4 | R | Output 1 state |
Read Discrete Inputs
| Address | Name | Description |
|---|---|---|
| 1 | input0 state | Input 0 state |
| 2 | input1 state | Input 1 state |
| 3 | input2 state | Input 2 state |
| 4 | input3 state | Input 3 state |
Holding Registers
| Address | R/W | Description |
|---|---|---|
| 1 | R | Input 0 activation counter |
| 2 | R | Input 1 activation counter |
| 3 | R | Input 2 activation counter |
| 4 | R | Input 3 activation counter |
| 201 | R/W | Output 0 state, enable (in the operation mode defined by the user) / disable output 0:0-off, 1-on |
| 202 | R | Output 0 operating mode: 0 – disable 1 – bistabile 2 – astabile 3 – one pulse |
| 203 | R | Time On value |
| 204 | R | Time off value |
| 205-209 | As shown above - applies to output No. 1 |
Read Input Registers
| Applies to sensor | Address | |
|---|---|---|
| Sensor 0 | 1 | 0 - read error (sensor damaged or connected incorrectly), 1 - the sensor is giving correct readings that are within normal limits, 2 - low level warning, 3 - high level warning, 4 - low level alarm, 5 - high level alarm |
| 2 | Sensor value*10 | |
| 3 | Sensor value float 4 | |
| 5 | Sensor last reading time | |
| 6 | Sensor last reading time | |
| Sensor 1 | 7-12 | As above, applies to sensor 1 |
| Sensor 2 ... | 13… | As above, applies to subsequent sensors |
SNMP
This section allows configuration of SNMP protocol settings, used for monitoring and network device management. The module is equipped with the v2c and v3 SNMP servers. Depending on the SNMP version selected, different parameters are available:
SNMP v2c
- SNMP – Enable/disable SNMP service,
- SNMP version – v2c or v3,
- sysDescr
- sysContact
- sysName
- sysLocation
- Read community – Data read password (only SNMP v2c),
- Write community – Data write password (only SNMP v2c).
- Write community – Data write password,
- Trap IP – Address, to which trap messages will be sent.
SNMP v3
- Enable – Enable/disable SNMP service,
- SNMP version – v2c or v3,
- sysDescr
- sysContact
- sysName
- sysLocation
- EngineId – Unique device identifier (only SNMP v3).
Parameters that can be set in this window allow defining of authentication and privacy mechanism for different users.
- Username,
- Auth Protocol:
- no
- md5
- sha
- Authorization Key,
- Priv Protocol:
- no
- des
- aes
- Private Key,
- Writable – Assign the user with privilege to send messages to the device.
Parameters that can be set in this window apply to specific trap notifications generated for or by the user concerned.
- IP – IP address of the device or system generating the trap notification,
- Username – SNMPv3 user name,
- Secure Level used with SNMPv3:
- noAuthnoPriv – SNMPv3 communication is carried out with no security,
- authNoPriv – SNMPv3 communication is authenticated but not encrypted,
- authPriv – SNMPv3 communication is authenticated and encrypted,
- Auth Protocol:
- no
- md5
- sha
- Priv Protocol:
- no
- md5
- sha
- Authorization Key,
- Private Key,
- Engine ID – Unique identifier used to represent the SNMPw engine in the device.
Download MIB file – Link to download the MIB file.
Syslog
In this section, sending of system logs to a remote syslog server can be configured, making remote diagnostics and device monitoring easier.
- Enable – Enable syslog client service,
- Server – Syslog server address in the form of IP address or domain name (maximum of 24 characters),
- Port – Port number, the syslog server is listening to,
- System events – Events related to system operation,
- Syslog IO.
TCP/UDP
This tab allows the user to enable and configure TCP and UDP protocols support. The user can customize settings such as ports and communication parameters, providing flexibility in device configuration in compliance with network requirements. By sending commands to the device's IP address and port using an appropriate protocol, the user can control the outputs state. Available commands – see IO commands.
- TCP server,
- TCP port,
- UDP server,
- UDP port,
- API key – Enable/disable API key requirement for I/O control.
iCluster
iCluster allows multiple Inveo devices to interconnect within a single LAN. IQIO can operate as an iCluster client, allowing the device to oversee its parameters such as: sensor readings, input/output state, output control etc.
- Inveo iCluster – Enable/disable iCluster service,
- Passphrase – Password used by the Inveo client that allows communication between devices. The password set here will be required in the device that would like to establish a connection with a Daxi device.
IO commands
Shown below is the summary of commands used to create actions based upon IO commands. It is worth noting that those commands are useful when using different protocols such as HTTP, MQTT, UDP and TCP too.
out_on=ch– Activate output No. "ch",out_off=ch– Deactivate output No. "ch",out_inv=ch– Output No. "ch" state invert,out_blink=ch,ton,toff,cnt– Periodic output No. "ch" control. Parameters:ton– Activation time (in seconds),toff– Deactivation time (in seconds),cnt– Number of activation cycles (not required).
out_time=ch,ton,toff– Activate output No. "ch" for the time defined in ton, after toff time passes. The toff parameter is not required - skipping it will activate the output without a delay,out_all=10n-11100– Command defining the state of all available outputs. Each digit represents a subsequent output:1– Activated,0– Deactivated,n– State invert,-– No state change.
Example
out_all=10n-1110 will activate outputs No. 0, 4, 5, 6; deactivate outputs 1 and 7; invert the state of 2; leave output No. 3 with no changes.
The commands can be joined together using &.
Example
out_on=2&out_inv=3&out_time=1,20,20
Built-in variables
The following table contains example internal variables that allow for precise transfer of module operation data. Those variables are key elements in configuration, e-mail and SMS notifications, HTTP Client etc.
| Syntax | Example | Description |
|---|---|---|
%out[range],[off],[on]% |
%out[0-5],0,1% |
Outputs state [range] is the range of outputs to be displayed [off] is the value for inactive state [on] is the value for active state Example: state of OUT 0-5 will be displayed. 0 - inactive 1 - active |
%in[range],[off],[on]% |
%in[0-7],i,I% |
Inputs state [range] is the range of inputs to be displayed [off] is the value for inactive state [on] is the value for active state Example: state of IN 0-7 will be displayed. 0 - inactive 1 - active |
%cnt[number]% |
%cnt5% |
Input counter value [number] is the input number Example: counter value of input No. 5 will be displayed |
%sens[number]% |
%sens10% |
Sensor value [number] is the sensor number Example: sensor No. 10 value will be displayed |
%sunrise% |
%sunrise% |
Sunrise hour |
%sunset% |
%sunset% |
Sunset hour |
%time% |
%time% |
Current time |
%date% |
%date% |
Current date |
%timedate% |
%timedate% |
Current time and date |
%ts% |
Current timestamp – number of seconds since the specified date: 1st of January 1970 | |
%mod_name% |
Module name defined by the user | |
%mod_model% |
Device model | |
%eip% |
Device's IP address | |
%emac% |
Device's MAC address | |
%s[x]% |
%s[3]% |
Sensor value Example: sensor No. 3 value will be displayed |
%s[x].statTxt |
%s[2].statTxt |
Sensor status Example: sensor No. 2 status will be displayed |
%o[x]% |
%o[4]% |
Output state Example: state of output No. 4 will be displayed |
%i[x]% |
%i[1]% |
Input state Example: state of input No. 1 will be displayed |
%v[x]% |
Virtual variable value | |
%cntx% |
Inputs counter value |
REST API
- REST API – Enable REST API,
- Port,
- Authentication type:
- None,
- Basic authentication – User name and password authentication,
- API KEY – API key authentication, utilizing a key generated in Administration / Access. The key should be entered as a parameter, preceded with
apikey=.
- User – User name used with Basic authentication,
- Password – Password used with Basic authentication,
-
SSL/TLS – Enable/disable encryption.
-
SSL Key file (pem) – Allows upload of SSL key (pem format),
- Certificate file (pem) – Allows upload of certificate file (pem format).
Example
API key value: 12345678901234567890
REST API request syntax: http://adres_ip:port/io/outputs/1?apikey=12345678901234567890
Warranty and manufacturer's liability
Warning
The manufacturer provides a two-year warranty for the device and post-warranty service for a period of 10 years from the date of introduction of the device to the market. The warranty covers all material and production defects.
The manufacturer undertakes to respect the warranty agreement, if the following conditions are met:
- All repairs, changes, expansions and device calibrations are carried out by the manufacturer or an authorized service center,
- The power supply system meets the applicable standards,
- The device is operated in accordance with the suggestions presented in this manual,
- The device is operated in accordance with its intended purpose.
The manufacturer assumes no responsibility for consequences resulting from improper installation, improper use of the device, failure to comply with the instruction manual, and repairs made by unauthorized personnel.
Warning
The device contains no user serviceable parts inside.
Storage, operation and transport conditions
The device should be stored in enclosed rooms, where the atmosphere is free from vapours and corrosive substances:
- Environment temperature from -30°C to +60°C (-22°F - 140°F),
- Humidity from 25% to 90% (condensation unacceptable),
- Atmospheric pressure from 700 to 1060 hPa.
The device is intended to operate in the following conditions:
- Environment temperature from -10°C do +55°C (14°F - 131°F),
- Humidity from 30% to 75%,
- Atmospheric pressure from 700 to 1060 hPa.
Recommended transport conditions:
- Environment temperature from -40°C do +85°C (-40°F - 185°F),
- Humidity from 5% to 95%,
- Atmospheric pressure from 700 to 1060 hPa.
Installation and device operation:
- The module should be operated in accordance with recommendations provided later in this manual.
Disposal and decommissioning
In an event the device needs to be decommissioned (eg. after its intended life period is surpassed), it is recommended to contact the manufacturer or his representative, who are responsible to respond appropriately, i.e., to collect the device from the user. The user can alternatively contact companies specializing in electronic device or computer equipment disposal and/or decommissioning. Under no condition should the device be placed with other waste.