Recalculating incoming and outgoing data values
A very common use case is the recalculation of incoming data point values. Data point values from field devices have dedicated format and range which cannot be changed. Thus, they need recalculation. A typical use case is a smart meter that provides consumption values in Wh but kWh is required in the BMS.
Within this tutorial, it is shown how incoming KNX temperature values can be converted from degrees Celsius to degrees Fahrenheit. Consider the following KNX project is used – a hotel with 2 floors, each floor has 10 hotel rooms and each hotel room has a room controller that measures the current room temperature:
To convert the group address of the current room temperature of Room 101 to degrees Fahrenheit, open the parsing definition within the menu Modules > Logic:
Add the following definition (see this for more information about so-called parsing definitions):
Item suffix: Fahrenheit
This means that the item ID of the virtual item that will be created by the Logic module will have the suffix Fahrenheit. This suffix will be appended to the original item ID followed by a dot. In our example the item ID will be NETx\XIO\KNX\NETx KNX IP Router Room 101\01/1/010.FahrenheitBase path or Item ID: empty
If multiple items shall be recalculated, a base path for start searching for items can be specified here. If only 1 single item is selected, this parameter is ignored.Selector: NETx\XIO\KNX\NETx KNX IP Router Room 101\01/1/010
Here the source item is specified. If multiple items shall be recalculated, the selector for pattern matching must be specified.ÂData type: float
Here the data type of the created virtual item is defined. In our case we will take a real since the source item is also of type real.In calculation function:
Here the mathematical expression for the recalculation is defined. The incoming value is specified by the keyword value. In our example, the equation for converted degrees Celsius to Fahrenheit is entered here. See here for the allowed syntax and available functions.
All other parameters can be left empty since they are not mandatory. The definition looks as follows:
After saving the parsing definitions, the configuration will be reloaded automatically – restarting the Core Server is not necessary. If everything works as expected, the following item will appear within the item tree:
Applying the same control functionality to multiple items
Â
Â