New Adaptive Lighting Integration

I use these Xiaomi Aqara Opple Zigbee switches which work great!

I have them positioned over my existing light switches using a 3D printed adapter: Xiaomi Aqara Opple Switch Cover by jarrah31 - Thingiverse

The Opple switches are paired with Zigbee2MQTT https://www.zigbee2mqtt.io

Hi,
this integration has an option to offset the sunset in order to have dimmed lights earlier and I can use automation to switch to sleep mode later in the evening.

However, what I would like to do to avoid less light before sunset (the offset option) and quick jump to sleep mode is to have an option to make the curve of the change sharper - shorter time from the sunset to dark later in the evening. Preferably changing based on the time of the year (sharper in the summer as we go sleep earlier after sunset, longer in the winter as we go sleep later after sunset).

Did anybody jump into this problem?

I use 5 Hue Wall Modules (need 7 but they’re out of stock like almost the whole time here in NL). They’re not cheap (EUR 40 per piece), but they’re so good and I can use them with my regular Jung LS990 switches (dual push buttons). So every switch has two knobs, which have infinite possibilities with ControllerX and HA. For instance: pressing once is hallway lights on, holding is adjusting brightness, pressing twice is hallway lights off and pressing three and four times is bathroom on/off and adjusting brightness. I have a variable that IF the bathroom lights are on, ONLY adjust brightness for bathroom lights. If bathroom lights are off, ONLY adjust brightness for hallway lights.

TLDR: make sure you get some good Zigbee switches ideally to replace your current dumb switches, because pressing things on the wall is still the most natural thing for everyone and you don’t want guests to toggle your smart lights with a dumb switch and mess up all your automations etc.

I have been testing it out for a number of weeks now. It has mostly been a great experience. The only drawback once everything was up and running was a single light.

It only controls three hue lights. Office 1, Office 2, and Office 3. It seems Office 1 quite commonly loses sync as the other two continue their changes. It’s about 50/50 on if the one light will play ball or not. It is connected to the network and fully controllable by everything else. It just sometimes remains at its default color as the other lights do their thing. shrug

Hey all
Love this and use it a lot now we have a new baby!! Helps to keep lights at a good level when feeding at night to not wake him up!!

One setting I’m confused about however - which I’m sure is obvious but I’m missing it

When I turn on some lights for the first time, via the power switch, it takes some time before the lights dim to their setting. So they come on full brightness then after time dim down to what they should be.

How do I speed up this process, so that a light gets its proper setting ASAP? Which value drives that in the yaml?

Yaml? Which version are you using? The latest one from here 💡 Adaptive Lighting Custom Component that automatically adapts the brightness and color of your lights based on the sun's temperature but stops when you manually make a change
or the one from the first post?

this one sorry: GitHub - basnijholt/adaptive-lighting: Adaptive Lighting custom component for Home Assistant

That one is no longer using yaml I thought? Instead it uses setup via Integrations?
If I’m wrong please ignore me :slight_smile:

Anyway, you are using the correct custom_component, that’s what I was wondering about.

ah! ok, is it not needed via HACS any more then! will have a play

I’m not sure what you mean? The Adaptive Lighting component is not in HA Core so you still need to use HACS, as far as I know?

Has anyone found a way of using this with lux sensors, for times like when the curtains are shut during daytime

Adaptive/Circadian lighting is designed to adjust the brightness and color temperature of artificial lighting based on the sun, not lux sensors. I think you will have to design your own automation…

On top of that Daniel has mentioned, using a lux sensor inside the room to be lit isn’t going to work very well. Once the light is on the lux sensor reading is no longer of any use to control the light level, so it can only be used the one time and has no ability to be dynamic.

I never thought about that aspect! …which is why I do not use the lux sensors that are in my motion sensors! Without a lot of finagling, the light would be toggling on, off, on, off, on…
I only use an outdoor lux sensor to trigger blinds and to disable motion activated lighting during the day.

I did actually do it and it was working ok, but required calculating the lux provided at certain light percentages with all doors/curtains shut and at night. But I take your point, I think what I’ll do it have an automation that triggers the lights to come on to minimum when the lux drops to a certain level if the room is occupied.

Like I said, it will take a bit of finagling! Where there’s a will there’s a way…

These add-ons don’t always provide a solution. I have a somewhat complex node-red routine for my living room motion activated lighting. Entity-controller, AL and CL couldn’t do what I wanted so I created my own automation in NR. I originally started in HA but it got too convoluted for even me to understand…

I’m also using a NR routine for my circadian lighting now…

There is an easy fix for this which I use. I have a condition that if the light is on then allow retriggering of the light despite the light level being over that which would normally warrant triggering the light.

alias: 'Passage downlights auto'
    mode: restart
    trigger:
      - platform: state
        entity_id: binary_sensor.passage_ms6_motion
        from: 'off'
        to: 'on'
      - platform: state
        entity_id: binary_sensor.paradox_z5_living_pir
        to: 'on'
    condition:
      condition: or
      conditions:
      - condition: template
        value_template: "{{ states('sensor.passage_ms6_illuminance') | int < states('input_number.passage_min_lux') | int }}"
      - condition: state
        entity_id: light.passage_lights
        state: 'on'
    action:
      - service: light.turn_on
        data_template:
          entity_id: light.passage_lights
          brightness_pct: "{{ state_attr('switch.adaptive_lighting_passage', 'brightness_pct') | int }}"
          rgb_color: "{{ state_attr('switch.adaptive_lighting_passage', 'rgb_color') }}"
          white_value: 0
      - delay: '00:0{{ states.input_number.passage_lights_auto_off_time.state | int }}:00'
      - service: light.turn_off
        entity_id: light.passage_lights

It’s a simple fix and works really well. I use this same code for a few lights in my house. They never turn off while motion keeps retriggering even thought the light has caused the light level to rise above the low lux setting. Once motion stops retriggering it, the delay turns the light off. If the lux level is above the setting (set via an input_number for easy GUI adjustment) then the light doesn’t turn on at all.

1 Like

Thanks for that! I have motion controlled lighting in Garage (always dark so I want to always turn on), Office (I always want them to turn on since ambient natural lighting is insufficient at my desk), Bedroom (I want motion activated lighting disabled when I tell Alexa Good Night), Master Ensuite (same as garage…it’s always dark) and Living Room where I have additional conditions like if TV is on don’t turn the motion controlled light off). The only place I could use Lux is Living Room and Bedroom but my exterior Lux sensor works quite well for them. I might play with it for the Living Room so that if other lights are on it won’t trigger except that where the sensor is located there is likely minimal change in its luix level. Something to play with…