mirror of
https://github.com/basnijholt/adaptive-lighting.git
synced 2026-09-28 21:04:19 +02:00
Groups 8 + 9: strings, services.yaml, README, CHANGELOG (37/53)
strings.json + translations/en.json:
- Rewritten from scratch with plain-language labels and one-sentence
framers per section (Targets / Daytime curve / Sun schedule / Light
control / Advanced / Diagnostics).
- Per-field `data_description` for every visible option in the options
flow.
- New translations for `yaml_managed` abort and the version-incompatible
error.
- Removed every key for the 21 dropped fields and the sleep switch.
- Services section updated for the trimmed surface: dropped
`set_manual_control` entirely, removed all sleep / take-over /
sunrise-sunset-time keys from `change_switch_settings`.
services.yaml: rewritten by hand (was auto-generated upstream). Now
matches the fork's actual service surface: `apply` and
`change_switch_settings` only, with native HA selectors and units.
README: added a CDiT preamble at the top covering the five core
differences from upstream, the strict-version-break warning, the
recommended Sun2 companion, and the minimum HA version pin. Crucially,
also added a "🙏 Huge thanks to the upstream team" block that names
@basnijholt and the 130+ upstream contributors, points users at the
upstream repo for the canonical install, and routes core-curve / light-
handling bugs to upstream's tracker. Open-source credit done right.
CHANGELOG.md: new file. Header credits upstream up front; v2.0.0-cdit.1
section lists every Added / Changed / Removed item by name, the
migration / upgrade steps in numbered form, internal refactors, and
known limitations (Manager bridge stubs, locale drift, astral as
transitive dep).
tasks.md: 8.1-8.6 and 9.1-9.3 marked complete; 9.4 (GitHub repo
description) deferred to a separate `gh repo edit` step.
openspec validate cdit-config-redesign --strict: green.
JSON + YAML syntax: validated.
Module import: clean.
This commit is contained in:
parent
501e3d639e
commit
bb3b8b81f4
6 changed files with 692 additions and 617 deletions
|
|
@ -1,260 +1,186 @@
|
|||
# This file is auto-generated by .github/update-services.py.
|
||||
# CDiT Adaptive Lighting service surface.
|
||||
# Hand-written for the fork — upstream's services.yaml was auto-generated
|
||||
# from a wider config schema. See design.md decisions 7 + 8.
|
||||
apply:
|
||||
description: Applies the current Adaptive Lighting settings to lights.
|
||||
name: Apply settings
|
||||
description: Apply this profile's current curve values to its lights immediately.
|
||||
fields:
|
||||
entity_id:
|
||||
description: The `entity_id` of the switch with the settings to apply. 📝
|
||||
description: The master switch entity whose profile settings to apply.
|
||||
selector:
|
||||
entity:
|
||||
integration: adaptive_lighting
|
||||
domain: switch
|
||||
multiple: false
|
||||
lights:
|
||||
description: A light (or list of lights) to apply the settings to. 💡
|
||||
description: Lights to apply the settings to. If empty, applies to all lights the profile controls.
|
||||
selector:
|
||||
entity:
|
||||
domain: light
|
||||
multiple: true
|
||||
transition:
|
||||
description: Duration of transition when lights change, in seconds. 🕑
|
||||
description: Fade time for this one application, in seconds.
|
||||
example: 10
|
||||
selector:
|
||||
text: null
|
||||
number:
|
||||
min: 0
|
||||
max: 300
|
||||
unit_of_measurement: s
|
||||
mode: box
|
||||
adapt_brightness:
|
||||
description: Whether to adapt the brightness of the light. 🌞
|
||||
example: true
|
||||
description: Adjust brightness on supporting lights.
|
||||
default: true
|
||||
selector:
|
||||
boolean: null
|
||||
boolean:
|
||||
adapt_color:
|
||||
description: Whether to adapt the color on supporting lights. 🌈
|
||||
example: true
|
||||
description: Adjust color temperature on supporting lights.
|
||||
default: true
|
||||
selector:
|
||||
boolean: null
|
||||
boolean:
|
||||
prefer_rgb_color:
|
||||
description: Whether to prefer RGB color adjustment over light color temperature when possible. 🌈
|
||||
example: false
|
||||
description: Send RGB when the light supports both color temperature and RGB.
|
||||
default: false
|
||||
selector:
|
||||
boolean: null
|
||||
boolean:
|
||||
turn_on_lights:
|
||||
description: Whether to turn on lights that are currently off. 🔆
|
||||
example: false
|
||||
description: Also turn on lights that are currently off before applying.
|
||||
default: false
|
||||
selector:
|
||||
boolean: null
|
||||
set_manual_control:
|
||||
description: Mark whether a light is 'manually controlled'.
|
||||
boolean:
|
||||
|
||||
change_switch_settings:
|
||||
name: Change profile settings
|
||||
description: Change one or more of this profile's settings at runtime. The change persists until the next options-flow save or HA restart.
|
||||
fields:
|
||||
entity_id:
|
||||
description: The `entity_id` of the switch in which to (un)mark the light as being `manually controlled`. 📝
|
||||
description: The master switch entity whose profile to update.
|
||||
required: true
|
||||
selector:
|
||||
entity:
|
||||
integration: adaptive_lighting
|
||||
domain: switch
|
||||
multiple: false
|
||||
lights:
|
||||
description: entity_id(s) of lights, if not specified, all lights in the switch are selected. 💡
|
||||
selector:
|
||||
entity:
|
||||
domain: light
|
||||
multiple: true
|
||||
manual_control:
|
||||
description: Whether to add ("true") or remove ("false") all adapted attributes of the light from the "manual_control" list, or the name of an attribute for selective addition. 🔒
|
||||
example: true
|
||||
default: true
|
||||
selector:
|
||||
boolean: null
|
||||
change_switch_settings:
|
||||
description: Change any settings you'd like in the switch. All options here are the same as in the config flow.
|
||||
fields:
|
||||
entity_id:
|
||||
description: Entity ID of the switch. 📝
|
||||
required: true
|
||||
selector:
|
||||
entity:
|
||||
domain: switch
|
||||
use_defaults:
|
||||
description: 'Sets the default values not specified in this service call. Options: "current" (default, retains current values), "factory" (resets to documented defaults), or "configuration" (reverts to switch config defaults). ⚙️'
|
||||
example: current
|
||||
required: false
|
||||
description: 'Where to pull unsupplied values from: "current" keeps existing values, "factory" resets to documented defaults, "configuration" reverts to the profile''s configured defaults.'
|
||||
default: current
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- current
|
||||
- configuration
|
||||
- factory
|
||||
- current
|
||||
- configuration
|
||||
- factory
|
||||
include_config_in_attributes:
|
||||
description: Show all options as attributes on the switch in Home Assistant when set to `true`. 📝
|
||||
required: false
|
||||
description: Expose all options as attributes on the master switch.
|
||||
selector:
|
||||
boolean: null
|
||||
boolean:
|
||||
turn_on_lights:
|
||||
description: Whether to turn on lights that are currently off. 🔆
|
||||
example: false
|
||||
required: false
|
||||
description: Also turn on lights that are currently off before applying.
|
||||
selector:
|
||||
boolean: null
|
||||
boolean:
|
||||
initial_transition:
|
||||
description: Duration of the first transition when lights turn from `off` to `on` in seconds. ⏲️
|
||||
description: Fade time when a light first turns on.
|
||||
example: 1
|
||||
required: false
|
||||
selector:
|
||||
text: null
|
||||
sleep_transition:
|
||||
description: Duration of transition when "sleep mode" is toggled in seconds. 😴
|
||||
example: 1
|
||||
required: false
|
||||
selector:
|
||||
text: null
|
||||
max_brightness:
|
||||
description: Maximum brightness percentage. 💡
|
||||
required: false
|
||||
example: 100
|
||||
selector:
|
||||
text: null
|
||||
max_color_temp:
|
||||
description: Coldest color temperature in Kelvin. ❄️
|
||||
required: false
|
||||
example: 5500
|
||||
selector:
|
||||
text: null
|
||||
min_brightness:
|
||||
description: Minimum brightness percentage. 💡
|
||||
required: false
|
||||
example: 1
|
||||
selector:
|
||||
text: null
|
||||
min_color_temp:
|
||||
description: Warmest color temperature in Kelvin. 🔥
|
||||
required: false
|
||||
example: 2000
|
||||
selector:
|
||||
text: null
|
||||
only_once:
|
||||
description: Adapt lights only when they are turned on (`true`) or keep adapting them (`false`). 🔄
|
||||
example: false
|
||||
required: false
|
||||
selector:
|
||||
boolean: null
|
||||
prefer_rgb_color:
|
||||
description: Whether to prefer RGB color adjustment over light color temperature when possible. 🌈
|
||||
required: false
|
||||
example: false
|
||||
selector:
|
||||
boolean: null
|
||||
separate_turn_on_commands:
|
||||
description: Use separate `light.turn_on` calls for color and brightness, needed for some light types. 🔀
|
||||
required: false
|
||||
example: false
|
||||
selector:
|
||||
boolean: null
|
||||
send_split_delay:
|
||||
description: Delay (ms) between `separate_turn_on_commands` for lights that don't support simultaneous brightness and color setting. ⏲️
|
||||
required: false
|
||||
example: 0
|
||||
selector:
|
||||
boolean: null
|
||||
sleep_brightness:
|
||||
description: Brightness percentage of lights in sleep mode. 😴
|
||||
required: false
|
||||
example: 1
|
||||
selector:
|
||||
text: null
|
||||
sleep_rgb_or_color_temp:
|
||||
description: Use either `"rgb_color"` or `"color_temp"` in sleep mode. 🌙
|
||||
required: false
|
||||
example: color_temp
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- rgb_color
|
||||
- color_temp
|
||||
sleep_rgb_color:
|
||||
description: RGB color in sleep mode (used when `sleep_rgb_or_color_temp` is "rgb_color"). 🌈
|
||||
required: false
|
||||
selector:
|
||||
color_rgb: null
|
||||
sleep_color_temp:
|
||||
description: Color temperature in sleep mode (used when `sleep_rgb_or_color_temp` is `color_temp`) in Kelvin. 😴
|
||||
required: false
|
||||
example: 1000
|
||||
selector:
|
||||
text: null
|
||||
sunrise_offset:
|
||||
description: Adjust sunrise time with a positive or negative offset in seconds. ⏰
|
||||
required: false
|
||||
example: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 86300
|
||||
sunrise_time:
|
||||
description: Set a fixed time (HH:MM:SS) for sunrise. 🌅
|
||||
required: false
|
||||
example: ''
|
||||
selector:
|
||||
time: null
|
||||
sunset_offset:
|
||||
description: Adjust sunset time with a positive or negative offset in seconds. ⏰
|
||||
required: false
|
||||
example: ''
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 86300
|
||||
sunset_time:
|
||||
description: Set a fixed time (HH:MM:SS) for sunset. 🌇
|
||||
example: ''
|
||||
required: false
|
||||
selector:
|
||||
time: null
|
||||
max_sunrise_time:
|
||||
description: Set the latest virtual sunrise time (HH:MM:SS), allowing for earlier sunrises. 🌅
|
||||
example: ''
|
||||
required: false
|
||||
selector:
|
||||
time: null
|
||||
min_sunset_time:
|
||||
description: Set the earliest virtual sunset time (HH:MM:SS), allowing for later sunsets. 🌇
|
||||
example: ''
|
||||
required: false
|
||||
selector:
|
||||
time: null
|
||||
take_over_control:
|
||||
description: Pause adaptation of individual lights and hand over (manual) control to other sources that issue `light.turn_on` calls for lights that are on. 🔒
|
||||
required: false
|
||||
example: true
|
||||
selector:
|
||||
boolean: null
|
||||
take_over_control_mode:
|
||||
description: The adaptation pausing mode when other sources change brightness and/or color of lights. `pause_all` always pauses both brightness and color adaptation. `pause_changed` pauses the adaptation of only the changed attributes and continues adapting unchanged attributes, e.g., continues color adaptation when only brightness was changed.
|
||||
required: false
|
||||
example: pause_changed
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- pause_all
|
||||
- pause_changed
|
||||
detect_non_ha_changes:
|
||||
description: 'Detects and halts adaptations for non-`light.turn_on` state changes. Needs `take_over_control` enabled. 🕵️ Caution: ⚠️ Some lights might falsely indicate an ''on'' state, which could result in lights turning on unexpectedly. Note that this calls `homeassistant.update_entity` every `interval`! Disable this feature if you encounter such issues.'
|
||||
required: false
|
||||
example: false
|
||||
selector:
|
||||
boolean: null
|
||||
max: 300
|
||||
unit_of_measurement: s
|
||||
mode: box
|
||||
transition:
|
||||
description: Duration of transition when lights change, in seconds. 🕑
|
||||
required: false
|
||||
description: Fade time for each scheduled curve update.
|
||||
example: 45
|
||||
selector:
|
||||
text: null
|
||||
number:
|
||||
min: 0
|
||||
max: 300
|
||||
unit_of_measurement: s
|
||||
mode: box
|
||||
interval:
|
||||
description: How often to recompute and re-apply the curve.
|
||||
example: 90
|
||||
selector:
|
||||
number:
|
||||
min: 1
|
||||
max: 3600
|
||||
unit_of_measurement: s
|
||||
mode: box
|
||||
adapt_delay:
|
||||
description: Wait time (seconds) between light turn on and Adaptive Lighting applying changes. Might help to avoid flickering. ⏲️
|
||||
required: false
|
||||
description: Wait this long after a light reports 'on' before applying.
|
||||
example: 0
|
||||
selector:
|
||||
text: null
|
||||
autoreset_control_seconds:
|
||||
description: Automatically reset the manual control after a number of seconds. Set to 0 to disable. ⏲️
|
||||
required: false
|
||||
example: 0
|
||||
number:
|
||||
min: 0
|
||||
max: 300
|
||||
unit_of_measurement: s
|
||||
mode: box
|
||||
min_brightness:
|
||||
description: Brightness during the night.
|
||||
selector:
|
||||
text: null
|
||||
number:
|
||||
min: 1
|
||||
max: 100
|
||||
unit_of_measurement: "%"
|
||||
mode: slider
|
||||
max_brightness:
|
||||
description: Brightness at the peak of the day.
|
||||
selector:
|
||||
number:
|
||||
min: 1
|
||||
max: 100
|
||||
unit_of_measurement: "%"
|
||||
mode: slider
|
||||
min_color_temp:
|
||||
description: The night-time tone (warmer = lower).
|
||||
selector:
|
||||
number:
|
||||
min: 1000
|
||||
max: 10000
|
||||
unit_of_measurement: K
|
||||
mode: box
|
||||
max_color_temp:
|
||||
description: The mid-day tone (cooler = higher).
|
||||
selector:
|
||||
number:
|
||||
min: 1000
|
||||
max: 10000
|
||||
unit_of_measurement: K
|
||||
mode: box
|
||||
prefer_rgb_color:
|
||||
description: When a light supports both color temperature and RGB, send RGB.
|
||||
selector:
|
||||
boolean:
|
||||
sunrise_entity:
|
||||
description: Any sensor that returns the next sunrise timestamp.
|
||||
selector:
|
||||
entity:
|
||||
domain: sensor
|
||||
device_class: timestamp
|
||||
sunset_entity:
|
||||
description: Any sensor that returns the next sunset timestamp.
|
||||
selector:
|
||||
entity:
|
||||
domain: sensor
|
||||
device_class: timestamp
|
||||
separate_turn_on_commands:
|
||||
description: Required by some lights.
|
||||
selector:
|
||||
boolean:
|
||||
send_split_delay:
|
||||
description: Only used when separate_turn_on_commands is true.
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 10000
|
||||
unit_of_measurement: ms
|
||||
mode: box
|
||||
skip_redundant_commands:
|
||||
description: Don't send a command if the light is already at the target state.
|
||||
selector:
|
||||
boolean:
|
||||
intercept:
|
||||
description: Apply the curve the moment a light turns on.
|
||||
selector:
|
||||
boolean:
|
||||
multi_light_intercept:
|
||||
description: Also intercept calls that target several lights at once.
|
||||
selector:
|
||||
boolean:
|
||||
|
|
|
|||
|
|
@ -2,280 +2,246 @@
|
|||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Choose a name for the Adaptive Lighting instance",
|
||||
"description": "Every instance can contain multiple lights!",
|
||||
"title": "Name this Adaptive Lighting profile",
|
||||
"description": "Each profile controls one set of lights. You'll be able to add more profiles later for other rooms or scenes.",
|
||||
"data": {
|
||||
"name": "Name"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"title": "Create or Duplicate",
|
||||
"description": "Do you want to create a new instance or duplicate an existing one?",
|
||||
"data": {
|
||||
"action": "Action"
|
||||
"name": "Profile name"
|
||||
},
|
||||
"data_description": {
|
||||
"name": "A short label like \"Kitchen\" or \"Living room\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
|
||||
"no_data": "Cannot import without configuration data."
|
||||
},
|
||||
"error": {
|
||||
"incompatible_version": "This entry was created with an older, incompatible version of Adaptive Lighting. Delete the entry and create a new one."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Adaptive Lighting options",
|
||||
"description": "Configure an Adaptive Lighting component. Option names align with the YAML settings. If you've defined this entry in YAML, no options will appear here. For interactive graphs that demonstrate parameter effects, visit [this web app]({webapp_url}). For further details, see the [official documentation]({docs_url}).",
|
||||
"data": {
|
||||
"lights": "lights: List of light entity_ids to be controlled (may be empty). 🌟",
|
||||
"interval": "interval",
|
||||
"transition": "transition",
|
||||
"initial_transition": "initial_transition",
|
||||
"min_brightness": "min_brightness: Minimum brightness percentage. 💡",
|
||||
"max_brightness": "max_brightness: Maximum brightness percentage. 💡",
|
||||
"min_color_temp": "min_color_temp: Warmest color temperature in Kelvin. 🔥",
|
||||
"max_color_temp": "max_color_temp: Coldest color temperature in Kelvin. ❄️",
|
||||
"prefer_rgb_color": "prefer_rgb_color: Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"sleep_brightness": "sleep_brightness",
|
||||
"sleep_rgb_or_color_temp": "sleep_rgb_or_color_temp",
|
||||
"sleep_color_temp": "sleep_color_temp",
|
||||
"sleep_rgb_color": "sleep_rgb_color",
|
||||
"sleep_transition": "sleep_transition",
|
||||
"transition_until_sleep": "transition_until_sleep: When enabled, Adaptive Lighting will treat sleep settings as the minimum, transitioning to these values after sunset. 🌙",
|
||||
"sunrise_time": "sunrise_time",
|
||||
"min_sunrise_time": "min_sunrise_time",
|
||||
"max_sunrise_time": "max_sunrise_time",
|
||||
"sunrise_offset": "sunrise_offset",
|
||||
"sunset_time": "sunset_time",
|
||||
"min_sunset_time": "min_sunset_time",
|
||||
"max_sunset_time": "max_sunset_time",
|
||||
"sunset_offset": "sunset_offset",
|
||||
"brightness_mode": "brightness_mode",
|
||||
"brightness_mode_time_dark": "brightness_mode_time_dark",
|
||||
"brightness_mode_time_light": "brightness_mode_time_light",
|
||||
"take_over_control": "take_over_control: Pause adaptation of individual lights and hand over (manual) control to other sources that issue `light.turn_on` calls for lights that are on. 🔒",
|
||||
"take_over_control_mode": "take_over_control_mode",
|
||||
"detect_non_ha_changes": "detect_non_ha_changes: Detects and halts adaptations for non-`light.turn_on` state changes. Needs `take_over_control` enabled. 🕵️ Caution: ⚠️ Some lights might falsely indicate an 'on' state, which could result in lights turning on unexpectedly. Note that this calls `homeassistant.update_entity` every `interval`! Disable this feature if you encounter such issues.",
|
||||
"autoreset_control_seconds": "autoreset_control_seconds",
|
||||
"only_once": "only_once: Adapt lights only when they are turned on (`true`) or keep adapting them (`false`). 🔄",
|
||||
"adapt_only_on_bare_turn_on": "adapt_only_on_bare_turn_on: When turning lights on initially. If set to `true`, AL adapts only if `light.turn_on` is invoked without specifying color or brightness. ❌🌈 This e.g., prevents adaptation when activating a scene and marks the light as manually controlled. If `false`, AL adapts regardless of the presence of color or brightness in the initial `service_data`. Needs `take_over_control` enabled. 🕵️",
|
||||
"separate_turn_on_commands": "separate_turn_on_commands: Use separate `light.turn_on` calls for color and brightness, needed for some light types. 🔀",
|
||||
"send_split_delay": "send_split_delay",
|
||||
"adapt_delay": "adapt_delay",
|
||||
"skip_redundant_commands": "skip_redundant_commands: Skip sending adaptation commands whose target state already equals the light's known state. Minimizes network traffic and improves the adaptation responsivity in some situations. 📉Disable if physical light states get out of sync with HA's recorded state.",
|
||||
"intercept": "intercept: Intercept and adapt `light.turn_on` calls to enabling instantaneous color and brightness adaptation. 🏎️ Disable for lights that do not support `light.turn_on` with color and brightness.",
|
||||
"multi_light_intercept": "multi_light_intercept: Intercept and adapt `light.turn_on` calls that target multiple lights. ➗⚠️ This might result in splitting up a single `light.turn_on` call into multiple calls, e.g., when lights are in different switches. Requires `intercept` to be enabled.",
|
||||
"include_config_in_attributes": "include_config_in_attributes: Show all options as attributes on the switch in Home Assistant when set to `true`. 📝"
|
||||
},
|
||||
"data_description": {
|
||||
"interval": "Frequency to adapt the lights, in seconds. 🔄",
|
||||
"transition": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"initial_transition": "Duration of the first transition when lights turn from `off` to `on` in seconds. ⏲️",
|
||||
"sleep_brightness": "Brightness percentage of lights in sleep mode. 😴",
|
||||
"sleep_rgb_or_color_temp": "Use either `\"rgb_color\"` or `\"color_temp\"` in sleep mode. 🌙",
|
||||
"sleep_color_temp": "Color temperature in sleep mode (used when `sleep_rgb_or_color_temp` is `color_temp`) in Kelvin. 😴",
|
||||
"sleep_rgb_color": "RGB color in sleep mode (used when `sleep_rgb_or_color_temp` is \"rgb_color\"). 🌈",
|
||||
"sleep_transition": "Duration of transition when \"sleep mode\" is toggled in seconds. 😴",
|
||||
"sunrise_time": "Set a fixed time (HH:MM:SS) for sunrise. 🌅",
|
||||
"min_sunrise_time": "Set the earliest virtual sunrise time (HH:MM:SS), allowing for later sunrises. 🌅",
|
||||
"max_sunrise_time": "Set the latest virtual sunrise time (HH:MM:SS), allowing for earlier sunrises. 🌅",
|
||||
"sunrise_offset": "Adjust sunrise time with a positive or negative offset in seconds. ⏰",
|
||||
"sunset_time": "Set a fixed time (HH:MM:SS) for sunset. 🌇",
|
||||
"min_sunset_time": "Set the earliest virtual sunset time (HH:MM:SS), allowing for later sunsets. 🌇",
|
||||
"max_sunset_time": "Set the latest virtual sunset time (HH:MM:SS), allowing for earlier sunsets. 🌇",
|
||||
"sunset_offset": "Adjust sunset time with a positive or negative offset in seconds. ⏰",
|
||||
"brightness_mode": "Brightness mode to use. Possible values are `default`, `linear`, and `tanh` (uses `brightness_mode_time_dark` and `brightness_mode_time_light`). 📈",
|
||||
"brightness_mode_time_dark": "(Ignored if `brightness_mode='default'`) The duration in seconds to ramp up/down the brightness before/after sunrise/sunset. 📈📉",
|
||||
"brightness_mode_time_light": "(Ignored if `brightness_mode='default'`) The duration in seconds to ramp up/down the brightness after/before sunrise/sunset. 📈📉.",
|
||||
"take_over_control_mode": "The adaptation pausing mode when other sources change brightness and/or color of lights. `pause_all` always pauses both brightness and color adaptation. `pause_changed` pauses the adaptation of only the changed attributes and continues adapting unchanged attributes, e.g., continues color adaptation when only brightness was changed.",
|
||||
"autoreset_control_seconds": "Automatically reset the manual control after a number of seconds. Set to 0 to disable. ⏲️",
|
||||
"send_split_delay": "Delay (ms) between `separate_turn_on_commands` for lights that don't support simultaneous brightness and color setting. ⏲️",
|
||||
"adapt_delay": "Wait time (seconds) between light turn on and Adaptive Lighting applying changes. Might help to avoid flickering. ⏲️"
|
||||
"description": "Tune how this profile adjusts its lights through the day. Hover labels for more detail; the Advanced and Diagnostics sections are collapsed because most households never need to touch them.",
|
||||
"sections": {
|
||||
"targets": {
|
||||
"name": "Targets",
|
||||
"description": "Which lights this profile controls.",
|
||||
"data": {
|
||||
"lights": "Lights"
|
||||
},
|
||||
"data_description": {
|
||||
"lights": "Pick every light that should follow this profile's curve."
|
||||
}
|
||||
},
|
||||
"daytime_curve": {
|
||||
"name": "Daytime curve",
|
||||
"description": "How bright these lights get, and how warm or cool they feel, between sunrise and sunset.",
|
||||
"data": {
|
||||
"min_brightness": "Minimum brightness",
|
||||
"max_brightness": "Maximum brightness",
|
||||
"min_color_temp": "Warmest color temperature",
|
||||
"max_color_temp": "Coolest color temperature",
|
||||
"prefer_rgb_color": "Prefer RGB color"
|
||||
},
|
||||
"data_description": {
|
||||
"min_brightness": "Brightness at the lowest point of the day (deep night).",
|
||||
"max_brightness": "Brightness at the peak of the day (mid-day).",
|
||||
"min_color_temp": "The night-time tone — lower numbers are warmer (more orange).",
|
||||
"max_color_temp": "The mid-day tone — higher numbers are cooler (more blue).",
|
||||
"prefer_rgb_color": "When a light supports both color temperature and RGB, send RGB."
|
||||
}
|
||||
},
|
||||
"sun_schedule": {
|
||||
"name": "Sun schedule",
|
||||
"description": "When morning and evening start. Defaults to your home's sunrise and sunset; point these at Sun2 sensors for civil, nautical, or astronomical twilight.",
|
||||
"data": {
|
||||
"sunrise_entity": "Sunrise entity",
|
||||
"sunset_entity": "Sunset entity"
|
||||
},
|
||||
"data_description": {
|
||||
"sunrise_entity": "Any sensor that returns the next sunrise timestamp.",
|
||||
"sunset_entity": "Any sensor that returns the next sunset timestamp."
|
||||
}
|
||||
},
|
||||
"light_control": {
|
||||
"name": "Light control",
|
||||
"description": "How this integration talks to your lights when you turn them on by hand or by voice.",
|
||||
"data": {
|
||||
"intercept": "Intercept light.turn_on calls",
|
||||
"multi_light_intercept": "Intercept multi-light calls"
|
||||
},
|
||||
"data_description": {
|
||||
"intercept": "Apply the curve the moment a light turns on, instead of waiting up to one interval.",
|
||||
"multi_light_intercept": "Also intercept calls that target several lights at once. Requires the option above."
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"name": "Advanced",
|
||||
"description": "Timing knobs. Most households never need to touch these.",
|
||||
"data": {
|
||||
"interval": "Update interval (s)",
|
||||
"transition": "Transition time (s)",
|
||||
"initial_transition": "First-on fade (s)",
|
||||
"adapt_delay": "Delay before adapting (s)",
|
||||
"separate_turn_on_commands": "Split brightness and color into separate calls",
|
||||
"send_split_delay": "Pause between split calls (ms)",
|
||||
"skip_redundant_commands": "Skip redundant commands"
|
||||
},
|
||||
"data_description": {
|
||||
"interval": "How often to recompute and re-apply the curve.",
|
||||
"transition": "Fade time for each scheduled curve update.",
|
||||
"initial_transition": "Fade time when a light first turns on.",
|
||||
"adapt_delay": "Wait this long after a light reports 'on' before applying the curve. Helps lights that report state before they have settled.",
|
||||
"separate_turn_on_commands": "Required by lights that cannot accept brightness and color in the same call.",
|
||||
"send_split_delay": "Only used when the option above is on.",
|
||||
"skip_redundant_commands": "Don't send a command if the light is already at the target state."
|
||||
}
|
||||
},
|
||||
"diagnostics": {
|
||||
"name": "Diagnostics",
|
||||
"description": "Verbose entity attributes for debugging.",
|
||||
"data": {
|
||||
"include_config_in_attributes": "Expose all options as switch attributes"
|
||||
},
|
||||
"data_description": {
|
||||
"include_config_in_attributes": "Useful for templating and dashboards that read the integration's state."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"yaml_managed": "This Adaptive Lighting profile is managed by YAML. To change its options, edit configuration.yaml."
|
||||
},
|
||||
"error": {
|
||||
"option_error": "Invalid option",
|
||||
"entity_missing": "One or more selected light entities are missing from Home Assistant"
|
||||
"option_error": "One of the options has an invalid value.",
|
||||
"entity_missing": "One or more of the selected light entities are not currently registered in Home Assistant."
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"apply": {
|
||||
"name": "apply",
|
||||
"description": "Applies the current Adaptive Lighting settings to lights.",
|
||||
"name": "Apply settings",
|
||||
"description": "Apply this profile's current curve values to its lights immediately, without waiting for the next scheduled update.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "The `entity_id` of the switch with the settings to apply. 📝",
|
||||
"name": "entity_id"
|
||||
"name": "Master switch",
|
||||
"description": "The master switch entity whose profile settings to apply."
|
||||
},
|
||||
"lights": {
|
||||
"description": "A light (or list of lights) to apply the settings to. 💡",
|
||||
"name": "lights"
|
||||
"name": "Lights",
|
||||
"description": "Lights to apply the settings to. If empty, applies to all lights the profile controls."
|
||||
},
|
||||
"transition": {
|
||||
"description": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"name": "transition"
|
||||
"name": "Transition time (s)",
|
||||
"description": "Fade time for this one application."
|
||||
},
|
||||
"adapt_brightness": {
|
||||
"description": "Whether to adapt the brightness of the light. 🌞",
|
||||
"name": "adapt_brightness"
|
||||
"name": "Adapt brightness",
|
||||
"description": "Adjust brightness on supporting lights."
|
||||
},
|
||||
"adapt_color": {
|
||||
"description": "Whether to adapt the color on supporting lights. 🌈",
|
||||
"name": "adapt_color"
|
||||
"name": "Adapt color",
|
||||
"description": "Adjust color temperature on supporting lights."
|
||||
},
|
||||
"prefer_rgb_color": {
|
||||
"description": "Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"name": "prefer_rgb_color"
|
||||
"name": "Prefer RGB",
|
||||
"description": "Send RGB when the light supports both color temperature and RGB."
|
||||
},
|
||||
"turn_on_lights": {
|
||||
"description": "Whether to turn on lights that are currently off. 🔆",
|
||||
"name": "turn_on_lights"
|
||||
}
|
||||
}
|
||||
},
|
||||
"set_manual_control": {
|
||||
"name": "set_manual_control",
|
||||
"description": "Mark whether a light is 'manually controlled'.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "The `entity_id` of the switch in which to (un)mark the light as being `manually controlled`. 📝",
|
||||
"name": "entity_id"
|
||||
},
|
||||
"lights": {
|
||||
"description": "entity_id(s) of lights, if not specified, all lights in the switch are selected. 💡",
|
||||
"name": "lights"
|
||||
},
|
||||
"manual_control": {
|
||||
"description": "Whether to add (\"true\") or remove (\"false\") all adapted attributes of the light from the \"manual_control\" list, or the name of an attribute for selective addition. 🔒",
|
||||
"name": "manual_control"
|
||||
"name": "Turn on lights that are off",
|
||||
"description": "If true, also turn on lights that are currently off before applying."
|
||||
}
|
||||
}
|
||||
},
|
||||
"change_switch_settings": {
|
||||
"name": "change_switch_settings",
|
||||
"description": "Change any settings you'd like in the switch. All options here are the same as in the config flow.",
|
||||
"name": "Change profile settings",
|
||||
"description": "Change one or more of this profile's settings at runtime. The change persists until the next options-flow save or HA restart.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "Entity ID of the switch. 📝",
|
||||
"name": "entity_id"
|
||||
"name": "Master switch",
|
||||
"description": "The master switch entity whose profile to update."
|
||||
},
|
||||
"use_defaults": {
|
||||
"description": "Sets the default values not specified in this service call. Options: \"current\" (default, retains current values), \"factory\" (resets to documented defaults), or \"configuration\" (reverts to switch config defaults). ⚙️",
|
||||
"name": "use_defaults"
|
||||
"name": "Defaults source",
|
||||
"description": "Where to pull unsupplied values from: 'current' keeps existing values, 'factory' resets to documented defaults, 'configuration' reverts to the profile's configured defaults."
|
||||
},
|
||||
"include_config_in_attributes": {
|
||||
"description": "Show all options as attributes on the switch in Home Assistant when set to `true`. 📝",
|
||||
"name": "include_config_in_attributes"
|
||||
"name": "Expose config in attributes",
|
||||
"description": "Show all options as attributes on the master switch."
|
||||
},
|
||||
"turn_on_lights": {
|
||||
"description": "Whether to turn on lights that are currently off. 🔆",
|
||||
"name": "turn_on_lights"
|
||||
"name": "Turn on lights that are off",
|
||||
"description": "If true, also turn on lights that are currently off before applying."
|
||||
},
|
||||
"initial_transition": {
|
||||
"description": "Duration of the first transition when lights turn from `off` to `on` in seconds. ⏲️",
|
||||
"name": "initial_transition"
|
||||
},
|
||||
"sleep_transition": {
|
||||
"description": "Duration of transition when \"sleep mode\" is toggled in seconds. 😴",
|
||||
"name": "sleep_transition"
|
||||
"name": "First-on fade (s)",
|
||||
"description": "Fade time when a light first turns on."
|
||||
},
|
||||
"max_brightness": {
|
||||
"description": "Maximum brightness percentage. 💡",
|
||||
"name": "max_brightness"
|
||||
"name": "Maximum brightness",
|
||||
"description": "Brightness at the peak of the day."
|
||||
},
|
||||
"max_color_temp": {
|
||||
"description": "Coldest color temperature in Kelvin. ❄️",
|
||||
"name": "max_color_temp"
|
||||
"name": "Coolest color temperature",
|
||||
"description": "The mid-day tone."
|
||||
},
|
||||
"min_brightness": {
|
||||
"description": "Minimum brightness percentage. 💡",
|
||||
"name": "min_brightness"
|
||||
"name": "Minimum brightness",
|
||||
"description": "Brightness during the night."
|
||||
},
|
||||
"min_color_temp": {
|
||||
"description": "Warmest color temperature in Kelvin. 🔥",
|
||||
"name": "min_color_temp"
|
||||
},
|
||||
"only_once": {
|
||||
"description": "Adapt lights only when they are turned on (`true`) or keep adapting them (`false`). 🔄",
|
||||
"name": "only_once"
|
||||
"name": "Warmest color temperature",
|
||||
"description": "The night-time tone."
|
||||
},
|
||||
"prefer_rgb_color": {
|
||||
"description": "Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"name": "prefer_rgb_color"
|
||||
"name": "Prefer RGB",
|
||||
"description": "When a light supports both, send RGB."
|
||||
},
|
||||
"separate_turn_on_commands": {
|
||||
"description": "Use separate `light.turn_on` calls for color and brightness, needed for some light types. 🔀",
|
||||
"name": "separate_turn_on_commands"
|
||||
"name": "Split brightness and color into separate calls",
|
||||
"description": "Required by some lights."
|
||||
},
|
||||
"send_split_delay": {
|
||||
"description": "Delay (ms) between `separate_turn_on_commands` for lights that don't support simultaneous brightness and color setting. ⏲️",
|
||||
"name": "send_split_delay"
|
||||
"name": "Pause between split calls (ms)",
|
||||
"description": "Only used when the option above is on."
|
||||
},
|
||||
"sleep_brightness": {
|
||||
"description": "Brightness percentage of lights in sleep mode. 😴",
|
||||
"name": "sleep_brightness"
|
||||
"sunrise_entity": {
|
||||
"name": "Sunrise entity",
|
||||
"description": "Any sensor that returns the next sunrise timestamp."
|
||||
},
|
||||
"sleep_rgb_or_color_temp": {
|
||||
"description": "Use either `\"rgb_color\"` or `\"color_temp\"` in sleep mode. 🌙",
|
||||
"name": "sleep_rgb_or_color_temp"
|
||||
},
|
||||
"sleep_rgb_color": {
|
||||
"description": "RGB color in sleep mode (used when `sleep_rgb_or_color_temp` is \"rgb_color\"). 🌈",
|
||||
"name": "sleep_rgb_color"
|
||||
},
|
||||
"sleep_color_temp": {
|
||||
"description": "Color temperature in sleep mode (used when `sleep_rgb_or_color_temp` is `color_temp`) in Kelvin. 😴",
|
||||
"name": "sleep_color_temp"
|
||||
},
|
||||
"sunrise_offset": {
|
||||
"description": "Adjust sunrise time with a positive or negative offset in seconds. ⏰",
|
||||
"name": "sunrise_offset"
|
||||
},
|
||||
"sunrise_time": {
|
||||
"description": "Set a fixed time (HH:MM:SS) for sunrise. 🌅",
|
||||
"name": "sunrise_time"
|
||||
},
|
||||
"sunset_offset": {
|
||||
"description": "Adjust sunset time with a positive or negative offset in seconds. ⏰",
|
||||
"name": "sunset_offset"
|
||||
},
|
||||
"sunset_time": {
|
||||
"description": "Set a fixed time (HH:MM:SS) for sunset. 🌇",
|
||||
"name": "sunset_time"
|
||||
},
|
||||
"max_sunrise_time": {
|
||||
"description": "Set the latest virtual sunrise time (HH:MM:SS), allowing for earlier sunrises. 🌅",
|
||||
"name": "max_sunrise_time"
|
||||
},
|
||||
"min_sunset_time": {
|
||||
"description": "Set the earliest virtual sunset time (HH:MM:SS), allowing for later sunsets. 🌇",
|
||||
"name": "min_sunset_time"
|
||||
},
|
||||
"take_over_control": {
|
||||
"description": "Pause adaptation of individual lights and hand over (manual) control to other sources that issue `light.turn_on` calls for lights that are on. 🔒",
|
||||
"name": "take_over_control"
|
||||
},
|
||||
"take_over_control_mode": {
|
||||
"description": "The adaptation pausing mode when other sources change brightness and/or color of lights. `pause_all` always pauses both brightness and color adaptation. `pause_changed` pauses the adaptation of only the changed attributes and continues adapting unchanged attributes, e.g., continues color adaptation when only brightness was changed.",
|
||||
"name": "take_over_control_mode"
|
||||
},
|
||||
"detect_non_ha_changes": {
|
||||
"description": "Detects and halts adaptations for non-`light.turn_on` state changes. Needs `take_over_control` enabled. 🕵️ Caution: ⚠️ Some lights might falsely indicate an 'on' state, which could result in lights turning on unexpectedly. Note that this calls `homeassistant.update_entity` every `interval`! Disable this feature if you encounter such issues.",
|
||||
"name": "detect_non_ha_changes"
|
||||
"sunset_entity": {
|
||||
"name": "Sunset entity",
|
||||
"description": "Any sensor that returns the next sunset timestamp."
|
||||
},
|
||||
"transition": {
|
||||
"description": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"name": "transition"
|
||||
"name": "Transition time (s)",
|
||||
"description": "Fade time for each scheduled curve update."
|
||||
},
|
||||
"adapt_delay": {
|
||||
"description": "Wait time (seconds) between light turn on and Adaptive Lighting applying changes. Might help to avoid flickering. ⏲️",
|
||||
"name": "adapt_delay"
|
||||
"name": "Delay before adapting (s)",
|
||||
"description": "Wait this long after a light reports 'on' before applying."
|
||||
},
|
||||
"autoreset_control_seconds": {
|
||||
"description": "Automatically reset the manual control after a number of seconds. Set to 0 to disable. ⏲️",
|
||||
"name": "autoreset_control_seconds"
|
||||
"skip_redundant_commands": {
|
||||
"name": "Skip redundant commands",
|
||||
"description": "Don't send a command if the light is already at the target state."
|
||||
},
|
||||
"intercept": {
|
||||
"name": "Intercept light.turn_on calls",
|
||||
"description": "Apply the curve the moment a light turns on."
|
||||
},
|
||||
"multi_light_intercept": {
|
||||
"name": "Intercept multi-light calls",
|
||||
"description": "Also intercept calls that target several lights at once."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
"incompatible_version": {
|
||||
"message": "Adaptive Lighting v{current_version} (CDiT fork) is incompatible with the existing config entry (version {entry_version}). Delete the entry from Settings → Devices & Services and create a new one."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,282 +1,247 @@
|
|||
{
|
||||
"title": "Adaptive Lighting",
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Choose a name for the Adaptive Lighting instance",
|
||||
"description": "Every instance can contain multiple lights!",
|
||||
"title": "Name this Adaptive Lighting profile",
|
||||
"description": "Each profile controls one set of lights. You'll be able to add more profiles later for other rooms or scenes.",
|
||||
"data": {
|
||||
"name": "Name"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"title": "Create or Duplicate",
|
||||
"description": "Do you want to create a new instance or duplicate an existing one?",
|
||||
"data": {
|
||||
"action": "Action"
|
||||
"name": "Profile name"
|
||||
},
|
||||
"data_description": {
|
||||
"name": "A short label like \"Kitchen\" or \"Living room\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "This device is already configured"
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
|
||||
"no_data": "Cannot import without configuration data."
|
||||
},
|
||||
"error": {
|
||||
"incompatible_version": "This entry was created with an older, incompatible version of Adaptive Lighting. Delete the entry and create a new one."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Adaptive Lighting options",
|
||||
"description": "Configure an Adaptive Lighting component. Option names align with the YAML settings. If you've defined this entry in YAML, no options will appear here. For interactive graphs that demonstrate parameter effects, visit [this web app]({webapp_url}). For further details, see the [official documentation]({docs_url}).",
|
||||
"data": {
|
||||
"lights": "lights: List of light entity_ids to be controlled (may be empty). 🌟",
|
||||
"interval": "interval",
|
||||
"transition": "transition",
|
||||
"initial_transition": "initial_transition",
|
||||
"min_brightness": "min_brightness: Minimum brightness percentage. 💡",
|
||||
"max_brightness": "max_brightness: Maximum brightness percentage. 💡",
|
||||
"min_color_temp": "min_color_temp: Warmest color temperature in Kelvin. 🔥",
|
||||
"max_color_temp": "max_color_temp: Coldest color temperature in Kelvin. ❄️",
|
||||
"prefer_rgb_color": "prefer_rgb_color: Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"sleep_brightness": "sleep_brightness",
|
||||
"sleep_rgb_or_color_temp": "sleep_rgb_or_color_temp",
|
||||
"sleep_color_temp": "sleep_color_temp",
|
||||
"sleep_rgb_color": "sleep_rgb_color",
|
||||
"sleep_transition": "sleep_transition",
|
||||
"transition_until_sleep": "transition_until_sleep: When enabled, Adaptive Lighting will treat sleep settings as the minimum, transitioning to these values after sunset. 🌙",
|
||||
"sunrise_time": "sunrise_time",
|
||||
"min_sunrise_time": "min_sunrise_time",
|
||||
"max_sunrise_time": "max_sunrise_time",
|
||||
"sunrise_offset": "sunrise_offset",
|
||||
"sunset_time": "sunset_time",
|
||||
"min_sunset_time": "min_sunset_time",
|
||||
"max_sunset_time": "max_sunset_time",
|
||||
"sunset_offset": "sunset_offset",
|
||||
"brightness_mode": "brightness_mode",
|
||||
"brightness_mode_time_dark": "brightness_mode_time_dark",
|
||||
"brightness_mode_time_light": "brightness_mode_time_light",
|
||||
"take_over_control": "take_over_control: Pause adaptation of individual lights and hand over (manual) control to other sources that issue `light.turn_on` calls for lights that are on. 🔒",
|
||||
"take_over_control_mode": "take_over_control_mode",
|
||||
"detect_non_ha_changes": "detect_non_ha_changes: Detects and halts adaptations for non-`light.turn_on` state changes. Needs `take_over_control` enabled. 🕵️ Caution: ⚠️ Some lights might falsely indicate an 'on' state, which could result in lights turning on unexpectedly. Note that this calls `homeassistant.update_entity` every `interval`! Disable this feature if you encounter such issues.",
|
||||
"autoreset_control_seconds": "autoreset_control_seconds",
|
||||
"only_once": "only_once: Adapt lights only when they are turned on (`true`) or keep adapting them (`false`). 🔄",
|
||||
"adapt_only_on_bare_turn_on": "adapt_only_on_bare_turn_on: When turning lights on initially. If set to `true`, AL adapts only if `light.turn_on` is invoked without specifying color or brightness. ❌🌈 This e.g., prevents adaptation when activating a scene and marks the light as manually controlled. If `false`, AL adapts regardless of the presence of color or brightness in the initial `service_data`. Needs `take_over_control` enabled. 🕵️",
|
||||
"separate_turn_on_commands": "separate_turn_on_commands: Use separate `light.turn_on` calls for color and brightness, needed for some light types. 🔀",
|
||||
"send_split_delay": "send_split_delay",
|
||||
"adapt_delay": "adapt_delay",
|
||||
"skip_redundant_commands": "skip_redundant_commands: Skip sending adaptation commands whose target state already equals the light's known state. Minimizes network traffic and improves the adaptation responsivity in some situations. 📉Disable if physical light states get out of sync with HA's recorded state.",
|
||||
"intercept": "intercept: Intercept and adapt `light.turn_on` calls to enabling instantaneous color and brightness adaptation. 🏎️ Disable for lights that do not support `light.turn_on` with color and brightness.",
|
||||
"multi_light_intercept": "multi_light_intercept: Intercept and adapt `light.turn_on` calls that target multiple lights. ➗⚠️ This might result in splitting up a single `light.turn_on` call into multiple calls, e.g., when lights are in different switches. Requires `intercept` to be enabled.",
|
||||
"include_config_in_attributes": "include_config_in_attributes: Show all options as attributes on the switch in Home Assistant when set to `true`. 📝"
|
||||
},
|
||||
"data_description": {
|
||||
"interval": "Frequency to adapt the lights, in seconds. 🔄",
|
||||
"transition": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"initial_transition": "Duration of the first transition when lights turn from `off` to `on` in seconds. ⏲️",
|
||||
"sleep_brightness": "Brightness percentage of lights in sleep mode. 😴",
|
||||
"sleep_rgb_or_color_temp": "Use either `\"rgb_color\"` or `\"color_temp\"` in sleep mode. 🌙",
|
||||
"sleep_color_temp": "Color temperature in sleep mode (used when `sleep_rgb_or_color_temp` is `color_temp`) in Kelvin. 😴",
|
||||
"sleep_rgb_color": "RGB color in sleep mode (used when `sleep_rgb_or_color_temp` is \"rgb_color\"). 🌈",
|
||||
"sleep_transition": "Duration of transition when \"sleep mode\" is toggled in seconds. 😴",
|
||||
"sunrise_time": "Set a fixed time (HH:MM:SS) for sunrise. 🌅",
|
||||
"min_sunrise_time": "Set the earliest virtual sunrise time (HH:MM:SS), allowing for later sunrises. 🌅",
|
||||
"max_sunrise_time": "Set the latest virtual sunrise time (HH:MM:SS), allowing for earlier sunrises. 🌅",
|
||||
"sunrise_offset": "Adjust sunrise time with a positive or negative offset in seconds. ⏰",
|
||||
"sunset_time": "Set a fixed time (HH:MM:SS) for sunset. 🌇",
|
||||
"min_sunset_time": "Set the earliest virtual sunset time (HH:MM:SS), allowing for later sunsets. 🌇",
|
||||
"max_sunset_time": "Set the latest virtual sunset time (HH:MM:SS), allowing for earlier sunsets. 🌇",
|
||||
"sunset_offset": "Adjust sunset time with a positive or negative offset in seconds. ⏰",
|
||||
"brightness_mode": "Brightness mode to use. Possible values are `default`, `linear`, and `tanh` (uses `brightness_mode_time_dark` and `brightness_mode_time_light`). 📈",
|
||||
"brightness_mode_time_dark": "(Ignored if `brightness_mode='default'`) The duration in seconds to ramp up/down the brightness before/after sunrise/sunset. 📈📉",
|
||||
"brightness_mode_time_light": "(Ignored if `brightness_mode='default'`) The duration in seconds to ramp up/down the brightness after/before sunrise/sunset. 📈📉.",
|
||||
"take_over_control_mode": "The adaptation pausing mode when other sources change brightness and/or color of lights. `pause_all` always pauses both brightness and color adaptation. `pause_changed` pauses the adaptation of only the changed attributes and continues adapting unchanged attributes, e.g., continues color adaptation when only brightness was changed.",
|
||||
"autoreset_control_seconds": "Automatically reset the manual control after a number of seconds. Set to 0 to disable. ⏲️",
|
||||
"send_split_delay": "Delay (ms) between `separate_turn_on_commands` for lights that don't support simultaneous brightness and color setting. ⏲️",
|
||||
"adapt_delay": "Wait time (seconds) between light turn on and Adaptive Lighting applying changes. Might help to avoid flickering. ⏲️"
|
||||
"description": "Tune how this profile adjusts its lights through the day. Hover labels for more detail; the Advanced and Diagnostics sections are collapsed because most households never need to touch them.",
|
||||
"sections": {
|
||||
"targets": {
|
||||
"name": "Targets",
|
||||
"description": "Which lights this profile controls.",
|
||||
"data": {
|
||||
"lights": "Lights"
|
||||
},
|
||||
"data_description": {
|
||||
"lights": "Pick every light that should follow this profile's curve."
|
||||
}
|
||||
},
|
||||
"daytime_curve": {
|
||||
"name": "Daytime curve",
|
||||
"description": "How bright these lights get, and how warm or cool they feel, between sunrise and sunset.",
|
||||
"data": {
|
||||
"min_brightness": "Minimum brightness",
|
||||
"max_brightness": "Maximum brightness",
|
||||
"min_color_temp": "Warmest color temperature",
|
||||
"max_color_temp": "Coolest color temperature",
|
||||
"prefer_rgb_color": "Prefer RGB color"
|
||||
},
|
||||
"data_description": {
|
||||
"min_brightness": "Brightness at the lowest point of the day (deep night).",
|
||||
"max_brightness": "Brightness at the peak of the day (mid-day).",
|
||||
"min_color_temp": "The night-time tone — lower numbers are warmer (more orange).",
|
||||
"max_color_temp": "The mid-day tone — higher numbers are cooler (more blue).",
|
||||
"prefer_rgb_color": "When a light supports both color temperature and RGB, send RGB."
|
||||
}
|
||||
},
|
||||
"sun_schedule": {
|
||||
"name": "Sun schedule",
|
||||
"description": "When morning and evening start. Defaults to your home's sunrise and sunset; point these at Sun2 sensors for civil, nautical, or astronomical twilight.",
|
||||
"data": {
|
||||
"sunrise_entity": "Sunrise entity",
|
||||
"sunset_entity": "Sunset entity"
|
||||
},
|
||||
"data_description": {
|
||||
"sunrise_entity": "Any sensor that returns the next sunrise timestamp.",
|
||||
"sunset_entity": "Any sensor that returns the next sunset timestamp."
|
||||
}
|
||||
},
|
||||
"light_control": {
|
||||
"name": "Light control",
|
||||
"description": "How this integration talks to your lights when you turn them on by hand or by voice.",
|
||||
"data": {
|
||||
"intercept": "Intercept light.turn_on calls",
|
||||
"multi_light_intercept": "Intercept multi-light calls"
|
||||
},
|
||||
"data_description": {
|
||||
"intercept": "Apply the curve the moment a light turns on, instead of waiting up to one interval.",
|
||||
"multi_light_intercept": "Also intercept calls that target several lights at once. Requires the option above."
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"name": "Advanced",
|
||||
"description": "Timing knobs. Most households never need to touch these.",
|
||||
"data": {
|
||||
"interval": "Update interval (s)",
|
||||
"transition": "Transition time (s)",
|
||||
"initial_transition": "First-on fade (s)",
|
||||
"adapt_delay": "Delay before adapting (s)",
|
||||
"separate_turn_on_commands": "Split brightness and color into separate calls",
|
||||
"send_split_delay": "Pause between split calls (ms)",
|
||||
"skip_redundant_commands": "Skip redundant commands"
|
||||
},
|
||||
"data_description": {
|
||||
"interval": "How often to recompute and re-apply the curve.",
|
||||
"transition": "Fade time for each scheduled curve update.",
|
||||
"initial_transition": "Fade time when a light first turns on.",
|
||||
"adapt_delay": "Wait this long after a light reports 'on' before applying the curve. Helps lights that report state before they have settled.",
|
||||
"separate_turn_on_commands": "Required by lights that cannot accept brightness and color in the same call.",
|
||||
"send_split_delay": "Only used when the option above is on.",
|
||||
"skip_redundant_commands": "Don't send a command if the light is already at the target state."
|
||||
}
|
||||
},
|
||||
"diagnostics": {
|
||||
"name": "Diagnostics",
|
||||
"description": "Verbose entity attributes for debugging.",
|
||||
"data": {
|
||||
"include_config_in_attributes": "Expose all options as switch attributes"
|
||||
},
|
||||
"data_description": {
|
||||
"include_config_in_attributes": "Useful for templating and dashboards that read the integration's state."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"abort": {
|
||||
"yaml_managed": "This Adaptive Lighting profile is managed by YAML. To change its options, edit configuration.yaml."
|
||||
},
|
||||
"error": {
|
||||
"option_error": "Invalid option",
|
||||
"entity_missing": "One or more selected light entities are missing from Home Assistant"
|
||||
"option_error": "One of the options has an invalid value.",
|
||||
"entity_missing": "One or more of the selected light entities are not currently registered in Home Assistant."
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"apply": {
|
||||
"name": "apply",
|
||||
"description": "Applies the current Adaptive Lighting settings to lights.",
|
||||
"name": "Apply settings",
|
||||
"description": "Apply this profile's current curve values to its lights immediately, without waiting for the next scheduled update.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "The `entity_id` of the switch with the settings to apply. 📝",
|
||||
"name": "entity_id"
|
||||
"name": "Master switch",
|
||||
"description": "The master switch entity whose profile settings to apply."
|
||||
},
|
||||
"lights": {
|
||||
"description": "A light (or list of lights) to apply the settings to. 💡",
|
||||
"name": "lights"
|
||||
"name": "Lights",
|
||||
"description": "Lights to apply the settings to. If empty, applies to all lights the profile controls."
|
||||
},
|
||||
"transition": {
|
||||
"description": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"name": "transition"
|
||||
"name": "Transition time (s)",
|
||||
"description": "Fade time for this one application."
|
||||
},
|
||||
"adapt_brightness": {
|
||||
"description": "Whether to adapt the brightness of the light. 🌞",
|
||||
"name": "adapt_brightness"
|
||||
"name": "Adapt brightness",
|
||||
"description": "Adjust brightness on supporting lights."
|
||||
},
|
||||
"adapt_color": {
|
||||
"description": "Whether to adapt the color on supporting lights. 🌈",
|
||||
"name": "adapt_color"
|
||||
"name": "Adapt color",
|
||||
"description": "Adjust color temperature on supporting lights."
|
||||
},
|
||||
"prefer_rgb_color": {
|
||||
"description": "Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"name": "prefer_rgb_color"
|
||||
"name": "Prefer RGB",
|
||||
"description": "Send RGB when the light supports both color temperature and RGB."
|
||||
},
|
||||
"turn_on_lights": {
|
||||
"description": "Whether to turn on lights that are currently off. 🔆",
|
||||
"name": "turn_on_lights"
|
||||
}
|
||||
}
|
||||
},
|
||||
"set_manual_control": {
|
||||
"name": "set_manual_control",
|
||||
"description": "Mark whether a light is 'manually controlled'.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "The `entity_id` of the switch in which to (un)mark the light as being `manually controlled`. 📝",
|
||||
"name": "entity_id"
|
||||
},
|
||||
"lights": {
|
||||
"description": "entity_id(s) of lights, if not specified, all lights in the switch are selected. 💡",
|
||||
"name": "lights"
|
||||
},
|
||||
"manual_control": {
|
||||
"description": "Whether to add (\"true\") or remove (\"false\") all adapted attributes of the light from the \"manual_control\" list, or the name of an attribute for selective addition. 🔒",
|
||||
"name": "manual_control"
|
||||
"name": "Turn on lights that are off",
|
||||
"description": "If true, also turn on lights that are currently off before applying."
|
||||
}
|
||||
}
|
||||
},
|
||||
"change_switch_settings": {
|
||||
"name": "change_switch_settings",
|
||||
"description": "Change any settings you'd like in the switch. All options here are the same as in the config flow.",
|
||||
"name": "Change profile settings",
|
||||
"description": "Change one or more of this profile's settings at runtime. The change persists until the next options-flow save or HA restart.",
|
||||
"fields": {
|
||||
"entity_id": {
|
||||
"description": "Entity ID of the switch. 📝",
|
||||
"name": "entity_id"
|
||||
"name": "Master switch",
|
||||
"description": "The master switch entity whose profile to update."
|
||||
},
|
||||
"use_defaults": {
|
||||
"description": "Sets the default values not specified in this service call. Options: \"current\" (default, retains current values), \"factory\" (resets to documented defaults), or \"configuration\" (reverts to switch config defaults). ⚙️",
|
||||
"name": "use_defaults"
|
||||
"name": "Defaults source",
|
||||
"description": "Where to pull unsupplied values from: 'current' keeps existing values, 'factory' resets to documented defaults, 'configuration' reverts to the profile's configured defaults."
|
||||
},
|
||||
"include_config_in_attributes": {
|
||||
"description": "Show all options as attributes on the switch in Home Assistant when set to `true`. 📝",
|
||||
"name": "include_config_in_attributes"
|
||||
"name": "Expose config in attributes",
|
||||
"description": "Show all options as attributes on the master switch."
|
||||
},
|
||||
"turn_on_lights": {
|
||||
"description": "Whether to turn on lights that are currently off. 🔆",
|
||||
"name": "turn_on_lights"
|
||||
"name": "Turn on lights that are off",
|
||||
"description": "If true, also turn on lights that are currently off before applying."
|
||||
},
|
||||
"initial_transition": {
|
||||
"description": "Duration of the first transition when lights turn from `off` to `on` in seconds. ⏲️",
|
||||
"name": "initial_transition"
|
||||
},
|
||||
"sleep_transition": {
|
||||
"description": "Duration of transition when \"sleep mode\" is toggled in seconds. 😴",
|
||||
"name": "sleep_transition"
|
||||
"name": "First-on fade (s)",
|
||||
"description": "Fade time when a light first turns on."
|
||||
},
|
||||
"max_brightness": {
|
||||
"description": "Maximum brightness percentage. 💡",
|
||||
"name": "max_brightness"
|
||||
"name": "Maximum brightness",
|
||||
"description": "Brightness at the peak of the day."
|
||||
},
|
||||
"max_color_temp": {
|
||||
"description": "Coldest color temperature in Kelvin. ❄️",
|
||||
"name": "max_color_temp"
|
||||
"name": "Coolest color temperature",
|
||||
"description": "The mid-day tone."
|
||||
},
|
||||
"min_brightness": {
|
||||
"description": "Minimum brightness percentage. 💡",
|
||||
"name": "min_brightness"
|
||||
"name": "Minimum brightness",
|
||||
"description": "Brightness during the night."
|
||||
},
|
||||
"min_color_temp": {
|
||||
"description": "Warmest color temperature in Kelvin. 🔥",
|
||||
"name": "min_color_temp"
|
||||
},
|
||||
"only_once": {
|
||||
"description": "Adapt lights only when they are turned on (`true`) or keep adapting them (`false`). 🔄",
|
||||
"name": "only_once"
|
||||
"name": "Warmest color temperature",
|
||||
"description": "The night-time tone."
|
||||
},
|
||||
"prefer_rgb_color": {
|
||||
"description": "Whether to prefer RGB color adjustment over light color temperature when possible. 🌈",
|
||||
"name": "prefer_rgb_color"
|
||||
"name": "Prefer RGB",
|
||||
"description": "When a light supports both, send RGB."
|
||||
},
|
||||
"separate_turn_on_commands": {
|
||||
"description": "Use separate `light.turn_on` calls for color and brightness, needed for some light types. 🔀",
|
||||
"name": "separate_turn_on_commands"
|
||||
"name": "Split brightness and color into separate calls",
|
||||
"description": "Required by some lights."
|
||||
},
|
||||
"send_split_delay": {
|
||||
"description": "Delay (ms) between `separate_turn_on_commands` for lights that don't support simultaneous brightness and color setting. ⏲️",
|
||||
"name": "send_split_delay"
|
||||
"name": "Pause between split calls (ms)",
|
||||
"description": "Only used when the option above is on."
|
||||
},
|
||||
"sleep_brightness": {
|
||||
"description": "Brightness percentage of lights in sleep mode. 😴",
|
||||
"name": "sleep_brightness"
|
||||
"sunrise_entity": {
|
||||
"name": "Sunrise entity",
|
||||
"description": "Any sensor that returns the next sunrise timestamp."
|
||||
},
|
||||
"sleep_rgb_or_color_temp": {
|
||||
"description": "Use either `\"rgb_color\"` or `\"color_temp\"` in sleep mode. 🌙",
|
||||
"name": "sleep_rgb_or_color_temp"
|
||||
},
|
||||
"sleep_rgb_color": {
|
||||
"description": "RGB color in sleep mode (used when `sleep_rgb_or_color_temp` is \"rgb_color\"). 🌈",
|
||||
"name": "sleep_rgb_color"
|
||||
},
|
||||
"sleep_color_temp": {
|
||||
"description": "Color temperature in sleep mode (used when `sleep_rgb_or_color_temp` is `color_temp`) in Kelvin. 😴",
|
||||
"name": "sleep_color_temp"
|
||||
},
|
||||
"sunrise_offset": {
|
||||
"description": "Adjust sunrise time with a positive or negative offset in seconds. ⏰",
|
||||
"name": "sunrise_offset"
|
||||
},
|
||||
"sunrise_time": {
|
||||
"description": "Set a fixed time (HH:MM:SS) for sunrise. 🌅",
|
||||
"name": "sunrise_time"
|
||||
},
|
||||
"sunset_offset": {
|
||||
"description": "Adjust sunset time with a positive or negative offset in seconds. ⏰",
|
||||
"name": "sunset_offset"
|
||||
},
|
||||
"sunset_time": {
|
||||
"description": "Set a fixed time (HH:MM:SS) for sunset. 🌇",
|
||||
"name": "sunset_time"
|
||||
},
|
||||
"max_sunrise_time": {
|
||||
"description": "Set the latest virtual sunrise time (HH:MM:SS), allowing for earlier sunrises. 🌅",
|
||||
"name": "max_sunrise_time"
|
||||
},
|
||||
"min_sunset_time": {
|
||||
"description": "Set the earliest virtual sunset time (HH:MM:SS), allowing for later sunsets. 🌇",
|
||||
"name": "min_sunset_time"
|
||||
},
|
||||
"take_over_control": {
|
||||
"description": "Pause adaptation of individual lights and hand over (manual) control to other sources that issue `light.turn_on` calls for lights that are on. 🔒",
|
||||
"name": "take_over_control"
|
||||
},
|
||||
"take_over_control_mode": {
|
||||
"description": "The adaptation pausing mode when other sources change brightness and/or color of lights. `pause_all` always pauses both brightness and color adaptation. `pause_changed` pauses the adaptation of only the changed attributes and continues adapting unchanged attributes, e.g., continues color adaptation when only brightness was changed.",
|
||||
"name": "take_over_control_mode"
|
||||
},
|
||||
"detect_non_ha_changes": {
|
||||
"description": "Detects and halts adaptations for non-`light.turn_on` state changes. Needs `take_over_control` enabled. 🕵️ Caution: ⚠️ Some lights might falsely indicate an 'on' state, which could result in lights turning on unexpectedly. Note that this calls `homeassistant.update_entity` every `interval`! Disable this feature if you encounter such issues.",
|
||||
"name": "detect_non_ha_changes"
|
||||
"sunset_entity": {
|
||||
"name": "Sunset entity",
|
||||
"description": "Any sensor that returns the next sunset timestamp."
|
||||
},
|
||||
"transition": {
|
||||
"description": "Duration of transition when lights change, in seconds. 🕑",
|
||||
"name": "transition"
|
||||
"name": "Transition time (s)",
|
||||
"description": "Fade time for each scheduled curve update."
|
||||
},
|
||||
"adapt_delay": {
|
||||
"description": "Wait time (seconds) between light turn on and Adaptive Lighting applying changes. Might help to avoid flickering. ⏲️",
|
||||
"name": "adapt_delay"
|
||||
"name": "Delay before adapting (s)",
|
||||
"description": "Wait this long after a light reports 'on' before applying."
|
||||
},
|
||||
"autoreset_control_seconds": {
|
||||
"description": "Automatically reset the manual control after a number of seconds. Set to 0 to disable. ⏲️",
|
||||
"name": "autoreset_control_seconds"
|
||||
"skip_redundant_commands": {
|
||||
"name": "Skip redundant commands",
|
||||
"description": "Don't send a command if the light is already at the target state."
|
||||
},
|
||||
"intercept": {
|
||||
"name": "Intercept light.turn_on calls",
|
||||
"description": "Apply the curve the moment a light turns on."
|
||||
},
|
||||
"multi_light_intercept": {
|
||||
"name": "Intercept multi-light calls",
|
||||
"description": "Also intercept calls that target several lights at once."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exceptions": {
|
||||
"incompatible_version": {
|
||||
"message": "Adaptive Lighting v{current_version} (CDiT fork) is incompatible with the existing config entry (version {entry_version}). Delete the entry from Settings → Devices & Services and create a new one."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue