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 =newAuroraApi({
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