Custom Events Overview
The IoT Platform supports two types of generic custom events and four types of preset custom events.
Preset custom events
The preset custom events use the generic custom events internally and are meant to simplify creation for the most useful event types.
Aggregation event
• This event is used to aggregate the current status of multiple data streams, for example, I want the max temperature from all the fridges in my store.
• This must be a numeric data stream
Historical event
• This event is used to aggregate historical data of multiple data streams, so for example you could use this to create a new data stream which is the total energy consumption for the last 24 hours.
• This must be a numeric data stream.
Count by value event
• This event is used to count how many different streams currently have the value of X from a list of allowed values. For example, how many of my desks are currently occupied.
• This must be an Allowed Values data stream (Open/Close, Occupied/Free/NA, etc).
Percentage event
• This event will calculate the percentage between events or between an event and a property that is defined on the device/group. For example, you can set an occupancy limit per room as a property, and then use an event for current occupancy and then create a percentage event to track utilization.
• The numerator hast to be a numeric event, and the denominator can be either a numeric event or property
Generic events
Event with Function Formula
• This event will let you define variables and then create an open formula with these variables. For example, you can define A to be the current number of people in a room, B the energy consumption and C the price of electricity and then create the formula (A/B)*C to create a KPI for energy cost per person.
• All variables must be numeric values
Event with Condition Formula
• This lets you create the same variables but then use them in series of Boolean expressions to transform them to a list of discrete options. So for example, with the same A B C you could say If A/C > 10 -> Green , if B = 200 -> Yellow otherwise Red.
• All variables must be numeric values but the output event should be an allowed values.