VeltnovaVeltnovaContact us
Browse the wiki

4.2Using system objects and reusable values

How canvas objects use values published by gateway components, which value IDs exist, where the pickers list them and how to send them to KNX.

Gateway components publish values that have nothing to do with a KNX group address: a Modbus register, a Zigbee temperature, the sunset time, a generator's battery voltage. Each value has a reusable value ID. A canvas object that uses the System Object source shows or uses that value.

#Which objects can use them

ObjectWhere you choose the valueNotes
Analog ValueProtocol System Object, then System ValueShows a number or text.
State ActionProtocol System Object, then System ObjectShows text. Time values can use a 12-hour or 24-hour format.
Energy Flow LineData Source System Object, then System ValueUses the number as the flow.
Generator panel, UPS panel (generic), Solar panel (generic)Value pickers inside the panel's propertiesList Modbus datapoints and the matching manager's values.
GraphConfigure Recorded ValuesA Graph does not read live values. It reads what the History Recorder stored.

A Switch, Dimmer Light or other control object does not use the System Object source. For a Zigbee device, set its Protocol to Zigbee instead. The Group Address / Device ID field then becomes a list of the Zigbee device values you configured, such as Hall light - On/Off.

#Value IDs

SourceID formatExample
Modbus datapointmodbus:<device>.<datapoint>modbus:energy_meter.total_power
Zigbee devicezigbee:<device>.<value> where the value is onOff, onOff2, brightness, color, occupancy, temperature or humidityzigbee:zigbee_device_1_3f9a21c4.onOff
Rule Gateway rulerule:<name>rule:knx_rule
Network I/O virtual inputnetwork:<name>network:virtual_input
CAN signalcan:<name> (or the id you gave the signal)can:battery_voltage
Genset Managergenset:<field>genset:batteryVoltage
UPS Managerups:<field>ups:batteryCapacity
Solar Managersolar:<field>solar:acPowerKw
Watering Managerwatering:active_zonewatering:active_zone
Solar Engine, Muslim Prayer Times, Christian EventsThe value namesolar-sunset, prayer-fajr, christian-next-event-name

Names in an ID are written in lower case, with every run of other characters replaced by an underscore. When a picker stores a value on an object it adds the prefix system:, for example system:modbus:energy_meter.total_power. The gateway removes the prefix again, so you never type it yourself.

The manager services publish fixed field lists:

  • Genset Manager: Mode, Alarm, Status, Speed (RPM), Battery voltage, Charging voltage, Frequency, Voltage L1 to L3, Current L1 to L3, Current total, Active power total, Fuel level.
  • UPS Manager: Mode, Alarm, Load percent L1 and total, Battery capacity, Output voltage, current and frequency, Battery voltage, Temperature, Backup time remaining, Input mains voltage and frequency, Output active power.
  • Solar Manager: State, AC power, DC power, Lifetime energy, AC voltage, AC current, AC frequency, Cabinet temperature, MPPT1 DC voltage, current and power.

These groups appear in a picker only after the manager has a Modbus device chosen.

#What the picker lists

The built-in groups are always there: Solar Values (Dawn, Sunrise, Noon, Sunset, Dusk, Azimuth, Elevation), Muslim Prayer Times and Christian Events. The other groups are added when something is configured.

PickerBuilt-in groupsGroups added when configured
Analog ValueSolar Values, Muslim Prayer Times, Christian EventsModbus RTU, Zigbee, Network I/O (with the CAN signals), Rule Gateway, Watering, Genset Manager, UPS Manager, Solar Manager
State ActionSolar Values, Muslim Prayer Times, Christian EventsModbus RTU, Zigbee, Network I/O, Rule Gateway, Watering
Energy Flow LineSolar Values, Muslim Prayer TimesModbus RTU, Network I/O, Rule Gateway, Watering

A Modbus entry reads <device name> - <datapoint name>, for example Energy Meter - Total Power. The list shows what is configured, not what is running. A value from an interface that is switched off is listed but never receives a number.

#Publishing values to KNX

A value can also be written onto the KNX bus so that other KNX devices can use it.

  • Modbus datapoint: in Configure RTU Devices, switch on Send value to KNX on the datapoint. Choose the KNX group address and the KNX datatype (DPT 1.001, 5.001, 7.001, 8.001, 9.001, 9.020, 12.001, 13.001 or 14.001; 9.001 is the default). Only on change is on by default, and Min change sets how far a number must move before it is sent again. The first reading after a start is always sent.
  • Zigbee device: each value has its own Send value to KNX switch and group address. The data types are fixed: on/off and occupancy use DPT 1.001, brightness 5.001, color 251.600 (RGBW), temperature 9.001 and humidity 9.007.
  • Other sources: the Rule Gateway, Formula Engine, Value Store and Automation write to KNX through their own settings. See their pages.

The MQTT Client can also use a system value as the source of a topic binding. See MQTT Client.

#Example: show a meter's power and send it to KNX

This example reads one value from a Modbus energy meter, shows it on a page and sends it to KNX. The register address, slave ID and group address are examples. Take the real ones from the meter's register list and your KNX design.

  1. Open Server > Interfaces > RS485 Interface. Switch Enabled on. Set Baud rate, Data bits, Parity and Stop bits to match the meter, for example 9600, 8, None, 1.
  2. Click Configure RTU Devices, then Add. On the Device tab set Name to Energy Meter and Slave ID to 5.
  3. Open the Datapoints tab. Set Name to Total Power, Data address to 0x0034, Read function to 03 - Read Holding Registers, Data type to Float 32-bit, Register count to 2, Word order to ABCD - normal and Unit to W.
  4. Set Reusable value ID to modbus:energy_meter.total_power. The field was filled in from the default names when the device was created, so overwrite it.
  5. Switch Send value to KNX on. Set KNX group address to 7/0/1, KNX datatype to DPT 14.001 - 4 byte float, leave Only on change on and set Min change to 5. Click Save Changes.
  6. On a page, add an Analog Value. Set Protocol to System Object. Under System Value, open the group Modbus RTU and pick Energy Meter - Total Power. Set Unit of Measure to W and Decimal Digits to 0.
  7. Deploy. See Deploying to a gateway.

To check it, reopen the datapoint and look at Latest value. It reads the gateway every 5 seconds. Diagnostics shows the RS485 bus as READY with one device, and the KNX telegram monitor shows the write to 7/0/1.

#Tips and common problems

  • The object shows -- or its preview value: the gateway has no value yet. Check that the interface or manager is switched on and deployed, and that the ID on the object matches the ID on the datapoint.
  • A value stopped updating: the gateway marks a Modbus value as stale when it has not been refreshed for 15 seconds, or when a read fails.
  • An object lost its value after an edit: you changed the Reusable value ID. Choose the value again in the object's picker.
  • The value is wrong by a factor of 10: use the datapoint's Scale once. Do not scale again on the object.
  • Nothing appears on KNX: the group address must be filled in, the KNX engine must be running, and Only on change only sends when the number actually changes.

#See also

Still stuck? Open a ticket from the support portal and mention the page you followed.