Difference between revisions of "Functions"

From webCoRE Wiki - Web-enabled Community's own Rule Engine
Jump to: navigation, search
(String)
(String)
Line 134: Line 134:
 
;lower(string)
 
;lower(string)
 
:returns a lower case value of a string
 
:returns a lower case value of a string
 +
:Example: <code>lower("HELLO WORLD")</code> outputs <code>hello world</code>
 +
 
;mid(string, start, count)
 
;mid(string, start, count)
 
::returns a substring of a value
 
::returns a substring of a value

Revision as of 04:21, 5 May 2017

Boolean

bool()
//todo
boolean(anything)
converts a value to it's boolean value
contains(string, substring)
returns true if a string contains a substring
endsWith(string, substring)
returns true if a string ends with a substring
eq(value1, value2)
returns true if two values are equal
ge(value1, value2)
returns true if value1 >= value2
gt(value1, value2)
returns true if value1 > value2
isBetween(value, startValue, endValue)
returns true if value >= startValue and value <= endValue
isEmpty(value)
returns true if the value is empty
le(value1, value2)
returns true if value1 <= value2
lt(value1, value2)
returns true if value1 < value2
not(value)
returns the negative boolean value
startsWith(string, substring)
returns true if a string starts with a substring

Date

date(value)
returns the value as a date type

Datetime

addDays(dateTime, days)
returns the value as a time type
addHours(dateTime, hours)
returns the value as a time type
addMinutes(dateTime, minutes)
returns the value as a time type
addSeconds(dateTime, seconds)
returns the value as a time type
addWeeks(dateTime, weeks)
returns the value as a time type

Decimal

avg(values)
calculates the average of a series of numeric values
ceil()
//todo
ceiling(decimal or string)
converts a decimal value to it's closest higher integer value
celsius(temperature)
converts temperature from Fahrenheit to Celsius
decimal(integer or string)
converts an integer value to it's decimal value
dewPoint(temperature, relativeHumidity[, scale])
returns the calculated dew point temperature
fahrenheit([Sensor;temperature])
converts temperature from Celsius to Fahrenheit
float()
//todo
floor(decimal or string)
converts a decimal value to it's closest lower integer value
max(values)
calculates the maximum of a series of numeric values
median(values)
returns the value in the middle of a sorted array
min(values)
calculates the minimum of a series of numeric values
number()
//todo
power(integer or decimal or string, power)
converts a decimal value to it's power decimal value
round(decimal or string, [precision])
converts a decimal value to it's rounded value
sqr(integer or decimal or string)
converts a decimal value to it's square decimal value
sqrt(integer or decimal or string)
converts a decimal value to it's square root decimal value
stdev(values)
calculates the standard deviation of a series of numeric values
sum(values)
calculates the sum of a series of numeric values
variance(values)
calculates the standard deviation of a series of numeric values

Dynamic

if(condition, valueIfTrue, valueIfFalse)
evaluates a boolean and returns value1 if true, or value2 otherwise
least(values)
returns the value that is least found a series of numeric values
most(values)
returns the value that is most found a series of numeric values
previousValue([device;attribute])
returns the previous value of the attribute

Integers

age([device;attribute])
returns the number of milliseconds an attribute had the current value
count(values)
calculates the number of true/non-zero/non-empty items in a series of numeric values
int()
//todo
integer(decimal or string)
converts a decimal value to it's integer value
newer([device;attribute],[...], [device;attribute], threshold)
returns the number of devices whose attribute had the current value for less than the specified number of milliseconds
older([device;attribute],[...], [device;attribute], threshold)
returns the number of devices whose attribute had the current value for more than the specified number of milliseconds
previousAge([device;attribute])
returns the number of milliseconds an attribute had the previous value

String

concat(string1, string2)
returns two strings appended together
Example: concat("hello ", "world") or concat("hello", " ", "world") outputs hello world
format()
//todo
formatDuration(value[, friendly = false[, granularity = 's'[, showAdverbs = false]]])
Usage:
value is a number of milliseconds
friendly = true/false (false >>> 0d 00:00:00.000, true >>> so many days, so many hours, etc)
granularity = one of ms, s, m, h, d (smallest part displayed)
showAdverbs = true/false, true adds the in .... or .... ago to friendly times
returns a nicely formatted string of time
eg: formatDuration(12029) - 00:00:12 | formatDuration(12029, true) - 12 seconds | formatDuration(12029, true, "m") - 0 minutes | formatDuration(12029, true, "ms", true) - in 12 seconds and 29 milliseconds
left(string, count)
returns a substring of a value
Example1: left("hello world", 3) outputs hel
Example2: left("hello world", 7) outputs hello w
lower(string)
returns a lower case value of a string
Example: lower("HELLO WORLD") outputs hello world
mid(string, start, count)
returns a substring of a value
replace(string, search, replace[, [..], search, replace])
replaces a search text inside of a value
right(string, count)
returns a substring of a value
sprintf(format, arguments)
formats a series of values into a string
string(anything)
converts a value to it's string value
substring(string, start, count)
returns a substring of a value
text()
//todo
title(string)
returns a title case value of a string
upper(string)
returns an upper case value of a string

Time

time(value)
returns the value as a time type
addSeconds(dateTime, seconds)
adds seconds to time, returns the value as a time type
addMinutes(dateTime, minutes)
adds minutes to time, returns the value as a time type
addHours(dateTime, hours)
adds hours to time, returns the value as a time type
addDays(dateTime, days)
adds days to time, returns the value as a time type
addWeeks(dateTime, weeks)
adds weeks to time, returns the value as a time type