SUI HUB v1.1.1October 2017
What is SUI Hub?
SUI Hub is a platform which gathers data from device sensors situated at users’ locations or area sensors. This data represents values for All data is used to check triggers / events defined by user or it is pushed to 3rd parties through an API.
It will serve as a place of convergence where data arrives from one or more devices and will be forwarded out in one or more directions. SUI HUB may also include compute resources to perform some processing tasks before data is forwarded. Who is an user in SUI Hub platform?
An user is an entity which owns one or more locations and wants to monitor when specific conditions are met depending on data reported by sensors. When these conditions are met actions defined in events are triggered. This means either log these values in database for later reading, send an email or SMS alert or call a defined 3rd party script. Clients/ Users are controlling operations throught SUI HUB and allow to monitor elements of the enviroment and to automate, schedule or control other tasks.
SUI HUB platform allows users to create chains of simple conditional statments that are triggered based on data changes.
What is an area in the system?
As a point on the map (latitude, longitude pair) defines a specific location, a square (top-left and bottom-right map points with latitude, longitude pairs) defines an area. There are lots of different values types we can read from a sensor (eg. air temperature, humidity, solar power, etc). As there are chances we don’t have a specific sensor in all locations, we can use an area sensor data as reference for locations within that area.
What is a location in the system?
A location in the system is a point on the map (latitude, longitude pair) and can be a physical building where we have sensors that provide data. Providing a latitude and longitude pair, system can assign location to all areas (squares) where they fit. When we need data for a sensor type which is not defined in that location (eg. solar power), system will identify smallest area (square) which has that sensor type available as we can consider that most appropriate value. For example, if we have an area sensor for Amsterdam and we also have an area sensor from an Amsterdam suburb where our location is, system will choose Amsterdam suburb sensor to get the data from.
As sensor data can vary in a building (air temperature in a room can be different from another room) we can define zones within that location. Eg. We define “Lab 1” zone which is a room at floor 1 and “Lab 2” which is a room at 3rd floor. When platform administrator will define devices he/she will also provide in which zone is that device (sensors attached to that device). We will be able this way to tell what’s the air temperature value in “Lab 1” at a specific time.
What is a sensor?
A sensor is the unit of data SUI Hub can read (eg. a sensor can be air temperature read from a device, also on same device we can have another sensor which reads humidity). Sensors are split into device sensors and area sensors.
Device sensors provide the system with data read from a specific device, in a specific location. This data can be used as data specific to that location and will affect events / triggers defined only for that location (eg. air temperature in a room). In order to read this data system will use an interface provided by a device driver. Each driver can have specific settings (eg. An IP and credentials), so SUI Hub system administrator will define the device providing required settings. The data can also be imported manually by either user or administrator using CSV files.
Area sensors are data which is not linked to a specific location (latitude, longitude). In SUI Hub platform system administrator will define areas (eg. Amsterdam area). For each of defined areas we can have public sensors that provide data (eg. system can read a web feed provided by weather.com for Amsterdam area). When system needs sensor data for a specific location and there is no data to read, area sensors can be used. As in example above if we want to read air temperature in an Amsterdam location and we don’t have an air temperature sensor in that location, we can read area sensor data (weather.com Amsterdam temperature) as reference.
What do we do with sensor data?
As data is read from sensors we can define events which will trigger actions if specified data values are reached. These actions can be: log values in database, send an email or SMS (alert), send a command to a device to alter read value or send readings to a 3rd party script.
Also system can be seen as data repository. Platform can provide values to other systems either real-time - data push (using event triggers) or on demand data having 3rd party scripts sending data requests using REST API interface.