ewe-tasker Documentation Release 2.0

gsi-upm

Apr 27, 2018

Learn more about Ewetasker:

1 What is Ewetasker? 3 1.1 Ewetasker for users...... 3

2 Channels 5 2.1 List of channels...... 5

3 Getting started 9 3.1 First glance into Ewetasker...... 9 3.2 Tutorial I: Installation...... 9 3.3 Tutorial II: Installing Ewetasker Android App...... 11 3.4 Tutorial III: Creating Rules...... 16 3.5 Tutorial IV: Connecting Channels...... 19 3.6 Tutorial V: Creating Components...... 21 3.7 Tutorial VI: Creating CMS Content...... 23 3.8 Tutorial VII: Loading Videos to ...... 26 3.9 Tutorial VIII: Testing Created Rules...... 28 3.10 Tutorials Advanced...... 31

4 API REST 35 4.1 To create a new rule...... 35 4.2 To get the channels available...... 35 4.3 To evaluate the rules created...... 36

5 Architecture 39 5.1 Modules...... 39

6 Ewetasker Demos 43 6.1 Emotion Aware...... 43 6.2 Smart Robot Assistant for an Office...... 43 6.3 Contextual and Semantic Content Management for Intelligent offices...... 43 6.4 Multievent and Multiaction Task Automation Platform...... 43

i ii ewe-tasker Documentation, Release 2.0

Ewetasker is an emotion aware automation platform based on semantic ECA (Event-Condition-Action) rules. It is capable of enable semantic automation rules in a smart environment allowing the user to configure his own automation rules in an easy way.

Learn more about Ewetasker: 1 ewe-tasker Documentation, Release 2.0

2 Learn more about Ewetasker: CHAPTER 1

What is Ewetasker?

Nowadays we are surrounded by smart devices whose goal is to make our lives easier. However, the configuration and the adaptation of them to the users becomes a problem when the number of involved devices increase. For this reason, Ewetasker provides a task automation platform for controlling and configurating smart devices.

1.1 Ewetasker for users

Ewetasker web application provides an easy way to automate tasks in smart environments. Through its interface its is possible to parameterize the features of a smart device by creating channels following the EWE ontology. Channels define devices which can generate Events (sensors), provide Actions (actuators) or both. Once having the channels, Ewetasker allows users to create automation rules. This rules are defined as an “Event-Condition-Action” (ECA) rules. When they are triggered by an event, Ewetasker generates a response with the corresponding Action. To make the most out of Ewetasker, its neccesary to install the Ewetasker Android App. It allows to manage events and actions of channels like Bluetooth, WiFi or Presence. This smartphone application is available in Play store.

3 ewe-tasker Documentation, Release 2.0

In this documentation we are going to introduce this framework, detailing the global architecture of the project and explaining each module functionality. Finally, we will make a tutorial to know its working and its functions since the installation until using it. A demo video about Ewetasker is available here.

4 Chapter 1. What is Ewetasker? CHAPTER 2

Channels

In this part we are going to see the list of channels developed to control events and perform actions in a smart place. Some channels must be activated before use them, in these cases, go to Tutorials section.

2.1 List of channels

2.1.1 Device Audio

It represents the audio volume in a smartphone and works as an actuator. To use this channel it is necessary to install the Ewetasker Android app. Actions: Silence, Vibration, Normal.

2.1.2 Bluetooth

It represents the bluetooth connection in a smartphone and works as a sensor. To use this channel it is necessary to install the Ewetasker Android app. Events: Turn On, Turn Off.

2.1.3 Calendar

It represents the smartphone Calendar application and works as a sensor. To use this channel it is necessary to install the Ewetasker Android app. Using the app, it can read the events noted in app and throw an event when the appointment starts. Events: Event Start.

2.1.4 Chromecast

It represents a Google Chromecast device and works as an actuator. To use this channel it is necessary to install the Ewetasker Proxy Server. It can reproduce videos on a smart tv connected to the Chromecast device. It is necessary to upload videos before reproduce them following the Tutorial steps. Actions: Welcome, Play Video.mobile or to call someone.

5 ewe-tasker Documentation, Release 2.0

2.1.5 CMS

It represents the custom Content Management System and works as an actuator. To use this channel and reproduce the content, it is necessary to install the Ewetasker Android app. It can reproduce content generated using EwetaskerCMS web application. To learn how to create CMS content, please follow the Tutorial steps. Actions: Show.

2.1.6 Door

It represents a connected door lock able to unlock the door, so it works as an actuator. To use this channel it is necessary to install the Ewetasker Android app. Actions: Open Door.

2.1.7 Empatica

It represents a smart band able to extract emotions and stress level through the captured biometric data, so it works as a sensor. To use this channel it is necessary to install the Ewetasker Android app. Events: Eda High Level, Eda Low Level, Temperature High Level, Temperature Low Level, Bvp High Level, Bvp Low Level.

2.1.8 Hue Light

It represents a Philips Hue smart light and it works as an actuator. It allows to switch on and off the light and set the bulb brightness.To use this channel it is necessary to install the Ewetasker Proxy Server and add plugs in Components page before use it. Actions: Turn On, Turn Off, Set Brightness.

2.1.9 Led Strip

It represents a led strip and it works as an actuator. It allows to switch on and off the led strip and set the led brightness and the RGB color. It allows to switch on and off the light and set the bulb brightness.To use this channel it is necessary to install the Ewetasker Proxy Server. Actions: Switch On, Switch Off, Set Led Brightness, Set RGB.

2.1.10 Notification

It represents a smartphone notification and works as an actuator. It allows to show a message in the smartphone navbar. To use this channel it is necessary to install the Ewetasker Android app. Actions: Show.

2.1.11 Plug

It represents a Tp-link Smart Wifi Plug and it works as an actuator. It allows to switch on and off the smart plug. To use this channel it is necessary to install the Ewetasker Proxy Server and add plugs in Components page before use it. Actions: Turn On, Turn Off.

2.1.12 Presence Sensor

It represents a presence sensor. It uses Estimote Beacons and Stickers to know user position in a smart place. To use this channel it is necessary to install the Ewetasker Android app and add beacons in Components page before use it. Events: Presence Detected At Distance Less Than, Presence Not Detected In Time, Presence Detected At Distance Greater Than.

6 Chapter 2. Channels ewe-tasker Documentation, Release 2.0

2.1.13 Robot MiP

It represents a robot MiP and works as an actuator. It allows to control the moments and sounds of a Woowee MiP Robot. To use this channel it is necessary to install the Ewetasker Proxy Server. Actions: Action.

2.1.14 Telegram

It represents a Telegram chat bot and it can work as an actuator and as a sensor. It allows to control some features of Ewetasker Web application and to send and to receive messages from Ewetasker. To use this channel it is necessary to install the Telegram Android app and follow the Tutorial steps. Actions: Send Message. Events: Event Command.

2.1.15 Toast Notification

It represents an android toast notification and works as an actuator. It allows to show a message in the smartphone. To use this channel it is necessary to install the Ewetasker Android app. Actions: Show.

2.1.16TV

It represents a Smart TV and works as an actuator. It allows to control the TV state. Actions: Turn ON, Turn STANDBY, Turn OFF.

2.1.17 Twitter

It represents Twitter social network and works as an actuator. It allows to post a tweet with our Twitter account. To use this channel it is necessary to conect Ewetasker with Twitter folowing the Tutorial. Actions: Post Tweet.

2.1.18 WiFi

It represents the smartphone WiFi module and it can work as an actuator and as a sensor. To use this channel it is necessary to install the Ewetasker Android app. Events: Turn ON, Turn OFF. Actions: Turn ON, Turn OFF.

2.1. List of channels 7 ewe-tasker Documentation, Release 2.0

8 Chapter 2. Channels CHAPTER 3

Getting started

3.1 First glance into Ewetasker

The quickest way of exploring the possibilities offered by Ewetasker is accessing this demo. There you can discover the channels designed for your smart devices, how to create rules to control their functions and test their working in real time. Some channels have been developed to control a few common smart devices like smart TV, smart lights, or presence sensors.

3.2 Tutorial I: Installation

Ewetasker installation is based in docker containers, so it is required to have docker installed. For docker installation in Ubuntu, visit this link. First of all, you need to clone the repositories:

$ git clone http://lab.cluster.gsi.dit.upm.es/ewetasker/ewetasker.git ewe-tasker $ cd ewe-tasker

Then, you have the option of setting up the environment variables following the advanced tutorial but it is not necessary to use the application. Finally, execute the following lines:

$ sudo sh start.sh

When the process finishes it is possible to access the Ewetasker web application by accesing http:// localhost:8080/ from your web browser. If you experienced any error following the previous steps, then try to stop/remove the containers related to this project.

$ sudo sh reset.sh

The main page should be like this:

9 ewe-tasker Documentation, Release 2.0

Once there, you can access to the log in page by cliking on USER in the navigation bar. In there, you can create a new user or access with a user created before.

If you want to access as admin, you can create a user whose name must be admin, and choose a password for it. With admin permission, you can use the following functions:

10 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

• Access, modify, and delete the default channels and the new channels created by other users. • Access, modify, and delete the rules created by other users. The user page should be like this:

In the next steps you will discover more about Ewetasker.

3.3 Tutorial II: Installing Ewetasker Android App

Ewetasker Android App has been developed to to manage events and actions of channels belonging to user smartphone or needing to interacts with smart devices using Bluetooth. This application is available in Store and it is named Ewe Tasker.

3.3. Tutorial II: Installing Ewetasker Android App 11 ewe-tasker Documentation, Release 2.0

To install the app, go to the following url or search Ewe Tasker on Google Play store.

Once installed the application starts with the following screen:

12 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

Before using the app is needed to configure the public Ewe Tasker IP address in which is located your own version. In this screen it is possible to choose between two options: Rules Framework and Beacons. In Rules Framework’s screen you can see a list of rules created with the app and create new ones.

3.3. Tutorial II: Installing Ewetasker Android App 13 ewe-tasker Documentation, Release 2.0

On the other hand, in Beacons’ screen you can listen the beacons signals located around yourself.

14 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

To finish the installation, you must tap the beacon image in Beacons’ screen to configure the place where you are using Ewetasker and your own username to evaluate the corresping rules.

3.3. Tutorial II: Installing Ewetasker Android App 15 ewe-tasker Documentation, Release 2.0

3.4 Tutorial III: Creating Rules

In this section we will explain how to create rules for automate tasks using Ewetasker. To make this, you must access to the Rules page and click on Create New Rule. Once there it will appear the following page:

16 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

Now you can start creating a new rule by filling the information required as the title, the place, and the description. If you want to use the rule in a place that it has been used before, you can make this with the selector. However, if you want to use a new place for the rule, put the selector on New Place and fill the gap with the name of the new place. Once finished you must add events and actions by dragging their icon until the boxes. Important! Some channels will appear colored in greyscale. These channels will be unavailable until you activate them by adding your personal account (Twitter and Telegram), adding components (beacons, smart light, and smart plug) or creating content (CMS). Each time you drop an item, a dialog will apper to complete the parameters needed to create the rule. To finish, click on Send button. Following the previous example, let’s see how to use the Bluetooth channel to create a rule for the office. In this case, we want to show a Toast Notification when we turn on the Bluetooth in our Smartphone. First, we fill the information required.

Second, we drag the Bluetooth channel icon to the box and choose the event.

3.4. Tutorial III: Creating Rules 17 ewe-tasker Documentation, Release 2.0

Third, we do the same with the Toast Notification channel icon.

At last, we fill the parameters required.

If rule has been created correctly you must be redirected to the Rules page:

18 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

3.5 Tutorial IV: Connecting Channels

Some channels must be connected to your personal account in order to be activated, and consequently, to use them in the rules. These channels are Twitter and Telegram. Let’s see how to connect them with our personal account.

3.5.1 Twitter Channel

First, go to User page and click on Connect with Twitter button. You will be redirected to this page:

3.5. Tutorial IV: Connecting Channels 19 ewe-tasker Documentation, Release 2.0

Once you log in Twitter and accept the conditions, you will be redirected to Ewetasker User page and you will be able to use Twitter channel.

3.5.2 Telegram Channel

Likewise, go to User page and click on Connect with Telegram button. You will see this message:

20 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

If you follow the instructions and send the /whoami command to the Ewetasker’s Telegram bot you will recive a message like this with the your Id.

Your Id: 12345678 Name: admin Username: useradmin

Introduce your Id on the dialog created before and click on OK button.

3.6 Tutorial V: Creating Components

Some channels use smart devices to perform their actions. These devices must be created in Components page before use their corresponding channel in the rules. There are three types of components to use: Beacons, Smart Lights and Smart Plugs that correspond with Presence, Hue Light and Plug channels. Let’s see how to create them. First, go to Components page:

3.6. Tutorial V: Creating Components 21 ewe-tasker Documentation, Release 2.0

Then click on add Device. It will appear a panel to create a new component with the following parameters: • Type: You must choose between beacon, smart light or smart plug depending of the type of device you want to add. • Name: You must name the device to identify it in an informal way. • ID: This is the most important parameter. You must write the device identifier provided by the company. • Place: You must choose the place you are going to use the device.

In this example we are going to add a new beacon named Office Door Sensor, whose ID is 123456789 and

22 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0 its place will be the office. To do this, we fill the information and click on Send button. Finally Component page should look like this:

3.7 Tutorial VI: Creating CMS Content

One of the main uses of beacons is to provide contextual information about the environment. For this purpose we have developed a Content Management System allowing creation and management of the content that will be presented to the users using Ewetasker Android App. Let’s see how to create content to activate and use this channel. First, go to User page and click on Create CMS content button. You will be redirected to the following page:

Then click on Add new content. It will appear a panel to create the content.

3.7. Tutorial VI: Creating CMS Content 23 ewe-tasker Documentation, Release 2.0

You can click on Help button to see the instructions to follow:

24 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

In this example we are going to create a cms content for the GSI Laboratory named GSI Lab CMS. First, we fill the lab information following Ewe Place Ontology. To do this, we paste the example under the text area and substitute the information between quotation marks. It should look like this:

ewe-place:Place a owl:Class ; dc:title"GSI Laboratory"; dc:description"The GSI lab is located in the E.T.S.I.T. on the C building."; geo:lat"40.452014"; geo:long"-3.725808"; dbpedia:floorCount"2".

IMPORTANT! The title parameter is needed to use CMS content created later in Ewetasker rules. You must write it correctly like this example: dc:title "GSI Laboratory"; Once finished this, it is time to create the CMS content. To do this, you can use the smartphone by clicking on plus button to add new content. Following the example we have created this view:

3.7. Tutorial VI: Creating CMS Content 25 ewe-tasker Documentation, Release 2.0

Lastly, we click on Save button. The content generated can be edited later and will be available to use it in the rules by using the same title as the written with Ewe Place Ontology. In addition your CMS channel will be activated in order to use it. Remember that CMS content will be displayed in your smartphone using Ewetasker Android App.

3.8 Tutorial VII: Loading Videos to Chromecast

With Ewetasker you can reproduce videos using a Chromecast device. For this purpose we developed a Chromecast channel in order to play Youtube videos when rules are activated. In this Tutorial you can see how to load videos and activate Chromecast channel. First, go to User page and click on Load Video to Chromecast. You will be redirected to the following page:

26 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

Then you must fill the parameters. The key parameter will be the name you will use when creating the rules, and the url parameter will be the Youtube video url. In this case, we have chosen the parameters: ewetasker and https://www.youtube.com/watch?v=k19_dF6LXCo .

To finish click on Load button. The video will appear in this page and Chromecast channel will be activated:

3.8. Tutorial VII: Loading Videos to Chromecast 27 ewe-tasker Documentation, Release 2.0

3.9 Tutorial VIII: Testing Created Rules

In the following section we will explain how to test the rules created before. There are two ways to do this: • Using Ewetasker Android App • Using Ewetasker Simulate page

3.9.1 Testing rules with Ewetasker Android App

Let’s see how to test the rule created in the previous tutorial using the app. You must have configured the app, following the steps of Tutorial II. In this case your App must be configured with user admin and place office. The rule created was: If Bluetooth is turned on, show a Toast notification with the text ‘Bluetooth is activated’. So, to test this rule you must open the app with the Bluetooth deactivated (the application will tell you to turn on the Bluetooth to listen the beacons but this time you will activate it later). Once in the main page, go to the quick access bar and activate the Bluetooth. A Toast notification will appear few seconds later with the message written in the rule.

28 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

3.9.2 Testing rules with Simulate Page

This is an alternative way to test rules that don’t perform actions using the smartphone like for example Twitter channel or Telegram channel. In addition with this interface you can simulate how rules created works by generating multiple events and seeing the actions triggered. For this tutorial you must activate first Twitter channel. If you don’t know how to activate channels, go to Tutorial IV. First, let’s create a rule that triggers Twitter channel action PostTweet. For example, the rule will be activated by the event EventStart that belongs to Calendar channel. The rule created for this tutorial will be: If event Python Workshop starts, post a tweet saying Python Workshop 2018 has started.

3.9. Tutorial VIII: Testing Created Rules 29 ewe-tasker Documentation, Release 2.0

Then, go to the Simulate page, it should look like this:

Once there you can select the event for the rule you want to be evaluated. In this case, we select EventStart event and we fill the eventTitle parameter with the title of our event: Python Workshop.

30 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

Finally to evaluate and test the rule click on RUN button. The tweet will appear few seconds later with the message written in the rule.

3.10 Tutorials Advanced

3.10.1 Creating Channels

In this tutorial we are going to learn who to create a channel following the EWE notation. To make this, you must click on Create New Channel button in Channels page. Once there it will appear the following page:

3.10. Tutorials Advanced 31 ewe-tasker Documentation, Release 2.0

Now you can start creating a new channel by filling the information required as the title, the nice name, the description, and uploading an image for it. Once finished you must add an event or an action depending on the features of the channel. To create an Event or an Action you must choose a title, write the rule in Notation3 and add the prefixes necesaries for the elements used in the rule. To finish, click on Send button. In this example, we are creating the channel in charge of the Presence Sensor which has an event named Presence Detected At Distance Less Than. • Title: presencesensor • Description: This channel represents a presence sensor • Nicename: Presence Sensor • Event:

* Title: Presence Detected At Distance Less Than

* Rule: ?event rdf:type ewe-presence:PresenceDetectedAtDistance. ?event ewe:sensorID ?sensorID. ?sensorID string:equalIgnoringCase #sensorID#. ?event!ewe:distance math:lessThan #distance#.

* Prefix: @prefix rdf: . @prefix string: . @prefix math: . @prefix ewe: . @prefix ewe-presence:

˓→ns/#>.

3.10.2 Setting up the environment variables

For this task, edit the file named Dockerfile in the root directory of the project. As you can see, the variables correspond to the Docker container which contains the Mongo Database used for the application.

FROM php:7.0-apache

RUN apt-get update RUN apt-get install-y libssl-dev RUN pecl install mongodb RUN echo"extension=mongodb.so">/usr/local/etc/php/conf.d/mongo.ini RUN echo"display_errors=Off">/usr/local/etc/php/conf.d/php.ini

ENV MONGO_HOST"127.0.0.1" ENV MONGO_DB"applicationdb" ENV MONGO_DB_CMS"cmsdb" ENV MONGO_PORT"27017" ENV MONGO_USER"client" ENV MONGO_PASS"gsimongodb2017"

ADD www/var/www/html/

32 Chapter 3. Getting started ewe-tasker Documentation, Release 2.0

3.10.3 Accessing Ewetasker’s Docker Containers

If you wish to see how tasks are being executed, you can see the logs by accessing Ewe Tasker Docker container.

$ sudo docker exec -it ewetasker /bin/bash

On the other hand, if you wish to see which data is saved in the database, you can access to mongo database with the following commands: • Application Database

$ sudo docker exec -it ewemongo mongo applicationdb $ show collections

• CMS Database

$ sudo docker exec -it ewemongo mongo cmsdb $ show collections

3.10. Tutorials Advanced 33 ewe-tasker Documentation, Release 2.0

34 Chapter 3. Getting started CHAPTER 4

API REST

In this part we are going to see examples of how to use Ewetasker application making API REST requests. This is the best way to integrate Ewetasker with other applications.

4.1 To create a new rule

POST http://localhost:8080/api/mobile

Example for the rule When users enters the office (< 2 meters) then switch on the light. The request parameters are:

{ 'command':'createRuleParams', 'rule_channel_one':'presence', 'rule_title':'light automation', 'rule_action_title':'Turn on', 'rule_description':'Presence Light', 'rule_channel_two':'hueLight', 'rule_event_title':'Presence Detected At Distance Less Than', 'event_param_1':'5544', 'event_param_2':2, 'rule_creator':'admin', 'rule_place':'GSI Lab' }

4.2 To get the channels available

POST http://localhost:8080/api/mobile

The request parameter is:

35 ewe-tasker Documentation, Release 2.0

{'command':'getChannels'}

The server response has this JSON structure:

[{ "title":"", "description":"", "events":[{ "title":"", "prefix":"", "rule":"", "numParameters":"" }], "actions":[{ "title":"", "prefix":"", "rule":"", "numParameters":"" }] }]

4.3 To evaluate the rules created

POST http://localhost:8080/api/events

Example to evaluate the rule When users enters office (< 2 meters) then switch on the light. The request parameters are:

{ "user":"admin", "inputEvent":"@prefix rdf: . @prefix ewe:. @prefix ewe-presence:

˓→ns/#>. ewe-presence:PresenceSensor rdf:type ewe-presence:PresenceDetectedAtDistance. ewe-presence:PresenceSensor ewe:sensorID'5544'. ewe-presence:PresenceSensor ewe:distance 0." }

If the event accomplish the rule, the server response will contain all the actions that must be triggered:

{ "success":"1", "actions": [{ "url":"", "channel":"", "action":"", "parameter":"" }] }

However, if the event doesn’t accomplish the rule, the server response will be this:

36 Chapter 4. API REST ewe-tasker Documentation, Release 2.0

{ 'actions': [], 'success':1 }

4.3. To evaluate the rules created 37 ewe-tasker Documentation, Release 2.0

38 Chapter 4. API REST CHAPTER 5

Architecture

5.1 Modules

The following figure describes the architecture from a modular point of view, being each of the modules described below.

39 ewe-tasker Documentation, Release 2.0

5.1.1 Task Automation Server

The Task Automation Server is responsible of managing automation rules. This platform provides functions for creating, updating, storing and erasing these rules. In addition, when programming these automations, users need to activate available channels or create new ones to control other smart devices. Finally, the task automation platform has a main role: to automate tasks. It must be able to connect with several channels for receiving events, evaluating them together with stored rules and performing a corresponding action. Task Automation Server module has been designed to carry out all these functions, and it has been split into four submodules: Rule Administration, Channel Administration, Rule Engine, and Action Trigger. • Rule Administration purpose is to provide an automation rule editor in which users can configure and adapt their preferences about events coming from all sources. • Channel Administration provides users facilities for creating channels. A channel is formed by Actions and events defined using Notation3. • Rule Engine submodule is where events will be evaluated together with stored rules generating the corresponding actions. It is based on an ontology model, which uses the EWE ontology. • Action Trigger is in charge of trigging the actions generated by the Rule Engine. Some examples of actions triggered by this module may be: opening a door, pushing a commit, sending an email or switching on a TV.

40 Chapter 5. Architecture ewe-tasker Documentation, Release 2.0

5.1.2 Mobile Client

Mobile Client module provides functions for managing rules from the smartphone. In order to create rules from the smartphone, users should have access to the available channel list which is centralized in the web TAS. For this purpose, Rule Administration connects with the Channel Administration submodule of the web TAS. This way, there are provided the available channels with their events and actions. Once available channels are received, rules can be defined via the graphic interface. It is needed that local repository was synchronized with the rule repository in the TAS, so when a rule is defined, it is sent to the TAS via POST request. Thus, users are able to manage rules in an easy way from their smartphones. Furthermore, the mobile client is also an event source. It generates events coming from the device itself or from other sensors such as beacons, and sends them to the TAS. Events coming from outside are received by the Contextual Channel, whose main goal is to handle the data provided by different smart devices, and to send accordingly events to the server. The mobile receives from each beacon via Bluetooth the ambient temperature, the humidity and the distance. Events coming from outside are received by the Contextual Channel, whose main goal is to handle the data provided by different sensors, and to send accordingly events to the server. The mobile receives from each beacon via Bluetooth the ambient temperature, the humidity and the distance. On the other side, the Smart Local Resources submodule receives events from channels such as Bluetooth, Wifi or Screen bright and sends them to the TAS. All events are converted to N3 format before being sent. In the same way, once the TAS has evaluated the events, the JSON containing the generated actions are received by the Action Trigger submodule. Some examples of actions that may be triggered by this module are: to show a notification, to mute the mobile or to call someone.

5.1. Modules 41 ewe-tasker Documentation, Release 2.0

42 Chapter 5. Architecture CHAPTER 6

Ewetasker Demos

Here you will found list of videos about projects developed using Ewetasker. Take a look and know the possibilities of the tasks automation application.

6.1 Emotion Aware

6.2 Smart Robot Assistant for an Office

6.3 Contextual and Semantic Content Management for Intelligent of- fices

6.4 Multievent and Multiaction Task Automation Platform

43