Improve Anova typing (#99146)
This commit is contained in:
parent
a48c7f67b4
commit
65103d4515
3 changed files with 14 additions and 13 deletions
|
@ -6,7 +6,7 @@ import logging
|
|||
from anova_wifi import AnovaApi, AnovaPrecisionCooker, InvalidLogin, NoDevicesFound
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, Platform
|
||||
from homeassistant.const import CONF_DEVICES, CONF_PASSWORD, CONF_USERNAME, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import aiohttp_client
|
||||
|
||||
|
@ -42,7 +42,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
device[1],
|
||||
api.jwt,
|
||||
)
|
||||
for device in entry.data["devices"]
|
||||
for device in entry.data[CONF_DEVICES]
|
||||
]
|
||||
try:
|
||||
new_devices = await api.get_devices()
|
||||
|
@ -55,7 +55,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
entry,
|
||||
data={
|
||||
**entry.data,
|
||||
**{"devices": serialize_device_list(devices)},
|
||||
**{CONF_DEVICES: serialize_device_list(devices)},
|
||||
},
|
||||
)
|
||||
coordinators = [AnovaCoordinator(hass, device) for device in devices]
|
||||
|
|
|
@ -4,16 +4,16 @@ from __future__ import annotations
|
|||
from anova_wifi import AnovaApi, InvalidLogin, NoDevicesFound
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.config_entries import ConfigFlow
|
||||
from homeassistant.const import CONF_DEVICES, CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers import aiohttp_client
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
|
||||
from .const import DOMAIN
|
||||
from .util import serialize_device_list
|
||||
|
||||
|
||||
class AnovaConfligFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
class AnovaConfligFlow(ConfigFlow, domain=DOMAIN):
|
||||
"""Sets up a config flow for Anova."""
|
||||
|
||||
VERSION = 1
|
||||
|
@ -25,7 +25,7 @@ class AnovaConfligFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
errors: dict[str, str] = {}
|
||||
if user_input is not None:
|
||||
api = AnovaApi(
|
||||
aiohttp_client.async_get_clientsession(self.hass),
|
||||
async_get_clientsession(self.hass),
|
||||
user_input[CONF_USERNAME],
|
||||
user_input[CONF_PASSWORD],
|
||||
)
|
||||
|
@ -48,7 +48,7 @@ class AnovaConfligFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
data={
|
||||
CONF_USERNAME: api.username,
|
||||
CONF_PASSWORD: api.password,
|
||||
"devices": device_list,
|
||||
CONF_DEVICES: device_list,
|
||||
},
|
||||
)
|
||||
|
||||
|
|
|
@ -8,18 +8,19 @@ from .coordinator import AnovaCoordinator
|
|||
|
||||
|
||||
class AnovaEntity(CoordinatorEntity[AnovaCoordinator], Entity):
|
||||
"""Defines a Anova entity."""
|
||||
"""Defines an Anova entity."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
|
||||
def __init__(self, coordinator: AnovaCoordinator) -> None:
|
||||
"""Initialize the Anova entity."""
|
||||
super().__init__(coordinator)
|
||||
self.device = coordinator.anova_device
|
||||
self._attr_device_info = coordinator.device_info
|
||||
self._attr_has_entity_name = True
|
||||
|
||||
|
||||
class AnovaDescriptionEntity(AnovaEntity, Entity):
|
||||
"""Defines a Anova entity that uses a description."""
|
||||
class AnovaDescriptionEntity(AnovaEntity):
|
||||
"""Defines an Anova entity that uses a description."""
|
||||
|
||||
def __init__(
|
||||
self, coordinator: AnovaCoordinator, description: EntityDescription
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue