Color Notify: Simplify Showing Multiple Alerts on One Smart Bulb - Design Colorful Event Alerts and Pair Them with Your Smart Lights

It’s easy enough to have a light display a single color notification on a smart bulb (turn red when I am in a meeting), but what if another notification comes in at the same time (pulse blue if it starts to rain and windows are open). How do you share one bulb with multiple notifications?

I have been developing an integration to deal with just this situation: one RGB bulb that can display multiple notifications, while still acting like a normal light.

For a real-world example, I have a light that sets to full brightness when a light switch is ‘on,’ is a blue ‘night light’ when motion is detected after sunset, and is red when I am in a conference call. Without this integration it would be a nightmare to figure out the logic for this. With this app, I just arrange my ‘In Meeting’ notification to be on with my camera, a light switch hooked to the normal ‘light’ entity, and a motion sensor set to trigger the “Night Light” notification (with priorities in that order).

Now, if I’m in a meeting it is Red, no matter what. The Night Light will only show through if I am not in a meeting and the light switch is off. The light switch can turn on and off the light. No dealing with the extra logic, just set priorities and it handles it. Easy!

Color Notify is a new HACS integration that allows you to share a light bulb across multiple notifications. With Color Notify, you can create a “Notification Light” by wrapping an existing light entity. You can then define priority-sorted notifications, including color, animations, and duration, and subscribe specific lights to any subset of these notifications.

The wrapper entity functions like a regular light entity, allowing you to turn it on, off, toggle it, and set colors. Additionally, notifications can be defined as “switch” entities, with the light wrapper managing multiple simultaneous notifications while still allowing the light to be used in its normal function.

Here’s how to configure it:

  • Create a new wrapper light

Once wrapped, you should no longer use the ‘real’ light entity and should only interact with the wrapper light.

You can then create ‘Notification Pools.’ In these pools you can define notifications, which are Switch entities that can be toggled on and off. They can be defined as a solid color or an animated pattern, and can auto-clear after a set duration or can stay active until cleared.

Once you have a light and a notification pool, you can start subscribing your lights to notifications. The light can subscribe to individual notifications, or entire pools at once.

For example, this light is subscribed to 3 entire pools, plus a few notifications from the General Notifications pool:

and here’s the entities in my General Notifications pool:

That’s pretty much it. Wrap a light, define notifications, subscribe the wrapper light to the notifications and everything should just work. No more need to manage lights yourself. Just switch on notifications whenever they are relevant and forget about it!

This is an update to my previous AppDaemon script, rewritten as a Custom Integration. It was way more work than expected converting it to an Integration, so I hope that others find it useful :slight_smile:

6 Likes

Just came across this and its already proving to be an incredibly useful app. Thanks for the work on this. I’m using it with these Matter switches: Inovelli White Series 2-1 Smart Switch • Works With HomeKit • Matter which allow the RGB LED bar to be controlled like a RGB bulb to display notifications.

I’m glad you are finding it useful! Thank you for the comment, it’s always encouraging to hear that someone else is benefiting from the effort put into it (and gives me more motivation to put more effort in)

This is neat and similar to an integration I just created. Inovelli switches are mentioned in this thread, so it may be of interest to someone who has been here or ends up here in the future: Lampie: Notifications on Multiple Inovelli Switches. Hope someone finds it useful!

Hi,

I’m not sure if I’m totally misunderstanding the integration, but basically how do you tie automations in to trigger the pools? So for example, lets say I set up my RGB night light to turn green when the laundry is done (we’ll say priority 1), Blue when a package arrives (Priority 2), and yellow if the door is unlocked for x amount of time (Priority 3), When all three of those events happen around the same time, how can I engage the light display the colors and loop them using the pools? Thanks, this seems like a cool integration, I just happen to have rocks for brains

If you want the light to loop between those three notifications you should set them all to the same priority.

You can define per-light how long it displays each color with the “Auto-cycle between same priority notifications” and “Auto-cycle delay” settings:

If you give them each different priorities like you are doing then it will always show only the highest active priority. The exception to this is that notifications can briefly override higher priority notifications when initially enabled. Per-bulb you can configure the “Duration to temporarily display lower-priority notifications” to pick decide how long an override will display (0s to disable), and per-notification you can configure “Temporarily show on activation, regardless of priority” which lets you specify only specific notifications to briefly display.

If you set all of those notifications to the same priority and activate them all at once, it should cycle between them (every 5s by default).



I do want to (at some point) add a service call to manually cycle them (eg, to trigger cycling all notifications on motion trigger) but just haven’t had the time.

edit:

how do you tie automations in to trigger the pools?

If you were actually just asking “how do you make an automation turn on an notification” then the answer to that is that each defined notification shows up as a ‘switch’ entity, so you just turn it on and off like a switch from the automation.

ahhhh I see now, I was trying to build the automation to trigger a light rather than a switch. Thanks for following up, I’ve been looking for something like this