Skip to content

CharIoT – End-user programming interface for GIoTTO

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



36 Commits

Repository files navigation


CharIoT provides an end-user programming interface for the GIoTTO stack. It connects to the BuildingDepot middleware to discover and communicate with sensors and actuators.

CharIoT enables creating virtual sensors which can capture higher-level events (e.g., window opened, meeting ongoing) based on raw data. It provides two ways to create virtual sensors: by programming their conditions or demonstrating them using programming by demonstration.

Rules are created in an IFTTT-inspired interface. They may contain multiple conditions and actions.


  1. Install NodeJS:
  2. Clone/download this folder and cd into it
  3. Run npm install
  4. Optional: in order to enable the explore tab, install the Eye reasoner


To start the application, execute: npm start

Access the app through your browser on the address: http://localhost:3333/

The app assumes that devices have locations associated with them (e.g., living room, lab). To add a location for a device:

  • Click on a device node in the graph
  • Type in the location name and click on Add
  • Do this for all the devices

Creating a rule requires a virtual sensor - there are two types of virtual sensors:

  • Programmed
    • added by clicking the "Program an event" button. Contain conditions on a specific sensor value, e.g., temperature
  • Virtual
    • demonstrated using PbD. Click on "Demonstrate an event" to add it.

To create a rule, go to the "Build" section and follow the IFTTT-like interface.


Overview of installation

Training virtual sensors

IFTTT rules

Rule recommendations


  • Deleting rules and virtual sensors is not supported since the API for deleting sensors is missing in BuildingDepot.


CharIoT – End-user programming interface for GIoTTO






No releases published