Dynamic Lighting Automation: A Norwegian Winter Tale

The Norwegian winter is a fascinating dance of light and dark, and as someone who loves to harness technology to create comfort, I thought I’d share my journey in automating my home’s lighting system. :jigsaw::sparkles:

Living in Norway, where daylight can be as brief as a few hours in the depths of winter, I wanted to create a system that adapts to the ever-changing outdoor light conditions. My goal was to ensure my apartment remains bright and cozy without manual intervention. Here’s how I approached it:

  1. Understanding the Environment: With a mix of rain, snow, and varying sunlight, I knew I needed a system that could read the outdoor light levels accurately. I installed a Sensative Strip with a Lux sensor outside and connected it to my Zigbee-enabled lights inside.

  2. Setting the Parameters: I divided the day into zones:

  • Morning: Lights fade in over 30 minutes based on the outdoor light reading.
  • Day (9 AM - 6 PM): Bright, consistent lighting to counteract the often-overcast skies.
  • Evening (6 PM - bedtime): Dimmed lighting to create a cozy atmosphere.
  • Night: Lights dim to 0% for 45 minutes after bedtime.
  1. The Automation Script: I started drafting an automation script, but I had a few questions:
  • How smooth can the transition be? I aim for a seamless fade over 30 minutes.
  • How reliable is the sensor? It’s power-saving, so it only updates every 1-2 hours unless there’s a significant change in light.

Here’s a snippet of my initial script:
yaml
automation:

  • alias: “Autolights”
    trigger:
    platform: event
    event_type: state_changed
    entity_id: sensor.sensative_strips_comfort_luminance
    condition:
    condition: or
    conditions:
    - condition: numeric_state
    entity_id: sensor.sensative_strips_comfort_luminance
    ** if (val < 10lux) { brightness = 30%} # Baseline for dark mornings**
    ** else if (val < 100lux) {brightness = 50%} # Brighter mornings**
    ** else if (val < 1000lux) {brightness = 85%} # Sunny days**
    ** else if (val < 3000lux) {brightness = 50%} # Overcast days**
    ** else (brightness == 0%) # Bright daylight**
  1. Challenges and Learning: I’ve encountered a few hiccups, like ensuring the lights don’t toggle unpredictably and making sure the fade transitions are smooth. It’s been a great learning experience, and I’m excited to refine this further.

If anyone has tips or experiences to share, especially regarding sensor reliability and smooth transitions, I’d love to hear them! :star2: Let’s make our homes as adaptable as possible to nature’s ever-changing canvas. Happy automating! :hammer_and_wrench::sparkles: