Remove lutron_caseta from mypy ignore list (#74427)

pull/74522/head
epenet 2022-07-04 21:10:26 +02:00 committed by Paulus Schoutsen
parent 54516ee939
commit 18b3ffbf99
6 changed files with 14 additions and 25 deletions

View File

@ -215,10 +215,10 @@ def _async_register_button_devices(
config_entry_id: str,
bridge_device,
button_devices_by_id: dict[int, dict],
) -> dict[str, dr.DeviceEntry]:
) -> dict[str, dict]:
"""Register button devices (Pico Remotes) in the device registry."""
device_registry = dr.async_get(hass)
button_devices_by_dr_id = {}
button_devices_by_dr_id: dict[str, dict] = {}
seen = set()
for device in button_devices_by_id.values():
@ -226,7 +226,7 @@ def _async_register_button_devices(
continue
seen.add(device["serial"])
area, name = _area_and_name_from_name(device["name"])
device_args = {
device_args: dict[str, Any] = {
"name": f"{area} {name}",
"manufacturer": MANUFACTURER,
"config_entry_id": config_entry_id,
@ -246,7 +246,8 @@ def _async_register_button_devices(
def _area_and_name_from_name(device_name: str) -> tuple[str, str]:
"""Return the area and name from the devices internal name."""
if "_" in device_name:
return device_name.split("_", 1)
area_device_name = device_name.split("_", 1)
return area_device_name[0], area_device_name[1]
return UNASSIGNED_AREA, device_name
@ -382,13 +383,13 @@ class LutronCasetaDevice(Entity):
class LutronCasetaDeviceUpdatableEntity(LutronCasetaDevice):
"""A lutron_caseta entity that can update by syncing data from the bridge."""
async def async_update(self):
async def async_update(self) -> None:
"""Update when forcing a refresh of the device."""
self._device = self._smartbridge.get_device_by_id(self.device_id)
_LOGGER.debug(self._device)
def _id_to_identifier(lutron_id: str) -> None:
def _id_to_identifier(lutron_id: str) -> tuple[str, str]:
"""Convert a lutron caseta identifier to a device identifier."""
return (DOMAIN, lutron_id)

View File

@ -66,13 +66,13 @@ class LutronCasetaCover(LutronCasetaDeviceUpdatableEntity, CoverEntity):
async def async_close_cover(self, **kwargs: Any) -> None:
"""Close the cover."""
await self._smartbridge.lower_cover(self.device_id)
self.async_update()
await self.async_update()
self.async_write_ha_state()
async def async_open_cover(self, **kwargs: Any) -> None:
"""Open the cover."""
await self._smartbridge.raise_cover(self.device_id)
self.async_update()
await self.async_update()
self.async_write_ha_state()
async def async_set_cover_position(self, **kwargs: Any) -> None:

View File

@ -386,10 +386,12 @@ async def async_attach_trigger(
"""Attach a trigger."""
device_registry = dr.async_get(hass)
device = device_registry.async_get(config[CONF_DEVICE_ID])
assert device
assert device.model
device_type = _device_model_to_type(device.model)
_, serial = list(device.identifiers)[0]
schema = DEVICE_TYPE_SCHEMA_MAP.get(device_type)
valid_buttons = DEVICE_TYPE_SUBTYPE_MAP_TO_LIP.get(device_type)
schema = DEVICE_TYPE_SCHEMA_MAP[device_type]
valid_buttons = DEVICE_TYPE_SUBTYPE_MAP_TO_LIP[device_type]
config = schema(config)
event_config = {
event_trigger.CONF_PLATFORM: CONF_EVENT,

View File

@ -6,8 +6,6 @@ from typing import Any
from pylutron_caseta.smartbridge import Smartbridge
from homeassistant.helpers.device_registry import DeviceEntry
@dataclass
class LutronCasetaData:
@ -15,4 +13,4 @@ class LutronCasetaData:
bridge: Smartbridge
bridge_device: dict[str, Any]
button_devices: dict[str, DeviceEntry]
button_devices: dict[str, dict]

View File

@ -2756,15 +2756,6 @@ ignore_errors = true
[mypy-homeassistant.components.lovelace.websocket]
ignore_errors = true
[mypy-homeassistant.components.lutron_caseta]
ignore_errors = true
[mypy-homeassistant.components.lutron_caseta.device_trigger]
ignore_errors = true
[mypy-homeassistant.components.lutron_caseta.switch]
ignore_errors = true
[mypy-homeassistant.components.lyric.climate]
ignore_errors = true

View File

@ -64,9 +64,6 @@ IGNORED_MODULES: Final[list[str]] = [
"homeassistant.components.lovelace.dashboard",
"homeassistant.components.lovelace.resources",
"homeassistant.components.lovelace.websocket",
"homeassistant.components.lutron_caseta",
"homeassistant.components.lutron_caseta.device_trigger",
"homeassistant.components.lutron_caseta.switch",
"homeassistant.components.lyric.climate",
"homeassistant.components.lyric.config_flow",
"homeassistant.components.lyric.sensor",