diff --git a/homeassistant/components/alexa/__init__.py b/homeassistant/components/alexa/__init__.py index cb0d093bb48..e9bcccb3587 100644 --- a/homeassistant/components/alexa/__init__.py +++ b/homeassistant/components/alexa/__init__.py @@ -3,25 +3,24 @@ import logging import voluptuous as vol -from homeassistant.helpers import config_validation as cv -from homeassistant.helpers import entityfilter from homeassistant.const import CONF_NAME +from homeassistant.helpers import config_validation as cv, entityfilter from . import flash_briefings, intent, smart_home_http from .const import ( CONF_AUDIO, CONF_CLIENT_ID, CONF_CLIENT_SECRET, + CONF_DESCRIPTION, + CONF_DISPLAY_CATEGORIES, CONF_DISPLAY_URL, CONF_ENDPOINT, + CONF_ENTITY_CONFIG, + CONF_FILTER, CONF_TEXT, CONF_TITLE, CONF_UID, DOMAIN, - CONF_FILTER, - CONF_ENTITY_CONFIG, - CONF_DESCRIPTION, - CONF_DISPLAY_CATEGORIES, ) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/alexa/auth.py b/homeassistant/components/alexa/auth.py index 9f87a6d954e..33c25b73d7e 100644 --- a/homeassistant/components/alexa/auth.py +++ b/homeassistant/components/alexa/auth.py @@ -1,8 +1,9 @@ """Support for Alexa skill auth.""" import asyncio +from datetime import timedelta import json import logging -from datetime import timedelta + import aiohttp import async_timeout diff --git a/homeassistant/components/alexa/capabilities.py b/homeassistant/components/alexa/capabilities.py index 1f18cb7a590..38f769b7cd4 100644 --- a/homeassistant/components/alexa/capabilities.py +++ b/homeassistant/components/alexa/capabilities.py @@ -1,6 +1,10 @@ """Alexa capabilities.""" import logging +from homeassistant.components import cover, fan, light +from homeassistant.components.alarm_control_panel import ATTR_CODE_FORMAT, FORMAT_NUMBER +import homeassistant.components.climate.const as climate +import homeassistant.components.media_player.const as media_player from homeassistant.const import ( ATTR_SUPPORTED_FEATURES, ATTR_TEMPERATURE, @@ -20,21 +24,17 @@ from homeassistant.const import ( STATE_UNKNOWN, STATE_UNLOCKED, ) -import homeassistant.components.climate.const as climate -import homeassistant.components.media_player.const as media_player -from homeassistant.components.alarm_control_panel import ATTR_CODE_FORMAT, FORMAT_NUMBER -from homeassistant.components import light, fan, cover import homeassistant.util.color as color_util import homeassistant.util.dt as dt_util from .const import ( - Catalog, API_TEMP_UNITS, API_THERMOSTAT_MODES, API_THERMOSTAT_PRESETS, DATE_FORMAT, PERCENTAGE_FAN_MAP, RANGE_FAN_MAP, + Catalog, Inputs, ) from .errors import UnsupportedProperty diff --git a/homeassistant/components/alexa/const.py b/homeassistant/components/alexa/const.py index 1aa9d4f2c1d..2c62e1a485a 100644 --- a/homeassistant/components/alexa/const.py +++ b/homeassistant/components/alexa/const.py @@ -1,9 +1,9 @@ """Constants for the Alexa integration.""" from collections import OrderedDict -from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT -from homeassistant.components.climate import const as climate from homeassistant.components import fan +from homeassistant.components.climate import const as climate +from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT DOMAIN = "alexa" diff --git a/homeassistant/components/alexa/entities.py b/homeassistant/components/alexa/entities.py index f9463949b58..733ea73f998 100644 --- a/homeassistant/components/alexa/entities.py +++ b/homeassistant/components/alexa/entities.py @@ -1,18 +1,6 @@ """Alexa entity adapters.""" from typing import List -from homeassistant.core import callback -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_SUPPORTED_FEATURES, - ATTR_UNIT_OF_MEASUREMENT, - CLOUD_NEVER_EXPOSED_ENTITIES, - CONF_NAME, - TEMP_CELSIUS, - TEMP_FAHRENHEIT, -) -from homeassistant.util.decorator import Registry -from homeassistant.components.climate import const as climate from homeassistant.components import ( alarm_control_panel, alert, @@ -30,8 +18,19 @@ from homeassistant.components import ( sensor, switch, ) +from homeassistant.components.climate import const as climate +from homeassistant.const import ( + ATTR_DEVICE_CLASS, + ATTR_SUPPORTED_FEATURES, + ATTR_UNIT_OF_MEASUREMENT, + CLOUD_NEVER_EXPOSED_ENTITIES, + CONF_NAME, + TEMP_CELSIUS, + TEMP_FAHRENHEIT, +) +from homeassistant.core import callback +from homeassistant.util.decorator import Registry -from .const import CONF_DESCRIPTION, CONF_DISPLAY_CATEGORIES from .capabilities import ( Alexa, AlexaBrightnessController, @@ -60,6 +59,7 @@ from .capabilities import ( AlexaThermostatController, AlexaToggleController, ) +from .const import CONF_DESCRIPTION, CONF_DISPLAY_CATEGORIES ENTITY_ADAPTERS = Registry() diff --git a/homeassistant/components/alexa/flash_briefings.py b/homeassistant/components/alexa/flash_briefings.py index 0b5c1243764..45d31d6088a 100644 --- a/homeassistant/components/alexa/flash_briefings.py +++ b/homeassistant/components/alexa/flash_briefings.py @@ -3,10 +3,10 @@ import copy import logging import uuid -import homeassistant.util.dt as dt_util from homeassistant.components import http from homeassistant.core import callback from homeassistant.helpers import template +import homeassistant.util.dt as dt_util from .const import ( ATTR_MAIN_TEXT, diff --git a/homeassistant/components/alexa/handlers.py b/homeassistant/components/alexa/handlers.py index f1aa260e88e..efb4f59514d 100644 --- a/homeassistant/components/alexa/handlers.py +++ b/homeassistant/components/alexa/handlers.py @@ -34,20 +34,20 @@ from homeassistant.const import ( TEMP_FAHRENHEIT, ) import homeassistant.util.color as color_util -import homeassistant.util.dt as dt_util from homeassistant.util.decorator import Registry +import homeassistant.util.dt as dt_util from homeassistant.util.temperature import convert as convert_temperature from .const import ( API_TEMP_UNITS, - API_THERMOSTAT_MODES_CUSTOM, API_THERMOSTAT_MODES, + API_THERMOSTAT_MODES_CUSTOM, API_THERMOSTAT_PRESETS, - Cause, - Inputs, PERCENTAGE_FAN_MAP, RANGE_FAN_MAP, SPEED_FAN_MAP, + Cause, + Inputs, ) from .entities import async_get_entities from .errors import ( diff --git a/homeassistant/components/alexa/smart_home.py b/homeassistant/components/alexa/smart_home.py index 2c34542e25c..9b0955f8fca 100644 --- a/homeassistant/components/alexa/smart_home.py +++ b/homeassistant/components/alexa/smart_home.py @@ -4,7 +4,7 @@ import logging import homeassistant.core as ha from .const import API_DIRECTIVE, API_HEADER -from .errors import AlexaError, AlexaBridgeUnreachableError +from .errors import AlexaBridgeUnreachableError, AlexaError from .handlers import HANDLERS from .messages import AlexaDirective diff --git a/homeassistant/components/alexa/smart_home_http.py b/homeassistant/components/alexa/smart_home_http.py index ada00e8a326..08d33ffa09c 100644 --- a/homeassistant/components/alexa/smart_home_http.py +++ b/homeassistant/components/alexa/smart_home_http.py @@ -13,8 +13,8 @@ from .const import ( CONF_ENTITY_CONFIG, CONF_FILTER, ) -from .state_report import async_enable_proactive_mode from .smart_home import async_handle_message +from .state_report import async_enable_proactive_mode _LOGGER = logging.getLogger(__name__) SMART_HOME_HTTP_ENDPOINT = "/api/alexa/smart_home" diff --git a/homeassistant/components/alexa/state_report.py b/homeassistant/components/alexa/state_report.py index b5e1b741f0c..44e1b7f4f55 100644 --- a/homeassistant/components/alexa/state_report.py +++ b/homeassistant/components/alexa/state_report.py @@ -6,8 +6,8 @@ import logging import aiohttp import async_timeout -import homeassistant.util.dt as dt_util from homeassistant.const import MATCH_ALL, STATE_ON +import homeassistant.util.dt as dt_util from .const import API_CHANGE, Cause from .entities import ENTITY_ADAPTERS diff --git a/tests/components/alexa/__init__.py b/tests/components/alexa/__init__.py index 3752ad7d48f..79fdb86c3ef 100644 --- a/tests/components/alexa/__init__.py +++ b/tests/components/alexa/__init__.py @@ -1,8 +1,8 @@ """Tests for the Alexa integration.""" from uuid import uuid4 -from homeassistant.core import Context from homeassistant.components.alexa import config, smart_home +from homeassistant.core import Context from tests.common import async_mock_service diff --git a/tests/components/alexa/test_auth.py b/tests/components/alexa/test_auth.py index ecd8f1eb4b3..9d14fffe7e4 100644 --- a/tests/components/alexa/test_auth.py +++ b/tests/components/alexa/test_auth.py @@ -1,5 +1,6 @@ """Test Alexa auth endpoints.""" from homeassistant.components.alexa.auth import Auth + from . import TEST_TOKEN_URL diff --git a/tests/components/alexa/test_capabilities.py b/tests/components/alexa/test_capabilities.py index d2f6cddc522..952af543aab 100644 --- a/tests/components/alexa/test_capabilities.py +++ b/tests/components/alexa/test_capabilities.py @@ -1,37 +1,38 @@ """Test Alexa capabilities.""" import pytest -from homeassistant.const import ( - ATTR_UNIT_OF_MEASUREMENT, - TEMP_CELSIUS, - STATE_LOCKED, - STATE_UNLOCKED, - STATE_UNKNOWN, - STATE_UNAVAILABLE, - STATE_ALARM_DISARMED, - STATE_ALARM_ARMED_AWAY, - STATE_ALARM_ARMED_CUSTOM_BYPASS, - STATE_ALARM_ARMED_HOME, - STATE_ALARM_ARMED_NIGHT, -) -from homeassistant.components.climate import const as climate from homeassistant.components.alexa import smart_home from homeassistant.components.alexa.errors import UnsupportedProperty +from homeassistant.components.climate import const as climate from homeassistant.components.media_player.const import ( SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_STOP, ) -from tests.common import async_mock_service +from homeassistant.const import ( + ATTR_UNIT_OF_MEASUREMENT, + STATE_ALARM_ARMED_AWAY, + STATE_ALARM_ARMED_CUSTOM_BYPASS, + STATE_ALARM_ARMED_HOME, + STATE_ALARM_ARMED_NIGHT, + STATE_ALARM_DISARMED, + STATE_LOCKED, + STATE_UNAVAILABLE, + STATE_UNKNOWN, + STATE_UNLOCKED, + TEMP_CELSIUS, +) from . import ( DEFAULT_CONFIG, - get_new_request, assert_request_calls_service, assert_request_fails, + get_new_request, reported_properties, ) +from tests.common import async_mock_service + @pytest.mark.parametrize("result,adjust", [(25, "-5"), (35, "5"), (0, "-80")]) async def test_api_adjust_brightness(hass, result, adjust): diff --git a/tests/components/alexa/test_entities.py b/tests/components/alexa/test_entities.py index 7436306fe25..8cae4fb9b77 100644 --- a/tests/components/alexa/test_entities.py +++ b/tests/components/alexa/test_entities.py @@ -1,6 +1,7 @@ """Test Alexa entity representation.""" from homeassistant.components.alexa import smart_home -from . import get_new_request, DEFAULT_CONFIG + +from . import DEFAULT_CONFIG, get_new_request async def test_unsupported_domain(hass): diff --git a/tests/components/alexa/test_flash_briefings.py b/tests/components/alexa/test_flash_briefings.py index 4c94046d41a..7a20c05ed86 100644 --- a/tests/components/alexa/test_flash_briefings.py +++ b/tests/components/alexa/test_flash_briefings.py @@ -5,10 +5,10 @@ import datetime import pytest -from homeassistant.core import callback -from homeassistant.setup import async_setup_component from homeassistant.components import alexa from homeassistant.components.alexa import const +from homeassistant.core import callback +from homeassistant.setup import async_setup_component SESSION_ID = "amzn1.echo-api.session.0000000-0000-0000-0000-00000000000" APPLICATION_ID = "amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe" diff --git a/tests/components/alexa/test_intent.py b/tests/components/alexa/test_intent.py index 0b7fc5f22c8..ac41e6d3b4d 100644 --- a/tests/components/alexa/test_intent.py +++ b/tests/components/alexa/test_intent.py @@ -5,10 +5,10 @@ import json import pytest -from homeassistant.core import callback -from homeassistant.setup import async_setup_component from homeassistant.components import alexa from homeassistant.components.alexa import intent +from homeassistant.core import callback +from homeassistant.setup import async_setup_component SESSION_ID = "amzn1.echo-api.session.0000000-0000-0000-0000-00000000000" APPLICATION_ID = "amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe" diff --git a/tests/components/alexa/test_smart_home.py b/tests/components/alexa/test_smart_home.py index 9a2eba21c0e..ea1e6f50fcf 100644 --- a/tests/components/alexa/test_smart_home.py +++ b/tests/components/alexa/test_smart_home.py @@ -1,9 +1,7 @@ """Test for smart home alexa support.""" import pytest -from homeassistant.core import Context, callback -from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT -from homeassistant.components.alexa import smart_home, messages +from homeassistant.components.alexa import messages, smart_home from homeassistant.components.media_player.const import ( SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, @@ -18,22 +16,24 @@ from homeassistant.components.media_player.const import ( SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, ) +from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT +from homeassistant.core import Context, callback from homeassistant.helpers import entityfilter -from tests.common import async_mock_service - from . import ( - get_new_request, - MockConfig, DEFAULT_CONFIG, - assert_request_calls_service, - assert_request_fails, + MockConfig, ReportedProperties, assert_power_controller_works, + assert_request_calls_service, + assert_request_fails, assert_scene_controller_works, + get_new_request, reported_properties, ) +from tests.common import async_mock_service + @pytest.fixture def events(hass): diff --git a/tests/components/alexa/test_smart_home_http.py b/tests/components/alexa/test_smart_home_http.py index 845c375be67..f242a421eac 100644 --- a/tests/components/alexa/test_smart_home_http.py +++ b/tests/components/alexa/test_smart_home_http.py @@ -1,8 +1,8 @@ """Test Smart Home HTTP endpoints.""" import json -from homeassistant.setup import async_setup_component from homeassistant.components.alexa import DOMAIN, smart_home_http +from homeassistant.setup import async_setup_component from . import get_new_request diff --git a/tests/components/alexa/test_state_report.py b/tests/components/alexa/test_state_report.py index 2c58d1ed45e..4cd2a18a833 100644 --- a/tests/components/alexa/test_state_report.py +++ b/tests/components/alexa/test_state_report.py @@ -1,6 +1,7 @@ """Test report state.""" from homeassistant.components.alexa import state_report -from . import TEST_URL, DEFAULT_CONFIG + +from . import DEFAULT_CONFIG, TEST_URL async def test_report_state(hass, aioclient_mock):