Replace HomeAssistantType with HomeAssistant for integrations m* - n* (#49566)
* Integration neato: rename HomeAssistantType to HomeAssistant. * Integration mysensors: rename HomeAssistantType to HomeAssistant. * Integration mobile_app: rename HomeAssistantType to HomeAssistant. * Integration minecraft_server: rename HomeAssistantType to HomeAssistant. * Clean up Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
parent
c3d9aaa896
commit
d76993034e
24 changed files with 92 additions and 102 deletions
|
@ -10,14 +10,14 @@ from mcstatus.server import MinecraftServer as MCStatus
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT
|
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import (
|
from homeassistant.helpers.dispatcher import (
|
||||||
async_dispatcher_connect,
|
async_dispatcher_connect,
|
||||||
async_dispatcher_send,
|
async_dispatcher_send,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
|
|
||||||
from . import helpers
|
from . import helpers
|
||||||
from .const import DOMAIN, MANUFACTURER, SCAN_INTERVAL, SIGNAL_NAME_PREFIX
|
from .const import DOMAIN, MANUFACTURER, SCAN_INTERVAL, SIGNAL_NAME_PREFIX
|
||||||
|
@ -27,7 +27,7 @@ PLATFORMS = ["binary_sensor", "sensor"]
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistantType, config_entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
||||||
"""Set up Minecraft Server from a config entry."""
|
"""Set up Minecraft Server from a config entry."""
|
||||||
domain_data = hass.data.setdefault(DOMAIN, {})
|
domain_data = hass.data.setdefault(DOMAIN, {})
|
||||||
|
|
||||||
|
@ -52,9 +52,7 @@ async def async_setup_entry(hass: HomeAssistantType, config_entry: ConfigEntry)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def async_unload_entry(
|
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry
|
|
||||||
) -> bool:
|
|
||||||
"""Unload Minecraft Server config entry."""
|
"""Unload Minecraft Server config entry."""
|
||||||
unique_id = config_entry.unique_id
|
unique_id = config_entry.unique_id
|
||||||
server = hass.data[DOMAIN][unique_id]
|
server = hass.data[DOMAIN][unique_id]
|
||||||
|
@ -81,7 +79,7 @@ class MinecraftServer:
|
||||||
_MAX_RETRIES_STATUS = 3
|
_MAX_RETRIES_STATUS = 3
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, hass: HomeAssistantType, unique_id: str, config_data: ConfigType
|
self, hass: HomeAssistant, unique_id: str, config_data: ConfigType
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize server instance."""
|
"""Initialize server instance."""
|
||||||
self._hass = hass
|
self._hass = hass
|
||||||
|
|
|
@ -5,14 +5,14 @@ from homeassistant.components.binary_sensor import (
|
||||||
BinarySensorEntity,
|
BinarySensorEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import MinecraftServer, MinecraftServerEntity
|
from . import MinecraftServer, MinecraftServerEntity
|
||||||
from .const import DOMAIN, ICON_STATUS, NAME_STATUS
|
from .const import DOMAIN, ICON_STATUS, NAME_STATUS
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Set up the Minecraft Server binary sensor platform."""
|
"""Set up the Minecraft Server binary sensor platform."""
|
||||||
server = hass.data[DOMAIN][config_entry.unique_id]
|
server = hass.data[DOMAIN][config_entry.unique_id]
|
||||||
|
|
|
@ -6,12 +6,12 @@ from typing import Any
|
||||||
import aiodns
|
import aiodns
|
||||||
|
|
||||||
from homeassistant.const import CONF_HOST, CONF_PORT
|
from homeassistant.const import CONF_HOST, CONF_PORT
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from .const import SRV_RECORD_PREFIX
|
from .const import SRV_RECORD_PREFIX
|
||||||
|
|
||||||
|
|
||||||
async def async_check_srv_record(hass: HomeAssistantType, host: str) -> dict[str, Any]:
|
async def async_check_srv_record(hass: HomeAssistant, host: str) -> dict[str, Any]:
|
||||||
"""Check if the given host is a valid Minecraft SRV record."""
|
"""Check if the given host is a valid Minecraft SRV record."""
|
||||||
# Check if 'host' is a valid SRV record.
|
# Check if 'host' is a valid SRV record.
|
||||||
return_value = None
|
return_value = None
|
||||||
|
|
|
@ -6,7 +6,7 @@ from typing import Any
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from homeassistant.components.sensor import SensorEntity
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import TIME_MILLISECONDS
|
from homeassistant.const import TIME_MILLISECONDS
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import MinecraftServer, MinecraftServerEntity
|
from . import MinecraftServer, MinecraftServerEntity
|
||||||
from .const import (
|
from .const import (
|
||||||
|
@ -30,7 +30,7 @@ from .const import (
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Set up the Minecraft Server sensor platform."""
|
"""Set up the Minecraft Server sensor platform."""
|
||||||
server = hass.data[DOMAIN][config_entry.unique_id]
|
server = hass.data[DOMAIN][config_entry.unique_id]
|
||||||
|
|
|
@ -8,8 +8,9 @@ from homeassistant.components.webhook import (
|
||||||
async_unregister as webhook_unregister,
|
async_unregister as webhook_unregister,
|
||||||
)
|
)
|
||||||
from homeassistant.const import ATTR_DEVICE_ID, CONF_WEBHOOK_ID
|
from homeassistant.const import ATTR_DEVICE_ID, CONF_WEBHOOK_ID
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import device_registry as dr, discovery
|
from homeassistant.helpers import device_registry as dr, discovery
|
||||||
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_DEVICE_NAME,
|
ATTR_DEVICE_NAME,
|
||||||
|
@ -32,7 +33,7 @@ from .webhook import handle_webhook
|
||||||
PLATFORMS = "sensor", "binary_sensor", "device_tracker"
|
PLATFORMS = "sensor", "binary_sensor", "device_tracker"
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass: HomeAssistantType, config: ConfigType):
|
async def async_setup(hass: HomeAssistant, config: ConfigType):
|
||||||
"""Set up the mobile app component."""
|
"""Set up the mobile app component."""
|
||||||
store = hass.helpers.storage.Store(STORAGE_VERSION, STORAGE_KEY)
|
store = hass.helpers.storage.Store(STORAGE_VERSION, STORAGE_KEY)
|
||||||
app_config = await store.async_load()
|
app_config = await store.async_load()
|
||||||
|
|
|
@ -15,9 +15,8 @@ from homeassistant.const import (
|
||||||
HTTP_BAD_REQUEST,
|
HTTP_BAD_REQUEST,
|
||||||
HTTP_OK,
|
HTTP_OK,
|
||||||
)
|
)
|
||||||
from homeassistant.core import Context
|
from homeassistant.core import Context, HomeAssistant
|
||||||
from homeassistant.helpers.json import JSONEncoder
|
from homeassistant.helpers.json import JSONEncoder
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_APP_DATA,
|
ATTR_APP_DATA,
|
||||||
|
@ -139,7 +138,7 @@ def safe_registration(registration: dict) -> dict:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def savable_state(hass: HomeAssistantType) -> dict:
|
def savable_state(hass: HomeAssistant) -> dict:
|
||||||
"""Return a clean object containing things that should be saved."""
|
"""Return a clean object containing things that should be saved."""
|
||||||
return {
|
return {
|
||||||
DATA_DELETED_IDS: hass.data[DOMAIN][DATA_DELETED_IDS],
|
DATA_DELETED_IDS: hass.data[DOMAIN][DATA_DELETED_IDS],
|
||||||
|
|
|
@ -33,7 +33,7 @@ from homeassistant.const import (
|
||||||
HTTP_BAD_REQUEST,
|
HTTP_BAD_REQUEST,
|
||||||
HTTP_CREATED,
|
HTTP_CREATED,
|
||||||
)
|
)
|
||||||
from homeassistant.core import EventOrigin
|
from homeassistant.core import EventOrigin, HomeAssistant
|
||||||
from homeassistant.exceptions import HomeAssistantError, ServiceNotFound
|
from homeassistant.exceptions import HomeAssistantError, ServiceNotFound
|
||||||
from homeassistant.helpers import (
|
from homeassistant.helpers import (
|
||||||
config_validation as cv,
|
config_validation as cv,
|
||||||
|
@ -42,7 +42,6 @@ from homeassistant.helpers import (
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
from homeassistant.util.decorator import Registry
|
from homeassistant.util.decorator import Registry
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
|
@ -145,7 +144,7 @@ def validate_schema(schema):
|
||||||
|
|
||||||
|
|
||||||
async def handle_webhook(
|
async def handle_webhook(
|
||||||
hass: HomeAssistantType, webhook_id: str, request: Request
|
hass: HomeAssistant, webhook_id: str, request: Request
|
||||||
) -> Response:
|
) -> Response:
|
||||||
"""Handle webhook callback."""
|
"""Handle webhook callback."""
|
||||||
if webhook_id in hass.data[DOMAIN][DATA_DELETED_IDS]:
|
if webhook_id in hass.data[DOMAIN][DATA_DELETED_IDS]:
|
||||||
|
|
|
@ -19,7 +19,7 @@ from homeassistant.core import HomeAssistant, callback
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.discovery import async_load_platform
|
from homeassistant.helpers.discovery import async_load_platform
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_DEVICES,
|
ATTR_DEVICES,
|
||||||
|
@ -142,7 +142,7 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass: HomeAssistantType, config: ConfigType) -> bool:
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
||||||
"""Set up the MySensors component."""
|
"""Set up the MySensors component."""
|
||||||
hass.data[DOMAIN] = {DATA_HASS_CONFIG: config}
|
hass.data[DOMAIN] = {DATA_HASS_CONFIG: config}
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ async def async_setup(hass: HomeAssistantType, config: ConfigType) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
"""Set up an instance of the MySensors integration.
|
"""Set up an instance of the MySensors integration.
|
||||||
|
|
||||||
Every instance has a connection to exactly one Gateway.
|
Every instance has a connection to exactly one Gateway.
|
||||||
|
@ -234,7 +234,7 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def async_unload_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool:
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
"""Remove an instance of the MySensors integration."""
|
"""Remove an instance of the MySensors integration."""
|
||||||
|
|
||||||
gateway = get_mysensors_gateway(hass, entry.entry_id)
|
gateway = get_mysensors_gateway(hass, entry.entry_id)
|
||||||
|
|
|
@ -16,9 +16,8 @@ from homeassistant.components.mysensors import on_unload
|
||||||
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import STATE_ON
|
from homeassistant.const import STATE_ON
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
SENSORS = {
|
SENSORS = {
|
||||||
"S_DOOR": "door",
|
"S_DOOR": "door",
|
||||||
|
@ -33,7 +32,7 @@ SENSORS = {
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ from homeassistant.components.mysensors import on_unload
|
||||||
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
||||||
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
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
DICT_HA_TO_MYS = {
|
DICT_HA_TO_MYS = {
|
||||||
HVAC_MODE_AUTO: "AutoChangeOver",
|
HVAC_MODE_AUTO: "AutoChangeOver",
|
||||||
|
@ -40,7 +40,7 @@ OPERATION_LIST = [HVAC_MODE_OFF, HVAC_MODE_AUTO, HVAC_MODE_COOL, HVAC_MODE_HEAT]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ from homeassistant.components.mysensors import on_unload
|
||||||
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import STATE_OFF, STATE_ON
|
from homeassistant.const import STATE_OFF, STATE_ON
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ class CoverState(Enum):
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,13 @@ from homeassistant.components import mysensors
|
||||||
from homeassistant.components.device_tracker import DOMAIN
|
from homeassistant.components.device_tracker import DOMAIN
|
||||||
from homeassistant.components.mysensors import DevId, on_unload
|
from homeassistant.components.mysensors import DevId, on_unload
|
||||||
from homeassistant.components.mysensors.const import ATTR_GATEWAY_ID, GatewayId
|
from homeassistant.components.mysensors.const import ATTR_GATEWAY_ID, GatewayId
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
from homeassistant.util import slugify
|
from homeassistant.util import slugify
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_scanner(
|
async def async_setup_scanner(
|
||||||
hass: HomeAssistantType, config, async_see, discovery_info=None
|
hass: HomeAssistant, config, async_see, discovery_info=None
|
||||||
):
|
):
|
||||||
"""Set up the MySensors device scanner."""
|
"""Set up the MySensors device scanner."""
|
||||||
if not discovery_info:
|
if not discovery_info:
|
||||||
|
@ -53,7 +53,7 @@ async def async_setup_scanner(
|
||||||
class MySensorsDeviceScanner(mysensors.device.MySensorsDevice):
|
class MySensorsDeviceScanner(mysensors.device.MySensorsDevice):
|
||||||
"""Represent a MySensors scanner."""
|
"""Represent a MySensors scanner."""
|
||||||
|
|
||||||
def __init__(self, hass: HomeAssistantType, async_see, *args):
|
def __init__(self, hass: HomeAssistant, async_see, *args):
|
||||||
"""Set up instance."""
|
"""Set up instance."""
|
||||||
super().__init__(*args)
|
super().__init__(*args)
|
||||||
self.async_see = async_see
|
self.async_see = async_see
|
||||||
|
|
|
@ -16,9 +16,8 @@ import voluptuous as vol
|
||||||
from homeassistant.components.mqtt import DOMAIN as MQTT_DOMAIN
|
from homeassistant.components.mqtt import DOMAIN as MQTT_DOMAIN
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import EVENT_HOMEASSISTANT_STOP
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP
|
||||||
from homeassistant.core import Event, callback
|
from homeassistant.core import Event, HomeAssistant, callback
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
CONF_BAUD_RATE,
|
CONF_BAUD_RATE,
|
||||||
|
@ -67,7 +66,7 @@ def is_socket_address(value):
|
||||||
raise vol.Invalid("Device is not a valid domain name or ip address") from err
|
raise vol.Invalid("Device is not a valid domain name or ip address") from err
|
||||||
|
|
||||||
|
|
||||||
async def try_connect(hass: HomeAssistantType, user_input: dict[str, str]) -> bool:
|
async def try_connect(hass: HomeAssistant, user_input: dict[str, str]) -> bool:
|
||||||
"""Try to connect to a gateway and report if it worked."""
|
"""Try to connect to a gateway and report if it worked."""
|
||||||
if user_input[CONF_DEVICE] == MQTT_COMPONENT:
|
if user_input[CONF_DEVICE] == MQTT_COMPONENT:
|
||||||
return True # dont validate mqtt. mqtt gateways dont send ready messages :(
|
return True # dont validate mqtt. mqtt gateways dont send ready messages :(
|
||||||
|
@ -113,7 +112,7 @@ async def try_connect(hass: HomeAssistantType, user_input: dict[str, str]) -> bo
|
||||||
|
|
||||||
|
|
||||||
def get_mysensors_gateway(
|
def get_mysensors_gateway(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId
|
hass: HomeAssistant, gateway_id: GatewayId
|
||||||
) -> BaseAsyncGateway | None:
|
) -> BaseAsyncGateway | None:
|
||||||
"""Return the Gateway for a given GatewayId."""
|
"""Return the Gateway for a given GatewayId."""
|
||||||
if MYSENSORS_GATEWAYS not in hass.data[DOMAIN]:
|
if MYSENSORS_GATEWAYS not in hass.data[DOMAIN]:
|
||||||
|
@ -123,7 +122,7 @@ def get_mysensors_gateway(
|
||||||
|
|
||||||
|
|
||||||
async def setup_gateway(
|
async def setup_gateway(
|
||||||
hass: HomeAssistantType, entry: ConfigEntry
|
hass: HomeAssistant, entry: ConfigEntry
|
||||||
) -> BaseAsyncGateway | None:
|
) -> BaseAsyncGateway | None:
|
||||||
"""Set up the Gateway for the given ConfigEntry."""
|
"""Set up the Gateway for the given ConfigEntry."""
|
||||||
|
|
||||||
|
@ -145,7 +144,7 @@ async def setup_gateway(
|
||||||
|
|
||||||
|
|
||||||
async def _get_gateway(
|
async def _get_gateway(
|
||||||
hass: HomeAssistantType,
|
hass: HomeAssistant,
|
||||||
device: str,
|
device: str,
|
||||||
version: str,
|
version: str,
|
||||||
event_callback: Callable[[Message], None],
|
event_callback: Callable[[Message], None],
|
||||||
|
@ -233,7 +232,7 @@ async def _get_gateway(
|
||||||
|
|
||||||
|
|
||||||
async def finish_setup(
|
async def finish_setup(
|
||||||
hass: HomeAssistantType, entry: ConfigEntry, gateway: BaseAsyncGateway
|
hass: HomeAssistant, entry: ConfigEntry, gateway: BaseAsyncGateway
|
||||||
):
|
):
|
||||||
"""Load any persistent devices and platforms and start gateway."""
|
"""Load any persistent devices and platforms and start gateway."""
|
||||||
discover_tasks = []
|
discover_tasks = []
|
||||||
|
@ -248,7 +247,7 @@ async def finish_setup(
|
||||||
|
|
||||||
|
|
||||||
async def _discover_persistent_devices(
|
async def _discover_persistent_devices(
|
||||||
hass: HomeAssistantType, entry: ConfigEntry, gateway: BaseAsyncGateway
|
hass: HomeAssistant, entry: ConfigEntry, gateway: BaseAsyncGateway
|
||||||
):
|
):
|
||||||
"""Discover platforms for devices loaded via persistence file."""
|
"""Discover platforms for devices loaded via persistence file."""
|
||||||
tasks = []
|
tasks = []
|
||||||
|
@ -278,9 +277,7 @@ async def gw_stop(hass, entry: ConfigEntry, gateway: BaseAsyncGateway):
|
||||||
await gateway.stop()
|
await gateway.stop()
|
||||||
|
|
||||||
|
|
||||||
async def _gw_start(
|
async def _gw_start(hass: HomeAssistant, entry: ConfigEntry, gateway: BaseAsyncGateway):
|
||||||
hass: HomeAssistantType, entry: ConfigEntry, gateway: BaseAsyncGateway
|
|
||||||
):
|
|
||||||
"""Start the gateway."""
|
"""Start the gateway."""
|
||||||
gateway_ready = asyncio.Event()
|
gateway_ready = asyncio.Event()
|
||||||
|
|
||||||
|
@ -319,7 +316,7 @@ async def _gw_start(
|
||||||
|
|
||||||
|
|
||||||
def _gw_callback_factory(
|
def _gw_callback_factory(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId
|
hass: HomeAssistant, gateway_id: GatewayId
|
||||||
) -> Callable[[Message], None]:
|
) -> Callable[[Message], None]:
|
||||||
"""Return a new callback for the gateway."""
|
"""Return a new callback for the gateway."""
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,8 @@ from __future__ import annotations
|
||||||
|
|
||||||
from mysensors import Message
|
from mysensors import Message
|
||||||
|
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
from homeassistant.util import decorator
|
from homeassistant.util import decorator
|
||||||
|
|
||||||
from .const import CHILD_CALLBACK, NODE_CALLBACK, DevId, GatewayId
|
from .const import CHILD_CALLBACK, NODE_CALLBACK, DevId, GatewayId
|
||||||
|
@ -16,9 +15,7 @@ HANDLERS = decorator.Registry()
|
||||||
|
|
||||||
|
|
||||||
@HANDLERS.register("set")
|
@HANDLERS.register("set")
|
||||||
async def handle_set(
|
async def handle_set(hass: HomeAssistant, gateway_id: GatewayId, msg: Message) -> None:
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
|
||||||
) -> None:
|
|
||||||
"""Handle a mysensors set message."""
|
"""Handle a mysensors set message."""
|
||||||
validated = validate_set_msg(gateway_id, msg)
|
validated = validate_set_msg(gateway_id, msg)
|
||||||
_handle_child_update(hass, gateway_id, validated)
|
_handle_child_update(hass, gateway_id, validated)
|
||||||
|
@ -26,7 +23,7 @@ async def handle_set(
|
||||||
|
|
||||||
@HANDLERS.register("internal")
|
@HANDLERS.register("internal")
|
||||||
async def handle_internal(
|
async def handle_internal(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
hass: HomeAssistant, gateway_id: GatewayId, msg: Message
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle a mysensors internal message."""
|
"""Handle a mysensors internal message."""
|
||||||
internal = msg.gateway.const.Internal(msg.sub_type)
|
internal = msg.gateway.const.Internal(msg.sub_type)
|
||||||
|
@ -38,7 +35,7 @@ async def handle_internal(
|
||||||
|
|
||||||
@HANDLERS.register("I_BATTERY_LEVEL")
|
@HANDLERS.register("I_BATTERY_LEVEL")
|
||||||
async def handle_battery_level(
|
async def handle_battery_level(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
hass: HomeAssistant, gateway_id: GatewayId, msg: Message
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle an internal battery level message."""
|
"""Handle an internal battery level message."""
|
||||||
_handle_node_update(hass, gateway_id, msg)
|
_handle_node_update(hass, gateway_id, msg)
|
||||||
|
@ -46,7 +43,7 @@ async def handle_battery_level(
|
||||||
|
|
||||||
@HANDLERS.register("I_HEARTBEAT_RESPONSE")
|
@HANDLERS.register("I_HEARTBEAT_RESPONSE")
|
||||||
async def handle_heartbeat(
|
async def handle_heartbeat(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
hass: HomeAssistant, gateway_id: GatewayId, msg: Message
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle an heartbeat."""
|
"""Handle an heartbeat."""
|
||||||
_handle_node_update(hass, gateway_id, msg)
|
_handle_node_update(hass, gateway_id, msg)
|
||||||
|
@ -54,7 +51,7 @@ async def handle_heartbeat(
|
||||||
|
|
||||||
@HANDLERS.register("I_SKETCH_NAME")
|
@HANDLERS.register("I_SKETCH_NAME")
|
||||||
async def handle_sketch_name(
|
async def handle_sketch_name(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
hass: HomeAssistant, gateway_id: GatewayId, msg: Message
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle an internal sketch name message."""
|
"""Handle an internal sketch name message."""
|
||||||
_handle_node_update(hass, gateway_id, msg)
|
_handle_node_update(hass, gateway_id, msg)
|
||||||
|
@ -62,7 +59,7 @@ async def handle_sketch_name(
|
||||||
|
|
||||||
@HANDLERS.register("I_SKETCH_VERSION")
|
@HANDLERS.register("I_SKETCH_VERSION")
|
||||||
async def handle_sketch_version(
|
async def handle_sketch_version(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, msg: Message
|
hass: HomeAssistant, gateway_id: GatewayId, msg: Message
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle an internal sketch version message."""
|
"""Handle an internal sketch version message."""
|
||||||
_handle_node_update(hass, gateway_id, msg)
|
_handle_node_update(hass, gateway_id, msg)
|
||||||
|
@ -70,7 +67,7 @@ async def handle_sketch_version(
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _handle_child_update(
|
def _handle_child_update(
|
||||||
hass: HomeAssistantType, gateway_id: GatewayId, validated: dict[str, list[DevId]]
|
hass: HomeAssistant, gateway_id: GatewayId, validated: dict[str, list[DevId]]
|
||||||
):
|
):
|
||||||
"""Handle a child update."""
|
"""Handle a child update."""
|
||||||
signals: list[str] = []
|
signals: list[str] = []
|
||||||
|
@ -94,7 +91,7 @@ def _handle_child_update(
|
||||||
|
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _handle_node_update(hass: HomeAssistantType, gateway_id: GatewayId, msg: Message):
|
def _handle_node_update(hass: HomeAssistant, gateway_id: GatewayId, msg: Message):
|
||||||
"""Handle a node update."""
|
"""Handle a node update."""
|
||||||
signal = NODE_CALLBACK.format(gateway_id, msg.node_id)
|
signal = NODE_CALLBACK.format(gateway_id, msg.node_id)
|
||||||
async_dispatcher_send(hass, signal)
|
async_dispatcher_send(hass, signal)
|
||||||
|
|
|
@ -15,7 +15,6 @@ from homeassistant.const import CONF_NAME
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
from homeassistant.util.decorator import Registry
|
from homeassistant.util.decorator import Registry
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
|
@ -37,7 +36,7 @@ SCHEMAS = Registry()
|
||||||
|
|
||||||
|
|
||||||
async def on_unload(
|
async def on_unload(
|
||||||
hass: HomeAssistantType, entry: ConfigEntry | GatewayId, fnct: Callable
|
hass: HomeAssistant, entry: ConfigEntry | GatewayId, fnct: Callable
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Register a callback to be called when entry is unloaded.
|
"""Register a callback to be called when entry is unloaded.
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,8 @@ from homeassistant.components.mysensors import on_unload
|
||||||
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
from homeassistant.components.mysensors.const import MYSENSORS_DISCOVERY
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import STATE_OFF, STATE_ON
|
from homeassistant.const import STATE_OFF, STATE_ON
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
import homeassistant.util.color as color_util
|
import homeassistant.util.color as color_util
|
||||||
from homeassistant.util.color import rgb_hex_to_rgb_list
|
from homeassistant.util.color import rgb_hex_to_rgb_list
|
||||||
|
|
||||||
|
@ -26,7 +25,7 @@ SUPPORT_MYSENSORS_RGBW = SUPPORT_COLOR | SUPPORT_WHITE_VALUE
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
device_class_map = {
|
device_class_map = {
|
||||||
|
|
|
@ -25,8 +25,8 @@ from homeassistant.const import (
|
||||||
VOLT,
|
VOLT,
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
)
|
)
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
SENSORS = {
|
SENSORS = {
|
||||||
"V_TEMP": [None, "mdi:thermometer"],
|
"V_TEMP": [None, "mdi:thermometer"],
|
||||||
|
@ -64,7 +64,7 @@ SENSORS = {
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,12 @@ import voluptuous as vol
|
||||||
from homeassistant.components import mysensors
|
from homeassistant.components import mysensors
|
||||||
from homeassistant.components.switch import DOMAIN, SwitchEntity
|
from homeassistant.components.switch import DOMAIN, SwitchEntity
|
||||||
from homeassistant.const import ATTR_ENTITY_ID, STATE_OFF, STATE_ON
|
from homeassistant.const import ATTR_ENTITY_ID, STATE_OFF, STATE_ON
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
|
||||||
from . import on_unload
|
from . import on_unload
|
||||||
from ...config_entries import ConfigEntry
|
from ...config_entries import ConfigEntry
|
||||||
from ...helpers.dispatcher import async_dispatcher_connect
|
from ...helpers.dispatcher import async_dispatcher_connect
|
||||||
from ...helpers.typing import HomeAssistantType
|
|
||||||
from .const import DOMAIN as MYSENSORS_DOMAIN, MYSENSORS_DISCOVERY, SERVICE_SEND_IR_CODE
|
from .const import DOMAIN as MYSENSORS_DOMAIN, MYSENSORS_DISCOVERY, SERVICE_SEND_IR_CODE
|
||||||
|
|
||||||
ATTR_IR_CODE = "V_IR_SEND"
|
ATTR_IR_CODE = "V_IR_SEND"
|
||||||
|
@ -22,7 +22,7 @@ SEND_IR_CODE_SERVICE_SCHEMA = vol.Schema(
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistantType, config_entry: ConfigEntry, async_add_entities: Callable
|
hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: Callable
|
||||||
):
|
):
|
||||||
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
"""Set up this platform for a specific ConfigEntry(==Gateway)."""
|
||||||
device_class_map = {
|
device_class_map = {
|
||||||
|
|
|
@ -9,9 +9,10 @@ import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_CLIENT_ID, CONF_CLIENT_SECRET, CONF_TOKEN
|
from homeassistant.const import CONF_CLIENT_ID, CONF_CLIENT_SECRET, CONF_TOKEN
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
|
||||||
from homeassistant.helpers import config_entry_oauth2_flow, config_validation as cv
|
from homeassistant.helpers import config_entry_oauth2_flow, config_validation as cv
|
||||||
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
|
|
||||||
from . import api, config_flow
|
from . import api, config_flow
|
||||||
|
@ -42,7 +43,7 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
PLATFORMS = ["camera", "vacuum", "switch", "sensor"]
|
PLATFORMS = ["camera", "vacuum", "switch", "sensor"]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass: HomeAssistantType, config: ConfigType) -> bool:
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
||||||
"""Set up the Neato component."""
|
"""Set up the Neato component."""
|
||||||
hass.data[NEATO_DOMAIN] = {}
|
hass.data[NEATO_DOMAIN] = {}
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ async def async_setup(hass: HomeAssistantType, config: ConfigType) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
"""Set up config entry."""
|
"""Set up config entry."""
|
||||||
if CONF_TOKEN not in entry.data:
|
if CONF_TOKEN not in entry.data:
|
||||||
raise ConfigEntryAuthFailed
|
raise ConfigEntryAuthFailed
|
||||||
|
@ -99,7 +100,7 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def async_unload_entry(hass: HomeAssistantType, entry: ConfigType) -> bool:
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigType) -> bool:
|
||||||
"""Unload config entry."""
|
"""Unload config entry."""
|
||||||
unload_functions = (
|
unload_functions = (
|
||||||
hass.config_entries.async_forward_entry_unload(entry, platform)
|
hass.config_entries.async_forward_entry_unload(entry, platform)
|
||||||
|
@ -116,9 +117,9 @@ async def async_unload_entry(hass: HomeAssistantType, entry: ConfigType) -> bool
|
||||||
class NeatoHub:
|
class NeatoHub:
|
||||||
"""A My Neato hub wrapper class."""
|
"""A My Neato hub wrapper class."""
|
||||||
|
|
||||||
def __init__(self, hass: HomeAssistantType, neato: Account):
|
def __init__(self, hass: HomeAssistant, neato: Account):
|
||||||
"""Initialize the Neato hub."""
|
"""Initialize the Neato hub."""
|
||||||
self._hass: HomeAssistantType = hass
|
self._hass = hass
|
||||||
self.my_neato: Account = neato
|
self.my_neato: Account = neato
|
||||||
|
|
||||||
@Throttle(timedelta(minutes=1))
|
@Throttle(timedelta(minutes=1))
|
||||||
|
|
|
@ -13,12 +13,12 @@ from homeassistant.components.minecraft_server.const import (
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import SOURCE_USER
|
from homeassistant.config_entries import SOURCE_USER
|
||||||
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT
|
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.data_entry_flow import (
|
from homeassistant.data_entry_flow import (
|
||||||
RESULT_TYPE_ABORT,
|
RESULT_TYPE_ABORT,
|
||||||
RESULT_TYPE_CREATE_ENTRY,
|
RESULT_TYPE_CREATE_ENTRY,
|
||||||
RESULT_TYPE_FORM,
|
RESULT_TYPE_FORM,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ SRV_RECORDS = asyncio.Future()
|
||||||
SRV_RECORDS.set_result([QueryMock()])
|
SRV_RECORDS.set_result([QueryMock()])
|
||||||
|
|
||||||
|
|
||||||
async def test_show_config_form(hass: HomeAssistantType) -> None:
|
async def test_show_config_form(hass: HomeAssistant) -> None:
|
||||||
"""Test if initial configuration form is shown."""
|
"""Test if initial configuration form is shown."""
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN, context={"source": SOURCE_USER}
|
DOMAIN, context={"source": SOURCE_USER}
|
||||||
|
@ -90,7 +90,7 @@ async def test_show_config_form(hass: HomeAssistantType) -> None:
|
||||||
assert result["step_id"] == "user"
|
assert result["step_id"] == "user"
|
||||||
|
|
||||||
|
|
||||||
async def test_invalid_ip(hass: HomeAssistantType) -> None:
|
async def test_invalid_ip(hass: HomeAssistant) -> None:
|
||||||
"""Test error in case of an invalid IP address."""
|
"""Test error in case of an invalid IP address."""
|
||||||
with patch("getmac.get_mac_address", return_value=None):
|
with patch("getmac.get_mac_address", return_value=None):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
|
@ -101,7 +101,7 @@ async def test_invalid_ip(hass: HomeAssistantType) -> None:
|
||||||
assert result["errors"] == {"base": "invalid_ip"}
|
assert result["errors"] == {"base": "invalid_ip"}
|
||||||
|
|
||||||
|
|
||||||
async def test_same_host(hass: HomeAssistantType) -> None:
|
async def test_same_host(hass: HomeAssistant) -> None:
|
||||||
"""Test abort in case of same host name."""
|
"""Test abort in case of same host name."""
|
||||||
with patch("aiodns.DNSResolver.query", side_effect=aiodns.error.DNSError,), patch(
|
with patch("aiodns.DNSResolver.query", side_effect=aiodns.error.DNSError,), patch(
|
||||||
"mcstatus.server.MinecraftServer.status",
|
"mcstatus.server.MinecraftServer.status",
|
||||||
|
@ -126,7 +126,7 @@ async def test_same_host(hass: HomeAssistantType) -> None:
|
||||||
assert result["reason"] == "already_configured"
|
assert result["reason"] == "already_configured"
|
||||||
|
|
||||||
|
|
||||||
async def test_port_too_small(hass: HomeAssistantType) -> None:
|
async def test_port_too_small(hass: HomeAssistant) -> None:
|
||||||
"""Test error in case of a too small port."""
|
"""Test error in case of a too small port."""
|
||||||
with patch(
|
with patch(
|
||||||
"aiodns.DNSResolver.query",
|
"aiodns.DNSResolver.query",
|
||||||
|
@ -140,7 +140,7 @@ async def test_port_too_small(hass: HomeAssistantType) -> None:
|
||||||
assert result["errors"] == {"base": "invalid_port"}
|
assert result["errors"] == {"base": "invalid_port"}
|
||||||
|
|
||||||
|
|
||||||
async def test_port_too_large(hass: HomeAssistantType) -> None:
|
async def test_port_too_large(hass: HomeAssistant) -> None:
|
||||||
"""Test error in case of a too large port."""
|
"""Test error in case of a too large port."""
|
||||||
with patch(
|
with patch(
|
||||||
"aiodns.DNSResolver.query",
|
"aiodns.DNSResolver.query",
|
||||||
|
@ -154,7 +154,7 @@ async def test_port_too_large(hass: HomeAssistantType) -> None:
|
||||||
assert result["errors"] == {"base": "invalid_port"}
|
assert result["errors"] == {"base": "invalid_port"}
|
||||||
|
|
||||||
|
|
||||||
async def test_connection_failed(hass: HomeAssistantType) -> None:
|
async def test_connection_failed(hass: HomeAssistant) -> None:
|
||||||
"""Test error in case of a failed connection."""
|
"""Test error in case of a failed connection."""
|
||||||
with patch(
|
with patch(
|
||||||
"aiodns.DNSResolver.query",
|
"aiodns.DNSResolver.query",
|
||||||
|
@ -168,7 +168,7 @@ async def test_connection_failed(hass: HomeAssistantType) -> None:
|
||||||
assert result["errors"] == {"base": "cannot_connect"}
|
assert result["errors"] == {"base": "cannot_connect"}
|
||||||
|
|
||||||
|
|
||||||
async def test_connection_succeeded_with_srv_record(hass: HomeAssistantType) -> None:
|
async def test_connection_succeeded_with_srv_record(hass: HomeAssistant) -> None:
|
||||||
"""Test config entry in case of a successful connection with a SRV record."""
|
"""Test config entry in case of a successful connection with a SRV record."""
|
||||||
with patch("aiodns.DNSResolver.query", return_value=SRV_RECORDS,), patch(
|
with patch("aiodns.DNSResolver.query", return_value=SRV_RECORDS,), patch(
|
||||||
"mcstatus.server.MinecraftServer.status",
|
"mcstatus.server.MinecraftServer.status",
|
||||||
|
@ -184,7 +184,7 @@ async def test_connection_succeeded_with_srv_record(hass: HomeAssistantType) ->
|
||||||
assert result["data"][CONF_HOST] == USER_INPUT_SRV[CONF_HOST]
|
assert result["data"][CONF_HOST] == USER_INPUT_SRV[CONF_HOST]
|
||||||
|
|
||||||
|
|
||||||
async def test_connection_succeeded_with_host(hass: HomeAssistantType) -> None:
|
async def test_connection_succeeded_with_host(hass: HomeAssistant) -> None:
|
||||||
"""Test config entry in case of a successful connection with a host name."""
|
"""Test config entry in case of a successful connection with a host name."""
|
||||||
with patch("aiodns.DNSResolver.query", side_effect=aiodns.error.DNSError,), patch(
|
with patch("aiodns.DNSResolver.query", side_effect=aiodns.error.DNSError,), patch(
|
||||||
"mcstatus.server.MinecraftServer.status",
|
"mcstatus.server.MinecraftServer.status",
|
||||||
|
@ -200,7 +200,7 @@ async def test_connection_succeeded_with_host(hass: HomeAssistantType) -> None:
|
||||||
assert result["data"][CONF_HOST] == "mc.dummyserver.com"
|
assert result["data"][CONF_HOST] == "mc.dummyserver.com"
|
||||||
|
|
||||||
|
|
||||||
async def test_connection_succeeded_with_ip4(hass: HomeAssistantType) -> None:
|
async def test_connection_succeeded_with_ip4(hass: HomeAssistant) -> None:
|
||||||
"""Test config entry in case of a successful connection with an IPv4 address."""
|
"""Test config entry in case of a successful connection with an IPv4 address."""
|
||||||
with patch("getmac.get_mac_address", return_value="01:23:45:67:89:ab"), patch(
|
with patch("getmac.get_mac_address", return_value="01:23:45:67:89:ab"), patch(
|
||||||
"aiodns.DNSResolver.query",
|
"aiodns.DNSResolver.query",
|
||||||
|
@ -219,7 +219,7 @@ async def test_connection_succeeded_with_ip4(hass: HomeAssistantType) -> None:
|
||||||
assert result["data"][CONF_HOST] == "1.1.1.1"
|
assert result["data"][CONF_HOST] == "1.1.1.1"
|
||||||
|
|
||||||
|
|
||||||
async def test_connection_succeeded_with_ip6(hass: HomeAssistantType) -> None:
|
async def test_connection_succeeded_with_ip6(hass: HomeAssistant) -> None:
|
||||||
"""Test config entry in case of a successful connection with an IPv6 address."""
|
"""Test config entry in case of a successful connection with an IPv6 address."""
|
||||||
with patch("getmac.get_mac_address", return_value="01:23:45:67:89:ab"), patch(
|
with patch("getmac.get_mac_address", return_value="01:23:45:67:89:ab"), patch(
|
||||||
"aiodns.DNSResolver.query",
|
"aiodns.DNSResolver.query",
|
||||||
|
|
|
@ -23,13 +23,13 @@ from homeassistant.components.mysensors.const import (
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
ConfGatewayType,
|
ConfGatewayType,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
async def get_form(
|
async def get_form(
|
||||||
hass: HomeAssistantType, gatway_type: ConfGatewayType, expected_step_id: str
|
hass: HomeAssistant, gatway_type: ConfGatewayType, expected_step_id: str
|
||||||
):
|
):
|
||||||
"""Get a form for the given gateway type."""
|
"""Get a form for the given gateway type."""
|
||||||
await setup.async_setup_component(hass, "persistent_notification", {})
|
await setup.async_setup_component(hass, "persistent_notification", {})
|
||||||
|
@ -50,7 +50,7 @@ async def get_form(
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
async def test_config_mqtt(hass: HomeAssistantType, mqtt: None) -> None:
|
async def test_config_mqtt(hass: HomeAssistant, mqtt: None) -> None:
|
||||||
"""Test configuring a mqtt gateway."""
|
"""Test configuring a mqtt gateway."""
|
||||||
step = await get_form(hass, CONF_GATEWAY_TYPE_MQTT, "gw_mqtt")
|
step = await get_form(hass, CONF_GATEWAY_TYPE_MQTT, "gw_mqtt")
|
||||||
flow_id = step["flow_id"]
|
flow_id = step["flow_id"]
|
||||||
|
@ -88,7 +88,7 @@ async def test_config_mqtt(hass: HomeAssistantType, mqtt: None) -> None:
|
||||||
assert len(mock_setup_entry.mock_calls) == 1
|
assert len(mock_setup_entry.mock_calls) == 1
|
||||||
|
|
||||||
|
|
||||||
async def test_missing_mqtt(hass: HomeAssistantType) -> None:
|
async def test_missing_mqtt(hass: HomeAssistant) -> None:
|
||||||
"""Test configuring a mqtt gateway without mqtt integration setup."""
|
"""Test configuring a mqtt gateway without mqtt integration setup."""
|
||||||
await setup.async_setup_component(hass, "persistent_notification", {})
|
await setup.async_setup_component(hass, "persistent_notification", {})
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
|
@ -106,7 +106,7 @@ async def test_missing_mqtt(hass: HomeAssistantType) -> None:
|
||||||
assert result["errors"] == {"base": "mqtt_required"}
|
assert result["errors"] == {"base": "mqtt_required"}
|
||||||
|
|
||||||
|
|
||||||
async def test_config_serial(hass: HomeAssistantType):
|
async def test_config_serial(hass: HomeAssistant):
|
||||||
"""Test configuring a gateway via serial."""
|
"""Test configuring a gateway via serial."""
|
||||||
step = await get_form(hass, CONF_GATEWAY_TYPE_SERIAL, "gw_serial")
|
step = await get_form(hass, CONF_GATEWAY_TYPE_SERIAL, "gw_serial")
|
||||||
flow_id = step["flow_id"]
|
flow_id = step["flow_id"]
|
||||||
|
@ -146,7 +146,7 @@ async def test_config_serial(hass: HomeAssistantType):
|
||||||
assert len(mock_setup_entry.mock_calls) == 1
|
assert len(mock_setup_entry.mock_calls) == 1
|
||||||
|
|
||||||
|
|
||||||
async def test_config_tcp(hass: HomeAssistantType):
|
async def test_config_tcp(hass: HomeAssistant):
|
||||||
"""Test configuring a gateway via tcp."""
|
"""Test configuring a gateway via tcp."""
|
||||||
step = await get_form(hass, CONF_GATEWAY_TYPE_TCP, "gw_tcp")
|
step = await get_form(hass, CONF_GATEWAY_TYPE_TCP, "gw_tcp")
|
||||||
flow_id = step["flow_id"]
|
flow_id = step["flow_id"]
|
||||||
|
@ -183,7 +183,7 @@ async def test_config_tcp(hass: HomeAssistantType):
|
||||||
assert len(mock_setup_entry.mock_calls) == 1
|
assert len(mock_setup_entry.mock_calls) == 1
|
||||||
|
|
||||||
|
|
||||||
async def test_fail_to_connect(hass: HomeAssistantType):
|
async def test_fail_to_connect(hass: HomeAssistant):
|
||||||
"""Test configuring a gateway via tcp."""
|
"""Test configuring a gateway via tcp."""
|
||||||
step = await get_form(hass, CONF_GATEWAY_TYPE_TCP, "gw_tcp")
|
step = await get_form(hass, CONF_GATEWAY_TYPE_TCP, "gw_tcp")
|
||||||
flow_id = step["flow_id"]
|
flow_id = step["flow_id"]
|
||||||
|
@ -365,7 +365,7 @@ async def test_fail_to_connect(hass: HomeAssistantType):
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_config_invalid(
|
async def test_config_invalid(
|
||||||
hass: HomeAssistantType,
|
hass: HomeAssistant,
|
||||||
mqtt: config_entries.ConfigEntry,
|
mqtt: config_entries.ConfigEntry,
|
||||||
gateway_type: ConfGatewayType,
|
gateway_type: ConfGatewayType,
|
||||||
expected_step_id: str,
|
expected_step_id: str,
|
||||||
|
@ -440,7 +440,7 @@ async def test_config_invalid(
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_import(hass: HomeAssistantType, mqtt: None, user_input: dict) -> None:
|
async def test_import(hass: HomeAssistant, mqtt: None, user_input: dict) -> None:
|
||||||
"""Test importing a gateway."""
|
"""Test importing a gateway."""
|
||||||
await setup.async_setup_component(hass, "persistent_notification", {})
|
await setup.async_setup_component(hass, "persistent_notification", {})
|
||||||
|
|
||||||
|
@ -731,7 +731,7 @@ async def test_import(hass: HomeAssistantType, mqtt: None, user_input: dict) ->
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_duplicate(
|
async def test_duplicate(
|
||||||
hass: HomeAssistantType,
|
hass: HomeAssistant,
|
||||||
mqtt: None,
|
mqtt: None,
|
||||||
first_input: dict,
|
first_input: dict,
|
||||||
second_input: dict,
|
second_input: dict,
|
||||||
|
|
|
@ -5,7 +5,7 @@ import pytest
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.mysensors.gateway import is_serial_port
|
from homeassistant.components.mysensors.gateway import is_serial_port
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@ -18,7 +18,7 @@ from homeassistant.helpers.typing import HomeAssistantType
|
||||||
("/dev/ttyACM0", False),
|
("/dev/ttyACM0", False),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_is_serial_port_windows(hass: HomeAssistantType, port: str, expect_valid: bool):
|
def test_is_serial_port_windows(hass: HomeAssistant, port: str, expect_valid: bool):
|
||||||
"""Test windows serial port."""
|
"""Test windows serial port."""
|
||||||
|
|
||||||
with patch("sys.platform", "win32"):
|
with patch("sys.platform", "win32"):
|
||||||
|
|
|
@ -25,7 +25,8 @@ from homeassistant.components.mysensors.const import (
|
||||||
CONF_TOPIC_IN_PREFIX,
|
CONF_TOPIC_IN_PREFIX,
|
||||||
CONF_TOPIC_OUT_PREFIX,
|
CONF_TOPIC_OUT_PREFIX,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.typing import ConfigType
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
|
||||||
|
|
||||||
|
@ -226,7 +227,7 @@ from homeassistant.setup import async_setup_component
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_import(
|
async def test_import(
|
||||||
hass: HomeAssistantType,
|
hass: HomeAssistant,
|
||||||
mqtt: None,
|
mqtt: None,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
expected_calls: int,
|
expected_calls: int,
|
||||||
|
|
|
@ -5,8 +5,8 @@ from pybotvac.neato import Neato
|
||||||
|
|
||||||
from homeassistant import config_entries, data_entry_flow, setup
|
from homeassistant import config_entries, data_entry_flow, setup
|
||||||
from homeassistant.components.neato.const import NEATO_DOMAIN
|
from homeassistant.components.neato.const import NEATO_DOMAIN
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import config_entry_oauth2_flow
|
from homeassistant.helpers import config_entry_oauth2_flow
|
||||||
from homeassistant.helpers.typing import HomeAssistantType
|
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ async def test_full_flow(
|
||||||
assert len(mock_setup.mock_calls) == 1
|
assert len(mock_setup.mock_calls) == 1
|
||||||
|
|
||||||
|
|
||||||
async def test_abort_if_already_setup(hass: HomeAssistantType):
|
async def test_abort_if_already_setup(hass: HomeAssistant):
|
||||||
"""Test we abort if Neato is already setup."""
|
"""Test we abort if Neato is already setup."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=NEATO_DOMAIN,
|
domain=NEATO_DOMAIN,
|
||||||
|
@ -91,7 +91,7 @@ async def test_abort_if_already_setup(hass: HomeAssistantType):
|
||||||
|
|
||||||
|
|
||||||
async def test_reauth(
|
async def test_reauth(
|
||||||
hass: HomeAssistantType, aiohttp_client, aioclient_mock, current_request_with_host
|
hass: HomeAssistant, aiohttp_client, aioclient_mock, current_request_with_host
|
||||||
):
|
):
|
||||||
"""Test initialization of the reauth flow."""
|
"""Test initialization of the reauth flow."""
|
||||||
assert await setup.async_setup_component(
|
assert await setup.async_setup_component(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue