Selora Homes Selora Homes

Hue Sunrise Effects That Actually Look Natural

Set up Philips Hue sunrise/sunset effects in Home Assistant that feel smooth and natural; compare native Hue scenes vs HA scripts/Adaptive Lighting.

Hue Philips-Hue Sunrise Sunset Adaptive-Lighting Lighting Circadian

Introduction

Creating natural-looking sunrise and sunset effects with Philips Hue lights can transform your home automation from functional to delightful. Whether you want a gentle wake-up experience or a smooth wind-down routine, Home Assistant offers several approaches with varying levels of complexity and realism.

Quick Comparison: Which Method to Choose?

MethodBest ForSetup ComplexityNaturalnessKey Features
Adaptive LightingMost usersMediumExcellentCircadian-based, automatic, manual override
Native Hue ScenesQuick setupLowGoodPre-built, reliable but limited
Custom ScriptsFull controlHighExcellentComplete customization, parabolic curves
BlueprintsReady-made solutionsLow-MediumVery GoodCommunity-tested, configurable

Adaptive Lighting (available via HACS) is the gold standard for natural lighting effects. It automatically adjusts brightness and color temperature based on the sun’s position, creating smooth, circadian-aligned transitions.

Installation

  1. Install HACS if you haven’t already
  2. In HACS, search for “Adaptive Lighting”
  3. Install basnijholt/adaptive-lighting
  4. Restart Home Assistant
  5. Add the integration in Settings > Devices & Services

Configuration

Create an Adaptive Lighting entity for each room or light group:

# Via UI or configuration.yaml
adaptive_lighting:
  - name: Living Room
    lights:
      - light.living_room_group
    min_brightness: 10
    max_brightness: 100
    min_color_temp: 2700  # Warmest
    max_color_temp: 6500  # Coolest
    transition: 30  # 30-second transitions
    sleep_brightness: 1
    sleep_color_temp: 1000  # Very warm for sleep mode

Best Practices

  • Use light groups: Group multiple Hue lights for synchronized control
  • Avoid overlapping groups: Don’t enable Adaptive Lighting on both “Living Room” and “All Lights” groups
  • Manual override: Adaptive Lighting automatically detects manual changes and pauses adaptation
  • Sleep mode: Use the sleep mode switch for very warm, dim evening lighting

Alternative: Custom Sunrise Script

For complete control over the sunrise effect, create a custom script with parabolic brightness curves for the most natural appearance.

Example: 30-Minute Sunrise

script:
  sunrise_living_room:
    alias: "Sunrise - Living Room"
    sequence:
      - repeat:
          count: 180  # 180 steps over 30 minutes
          sequence:
            - service: light.turn_on
              target:
                entity_id: light.living_room_group
              data:
                brightness_pct: >
                  {{((range(0, 100) | list)[repeat.index - 1] / 100) ** 2 * 100}}
                color_temp_kelvin: >
                  {{2000 + ((range(0, 100) | list)[repeat.index - 1] / 100) * 4500}}
                transition: 10
            - delay:
                seconds: 10

Key Features

  • Parabolic curve: Brightness increases slowly at first, then faster in the middle, then slowly again
  • Color temperature: Starts warm (2000K) and gradually cools to daylight (6500K)
  • Smooth transitions: 10-second transitions between each step

Using the Sun Integration

Trigger your sunrise/sunset effects based on actual solar events:

automation:
  - alias: "Morning Sunrise"
    trigger:
      - platform: sun
        event: sunrise
        offset: "-00:30:00"  # Start 30 minutes before sunrise
    action:
      - service: script.sunrise_living_room

  - alias: "Evening Wind Down"
    trigger:
      - platform: sun
        event: sunset
        offset: "+00:15:00"  # Start 15 minutes after sunset
    action:
      - service: adaptive_lighting.set_manual_control
        target:
          entity_id: switch.adaptive_lighting_living_room
        data:
          manual_control: false

Native Hue Scenes (Quick Start)

For a simple approach, use Hue’s built-in scenes:

  1. Open Hue app
  2. Create a “Sunrise” scene:
    • Start with very warm, dim light
    • Gradually increase brightness and coolness
  3. Create a “Sunset” scene:
    • Warm, dim lighting
    • Slightly amber/orange tint
  4. Expose scenes to Home Assistant via the Hue integration

Limitations

  • Fixed transitions (usually max 20-30 seconds)
  • No automatic sun synchronization
  • Less natural than Adaptive Lighting

Troubleshooting Common Issues

Lights Turn On Abruptly

Problem: Lights suddenly jump to full brightness instead of gradual transition.

Solutions:

  • Check if your lights support transitions (some older bulbs don’t)
  • Reduce the number of steps in custom scripts
  • Ensure transition parameter is set in service calls

Inconsistent Color Temperature

Problem: Color changes aren’t smooth or appear unnatural.

Solutions:

  • Use Adaptive Lighting for automatic color temperature management
  • In custom scripts, use smaller color temperature increments
  • Verify your lights support color temperature (not all Hue bulbs do)

Automation Doesn’t Trigger

Problem: Sunrise/sunset automations don’t run at expected times.

Solutions:

  • Check your Home Assistant location in Settings > General
  • Verify the sun integration is enabled
  • Use Developer Tools to check upcoming sun events
  • Consider using offsets to account for local conditions

Advanced Tips

Multiple Room Coordination

Create different sunrise times for different rooms:

# Bedroom starts earlier
- alias: "Bedroom Sunrise"
  trigger:
    platform: sun
    event: sunrise
    offset: "-00:45:00"
  action:
    service: adaptive_lighting.set_manual_control
    target:
      entity_id: switch.adaptive_lighting_bedroom
    data:
      manual_control: false

# Living room starts later
- alias: "Living Room Sunrise"
  trigger:
    platform: sun
    event: sunrise
    offset: "-00:15:00"
  action:
    service: adaptive_lighting.set_manual_control
    target:
      entity_id: switch.adaptive_lighting_living_room
    data:
      manual_control: false

Weather-Based Adjustments

Adjust sunrise intensity based on weather:

- service: light.turn_on
  target:
    entity_id: light.living_room_group
  data:
    brightness_pct: >
      {% if is_state('weather.home', 'cloudy') %}
        60
      {% elif is_state('weather.home', 'rainy') %}
        40
      {% else %}
        80
      {% endif %}

Integration with Other Systems

  • Alarm clocks: Start sunrise 30 minutes before your alarm
  • Motion sensors: Pause sunrise if motion is detected (you’re already awake)
  • Calendar events: Adjust timing based on early meetings

Further reading


Pro tip: Start with Adaptive Lighting for the best balance of simplicity and naturalness. Customize further only if you need specific behaviors that Adaptive Lighting doesn’t provide.