diff --git a/src/evohomeasync2/control_system.py b/src/evohomeasync2/control_system.py index 2ba124d..bac0671 100644 --- a/src/evohomeasync2/control_system.py +++ b/src/evohomeasync2/control_system.py @@ -1,6 +1,6 @@ """Provides handling of TCC temperature control systems.""" -# TODO: add set_mode() for non-evohome modes (e.g. "Heat", "Off") +# TODO: extend set_mode() for non-evohome modes (e.g. "Heat", "Off") from __future__ import annotations @@ -242,7 +242,7 @@ async def set_heatingoff(self, /, *, until: dt | None = None) -> None: async def get_temperatures( self, - ) -> list[dict[str, float | str | None]]: # TODO: remove? + ) -> list[dict[str, float | str | None]]: # TODO: remove this convenience function? """A convenience function to return the latest temperatures and setpoints.""" await self.location.update() diff --git a/src/evohomeasync2/hotwater.py b/src/evohomeasync2/hotwater.py index 6d10287..15e71ac 100644 --- a/src/evohomeasync2/hotwater.py +++ b/src/evohomeasync2/hotwater.py @@ -1,6 +1,6 @@ """Provides handling of TCC DHW zones.""" -# TODO: add set_mode() for non-evohome modes +# TODO: extend set_mode() for non-evohome modes from __future__ import annotations diff --git a/src/evohomeasync2/schemas/config.py b/src/evohomeasync2/schemas/config.py index d93c618..3333795 100644 --- a/src/evohomeasync2/schemas/config.py +++ b/src/evohomeasync2/schemas/config.py @@ -165,9 +165,9 @@ def factory_dhw(fnc: Callable[[str], str] = noop) -> vol.Schema: SCH_DHW_STATE_CAPABILITIES_RESPONSE: Final = vol.Schema( { - # TODO: value should be a *subset* of the list of all possible DhwState(s) + # TODO: list should be a non-empty *subset* of all possible DhwState(s) vol.Required(fnc(S2_ALLOWED_STATES)): [m.value for m in DhwState], - # TODO: value should be a *subset* of the list of all possible ZoneMode(s) + # TODO: list should be a non-empty *subset* of all possible ZoneMode(s) vol.Required(fnc(S2_ALLOWED_MODES)): [m.value for m in ZoneMode], vol.Required(fnc(S2_MAX_DURATION)): str, vol.Required(fnc(S2_TIMING_RESOLUTION)): vol.Datetime(format="00:%M:00"), @@ -224,7 +224,7 @@ def factory_zone(fnc: Callable[[str], str] = noop) -> vol.Schema: vol.Required(fnc(S2_CAN_CONTROL_COOL)): bool, vol.Optional(fnc(S2_MAX_COOL_SETPOINT)): float, # TODO vol.Optional(fnc(S2_MIN_COOL_SETPOINT)): float, # TODO - # TODO: value should be a *subset* of the list of all possible ZoneMode(s) + # TODO: list should be a non-empty *subset* of all possible ZoneMode(s) vol.Required(fnc(S2_ALLOWED_SETPOINT_MODES)): [m.value for m in ZoneMode], vol.Required(fnc(S2_VALUE_RESOLUTION)): float, # 0.5 vol.Required(fnc(S2_MAX_DURATION)): str, # "1.00:00:00" diff --git a/src/evohomeasync2/zone.py b/src/evohomeasync2/zone.py index 1aea4f0..773e531 100644 --- a/src/evohomeasync2/zone.py +++ b/src/evohomeasync2/zone.py @@ -1,7 +1,6 @@ """Provides handling of TCC zones (heating and DHW).""" -# TODO: add provision for cooling zones, when vendor's API adds support for such -# TODO: add set_mode() for non-evohome modes (e.g. "VacationHold") +# TODO: extend set_mode() for non-evohome modes (e.g. "VacationHold") from __future__ import annotations diff --git a/tests/tests_rf/common.py b/tests/tests_rf/common.py index a1cf120..8a18e50 100644 --- a/tests/tests_rf/common.py +++ b/tests/tests_rf/common.py @@ -257,8 +257,6 @@ async def wait_for_comm_task_v2(auth: evo2.auth.Auth, task_id: str) -> bool: # async with asyncio.timeout(2): # await wait_for_comm_task() - rsp: aiohttp.ClientResponse # TODO: shouldn't be needed; isn't via async with - url = f"commTasks?commTaskId={task_id}" while True: diff --git a/tests/tests_rf/test_v0_urls.py b/tests/tests_rf/test_v0_urls.py index f54a926..340d3dc 100644 --- a/tests/tests_rf/test_v0_urls.py +++ b/tests/tests_rf/test_v0_urls.py @@ -31,7 +31,7 @@ async def _test_usr_locations(evo: EvohomeClientv0) -> None: # loc_id: int = evo.location_id url = f"locations?userId={usr_id}&allData=True" - _ = await should_work_v0(evo.auth, HTTPMethod.GET, url) # TODO: add schema + _ = await should_work_v0(evo.auth, HTTPMethod.GET, url) # FIXME: add schema # why isn't this one METHOD_NOT_ALLOWED? _ = await should_fail_v0(evo.auth, HTTPMethod.PUT, url, status=HTTPStatus.NOT_FOUND) diff --git a/tests/tests_rf/test_v2_task.py b/tests/tests_rf/test_v2_task.py index 5fdf53d..77fb42a 100644 --- a/tests/tests_rf/test_v2_task.py +++ b/tests/tests_rf/test_v2_task.py @@ -18,7 +18,6 @@ import evohomeasync2 as evo2 from evohome.helpers import camel_to_pascal -from evohomeasync2 import ControlSystem, Gateway, HotWater, Location, Zone from evohomeasync2.const import API_STRFTIME, DhwState, ZoneMode from evohomeasync2.schemas.const import ( S2_MODE, @@ -44,14 +43,8 @@ async def _test_task_id_dhw(evo: EvohomeClientv2) -> None: This test can be used to prove that JSON keys are can be camelCase or PascalCase. """ - loc: Location - gwy: Gateway - tcs: ControlSystem - await evo.update(_dont_update_status=True) - dhw: HotWater | None = None - for loc in evo.locations: for gwy in loc.gateways: for tcs in gwy.control_systems: @@ -208,14 +201,8 @@ async def _test_task_id_zone(evo: EvohomeClientv2) -> None: This test can be used to prove that JSON keys are can be camelCase or PascalCase. """ - loc: Location - gwy: Gateway - tcs: ControlSystem - await evo.update(_dont_update_status=True) - zone: Zone | None = None - for loc in evo.locations: for gwy in loc.gateways: for tcs in gwy.control_systems: diff --git a/tests/tests_rf/test_v2_urls.py b/tests/tests_rf/test_v2_urls.py index eb2de6b..7b94d90 100644 --- a/tests/tests_rf/test_v2_urls.py +++ b/tests/tests_rf/test_v2_urls.py @@ -312,8 +312,7 @@ async def _test_zone_status(evo: EvohomeClientv2) -> None: Also tests /temperatureZone/{zone.id}/heatSetpoint """ - zone: evo2.Zone - heat_setpoint: dict[str, float | str | None] + heat_setpoint: dict[str, float | str | None] # TODO: TypedDict # TODO: remove .update() and use URLs only await evo.update(_dont_update_status=True)