Remove vera from mypy ignore list (#64474)
* Remove vera from mypy ignore list * Fix pylint
This commit is contained in:
parent
2083f0b3c0
commit
03bf2cdd56
12 changed files with 49 additions and 61 deletions
|
@ -3,6 +3,7 @@ from __future__ import annotations
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from collections.abc import Awaitable
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Generic, TypeVar
|
from typing import Any, Generic, TypeVar
|
||||||
|
|
||||||
|
@ -166,7 +167,7 @@ async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) ->
|
||||||
"""Unload Withings config entry."""
|
"""Unload Withings config entry."""
|
||||||
controller_data: ControllerData = get_controller_data(hass, config_entry)
|
controller_data: ControllerData = get_controller_data(hass, config_entry)
|
||||||
|
|
||||||
tasks = [
|
tasks: list[Awaitable] = [
|
||||||
hass.config_entries.async_forward_entry_unload(config_entry, platform)
|
hass.config_entries.async_forward_entry_unload(config_entry, platform)
|
||||||
for platform in get_configured_platforms(controller_data)
|
for platform in get_configured_platforms(controller_data)
|
||||||
]
|
]
|
||||||
|
@ -181,7 +182,9 @@ async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry):
|
||||||
await hass.config_entries.async_reload(entry.entry_id)
|
await hass.config_entries.async_reload(entry.entry_id)
|
||||||
|
|
||||||
|
|
||||||
def map_vera_device(vera_device: veraApi.VeraDevice, remap: list[int]) -> Platform:
|
def map_vera_device(
|
||||||
|
vera_device: veraApi.VeraDevice, remap: list[int]
|
||||||
|
) -> Platform | None:
|
||||||
"""Map vera classes to Home Assistant types."""
|
"""Map vera classes to Home Assistant types."""
|
||||||
|
|
||||||
type_map = {
|
type_map = {
|
||||||
|
|
|
@ -3,12 +3,9 @@ from __future__ import annotations
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import ENTITY_ID_FORMAT, BinarySensorEntity
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
BinarySensorEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
|
@ -26,7 +23,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraBinarySensor(device, controller_data)
|
VeraBinarySensor(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.BINARY_SENSOR]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,11 +5,7 @@ from typing import Any
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.climate import (
|
from homeassistant.components.climate import ENTITY_ID_FORMAT, ClimateEntity
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
ClimateEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.components.climate.const import (
|
from homeassistant.components.climate.const import (
|
||||||
FAN_AUTO,
|
FAN_AUTO,
|
||||||
FAN_ON,
|
FAN_ON,
|
||||||
|
@ -21,7 +17,12 @@ from homeassistant.components.climate.const import (
|
||||||
SUPPORT_TARGET_TEMPERATURE,
|
SUPPORT_TARGET_TEMPERATURE,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT
|
from homeassistant.const import (
|
||||||
|
ATTR_TEMPERATURE,
|
||||||
|
TEMP_CELSIUS,
|
||||||
|
TEMP_FAHRENHEIT,
|
||||||
|
Platform,
|
||||||
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util import convert
|
from homeassistant.util import convert
|
||||||
|
@ -45,7 +46,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraThermostat(device, controller_data)
|
VeraThermostat(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.CLIMATE]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
@ -62,7 +63,7 @@ class VeraThermostat(VeraDevice[veraApi.VeraThermostat], ClimateEntity):
|
||||||
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def supported_features(self) -> int | None:
|
def supported_features(self) -> int:
|
||||||
"""Return the list of supported features."""
|
"""Return the list of supported features."""
|
||||||
return SUPPORT_FLAGS
|
return SUPPORT_FLAGS
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from collections.abc import Sequence
|
|
||||||
from typing import NamedTuple
|
from typing import NamedTuple
|
||||||
|
|
||||||
import pyvera as pv
|
import pyvera as pv
|
||||||
|
@ -26,7 +25,7 @@ class ControllerData(NamedTuple):
|
||||||
|
|
||||||
def get_configured_platforms(controller_data: ControllerData) -> set[Platform]:
|
def get_configured_platforms(controller_data: ControllerData) -> set[Platform]:
|
||||||
"""Get configured platforms for a controller."""
|
"""Get configured platforms for a controller."""
|
||||||
platforms: Sequence[Platform] = []
|
platforms: list[Platform] = []
|
||||||
for platform in controller_data.devices:
|
for platform in controller_data.devices:
|
||||||
platforms.append(platform)
|
platforms.append(platform)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
"""Config flow for Vera."""
|
"""Config flow for Vera."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from collections.abc import Mapping
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
@ -41,7 +42,7 @@ def new_options(lights: list[int], exclude: list[int]) -> dict:
|
||||||
return {CONF_LIGHTS: lights, CONF_EXCLUDE: exclude}
|
return {CONF_LIGHTS: lights, CONF_EXCLUDE: exclude}
|
||||||
|
|
||||||
|
|
||||||
def options_schema(options: dict = None) -> dict:
|
def options_schema(options: Mapping[str, Any] = None) -> dict:
|
||||||
"""Return options schema."""
|
"""Return options schema."""
|
||||||
options = options or {}
|
options = options or {}
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -5,13 +5,9 @@ from typing import Any
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.cover import (
|
from homeassistant.components.cover import ATTR_POSITION, ENTITY_ID_FORMAT, CoverEntity
|
||||||
ATTR_POSITION,
|
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
CoverEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
|
@ -29,7 +25,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraCover(device, controller_data)
|
VeraCover(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.COVER]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,13 +8,13 @@ import pyvera as veraApi
|
||||||
from homeassistant.components.light import (
|
from homeassistant.components.light import (
|
||||||
ATTR_BRIGHTNESS,
|
ATTR_BRIGHTNESS,
|
||||||
ATTR_HS_COLOR,
|
ATTR_HS_COLOR,
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
ENTITY_ID_FORMAT,
|
||||||
SUPPORT_BRIGHTNESS,
|
SUPPORT_BRIGHTNESS,
|
||||||
SUPPORT_COLOR,
|
SUPPORT_COLOR,
|
||||||
LightEntity,
|
LightEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
import homeassistant.util.color as color_util
|
import homeassistant.util.color as color_util
|
||||||
|
@ -33,7 +33,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraLight(device, controller_data)
|
VeraLight(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.LIGHT]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
@ -47,7 +47,7 @@ class VeraLight(VeraDevice[veraApi.VeraDimmer], LightEntity):
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the light."""
|
"""Initialize the light."""
|
||||||
self._state = False
|
self._state = False
|
||||||
self._color = None
|
self._color: tuple[float, float] | None = None
|
||||||
self._brightness = None
|
self._brightness = None
|
||||||
VeraDevice.__init__(self, vera_device, controller_data)
|
VeraDevice.__init__(self, vera_device, controller_data)
|
||||||
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
||||||
|
|
|
@ -5,13 +5,9 @@ from typing import Any
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.lock import (
|
from homeassistant.components.lock import ENTITY_ID_FORMAT, LockEntity
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
LockEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import STATE_LOCKED, STATE_UNLOCKED
|
from homeassistant.const import STATE_LOCKED, STATE_UNLOCKED, Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
|
@ -32,7 +28,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraLock(device, controller_data)
|
VeraLock(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.LOCK]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
@ -45,7 +41,7 @@ class VeraLock(VeraDevice[veraApi.VeraLock], LockEntity):
|
||||||
self, vera_device: veraApi.VeraLock, controller_data: ControllerData
|
self, vera_device: veraApi.VeraLock, controller_data: ControllerData
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the Vera device."""
|
"""Initialize the Vera device."""
|
||||||
self._state = None
|
self._state: str | None = None
|
||||||
VeraDevice.__init__(self, vera_device, controller_data)
|
VeraDevice.__init__(self, vera_device, controller_data)
|
||||||
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
||||||
|
|
||||||
|
@ -72,7 +68,7 @@ class VeraLock(VeraDevice[veraApi.VeraLock], LockEntity):
|
||||||
changed_by_name is a string like 'Bob'.
|
changed_by_name is a string like 'Bob'.
|
||||||
low_battery is 1 if an alert fired, 0 otherwise.
|
low_battery is 1 if an alert fired, 0 otherwise.
|
||||||
"""
|
"""
|
||||||
data = super().extra_state_attributes
|
data = super().extra_state_attributes or {}
|
||||||
|
|
||||||
last_user = self.vera_device.get_last_user_alert()
|
last_user = self.vera_device.get_last_user_alert()
|
||||||
if last_user is not None:
|
if last_user is not None:
|
||||||
|
|
|
@ -6,16 +6,18 @@ from typing import cast
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.sensor import (
|
from homeassistant.components.sensor import ENTITY_ID_FORMAT, SensorEntity
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
SensorEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import LIGHT_LUX, PERCENTAGE, TEMP_CELSIUS, TEMP_FAHRENHEIT
|
from homeassistant.const import (
|
||||||
|
LIGHT_LUX,
|
||||||
|
PERCENTAGE,
|
||||||
|
TEMP_CELSIUS,
|
||||||
|
TEMP_FAHRENHEIT,
|
||||||
|
Platform,
|
||||||
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util import convert
|
from homeassistant.helpers.typing import StateType
|
||||||
|
|
||||||
from . import VeraDevice
|
from . import VeraDevice
|
||||||
from .common import ControllerData, get_controller_data
|
from .common import ControllerData, get_controller_data
|
||||||
|
@ -33,7 +35,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraSensor(device, controller_data)
|
VeraSensor(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.SENSOR]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
@ -46,14 +48,14 @@ class VeraSensor(VeraDevice[veraApi.VeraSensor], SensorEntity):
|
||||||
self, vera_device: veraApi.VeraSensor, controller_data: ControllerData
|
self, vera_device: veraApi.VeraSensor, controller_data: ControllerData
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self.current_value = None
|
self.current_value: StateType = None
|
||||||
self._temperature_units = None
|
self._temperature_units: str | None = None
|
||||||
self.last_changed_time = None
|
self.last_changed_time = None
|
||||||
VeraDevice.__init__(self, vera_device, controller_data)
|
VeraDevice.__init__(self, vera_device, controller_data)
|
||||||
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
self.entity_id = ENTITY_ID_FORMAT.format(self.vera_id)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def native_value(self) -> str:
|
def native_value(self) -> StateType:
|
||||||
"""Return the name of the sensor."""
|
"""Return the name of the sensor."""
|
||||||
return self.current_value
|
return self.current_value
|
||||||
|
|
||||||
|
@ -71,6 +73,7 @@ class VeraSensor(VeraDevice[veraApi.VeraSensor], SensorEntity):
|
||||||
return PERCENTAGE
|
return PERCENTAGE
|
||||||
if self.vera_device.category == veraApi.CATEGORY_POWER_METER:
|
if self.vera_device.category == veraApi.CATEGORY_POWER_METER:
|
||||||
return "watts"
|
return "watts"
|
||||||
|
return None
|
||||||
|
|
||||||
def update(self) -> None:
|
def update(self) -> None:
|
||||||
"""Update the state."""
|
"""Update the state."""
|
||||||
|
@ -101,8 +104,7 @@ class VeraSensor(VeraDevice[veraApi.VeraSensor], SensorEntity):
|
||||||
self.current_value = value
|
self.current_value = value
|
||||||
self.last_changed_time = time
|
self.last_changed_time = time
|
||||||
elif self.vera_device.category == veraApi.CATEGORY_POWER_METER:
|
elif self.vera_device.category == veraApi.CATEGORY_POWER_METER:
|
||||||
power = convert(self.vera_device.power, float, 0)
|
self.current_value = self.vera_device.power
|
||||||
self.current_value = int(round(power, 0))
|
|
||||||
elif self.vera_device.is_trippable:
|
elif self.vera_device.is_trippable:
|
||||||
tripped = self.vera_device.is_tripped
|
tripped = self.vera_device.is_tripped
|
||||||
self.current_value = "Tripped" if tripped else "Not Tripped"
|
self.current_value = "Tripped" if tripped else "Not Tripped"
|
||||||
|
|
|
@ -5,12 +5,9 @@ from typing import Any
|
||||||
|
|
||||||
import pyvera as veraApi
|
import pyvera as veraApi
|
||||||
|
|
||||||
from homeassistant.components.switch import (
|
from homeassistant.components.switch import ENTITY_ID_FORMAT, SwitchEntity
|
||||||
DOMAIN as PLATFORM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
|
||||||
SwitchEntity,
|
|
||||||
)
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util import convert
|
from homeassistant.util import convert
|
||||||
|
@ -29,7 +26,7 @@ async def async_setup_entry(
|
||||||
async_add_entities(
|
async_add_entities(
|
||||||
[
|
[
|
||||||
VeraSwitch(device, controller_data)
|
VeraSwitch(device, controller_data)
|
||||||
for device in controller_data.devices.get(PLATFORM_DOMAIN)
|
for device in controller_data.devices[Platform.SWITCH]
|
||||||
],
|
],
|
||||||
True,
|
True,
|
||||||
)
|
)
|
||||||
|
|
3
mypy.ini
3
mypy.ini
|
@ -2236,9 +2236,6 @@ ignore_errors = true
|
||||||
[mypy-homeassistant.components.upnp.*]
|
[mypy-homeassistant.components.upnp.*]
|
||||||
ignore_errors = true
|
ignore_errors = true
|
||||||
|
|
||||||
[mypy-homeassistant.components.vera.*]
|
|
||||||
ignore_errors = true
|
|
||||||
|
|
||||||
[mypy-homeassistant.components.vizio.*]
|
[mypy-homeassistant.components.vizio.*]
|
||||||
ignore_errors = true
|
ignore_errors = true
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,6 @@ IGNORED_MODULES: Final[list[str]] = [
|
||||||
"homeassistant.components.toon.*",
|
"homeassistant.components.toon.*",
|
||||||
"homeassistant.components.unifi.*",
|
"homeassistant.components.unifi.*",
|
||||||
"homeassistant.components.upnp.*",
|
"homeassistant.components.upnp.*",
|
||||||
"homeassistant.components.vera.*",
|
|
||||||
"homeassistant.components.vizio.*",
|
"homeassistant.components.vizio.*",
|
||||||
"homeassistant.components.withings.*",
|
"homeassistant.components.withings.*",
|
||||||
"homeassistant.components.xbox.*",
|
"homeassistant.components.xbox.*",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue