Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into fix-test_changing_opt…
Browse files Browse the repository at this point in the history
…ions_when_using_yaml
  • Loading branch information
basnijholt committed Jan 2, 2025
2 parents 3326bb2 + 9aee234 commit 5c181f9
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .github/update-strings.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
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:
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
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
- id: end-of-file-fixer
- 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
4 changes: 2 additions & 2 deletions custom_components/adaptive_lighting/adaptation_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
12 changes: 4 additions & 8 deletions custom_components/adaptive_lighting/color_and_brightness.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,10 @@ def sunrise(self, dt: datetime.date) -> datetime.datetime:
) + 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:
Expand All @@ -81,12 +79,10 @@ def sunset(self, dt: datetime.date) -> datetime.datetime:
) + 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(
Expand Down
2 changes: 1 addition & 1 deletion custom_components/adaptive_lighting/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -2552,7 +2552,7 @@ def _off_to_on_state_event_is_from_turn_on(
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:
Expand Down
15 changes: 8 additions & 7 deletions tests/test_switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
12 changes: 4 additions & 8 deletions webapp/color_and_brightness.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,10 @@ def sunrise(self, dt: datetime.date) -> datetime.datetime:
) + 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:
Expand All @@ -81,12 +79,10 @@ def sunset(self, dt: datetime.date) -> datetime.datetime:
) + 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(
Expand Down

0 comments on commit 5c181f9

Please sign in to comment.