No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

CENode IoT Demo

This is a simple demo illustrating how CENode may be used to interact with IoT devices - in particluar, Philips hue bulbs. See this blog post for more information.

If unfamiliar with CENode, then please check out that project first and read the wiki and glance at the documentation and paper.


The key conrtibution made by this demonstration is the addition of a card handler for instances of type iot card. Such cards support additional attributes further to the more traditional CE cards (such as ask, tell, nl, etc.) that allow each one to represent an instruction that the local agent can act upon.

In this case, the iot card handler makes a request to a Philips hue bridge with parameters relevant to the properties of the card.

For example,

there is an iot card named {uid} that is to the agent House and has 'instruction' as content and targets the hue bulb 'Kitchen' and has 'on' as power

will tell CENode to make an HTTP request to the hue bridge to turn on the hue bulb named 'Kitchen'.

Running the demo

If you have Philips hue bulbs and a working hue bridge then you can run this demo.

  1. Clone repository: git clone
  2. Change into the repository: cd CENode-IoT
  3. Install dependencies (only CENode itself): npm install
  4. Find your Philips hue bridge's address on your local network and generate a username that you'll use to authenticate your requests
  5. Update the model in app.js to use the bridge address and the generated username as the token
  6. Startup a quick webserver: python -m SimpleHTTPServer
  7. Visit localhost:8000