mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
Improve Anova typing (#99146)
This commit is contained in:
parent
a48c7f67b4
commit
65103d4515
@ -6,7 +6,7 @@ import logging
|
|||||||
from anova_wifi import AnovaApi, AnovaPrecisionCooker, InvalidLogin, NoDevicesFound
|
from anova_wifi import AnovaApi, AnovaPrecisionCooker, InvalidLogin, NoDevicesFound
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
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.core import HomeAssistant
|
||||||
from homeassistant.helpers import aiohttp_client
|
from homeassistant.helpers import aiohttp_client
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
device[1],
|
device[1],
|
||||||
api.jwt,
|
api.jwt,
|
||||||
)
|
)
|
||||||
for device in entry.data["devices"]
|
for device in entry.data[CONF_DEVICES]
|
||||||
]
|
]
|
||||||
try:
|
try:
|
||||||
new_devices = await api.get_devices()
|
new_devices = await api.get_devices()
|
||||||
@ -55,7 +55,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
entry,
|
entry,
|
||||||
data={
|
data={
|
||||||
**entry.data,
|
**entry.data,
|
||||||
**{"devices": serialize_device_list(devices)},
|
**{CONF_DEVICES: serialize_device_list(devices)},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
coordinators = [AnovaCoordinator(hass, device) for device in devices]
|
coordinators = [AnovaCoordinator(hass, device) for device in devices]
|
||||||
|
@ -4,16 +4,16 @@ from __future__ import annotations
|
|||||||
from anova_wifi import AnovaApi, InvalidLogin, NoDevicesFound
|
from anova_wifi import AnovaApi, InvalidLogin, NoDevicesFound
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant.config_entries import ConfigFlow
|
||||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
from homeassistant.const import CONF_DEVICES, CONF_PASSWORD, CONF_USERNAME
|
||||||
from homeassistant.data_entry_flow import FlowResult
|
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 .const import DOMAIN
|
||||||
from .util import serialize_device_list
|
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."""
|
"""Sets up a config flow for Anova."""
|
||||||
|
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
@ -25,7 +25,7 @@ class AnovaConfligFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
errors: dict[str, str] = {}
|
errors: dict[str, str] = {}
|
||||||
if user_input is not None:
|
if user_input is not None:
|
||||||
api = AnovaApi(
|
api = AnovaApi(
|
||||||
aiohttp_client.async_get_clientsession(self.hass),
|
async_get_clientsession(self.hass),
|
||||||
user_input[CONF_USERNAME],
|
user_input[CONF_USERNAME],
|
||||||
user_input[CONF_PASSWORD],
|
user_input[CONF_PASSWORD],
|
||||||
)
|
)
|
||||||
@ -48,7 +48,7 @@ class AnovaConfligFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
data={
|
data={
|
||||||
CONF_USERNAME: api.username,
|
CONF_USERNAME: api.username,
|
||||||
CONF_PASSWORD: api.password,
|
CONF_PASSWORD: api.password,
|
||||||
"devices": device_list,
|
CONF_DEVICES: device_list,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,18 +8,19 @@ from .coordinator import AnovaCoordinator
|
|||||||
|
|
||||||
|
|
||||||
class AnovaEntity(CoordinatorEntity[AnovaCoordinator], Entity):
|
class AnovaEntity(CoordinatorEntity[AnovaCoordinator], Entity):
|
||||||
"""Defines a Anova entity."""
|
"""Defines an Anova entity."""
|
||||||
|
|
||||||
|
_attr_has_entity_name = True
|
||||||
|
|
||||||
def __init__(self, coordinator: AnovaCoordinator) -> None:
|
def __init__(self, coordinator: AnovaCoordinator) -> None:
|
||||||
"""Initialize the Anova entity."""
|
"""Initialize the Anova entity."""
|
||||||
super().__init__(coordinator)
|
super().__init__(coordinator)
|
||||||
self.device = coordinator.anova_device
|
self.device = coordinator.anova_device
|
||||||
self._attr_device_info = coordinator.device_info
|
self._attr_device_info = coordinator.device_info
|
||||||
self._attr_has_entity_name = True
|
|
||||||
|
|
||||||
|
|
||||||
class AnovaDescriptionEntity(AnovaEntity, Entity):
|
class AnovaDescriptionEntity(AnovaEntity):
|
||||||
"""Defines a Anova entity that uses a description."""
|
"""Defines an Anova entity that uses a description."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, coordinator: AnovaCoordinator, description: EntityDescription
|
self, coordinator: AnovaCoordinator, description: EntityDescription
|
||||||
|
Loading…
x
Reference in New Issue
Block a user