Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics, physical computing, and the Internet of Things (IoT).
This repository contains the Cylon adaptor for the Nest Home.
Want to use Ruby on robots? Check out our sister project Artoo (http://artoo.io)
Want to use the Go programming language to power your robots? Check out our sister project Gobot (http://gobot.io).
$ npm install cylon cylon-nest
var Cylon = require('cylon');
Cylon.robot({
connections: {
nest: { adaptor: 'nest', accessToken: 'XXX' }
},
devices: {
thermostat: { driver: 'nest-thermostat', deviceId: 'XXX' },
protect: { driver: 'nest-protect', deviceId: 'XXX' }
},
work: function(my) {
// Listen to the status event to obtain all thermostat
// related data in a single object.
my.thermostat.on('status', function(data) {
console.log('The Thermostat at a glance--->', data);
});
my.protect.on('status', function(data) {
console.log('The Protect at a glance--->', data);
});
every((60).seconds(), function(){
console.log('NEST thermostat ambient temp C:', my.thermostat.ambientTemperatureC());
console.log('NEST thermostat ambient temp F:', my.thermostat.ambientTemperatureF());
console.log('NEST protect co alarm state:', my.protect.coAlarmState());
console.log('NEST protect smoke alarm state:', my.protect.smokeAlarmState());
});
}
}).start();
We currently have drivers for the following Nest devices:
- Thermostat
- Protect
- Nest Home
First, you need to create a developer account with Nest Labs.
Once you've created an account, you need to create a client app. The Developer Portal UI will guide you through it. You don't need an OAuth redirect URL, since we're going to be using the generated PIN to get an access token.
Next step is to obtain the access token for your Nest account in order to authenticate, as instructed here.
Once you have done this, you should be able to use the access_token
you obtained, with the generate access token url listed in the clients section of the Nest developer portal, to make API calls from Cylon.js
You can use Nest Home Simulator to test your programs. Follow instructions for installation here.
Once you have the simulator installed, you can create the structures you need and add as many devices as each structure supports.
You can now use your cylon program to interact with your simulated devices.
We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js
Thank you!
For our contribution guidelines, please go to https://github.com/hybridgroup/cylon/blob/master/CONTRIBUTING.md .
For the release history, please go to https://github.com/hybridgroup/cylon-nest/blob/master/RELEASES.md .
Copyright (c) 2014-2015 The Hybrid Group. Licensed under the Apache 2.0 license.