Need some help understanding frontend configuration

I’ve just started playing with Home Assistant and there’s one thing I’m just not getting - how the information about components gets to the web frontend.

For example, I’ve got some LIFX bulbs. I was able to add them to my configuration, and they show up on the web interface with a light switch. But they’re capable of changing colors, and I’ve seen other people talk about changing the colors on them.

I can see in the lights/lifx code that there are functions that deal with RGB colors - so how does the web component know that this device needs a color picker instead of an on/off switch? Or, more accurately, why does my web interface not seem to know that?

I have lots of coding experience but almost none with Python, so that may be part of my lack of understanding. Usually I’m find going through source code to understand how something works, but this part has me baffled.

I didn’t see anything on the “Getting Started” pages about defining what your setup looks like when accessed through a browser. If someone could point me in the right direction that’d be great.

If you click on the individual light on the card in the web interface, it should pop up a box for you to change things like brightness and color like the example from my setup below.

I must have something configured wrong, I just get the timeline:

Wow - OK, it does work - but it took several minute before the color chooser showed up. I’ve also noticed that when I start HA it takes several minutes before it discovers the LIFX bulbs. The one GE Link bulb I have on a Wink hub shows up immediately. I wonder if that lag is normal for the LIFX bulbs.

Are you using the standard SQLite db? It might be getting too big. I used to have this issue until I moved over to MySQL.

That could be it. I am using SQLite, and my database is about 20 MBytes after just a couple of days. (I have a MQTT sensor that’s too talkative, I need to adjust that, but that’s a different issue.)

I looked through the web site but didn’t find any mention of alternative databases or how to configure which database is used. Any pointers?

20 MB isn’t much really. I used to see slow downs when I was approaching 200 or 250 mb so that might not be your problem.

Here’s the post you are looking for - I had everything down except installing the mysqlclient in the virtual environment and as you can see in the thread it was driving me crazy. The post I’ve linked you to has all the proper steps.