This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

nest-api

0.0.8 • Public • Published

NPM version Build Status Coveralls Status Dependency Status

nest-api

Main Nest API for node (also see: nest-api-thermostat-api and nest-api-protect-api) Adapted from:

Installation

npm install nest-api

Usage

Configuration

In order to instantiate and use the main Nest API should use the following:

var NestApi = require('nest-api');
var nestApi = new NestApi('YOUR_EMAIL', 'YOUR_PASSWORD');
// Login (must be called first to establish a session)
nestApi.login(function(data) {
    // A callback for something you would want to do on login
});
 
nestApi.get(function(data) {
  // Get a property from the Nest API.  See the Appendix for a list of properties.
});

Examples

var NestApi = require('nest-api');
var nestApi = new NestApi('YOUR_EMAIL', 'YOUR_PASSWORD');
 
nestApi.login(function(data) {
  nestApi.get(function(data) {
    var shared = data.shared[Object.keys(data.schedule)[0]];
    console.log('Currently ' + shared.current_temperature + ' degrees celcius');
    console.log('Target is ' + shared.target_temperature + ' degrees celcius');
  });
});

Contributing

Please feel free to modify and contribute to this code:

  • GitHub: node-nest-api
  • Author: John Wyles john@johnwyles.com (http://johnwyles.com)
  • Inspiration: Aaron Cornelius (https://github.com/wiredprairie/unofficial_nodejs_nest)
  • Inspiration: Devon Crouse (https://github.com/devoncrouse/nest-nodejs)

License

See LICENSE

TODO

  • Implement Nock for testing
  • Write generic getter for information
  • Research POST operations for Nest API and write setters

Appendix

Below is an example data structure / JSON object returned from the Nest API:

{
  user_alert_dialog: { '###':  { /* ... */ } },
  track:  { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  message_center: { '###': { /* ... */ } },
  utility: { /* ... */ },
  where: { '### uuid ###': { /* ... */ },
  structure: { '### uuid ###': { /* ... */ },
  message: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  tuneups: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  device: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  demand_response: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  user: { '###': { /* ... */ },
  link: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  device_alert_dialog: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  metadata: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  user_settings: { '###': { /* ... */ },
  schedule: { '0123456789ABCDEF': { /* ... */ }, /* ... */ },
  shared: { '0123456789ABCDEF': { /* ... */ }, /* ... */ }
 }

Package Sidebar

Install

npm i nest-api

Weekly Downloads

11

Version

0.0.8

License

MIT

Last publish

Collaborators

  • johnwyles