Formulas
There are three different types of formulas SUM, DIFF, and CUSTOM.
Available variables
There's one input variable available for each input meter: INPUT1
, INPUT2
, ..., INPUTN
. Each input variable is an object containing the following properties:
Property | Type | Description |
---|---|---|
value | number | The current value of the input event |
The formula is run in an environment which provides a couple of helper constants and functions.
Property | Type | Description |
---|---|---|
Year | number | The current year |
Month | number | The current month of the year |
Day | number | The current day in month |
Hour | number | The current hour |
Timestamp | Date | Equal to new Date(Year, Month, Day, Hour, 0, 0, 0) |
Moment | moment.Moment | Moment.js1 moment() date object for the current timestamp |
INPUT[1..N] | Object | The Input provided above |
SUM
Will simply sum all the values for a certain timestamp and is equivalent to:
DIFF
Will subtract all subsequent values and is equivalent to:
CUSTOM
Allows for a custom formula to be written. The formula can be anything as long as it is valid javascript. The formula will be wrapped in a function before being executed and MUST end with a return
statement.
Example valid formula
// We can get the day, month, and year, from variables always available to us.
let factor = 0;
if (Year > 2000) factor = 1;
if (Month > 5) factor = 2;
if (Day > 20) factor = 3;
return (INPUT1.value / INPUT2.value) * factor;
Example invalid formula
While the javascript is valid, it does not return anything and will yield a 0
value.
Warning
Invalid formulas or formulas taking too long to execute will be terminated and yield a 0
value.lue.
-
https://momentjs.com/ ↩