From 7bc9d015207d3d6d5e26c97a66e730be74bffc1b Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Tue, 19 Apr 2022 18:14:56 +0200 Subject: [PATCH] Enable strict typing for deCONZ platforms cover+lock+siren+switch (#69930) --- .strict-typing | 4 ++ homeassistant/components/deconz/switch.py | 2 +- mypy.ini | 56 ++++++++++++++++++----- script/hassfest/mypy_config.py | 4 -- 4 files changed, 49 insertions(+), 17 deletions(-) diff --git a/.strict-typing b/.strict-typing index b0f2512355b..f576ba7e1c4 100644 --- a/.strict-typing +++ b/.strict-typing @@ -67,6 +67,7 @@ homeassistant.components.deconz.alarm_control_panel homeassistant.components.deconz.binary_sensor homeassistant.components.deconz.climate homeassistant.components.deconz.config_flow +homeassistant.components.deconz.cover homeassistant.components.deconz.diagnostics homeassistant.components.deconz.fan homeassistant.components.deconz.gateway @@ -74,7 +75,10 @@ homeassistant.components.deconz.light homeassistant.components.deconz.logbook homeassistant.components.deconz.number homeassistant.components.deconz.sensor +homeassistant.components.deconz.lock homeassistant.components.deconz.services +homeassistant.components.deconz.siren +homeassistant.components.deconz.switch homeassistant.components.device_automation.* homeassistant.components.device_tracker.* homeassistant.components.devolo_home_control.* diff --git a/homeassistant/components/deconz/switch.py b/homeassistant/components/deconz/switch.py index ad8621f762d..5326243a8ba 100644 --- a/homeassistant/components/deconz/switch.py +++ b/homeassistant/components/deconz/switch.py @@ -80,7 +80,7 @@ class DeconzPowerPlug(DeconzDevice, SwitchEntity): @property def is_on(self) -> bool: """Return true if switch is on.""" - return self._device.state # type: ignore[no-any-return] + return self._device.on # type: ignore[no-any-return] async def async_turn_on(self, **kwargs: Any) -> None: """Turn on switch.""" diff --git a/mypy.ini b/mypy.ini index f19e4c7c2fc..5340df24297 100644 --- a/mypy.ini +++ b/mypy.ini @@ -539,6 +539,17 @@ no_implicit_optional = true warn_return_any = true warn_unreachable = true +[mypy-homeassistant.components.deconz.cover] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +warn_return_any = true +warn_unreachable = true + [mypy-homeassistant.components.deconz.diagnostics] check_untyped_defs = true disallow_incomplete_defs = true @@ -616,6 +627,17 @@ no_implicit_optional = true warn_return_any = true warn_unreachable = true +[mypy-homeassistant.components.deconz.lock] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +warn_return_any = true +warn_unreachable = true + [mypy-homeassistant.components.deconz.services] check_untyped_defs = true disallow_incomplete_defs = true @@ -627,6 +649,28 @@ no_implicit_optional = true warn_return_any = true warn_unreachable = true +[mypy-homeassistant.components.deconz.siren] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +warn_return_any = true +warn_unreachable = true + +[mypy-homeassistant.components.deconz.switch] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +warn_return_any = true +warn_unreachable = true + [mypy-homeassistant.components.device_automation.*] check_untyped_defs = true disallow_incomplete_defs = true @@ -2741,18 +2785,6 @@ ignore_errors = true [mypy-homeassistant.components.conversation.default_agent] ignore_errors = true -[mypy-homeassistant.components.deconz.cover] -ignore_errors = true - -[mypy-homeassistant.components.deconz.lock] -ignore_errors = true - -[mypy-homeassistant.components.deconz.siren] -ignore_errors = true - -[mypy-homeassistant.components.deconz.switch] -ignore_errors = true - [mypy-homeassistant.components.denonavr.config_flow] ignore_errors = true diff --git a/script/hassfest/mypy_config.py b/script/hassfest/mypy_config.py index 2243141d449..cf3ef92fbdb 100644 --- a/script/hassfest/mypy_config.py +++ b/script/hassfest/mypy_config.py @@ -23,10 +23,6 @@ IGNORED_MODULES: Final[list[str]] = [ "homeassistant.components.cloud.http_api", "homeassistant.components.conversation", "homeassistant.components.conversation.default_agent", - "homeassistant.components.deconz.cover", - "homeassistant.components.deconz.lock", - "homeassistant.components.deconz.siren", - "homeassistant.components.deconz.switch", "homeassistant.components.denonavr.config_flow", "homeassistant.components.denonavr.media_player", "homeassistant.components.denonavr.receiver",