Skip to main content
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.

Type to search across cities, counties, and installers

↑↓ navigate open
⌘K search