adaptive-lighting/docs/services.md
Bas Nijholt f5877076ce Add documentation site with Zensical framework
Create comprehensive documentation site for adaptive-lighting.nijho.lt:

- Add zensical.toml configuration with Material theme (amber/orange)
- Create docs_gen.py module for extracting README sections via markers
- Add section markers to README.md for content reuse
- Create documentation pages:
  - index.md: Home with features overview
  - getting-started.md: Installation and quick setup
  - configuration.md: Auto-generated config options table
  - services.md: Auto-generated service documentation
  - automation-examples.md: Real-world automation recipes
  - troubleshooting.md: Common issues and solutions
  - see-also.md: External resources and links
  - advanced/brightness-modes.md: Brightness mode deep dive
  - advanced/manual-control.md: Manual control system docs
  - advanced/sleep-mode.md: Sleep mode configuration
- Add GitHub Actions workflow for building and deploying to Pages
- Add custom CSS with sun-themed styling
- Add CNAME for custom domain

Uses markdown-code-runner to auto-generate content from code schemas
and extract README sections for single-source documentation.
2026-01-12 09:52:16 -08:00

4 KiB

icon
lucide/zap

Services

Adaptive Lighting provides three services for programmatic control, allowing you to integrate with automations and scripts.

adaptive_lighting.apply

Applies the current Adaptive Lighting settings to lights on demand. Useful for forcing an immediate update or applying settings to lights that aren't in the regular adaptation cycle.

Parameters

Example Usage

# Apply current settings to specific lights
service: adaptive_lighting.apply
data:
  entity_id: switch.adaptive_lighting_living_room
  lights:
    - light.floor_lamp
    - light.desk_lamp
  turn_on_lights: false
# Force apply with custom transition
service: adaptive_lighting.apply
data:
  entity_id: switch.adaptive_lighting_bedroom
  transition: 5
  adapt_brightness: true
  adapt_color: true

adaptive_lighting.set_manual_control

Marks or unmarks a light as "manually controlled". When a light is marked as manually controlled, Adaptive Lighting will not adjust it until the manual control flag is cleared.

Parameters

Example Usage

# Remove manual control from a light (resume adaptation)
service: adaptive_lighting.set_manual_control
data:
  entity_id: switch.adaptive_lighting_living_room
  lights:
    - light.floor_lamp
  manual_control: false
# Mark a light as manually controlled (pause adaptation)
service: adaptive_lighting.set_manual_control
data:
  entity_id: switch.adaptive_lighting_living_room
  lights:
    - light.floor_lamp
  manual_control: true
# Only pause brightness adaptation, continue color adaptation
service: adaptive_lighting.set_manual_control
data:
  entity_id: switch.adaptive_lighting_living_room
  lights:
    - light.floor_lamp
  manual_control: brightness

adaptive_lighting.change_switch_settings

Example Usage

# Temporarily change color temperature range
service: adaptive_lighting.change_switch_settings
data:
  entity_id: switch.adaptive_lighting_living_room
  min_color_temp: 2500
  max_color_temp: 4000
# Override sunrise time for the day
service: adaptive_lighting.change_switch_settings
data:
  entity_id: switch.adaptive_lighting_bedroom
  sunrise_time: "07:00:00"
  use_defaults: current
# Reset to configuration defaults
service: adaptive_lighting.change_switch_settings
data:
  entity_id: switch.adaptive_lighting_living_room
  use_defaults: configuration

Events

Adaptive Lighting also fires events that you can use in automations.

adaptive_lighting.manual_control

Fired when a light is marked as "manually controlled" due to a detected manual change.

Event Data:

Attribute Description
entity_id The light that was marked as manually controlled
switch The Adaptive Lighting switch entity

Example Automation

automation:
  - alias: "Log manual control events"
    trigger:
      platform: event
      event_type: adaptive_lighting.manual_control
    action:
      - service: notify.mobile_app
        data:
          title: "Adaptive Lighting"
          message: "{{ trigger.event.data.entity_id }} was manually controlled"

See Automation Examples for more use cases.