## Expression language for functions and rules:

 a == b equality a != b inequality a < b a is less than b a <= b a is less than or equal to b a > b a is greater than b a >= b a is greater than or equal to b a + b addition a – b subtraction a * b multiplication a / b division a % b modulo !a logical negation -a arithmetic negation a && b logical conjunction, AND-conjunction a ^ b logical exclusive disjunction, XOR-disjunction a || b logical disjunction, OR-disjunction a implies b logical implication (if a, then b) a <=> b logical equivalence a * (b + c) brackets if a then b else c distinction of cases (always has to be complete: “if … then …” will not be evaluated!) a@pre previous value in accordance with the quantization a@pre@pre penultimate value in accordance with the quantization a@pre(X) previous value in accordance with chosen parameter: with X = HOUR, DAY, WEEK, MONTH, QUARTER, YEAR a@pre(X)@pre(X) penultimate value in accordance with chosen parameter: with X = HOUR, DAY, WEEK, MONTH, QUARTER, YEAR a@next next value in accordance with the quantization a@next@next next but one value in accordance with the quantization a@next(X) next value in accordance with chosen parameter: with X = HOUR, DAY, WEEK, MONTH, QUARTER, YEAR a@next(X)@next(X) next but one value in accordance with chosen parameter: with X = HOUR, DAY, WEEK, MONTH, QUARTER, YEAR dayOfYear() provides the current day of the year, for example 01.01.2014 provides „1“, 02.01.2014 provides „2“ etc. (no parameter) weekOfYear() provides the current week of the year, for example 01.01.2014 provides „1“, 06.01.2014 provides „2“ etc. (no parameter) min(a_1; …; a_n) minimum of a_1 to a_n max(a_1; …; a_n) maximum of a_1 to a_n exp(a) e raised to a (e represents a natural number) exp(a; b) a raised to b (a and b can be numbers, sensors or both mixed) log(a) common logarithm of a ln(a) natural logarithm of a sqrt(a) square root of a abs(a) absolute value of a avg(a_1; …; a_n) average of a_1 to a_n /*comment*/ syntax for the comment-funktion