Yeelight Toolbox


Nothing else changed. Try resetting your devices or re enabling lan control


got it working!


· Minor UI improvements.


Thanks for the dark theme fix :+1:


Hi there @jordi.id96!

I have installed ver. 2.0.1 and it seems too be EXTREMELY heavy on PC resources compared to ver. 1.2.3 I had been using. I have a dedicated Win10 TV box (Z8300, 2GB DDR 3) just for running your app.

With ver.2.0.1 it could not run at all. It simply was not fast enough. It completely drained the little PC’s resources.

What has changed? Why is that?

BTW, do you plan on supporting multiple lights in the future?

Thanks a lot for your great effort.


I added options to tweak movie mode, go to the advanced tab and play with the parameters. Maybe your PC is not powerful enough to run at the default values, but try changing them


· Some UI tweaks.
· Improved movie mode performance. I got deeper into the DirectX 3D API and tweaked hardware acceleration and stuff, so it should be way better now. And of course it still can capture full screen apps or games. You can still play with the settings in the advanced tab (change frame rate and screen percentage to scan). But keep in mind that it could still be very demanding on low powered computers if you choose a very high refresh rate or percentage. Lower values should be completely fine (100ms and 10% consumes about 20% of CPU, which it is still pretty fast and provides lots of data for color calculation).
· Display selection for movie mode. Choose what monitor should be captured for movie mode if you have multiple of them connected to your PC.


Version 3.0.0 uploaded!
Huge thanks to the Yeelight team for providing the necessary hardware, implementing groups would have taken much longer and would have been much harder to debug without their help.

· Groups.
· New tabbed layout.
· New fields for inputting RGB and HEX values manually.
· Improved bulb discovery reliability.
· Improved lightstrip support.
· Movie mode advanced settings will now be applied in real time.
· Other minor UI improvements and bug fixes.

I’ve also created a Telegram group for bug reporting, feature requests, suggestions and beta testing. English only. I might as well create a Telegram channel for changelogs so development and releases would be easier to follow.


Awesome work !
I love the new RGB/HEX input :+1:
And grouping of course ! :heart_eyes:

I’ve noticed something with the RGB input :

When I open the program, when choosing different devices it shows well the RGB/HEX value of each device.
But when I change an RGB value on one device, then when clicking on another device, it visually keeps RGB/HEX value from the previous device and it won’t refresh with current device’s values. The same thing happens in Group tab too.
It’s not a big thing or annoying it’s only visual but I’m just saying it because I’ve noticed it.

And one thing would be nice, now that we have Groups and tabs : being able to launch the program with “Groups” tab open by default instead of “Devices”. Either by a simple option to tick in Menu either by being able to slide the Group tab on the left before “Devices” for example.

Note that I really appreciate your work and I respect it, these are just observations and suggestions :wink:


Thanks for reporting, I’ll fix it.

Sure, that’s pretty easy to implement. I’ll make it so the program remembers what tab you are in.


What is your recommended movie mode settings? And can I set light changes smooter? It feel flickering when I set higher refresh rate I feel delay.

Edit: I forget to thank you I am using your app for a long time I love it


It depends on your hardware, but for video games I’d reccommend scanning 5-10% of the screen and refreshing at the lowest possible value that your PC can take (<100ms ideally). For movies or videos, at around 100ms or higher shold be smoother and pretty responsive still, and you can increase the screen scanning percentage for more precision.
Flickering is normal at high refresh rates, nothing I can do about it. I’ve been testing a beta version of the firmware that solves it but it hasn’t reached stable yet.


Thank you and I give my good wishes to you and your project



  • Improved support for Bedside Lamp.
  • Bug fixes.


Thank you for the update !

Idk if it is normal but the RGB input still doesn’t show the actual status. Or maybe it is just a weird thing for me. I will try to explain :

Let’s say that in Yeelight phone App I set one bulb on pure blue 0/0/255.
So for me, if I click on a device in your program, it should show the actual RGB settings which is 0/0/255.
It should, in my logic, update the RGB status but in your program it only keeps the last RGB setting entered in the program. So in my case it won’t show the actual 0/0/255 setting…

What do you think ? :sweat_smile:

Maybe am I thinking wrong. But that’s my opinion on that thing.


You are right, I need to fix it


By the way I’ve noticed an annoying bug in Group mode (previous version had it too but I forgot to tell you).

Yesterday I tested the new version, so I had to setup my Group again.

The first thing is that I had troubles to validate the second device in group.
When adding the second device and then trying to control both together, only one (the first) was working.
To get the second one working I had to add a third device (kinda to “validate” the second one !) and then delete this third one. Then it worked ! Kinda weird !

And the really annoying bug that I was speaking about above is that when I had my setup working yesterday, all was good with my group (2 Yeelight bulbs) but today after a PC restart (and so program restart), my group is bugged and now my 2 lights are working alternately ! This morning my 2 bulbs were OFF so I clicked on OFF in the program to switch them ON :sweat_smile:
But only one bulb switched on and then if I click again this bulb will switch OFF and the other will switch ON…
If I click again, this second bulb will turn OFF and the first one will turn ON again… I think you got it ! :grin:

I had that problem in previous version too, so groups are sadly not really usable.

Another one has experienced it too ?

I see that there is not a lot of return experience here…


I haven’t experienced it but I’ll try to reproduce the bug.


· Reduced flickering in movie mode (UPDATE TO THE LATEST FIRMWARE REQUIRED).
· Bug fixes.


I am getting a Windows error.

Full error log:

Consulte o final desta mensagem para obter detalhes sobre como chamar a
depuração just-in-time (JIT) em vez desta caixa de diálogo.

************** Texto de Exceção **************
System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. —> System.TypeInitializationException: O inicializador de tipo de ‘Yeelight_Toolbox.ScreenCapture’ acionou uma exceção. —> System.IO.FileNotFoundException: Não foi possível carregar arquivo ou assembly ‘SlimDX, Version=, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9’ ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.
em Yeelight_Toolbox.ScreenCapture…cctor()
— Fim do rastreamento de pilha de exceções internas —
em Yeelight_Toolbox.ScreenCapture…cctor()
— Fim do rastreamento de pilha de exceções internas —
em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
em System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
em System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
em Yeelight_Toolbox.FrmMain.trackBar1_ValueChanged_1(Object sender, EventArgs e)
em System.Windows.Forms.TrackBar.OnValueChanged(EventArgs e)
em System.Windows.Forms.TrackBar.set_Value(Int32 value)
em Yeelight_Toolbox.FrmMain.initializeAdvancedMovieModeSettings()
em Yeelight_Toolbox.FrmMain.FrmMain_Load(Object sender, EventArgs e)
em System.Windows.Forms.Form.OnLoad(EventArgs e)
em System.Windows.Forms.Form.OnCreateControl()
em System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
em System.Windows.Forms.Control.CreateControl()
em System.Windows.Forms.Control.WmShowWindow(Message& m)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.Form.WmShowWindow(Message& m)
em Yeelight_Toolbox.FrmMain.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Assemblies Carregados **************
Versão do Assembly:
Versão do Win32: 4.7.3324.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

Versão do Assembly:
Versão do Win32: 3.0.2
Base de Código: file:///C:/Users/Marcelo%20de%20Souza/Downloads/yeelight_toolbox_3.0.2.exe

Versão do Assembly:
Versão do Win32: 4.7.3324.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

Versão do Assembly:
Versão do Win32: 4.7.3314.0 built by: NET472REL1LAST_B
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

Versão do Assembly:
Versão do Win32: 4.7.3190.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

Versão do Assembly:
Versão do Win32: 4.7.3324.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

Versão do Assembly:
Versão do Win32: 4.7.3324.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

Versão do Assembly:
Versão do Win32: 4.7.3190.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Versão do Assembly:
Versão do Win32: 4.7.3190.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_pt-BR_b77a5c561934e089/mscorlib.resources.dll

Versão do Assembly:
Versão do Win32: 4.7.3190.0 built by: NET472REL1LAST_C
Base de Código: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_pt-BR_b77a5c561934e089/System.Windows.Forms.resources.dll

************** Depuração JIT **************
Para habilitar a depuração just-in-time (JIT), o arquivo .config deste
aplicativo ou computador (machine.config) deve ter o valor
jitDebugging definido na seção
O aplicativo também deve ser compilado com a depuração

Por exemplo:

Quando a depuração JIT está habilitada, qualquer exceção sem tratamento
será enviada ao depurador JIT registrado no computador,
em vez de ser tratada nesta caixa de diálogo.