A node-red module, which provides nodes to manipulate a Nanoleaf Aurora installation.
To install the stable version use the Menu - Manage palette
option and search for node-red-contrib-nanoleaf-aurora
, or run the following command in your Node-RED user directory (typically ~/.node-red
):
npm i node-red-contrib-nanoleaf-aurora
Open your Node-RED instance and you should have Nanoleaf Aurora nodes available in the palette.
You can request an access token from the 'new access token' node. This is required for the other nodes to manipulate your installation.
To do so, create a flow with a inject input, new access token and debug output (or import the flow below).
[{"id":"e55b9d45.fd9998","type":"inject","z":"2d92504.e175db","name":"Create","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":100,"wires":[["cb1b93ab.818018"]]},{"id":"1aa2ee85.d5cca9","type":"debug","z":"2d92504.e175db","name":"Debug token","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":510,"y":100,"wires":[]},{"id":"cb1b93ab.818018","type":"new-access-token","z":"2d92504.e175db","host":"","query":"/api/v1/new","port":16021,"x":290,"y":100,"wires":[["1aa2ee85.d5cca9"]]},{"id":"f5b63322.d94098","type":"comment","z":"2d92504.e175db","name":"Create new access token","info":"","x":130,"y":20,"wires":[]},{"id":"cd2b5206.2cd0e8","type":"comment","z":"2d92504.e175db","name":"Change host IP address!","info":"","x":310,"y":60,"wires":[]}]
Fill in the host ip of your Nanoleaf Aurora. Deploy then hold the on-off button down for 5-7 seconds until the LED starts flashing. Triggering the inject node should result in a new access token being created and displayed in the debug area.
Use this token when creating an installation of Nanoleaf Aurora for the other nodes.
3.1.3 If you are encountering issues with a newer firmware, please open a GitHub issue.
Set the current brightness.
- Integer payload; 0 -> 100.
- Numbers less than 0 are clipped to 0
- Numbers greater than 100 clipped to 100
- Object payload { brightness (0, 100], duration (seconds) }
For hex and css keyword where the payload was just a string you can specify duration by creating a structure (see below) instead. Duration is an integer in seconds which defaults to 0.
{ "#RRGGBB" } or
{ "color": "#RRGGBB", "duration": [seconds] }
Available keywords can be found at https://drafts.csswg.org/css-color/#named-colors. Keywords are case insensitive.
{ "css keyword" }
{ "color": "css keyword", "duration": [seconds] }
{ r, g, b }
{ red, green, blue }
{ r, g, b, duration }
{ red, green, blue, duration }
{ h, s, v }
{ h, s, b }
{ hue, saturation, value }
{ hue, saturation, brightness }
{ h, s, v, duration }
{ h, s, b, duration }
{ hue, saturation, value, duration }
{ hue, saturation, brightness, duration }
{ h, s, l }
{ h, s, l, duration }
{ c, m, y, k }
{ c, m, y, k, duration }
List installed effects, current effect or both
Set the current effect and start the show
Flash the Nanoleaf Aurora installation on and off (colour cannot be changed)
Shared configuration node used by all but the new access token node
Dump of all the information supplied by the Nanoleaf Aurora installation
Create a new access token (see above)
Switch on/off
on/off
Direct manipulation of the restful API implemented by Nanoleaf. DO NOT use unless you know what you are doing!
No more nodes planned! If you want something, please raise an issue or a pull request. Tests. All this was written 'blind' or by testing manually. If anyone could help with a PR which shows how to test at least a single node that would be much appreciated.
- issue Fix to power-status node. Thanks to narolinus
- Messed up the npm publish. Try again...
- Changes to the API forced changes to the color node. Thanks to arrichter for pointing out the break
- Allow the setting of a duration in the color node. For the payload types that were just a string extend to be a structure of color and duration.
- Bumped all dependencies to latest
- issue Fix to power node for Canvas. Thanks to TonKkkkk
- Migrated from original dependency nanoleaf-aurora-client which is no longer supported. Thanks guys, the code was appreciated!
- Moved all requests to direct calls using the axios library
- Brightness now supports, in addition to an 'immediate' brightness an object with a transition duration
- Power-status node can set the output payload as
- String (default),
- Boolean or
- Numeric
- Effects can set the output payload as
- Available; array of installed effects
- Selected; currently selected effect
- Combined; object with both selected and available effects
- Advanced node
- Additional color options
- enhancement Added color node requested by arrichter
- Added brightness node
- Added README.md
- Initial release