➗Calculate Values: The Calculator
The Calculator is a service that allows you to transform, recalculate, and summarize incoming data using mathematical expressions. For example, values in watts can be converted to kilowatts by dividing them by 1000 upon receipt. The converted value is then displayed in the corresponding attribute where the calculation was performed.
Examples
Convert values
Watt to kW:
{Wert}/1000
Degrees Celsius to Degrees Fahrenheit [F=(1.8×C)+32]
(1.8*{Wert})+32
Calculate new values
Calculate comfort using formulas
Code-Snippet
(0.8 * {temperature}) + (0.2 * {humidity})
Add People Counters
Code-Snippet
[10.input.count] + [11.input.count] + [12.input.count]
Add consumption of multiple meters
Code-Snippet
[10.input.power] + [11.input.power] + [12.input.power]
Value is between 1 and 80 then status "0 = Ok" otherwise "1 = Alarm"
Code-Snippet
not(inrange(1, {Wert}, 80))
Turn heating on or off based on temperature (map 0 to "off" and 1 to "on")
Code-Snippet
{temperature} < 20 ? 1 : 0
Syntax
To perform calculations with attributes, you enclose the names of the attributes in curly braces. This allows you to access the values of these attributes.
Accessing attributes within an asset
You can directly access the values of attributes that are of the same type. For example:
{temperature} + {humidity}
Accessing attributes of different types within an asset
If you want to access attributes of different types within the same asset, use the following syntax:
{input.temperature}
: Access the "temperature" attribute of the input type{status.temperature}
: Access the "temperature" attribute of the status type{output.temperature}
: Access the "temperature" attribute of the output type
Accessing attributes of other assets
To access the values of attributes of other assets, use the following syntax:
[asset_id.attribut_type.attribut_name]
Example
[10.input.power] + [11.input.power] + [12.input.power]
In this example, the values of the "power" attribute of assets with the IDs 10, 11, and 12 are added together.
Execute Calculations
You can execute calculations with attributes in 2 places in Eliona:
In the Asset Template
In the individual asset
In the Asset Template, standard calculations are set that are applied to all assets created with this template. However, these calculations can be individually overridden in the individual assets if needed.
Execute a Calculation in an Asset Template

Open an existing asset template or create a new one
Open an existing attribute or create a new attribute
You can execute calculations in field [A]. These calculations then apply to all assets of this type, but can also be overridden in the individual asset.
Execute a Calculation in an Asset

Open the -> Asset Details
Click on the attribute whose values you want to calculate.
▷ The sidebar [A] opens
In field [B], enter your calculation.
Click on Save [X]
Use attributes of another asset (external values) in a calculation
This functionality is only possible if you execute calculations in an asset.
Open the -> Asset Details
Click on the attribute whose values you want to calculate.
▷ The sidebar [A] opens
In field [B], enter your calculation.
Click on [C1] to select the asset whose values you want to use in the calculation.
Click on [C3] to specify the subtype of the asset.
Click on [C4] to specify the attribute you want to use.
Click on [C5] to confirm your selection.
▷ The information now appears in square brackets in field [B]
If you want to include more external values in the calculation: 8.1. Click on [C2] 8.2. Repeat steps 4 to 8
Click on Save [X]
Reset Output Attribute
When an output attribute is selected, there is an option to reset the value.
Clicking on "Reset attribute" writes a null to the attribute.
This corresponds to the state as if no data were stored in the heap.

Calculation Chains
Calculation chains are created automatically when you create calculations, both within a single asset and across multiple assets. A calculation chain exists, for example, when "Asset A depends on a value from Asset B, Asset B depends on a value from Asset C, and Asset C depends on a value from Asset D".
Every time a value changes in Asset A, which is used in Asset B, a calculation is triggered for Asset B. Every change of a value in Asset B, which is referenced in Asset C, leads to a calculation in Asset C.
The chain is interrupted if a step of the calculation fails or does not pass the filter. This reduces the number of events in the system.
Operators and Functions
Here are the available operators and functions listed.
Operators
Arithmetic
+, -, *, /, % (Modulus operator), ^ (Exponent)
Comparison
==, !=, <, >, <=, >=
Logical
not or !, and or &&, or or
Conditional
? (ternary operator - condition ? value if true : value if false)
Functions
Functions can be used in the syntax avg({Value1},{Value2},{Value3})
avg
Returns the average of a list of values (any number of float values)
max
Returns the maximum value of a list of values (any number of float values)
min
Returns the minimum value of a list of values (any number of float values)
abs
Returns the absolute value of a value (single float)
round
Rounds a value to the nearest integer (single float)
pow
Exponentiation (2 arguments, the 2nd is the power)
sin
Sine of a value in radians
cos
Cosine of a value in radians
cosh
Hyperbolic cosine of a value in radians
cot
Cotangent of a value in radians
csc
Cosecant of a value in radians
sec
Secant of a value in radians
equal
Compares two numbers with a tolerance of 0.001
not
Inverts a boolean value
rad2deg
Converts radians to degrees
deg2rad
Converts degrees to radians
inrange
Checks whether a value is within a range (left limit, value, right limit)
history(reference, back_step)
Returns a historical value of an attribute. reference
is the normal reference of the attribute (e.g. [asset_id.subtype.attribute]
), and back_step
is a negative number that specifies which value from the history you want to retrieve. Example: -1
returns the previous value, -2
the one before that.
These functions and operators enable a variety of calculations and logical operations in your calculations.
Last updated