💡 Adaptive Lighting automatically adapts the brightness and color of your lights based on the sun's temperature but stops when you manually make a change

Hello,

I have been using this automation for a while now without any issues.

Recently I added a couple of new lights to my house and somehow they are always changing to manually controlled without me doing anything.

Any way to solve this?

What is the correct procedure to turn off manual control of all lights in either automation or scene? I want Adaptive Lighting to take control of all lights at 08:00 every day, but somehow I can’t make it work properly.

I think I have the same problem as @GleDel above, but I’m not entirely sure my automations turn off manual control in the first place…

According to the first post, this is how to turn off manual control for one light:

    - service: adaptive_lighting.set_manual_control
      data:
        entity_id: "{{ switch }}"
        lights: "{{ light }}"
        manual_control: false

But how do I do it for them all without separately listing them all?

Check out the adaptive_lighting.apply service:

You can just call:

    - service: adaptive_lighting.set_manual_control
      data:
        entity_id: switch.adaptive_lighting_default
        manual_control: false

without the lights. The docs are incorrect about lights not being an optional argument. I will fix this!

1 Like

Hello,
I’ve been using this component for a while without any issue.
Recently I’ve added an rgbw controller to my setup (a Shelly Rgbw2) but I’ve encountered some issue to make it work with Adaptive Lighting.
Basically, during the entire day / night cycle, the light correctly reaches a peak similar to 5500/5700 Kelvin, but when the sun passes below the horizon, the white tone remains very high (around 4500 K), while it should become a warm white (3000K).
Most likely the problem is that the controller only supports “rgbw” color mode.
Is there any way to overcome the problem?
I thought some kind of color conversion (Rgb > Rgbw) could be done via script or template, but I really don’t know where to start …
The attributes of the entity are as follows:

supported_color_modes:
  - rgbw
color_mode: rgbw
brightness: 191
hs_color:
  - 245.482
  - 77.255
rgb_color:
  - 76
  - 58
  - 255
rgbw_color:
  - 23
  - 0
  - 255
  - 75
xy_color:
  - 0.166
  - 0.074
friendly_name: Luci Tv (Shelly Rgbw)
supported_features: 32

Not sure about Shelly (depends what firmware you are running) but with ESPhome (which I think you can run on Shelly’s) I had to set a parameter to prevent the white channel turning on at the same time as the RGB’s. This fixed the issue perfectly.

Thanks for the hint!
I saw that it’s possible to flash Shelly Rgbw with ESPhome: can you confirm that, after the flash, Adaptive Lighting works as intended? Does the integration acts only on the RGB channels (leaving the white constant) or is the W channel modified accordingly to the brightness setting? Can you get a warm white (3000/3200 k) automatically?

I haven’t got any Shelly devices so can’t say what the experience is like.

Adaptive Lighting I believe works fine with both RGB and RGBW. In my automations I have it set up to only use the W LED’s when the RGB’s are off. During normal Adaptive Lighting conditions the RGB’s do all the work and then if we want nice white light HA turns off Adaptive Lighting for that area and turns on only the white LED’s. That’s just how I have it configured but not how it must be.

Best to read the AL docs.

Is there anyway to get this integration to react faster when a light is turned on via the physical wall switch? I notice a delay of several seconds when I turn on my lights using the wall switch; I would like to decrease this if possible.

I am using Enbrighten z-wave switches if that makes any difference.

First of thanks for this integration it is really essential in our home now.

Question though can I use light groups instead of individual lights in the configuration and in automations? There is something in the back of my brain that I had issues with just that in the passed so right now I have all my automation listing every single bulb instead of areas or light groups.

Yes you can use groups. Groups and Light Groups behave differently though. I also have problems with zigbee groups on ZHA; there’s always one bulb that fails to change state to off, which causes Adaptive Lighting to turn the whole group back on…

I think that’s exactly the problem I had and even if I run Deconz and have all my lights in the same group I never use it in HA. Do you use your Deconz groups?

I had less problems when using deconz. I can’t remember if this was one of them. I did use zigbee groups (deconz), still use them (ZHA), and have problems. I’m just hoping for occasional bugfixes to fix this problem as a side effect :smiley:

Well I setp ZHA with the new Sonoff Zigbee USB and tried to make Zigbee groups and yes if I group an entire room and then turn of one of them lights, that light turns back on in a couple of seconds.

Hey all. I’ve made the switch over to Home Assistant and am loving Adaptive Lighting.

The only thing I’d really love to be able to do is say.
At 11PM or after use red light instead of kelvin.

Possible?

You could create an automation to simply turn off AL at that time and set the light colour to red.

1 Like

Mostly AL works great for me, but I have problem. I have a bunch of Zigbee bulbs (IKEA Tradfri) controlled at the wall using a Philips Hue Wall Switch Module all running over DeConz. The bulbs are hot wired, and the Module just issues a Zigbee on command through DeConz directly, only sending and event to HA.

Most of the time, when I turn the bulbs on using the wall switch, they will remain fixed in their previous brightness state (usually dim from the night before) even though the colour is adjusted.

If I turn the light on using Lovelace, AL adjusts both the brightness and colour.

Any ideas for what is happening?

Thanks for the push @sparkydave. Being new to HASS this set me down a path of experimentation.
I ultimately landed on using pyscript (after trying NodeRed and HASS native automation templates).

Here’s what I have that works well so far.

toggle_area_lights handles toggling areas on/off. If the time is between 8:30PM to 6AM it will set the color to red. After 6AM, if AL is on, it toggles to the current Adaptive Lighting color state. If AL is off toggles on to the last used state.

turn_on_night_mode triggers at 8:30PM. It turns off Adaptive Lighting and sets any light that is currently on to red.

turn_off_night_mode triggers at 6:00AM. It turns on Adaptive Lighting which automatically applies the current Adaptive Lighting setting to any lights that happen to be on.

from datetime import datetime, time


def is_time_between(start, end):
    now = datetime.now().time()
    if start <= end:
        return start <= now < end
    else:  # spanning midnight e.g., 23:30-04:15
        return start <= now or now < end


# We only have Lutron Aurora dimmer switches.
# When pressed they fire the "short_release" event.
# Each switch is in an Area with the same entity name.
# e.g. - Area: living_room  Switch in Area: living_room_button.
@event_trigger("hue_event", "type == 'short_release'")
def toggle_area_lights(id, **kwargs):
    area = id.removesuffix("_button")

    if is_time_between(time(20, 30), time(6)):
        light.toggle(area_id=area, color_name="red")

    else:
        al = switch.adaptive_lighting_adaptive_lighting
        if al == "on":
            light.toggle(
                area_id=area,
                brightness_pct=al.brightness_pct,
                kelvin=al.color_temp_kelvin,
            )
        else:
            light.toggle(area_id=area)


@time_trigger("once(20:30)")
def turn_on_night_mode():
    switch.turn_off(entity_id="switch.adaptive_lighting_adaptive_lighting")

    for id in state.names(domain="light"):
        if state.get(id) == "on":
            light.turn_on(entity_id=id, color_name="red")


@time_trigger("once(06:00)")
def turn_off_night_mode():
    switch.turn_on(entity_id="switch.adaptive_lighting_adaptive_lighting")

I realize this won't directly help anyone else because your setup/desires are different but posting here anyway as I found it useful to read about how others do things while figuring this all out.

:+1:

1 Like

Has anyone created a visualization card for the lovelace dashboard that shows where AL is in the day?

Something like what the f.lux app has on desktop?

1 Like

If you create a template sensor using the switch.adaptive_lighting_YOUR_ENTITY and grab the color_temp_kelvin attribute you could then use the mini graph card or history graph card to display that template sensor

2 Likes