Narcissistic Preening Monarch

    nanoleaf-aurora-client

    1.2.2 • Public • Published

    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

    Keywords

    none

    Install

    npm i nanoleaf-aurora-client

    DownloadsWeekly Downloads

    0

    Version

    1.2.2

    License

    none

    Unpacked Size

    51.1 kB

    Total Files

    10

    Last publish

    Collaborators

    • darren.thomas