Code Monkey home page Code Monkey logo

nanoleaf-aurora-api's Introduction

Nanoleaf Aurora API client

A node.js module, which provides a wrapper for the Nanoleaf Aurora API.

CircleCI

Installation

Install with the node package manager npm:

$ npm install nanoleaf-aurora-client

Get your token

You can request via API query a token from your nanoleaf panel controller. To do so, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern.

The run the script "getToken.js" - token will be print in the console.

Note: edit the js file to use the correct IP and PORT to query your nanoleaf Aurora.

Examples

Create the client

var api = new AuroraApi({
    host: '192.168.1.160',
    base: '/api/v1/',
    port: '16021',
    accessToken: 'TOKEN'
  });

Get device information

api.getInfo()
  .then(function(info) {
    console.log('Device information: ' + info);
  })
  .catch(function(err) {
    console.error(err);
  });

Get power status

api.getPowerStatus()
  .then(function(info) {
    console.log('Power status: ' + info);
  })
  .catch(function(err) {
    console.error(err);
  });

Turn the device on

api.turnOn()
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Turn the device off

api.turnOff()
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Get the current brightness value

api.getBrightness()
  .then(function(brightness) {
    console.log('Brightness: ' + brightness);
  })
  .catch(function(err) {
    console.error(err);
  });

Set the brightness value

api.setBrightness(50)
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Get the current hue value

api.getHue(50)
  .then(function(hue) {
    console.log('Hue: ' + hue);
  })
  .catch(function(err) {
    console.error(err);
  });

Set the hue value

api.setHue(50)
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Get the current colour temperature

api.getColourTemperature()
  .then(function(temperature) {
    console.log('Colour temperature: ' + temperature);
  })
  .catch(function(err) {
    console.error(err);
  });

Set the colour temperature

api.setColourTemperature(100)
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Get the current colour mode

api.getColourMode()
  .then(function(colourMode) {
    console.log('Colour mode: ' + colourMode);
  })
  .catch(function(err) {
    console.error(err);
  });

Get the current effect

api.getEffect()
  .then(function(effect) {
    console.log('Current effect: ' + effect);
  })
  .catch(function(err) {
    console.error(err);
  });

Set the current effect

api.setEffect('Nemo')
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

List all effects

api.listEffects()
  .then(function(effects) {
    console.log('Effects: ' + effects);
  })
  .catch(function(err) {
    console.error(err);
  });

Get the device orientation

api.getOrientation()
  .then(function(orientation) {
    console.log('Orientation: ' + orientation);
  })
  .catch(function(err) {
    console.error(err);
  });

Get the layout options

api.getLayoutOptions()
  .then(function(layout) {
    console.log('Layout: ' + layout);
  })
  .catch(function(err) {
    console.error(err);
  });

Identify (flash the panels)

api.identify()
  .then(function() {
    console.log('Success!');
  })
  .catch(function(err) {
    console.error(err);
  });

Changelog

1.2.2 (2018.01.18)

  • (Xyala) Added script to get token.

1.1.8 (2018.01.18)

  • (darrent) Fixed unit tests. No additional features added.

1.1.5 (2017.11.13)

  • (oliverschulze) added setSat and getSat function
  • (oliverschulze) adapted state changing api calls, to match Nanoleaf Aurora 2.2.0 firmware

nanoleaf-aurora-api's People

Contributors

ceejbot avatar darrent avatar oliverschulze avatar xyala avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.