nanoleaf-aurora-client
v1.2.2
Published
Nanoleaf Aurora API client
Downloads
7
Readme
Nanoleaf Aurora API client
A node.js module, which provides a wrapper for the Nanoleaf Aurora API.
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