Guide / MixPlay / Stream

Let viewers control your Nanoleaf lights

January 27, 2019

Tags: , , , , , , ,

Have your Mixer viewers change the colors and effects of your Nanoleaf lights, or have it trigger on alerts, like new follows or a donation! This works for both the Canvas and triangular Light Panels. [Possibly Nanoleaf’s upcoming Hexagonal version too.]

What you’ll be able to do after reading this guide:

  • Have viewers be able to change the color your Nanoleaf lights
  • Have viewers be able to change the pattern or rhythm pattern of your Nanoleaf lights
  • Have viewers be able to change the rhythm mode [take sound from 3.5mm or via rhythm module mic]
  • Trigger your Nanoleaf Lights on alerts, like follows, hosts, etc.
  • Be able to control the Nanoleaf lights with your Stream Deck

What you’ll need:

Obtaining the Nanoleaf IP address

You’ll have to find the IP address of your own Nanoleaf lights.
The easiest way to do this is by looking at the list of your connected devices via your router.

There are many different routers out there, with different interfaces – but I can only guide you using the one I have.
Chances are you can connect to it via 192.168.0.1 / 192.168.1.1 – credentials usually listed physically on device.

On my hitron modem/router, I go to Connected Devices to find the list of devices connected to it.

From there, I search for the Nanoleaf – not by name, but by MAC address.
To do this, on the connected devices page, I do a search for 00:55:DA and find the IP address.

Judging by this, my Nanoleaf lights are 192.168.0.51.
If you have any confusion towards finding your Nanoleaf IP address – send me your router model number!

Nanoleaf authorization & setup

Now it’s time for us to make a new Nanoleaf user.
The first thing we have to do is modify the user.ahk script – so open it up in a text editor.

In the script you should see 192.168.0.51place your IP address there instead.
After inputting your IP address, save and close the script.

Hold the power button on the nanoleaf until it starts blinking.
Open user.ahk – you should see a dialog pop up and a new text document called Key.txt in the same folder.

Hit OK on the dialog, open Key.txt and copy the auth token.
If you get a 403 error, then you might not have been fast enough – it only gives you 30 seconds.

Open nanoleaf.ahk in a text editor and modify both the IP address & auth token.

Save the script and close it.
Run the script using AutoHotkey and you should see a white/green H on your taskbar.

Now it’s time to test it! Hold CTRL and press 4 – this should change your lights to blue.
If it didn’t work, be sure the script is running and has the correct information [IP address & auth token].

Close the script by right clicking on the H and going to Exit.

Understanding the script

Open nanoleaf.ahk in your text editor and scroll down until you see ^1:: .
Let’s go over a few lines so that you can modify it to your liking.

^1:: When CTRL and 1 are pressed together, it’ll run whatever is under it.
WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/state/brightness”)
bodytext = {“brightness” : {“value”:18, “duration”:0}} Changes brightness to 18 quickly. Max 100. 
WinHTTP.Send(bodytext)

WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/state”)
bodytext = {“hue” : {“value”:360}} Changes hue to 360, which is red. Max 360.
WinHTTP.Send(bodytext)

WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/state”)
bodytext = {“sat” : {“value”: 100}} Changes saturation to 100, which is vibrant color. Max 100.
WinHTTP.Send(bodytext)
return Halts script for meow.

Chances are you’ll leave hue & saturation alone and adjust the brightness according to how it looks on stream.

The script has the following triggers for colors:
[If you would like to change the key trigger, check out the AutoHotkey reference here.]

CTRL + 1 = RED
CTRL + 2 = YELLOW
CTRL + 3 = GREEN
CTRL + 4 = BLUE
CTRL + 5 = PURPLE
CTRL + 6 = PINK

Besides colors, there are also patterns, rhythm patterns & rhythm modes.
Because you can load & remove different patterns, some of the ones on this script might not work for you.

CTRL + p = Color Burst with aux cable as rhythm source
CTRL + o = Northern Lights
CTRL + q = Romantic
CTRL + w = Checkerboard
CTRL + u = Radiate
CTRL + t = Inner Peace
CTRL + n = Nemo
CTRL + i = Dancing Duo with aux cable as rhythm source

To get a list of available patterns, open patterns.ahk and it’ll spit out info into Patterns.txt.
Then all you have to do is copy and paste whatever pattern you want in the bodytext.

Now we’ll take a look at how Dancing Duo is triggered.

^i:: When CTRL and i are pressed together, it’ll run whatever is under it.
WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/effects”)
bodytext = {“select” : “Dancing Duo”} Changes to Dancing Duo pattern.
WinHTTP.Send(bodytext)

WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/state/brightness”)
bodytext = {“brightness” : {“value”:20, “duration”:0}} Changes brightness to 20 quickly. Max 100. 
WinHTTP.Send(bodytext)

WinHTTP.Open(“PUT”, “http://” . nanoIP . “:16021/api/v1/” . nanoCode . “/rhythm/rhythmMode”)
bodytext = {“rhythmMode”:1} Changes source to aux cable. 0 would change it to microphone.
WinHTTP.Send(bodytext)
return Halts script for now.

For additional information on Nanoleaf’s API, check out this postman reference which explains everything in detail.
As always, if none of this is clear and you need additional help, comment below or just message me on Discord.

Control Nanoleaf via Firebot MixPlay buttons

Viewers can control the Nanoleaf via MixPlay buttons using Firebot.
This section will go over the Firebot side of things – scroll down for Mix It Up.

Create a new MixPlay project here [or modify an existing one].
Make two new buttons – Pink & Inner Peace, then hit SAVE.

Click Code on the top to get the code of your board.
Open Firebot, click CHANGE BOARD, then Add New Board [or select an existing one and resync it].

Edit the Pink button.

Click (+) New Effect under EFFECTS.

Select Game Control, then make the Key To Press 6 and check Control for modifiers, then hit Add.

Copy the Game Control effect, then hit Save Changes.

Click EDIT on the other button, Inner Peace, then paste the effect.


Click Game Control, then change the 6 under Key To Press to t and hit Save, then Save Changes.
Run the nanoleaf.ahk script, then in Firebot click the Play buttons to test it.

Yay! The lights change! You can also connect Firebot to Mixer and test this on your board to ensure it’s okay.
If they don’t change, make sure the script is open and that the effects are striking the correct key.

Control Nanoleaf via Firebot alerts

Firebot can trigger the lights on events like new follows and hosts.
In Firebot, go to EVENTS on the left side, then click (+) New Event.

Name the event, check Active Event and select the Trigger On to Follow.

Click on (+) New Effect and select Game Control just like we did with the buttons.
Set the Key To Press to n and check Control under the Modifiers, then hit Add and then Add Event.

Click the Play button under Follow to test it [or have someone follow you while Firebot is connected].

Congratulations – looks like you got the Nanoleaf working with Firebot! Woo!
For additional information on how to do things in Firebot check out their Wiki here.

Scroll down to check out how to connect the Nanoleaf with the Stream Deck & useful tips.
And as always, if you need additional help – just let me know.

Control Nanoleaf via Mix It Up MixPlay buttons

Viewers can play with your Nanoleaf via MixPlay buttons using Mix It Up.

Create a new MixPlay project here [or modify an existing one].
Make two new buttons – Pink & Inner Peace, then hit SAVE.

Open up Mix It Up, go to the MixPlay section and select your board [if you don’t see it, hit the refresh button].

Click Add Command for Pink, then click Advanced Command.

Click the Action dropdown menu and select Input (Keyboard & Mouse), then hit the + button.

Select Keyboard for Type, 6 for Keyboard Key, Click for Action and Control checked, then hit Save.

Repeat the same steps for Inner Peace, but change the Keyboard Key from 6 to T.
Run the nanoleaf.ahk script and click the Play buttons for Pink & Inner Peace.

Funk yesh – the lights change! You can also connect Mix It Up and test this on your board to ensure all is peachy.
If they don’t change, make sure nanoleaf.ahk is open and that the effects are striking the correct key.

Control Nanoleaf via Mix It Up alerts

Mix It Up can also trigger Nanoleaf light changes on events like new follows.

In Mix It Up, click the Menu button and go to Events.
Find Channel Followed and click Add Command, then Advanced Command.

Click the Action dropdown menu and select Input (Keyboard & Mouse), then hit the + button.
Select Keyboard for Type, N for Keyboard Key, Click for Action and Control checked, then hit Save.

Click the Play button for Channel Followed to test it out [or connect Mix It Up and have someone follow you].

Nice – looks like you got the Nanoleaf working with Mix It Up! Great success!
For additional information on how to work with Mix It Up, check out their Wiki.

There are additional tips and tricks below that should help you get the most out of your board.
And as always, if you need more help or have questions – just let me know.

Stream Deck set up

When you allow viewers to modify goodness like the Nanoleaf lights, it’s good to have some type of override.
This is where the Stream Deck comes in – just drag a hotkey onto one of the boxes and set it accordingly.

Keep in mind that nanoleaf.ahk needs to be running in order for this to work.

Tips and tricks

Script startup
The nanoleaf.ahk script can load on Windows startup , this way you don’t have to open it up each time.

Hold the Windows Key & hit R, then type in shell:startup, hit enter and the Startup folder should open.
Create a shortcut of the script [or move the actual script] over to the Startup folder and… that’s it!

Lights may look strange on stream
You can either adjust the exposure of your camera or the brightness of the Nanoleaf lights.
Lychi uses 17-20 for brightness on her lights but your settings may differ, so mess around with it!

MixPlay
Be sure to create buttons for all three grid types and test your buttons on a phone, Xbox, tablet and PC if possible.
Set up the Nanoleaf controls in one cooldown group, otherwise someone’s color change might only show briefly.

You can also have it so that subs [or another role] have access to certain colors that regulars don’t have access to.
Definitely check out Firebot & Mix It Up’s guides or videos on how to achieve this.

Closing

So there you have it! Viewers can now control your sexy Nanoleaf lights! Yayyyy!
If this has helped in any way be sure to tell me on ‘da Twitters or below.
And as always, if you need more help or can’t figure something out, let me know.

All the best,
sorryaboutyourcats


 

 

Author