Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Cylon.js For WeMo

Cylon.js ( is a JavaScript framework for robotics and physical computing using Node.js

This repository contains the Cylon adaptor for WeMo.

For more information about Cylon, check out the repo at

It uses code originally found in this module: node-wemo

How to Install

Install the module with:

$ npm install cylon-wemo

How to Use

'use strict';

var Cylon = require('cylon');


	connections: {
		wemo: {
			adaptor: 'wemo', ip: "", port: 49153

	devices: {
		switch: {
			driver: 'wemo'

	work: function (my) {

		my.switch.setBinaryState(1, function (err, result) {
			console.log(err, result);

			my.switch.getBinaryState(function (err, result) {
				console.log(err, result);

				setTimeout(function () {

					my.switch.setBinaryState(0, function (err, result) {
						console.log(err, result);

						my.switch.getBinaryState(function (err, result) {
							console.log(err, result);



				}, 5000);



How to Connect

You will need to be able to access the WeMo switch from your device, either online or on your local network.

To discover your devices run node tools\discovery.js


We're busy adding documentation to our web site at please check there as we continue to work on Cylon.js

Thank you!


  • Put your contribution guidelines here
  • Submit a Pull Request to the appropriate branch and ideally discuss the changes with us in IRC.
  • We will look at the patch, test it out, and give you feedback.
  • Avoid doing minor whitespace changes, renamings, etc. along with merged content. These will be done by the maintainers from time to time but they can complicate merges and should be done seperately.
  • Take care to maintain the existing coding style.
  • Add unit tests for any new or changed functionality & lint and test your code using make test and make lint.
  • All pull requests should be "fast forward"
    • If there are commits after yours use “git rebase -i <new_head_branch>”
    • If you have local changes you may need to use “git stash”
    • For git help see progit which is an awesome (and free) book on git

Release History

  • 1.2.0 - Updates to latest dependencies
  • 1.1.0 - Added check in construct for host connection.
  • 1.0.0 - Can get and state of switch.


Copyright (c) 2015 Chris Taylor. See LICENSE for more details