Easy and cool effects and visualizations for your Nanoleaf Aurora.
Haller is a wrapper around https://github.com/bharat/nanoleaf that provides some additional, higher level functionality to control your Nanoleaf Aurora
- Automatically find and connect to your Aurora
- Turn on/off your Aurora from a script
- Handle rotation of your Aurora (so that you can script "left to right" type effects)
- Real-time display effects (including some samples)
- Audio visualization effects (including some samples)
- Python3
- Python modules: bokeh, pyaudio, numpy, scipy
git clone git@github.com:bharat/nanoleaf.gitinside the haller directorypip3 install bokeh pyaudio numpy scipy- Hit the pairing button on your Aurora
- run
config.py. It will discover your Aurora, pair with it and create a file calledaurora.inicontaining config data.
By default your Aurora will have an arbitrary orientation. You can control that orientation by using the --rotate argument to config.py. Haller will save that orientation and use it in the future.
config.py --plotwill create an HTML file calledplot.htmlthat contains a visual representation of your panel layoutconfig.py --rotate <degrees>will calculate a new rotation of your panel layout. Use this with--plotto visualize to make sure that your panel rotation matches your physical layout. The results of this rotation are cached inaurora.inifor the future.
Here's what a sample plot looks like:

effect.py --listto list all effectseffect.py --set <name>to choose an effecteffect.py --createcreates a hardcoded effect calledScripted. Work in progress here.
This uses the External Control feature of Aurora to allow dynamic effects. There are a few hardcoded ones, but the code is an example for what you can do. Try display.py --streaming wipe to see one of them.
Using the streaming interface, you can turn your Aurora into a music visualizer. Try visualizer.py --viz amplitude for yourself. You can see what it looks like here: https://www.youtube.com/watch?v=nnojsRrwK4c