mirror of
https://github.com/basnijholt/adaptive-lighting.git
synced 2026-09-11 22:34:04 +02:00
Merge remote-tracking branch 'origin/main' into fix-test_changing_options_when_using_yaml
This commit is contained in:
commit
5c181f9176
7 changed files with 23 additions and 30 deletions
2
.github/update-strings.py
vendored
2
.github/update-strings.py
vendored
|
|
@ -22,7 +22,7 @@ data = {}
|
|||
data_description = {}
|
||||
for k, _, typ in const.VALIDATION_TUPLES:
|
||||
desc = const.DOCS[k]
|
||||
if len(desc) > 40 and typ != bool and typ != cv.entity_ids:
|
||||
if len(desc) > 40 and typ not in (bool, cv.entity_ids):
|
||||
data[k] = k
|
||||
data_description[k] = desc
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.5.0
|
||||
rev: v5.0.0
|
||||
hooks:
|
||||
- id: check-added-large-files
|
||||
- id: trailing-whitespace
|
||||
|
|
@ -8,11 +8,11 @@ repos:
|
|||
- id: mixed-line-ending
|
||||
args: ["--fix=lf"]
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.3.5
|
||||
rev: v0.8.4
|
||||
hooks:
|
||||
- id: ruff
|
||||
args: ["--fix"]
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 24.3.0
|
||||
rev: 24.10.0
|
||||
hooks:
|
||||
- id: black
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ def _split_service_call_data(service_data: ServiceData) -> list[ServiceData]:
|
|||
if service_datas and (transition := service_data.get(ATTR_TRANSITION)) is not None:
|
||||
transition /= len(service_datas)
|
||||
|
||||
for service_data in service_datas:
|
||||
service_data[ATTR_TRANSITION] = transition
|
||||
for _service_data in service_datas:
|
||||
_service_data[ATTR_TRANSITION] = transition
|
||||
|
||||
return service_datas
|
||||
|
||||
|
|
|
|||
|
|
@ -64,12 +64,10 @@ class SunEvents:
|
|||
) + self.sunrise_offset
|
||||
if self.min_sunrise_time is not None:
|
||||
min_sunrise = self._replace_time(dt, self.min_sunrise_time)
|
||||
if min_sunrise > sunrise:
|
||||
sunrise = min_sunrise
|
||||
sunrise = max(min_sunrise, sunrise)
|
||||
if self.max_sunrise_time is not None:
|
||||
max_sunrise = self._replace_time(dt, self.max_sunrise_time)
|
||||
if max_sunrise < sunrise:
|
||||
sunrise = max_sunrise
|
||||
sunrise = min(max_sunrise, sunrise)
|
||||
return sunrise
|
||||
|
||||
def sunset(self, dt: datetime.date) -> datetime.datetime:
|
||||
|
|
@ -81,12 +79,10 @@ class SunEvents:
|
|||
) + self.sunset_offset
|
||||
if self.min_sunset_time is not None:
|
||||
min_sunset = self._replace_time(dt, self.min_sunset_time)
|
||||
if min_sunset > sunset:
|
||||
sunset = min_sunset
|
||||
sunset = max(min_sunset, sunset)
|
||||
if self.max_sunset_time is not None:
|
||||
max_sunset = self._replace_time(dt, self.max_sunset_time)
|
||||
if max_sunset < sunset:
|
||||
sunset = max_sunset
|
||||
sunset = min(max_sunset, sunset)
|
||||
return sunset
|
||||
|
||||
def _replace_time(
|
||||
|
|
|
|||
|
|
@ -2552,7 +2552,7 @@ class AdaptiveLightingManager:
|
|||
and id_off_to_on == turn_on_event.context.id
|
||||
)
|
||||
|
||||
async def just_turned_off( # noqa: PLR0911, PLR0912
|
||||
async def just_turned_off( # noqa: PLR0911
|
||||
self,
|
||||
entity_id: str,
|
||||
) -> bool:
|
||||
|
|
|
|||
|
|
@ -1602,7 +1602,6 @@ async def test_proactive_adaptation(hass):
|
|||
assert state.attributes[ATTR_COLOR_TEMP_KELVIN] == 3448
|
||||
|
||||
|
||||
# TODO: Breaks since 2024.5.0!
|
||||
async def test_proactive_adaptation_with_separate_commands(hass):
|
||||
"""Validate that a split proactive adaptation yields one additional service call."""
|
||||
switch, _ = await setup_lights_and_switch(
|
||||
|
|
@ -1623,11 +1622,16 @@ async def test_proactive_adaptation_with_separate_commands(hass):
|
|||
},
|
||||
)
|
||||
|
||||
event_context_ids = await _turn_on_and_track_event_contexts(
|
||||
events = await _turn_on_and_track_event_contexts(
|
||||
hass,
|
||||
"test_context",
|
||||
ENTITY_LIGHT_3,
|
||||
return_full_events=True,
|
||||
)
|
||||
# Wait for all adaptation tasks to complete
|
||||
await asyncio.gather(*switch.manager.adaptation_tasks)
|
||||
await hass.async_block_till_done()
|
||||
event_context_ids = [event.context.id for event in events]
|
||||
|
||||
# Expect two service calls
|
||||
assert len(event_context_ids) == 2, event_context_ids
|
||||
|
|
@ -2127,11 +2131,8 @@ async def test_light_group(
|
|||
assert events[1].context.id == "testing"
|
||||
e1 = events[2].data["service_data"][ATTR_ENTITY_ID]
|
||||
e2 = events[3].data["service_data"][ATTR_ENTITY_ID]
|
||||
assert (
|
||||
e1 == "light.light_4"
|
||||
and e2 == "light.light_5"
|
||||
or e1 == "light.light_5"
|
||||
and e2 == "light.light_4"
|
||||
assert (e1 == "light.light_4" and e2 == "light.light_5") or (
|
||||
e1 == "light.light_5" and e2 == "light.light_4"
|
||||
)
|
||||
assert ":lght:" in events[2].context.id
|
||||
assert ":lght:" in events[3].context.id
|
||||
|
|
|
|||
|
|
@ -64,12 +64,10 @@ class SunEvents:
|
|||
) + self.sunrise_offset
|
||||
if self.min_sunrise_time is not None:
|
||||
min_sunrise = self._replace_time(dt, self.min_sunrise_time)
|
||||
if min_sunrise > sunrise:
|
||||
sunrise = min_sunrise
|
||||
sunrise = max(min_sunrise, sunrise)
|
||||
if self.max_sunrise_time is not None:
|
||||
max_sunrise = self._replace_time(dt, self.max_sunrise_time)
|
||||
if max_sunrise < sunrise:
|
||||
sunrise = max_sunrise
|
||||
sunrise = min(max_sunrise, sunrise)
|
||||
return sunrise
|
||||
|
||||
def sunset(self, dt: datetime.date) -> datetime.datetime:
|
||||
|
|
@ -81,12 +79,10 @@ class SunEvents:
|
|||
) + self.sunset_offset
|
||||
if self.min_sunset_time is not None:
|
||||
min_sunset = self._replace_time(dt, self.min_sunset_time)
|
||||
if min_sunset > sunset:
|
||||
sunset = min_sunset
|
||||
sunset = max(min_sunset, sunset)
|
||||
if self.max_sunset_time is not None:
|
||||
max_sunset = self._replace_time(dt, self.max_sunset_time)
|
||||
if max_sunset < sunset:
|
||||
sunset = max_sunset
|
||||
sunset = min(max_sunset, sunset)
|
||||
return sunset
|
||||
|
||||
def _replace_time(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue