From 648adcc708523aa7264587a51c149840f9c2ff5b Mon Sep 17 00:00:00 2001 From: emontnemery Date: Sun, 27 Jan 2019 18:54:52 +0100 Subject: [PATCH] Small cleanup of MQTT platforms (#20503) * Move CONF_UNIQUE_ID to init * Sort imports * Update ordering --- homeassistant/components/mqtt/__init__.py | 9 ++- .../components/mqtt/alarm_control_panel.py | 19 +++-- .../components/mqtt/binary_sensor.py | 20 ++--- homeassistant/components/mqtt/camera.py | 14 ++-- homeassistant/components/mqtt/climate.py | 34 ++++----- homeassistant/components/mqtt/config_flow.py | 2 +- homeassistant/components/mqtt/cover.py | 73 +++++++++---------- homeassistant/components/mqtt/discovery.py | 2 +- homeassistant/components/mqtt/fan.py | 28 +++---- .../components/mqtt/light/schema_basic.py | 3 +- .../components/mqtt/light/schema_json.py | 3 +- .../components/mqtt/light/schema_template.py | 5 +- homeassistant/components/mqtt/lock.py | 15 ++-- homeassistant/components/mqtt/sensor.py | 23 +++--- homeassistant/components/mqtt/switch.py | 15 ++-- homeassistant/components/mqtt/vacuum.py | 12 ++- .../mqtt/test_alarm_control_panel.py | 16 ++-- tests/components/mqtt/test_binary_sensor.py | 18 ++--- tests/components/mqtt/test_camera.py | 3 +- tests/components/mqtt/test_climate.py | 21 +++--- tests/components/mqtt/test_config_flow.py | 2 +- tests/components/mqtt/test_cover.py | 14 ++-- tests/components/mqtt/test_discovery.py | 8 +- tests/components/mqtt/test_fan.py | 7 +- tests/components/mqtt/test_init.py | 8 +- tests/components/mqtt/test_light.py | 10 +-- tests/components/mqtt/test_light_json.py | 12 +-- tests/components/mqtt/test_light_template.py | 10 +-- tests/components/mqtt/test_lock.py | 8 +- tests/components/mqtt/test_sensor.py | 15 ++-- tests/components/mqtt/test_server.py | 4 +- tests/components/mqtt/test_subscription.py | 2 +- tests/components/mqtt/test_switch.py | 19 ++--- tests/components/mqtt/test_vacuum.py | 18 ++--- 34 files changed, 225 insertions(+), 247 deletions(-) diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 8868656eb79..8852ae76e08 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -21,12 +21,12 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.const import ( - CONF_DEVICE, CONF_PASSWORD, CONF_PAYLOAD, CONF_PORT, CONF_PROTOCOL, - CONF_USERNAME, CONF_VALUE_TEMPLATE, EVENT_HOMEASSISTANT_STOP, CONF_NAME) + CONF_DEVICE, CONF_NAME, CONF_PASSWORD, CONF_PAYLOAD, CONF_PORT, + CONF_PROTOCOL, CONF_USERNAME, CONF_VALUE_TEMPLATE, + EVENT_HOMEASSISTANT_STOP) from homeassistant.core import Event, ServiceCall, callback from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers import config_validation as cv -from homeassistant.helpers import template +from homeassistant.helpers import config_validation as cv, template from homeassistant.helpers.entity import Entity from homeassistant.helpers.typing import ( ConfigType, HomeAssistantType, ServiceDataType) @@ -76,6 +76,7 @@ CONF_JSON_ATTRS_TOPIC = 'json_attributes_topic' CONF_QOS = 'qos' CONF_RETAIN = 'retain' +CONF_UNIQUE_ID = 'unique_id' CONF_IDENTIFIERS = 'identifiers' CONF_CONNECTIONS = 'connections' CONF_MANUFACTURER = 'manufacturer' diff --git a/homeassistant/components/mqtt/alarm_control_panel.py b/homeassistant/components/mqtt/alarm_control_panel.py index 024e926055f..6bb864f2cdb 100644 --- a/homeassistant/components/mqtt/alarm_control_panel.py +++ b/homeassistant/components/mqtt/alarm_control_panel.py @@ -9,29 +9,28 @@ import re import voluptuous as vol -from homeassistant.core import callback -import homeassistant.components.alarm_control_panel as alarm from homeassistant.components import mqtt +import homeassistant.components.alarm_control_panel as alarm +from homeassistant.components.mqtt import ( + ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, + CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) +from homeassistant.components.mqtt.discovery import ( + MQTT_DISCOVERY_NEW, clear_discovery_hash) from homeassistant.const import ( CONF_CODE, CONF_DEVICE, CONF_NAME, STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_HOME, STATE_ALARM_DISARMED, STATE_ALARM_PENDING, STATE_ALARM_TRIGGERED) -from homeassistant.components.mqtt import ( - ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) -from homeassistant.components.mqtt.discovery import ( - MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) CONF_PAYLOAD_DISARM = 'payload_disarm' CONF_PAYLOAD_ARM_HOME = 'payload_arm_home' CONF_PAYLOAD_ARM_AWAY = 'payload_arm_away' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_ARM_AWAY = 'ARM_AWAY' DEFAULT_ARM_HOME = 'ARM_HOME' diff --git a/homeassistant/components/mqtt/binary_sensor.py b/homeassistant/components/mqtt/binary_sensor.py index f066116892e..297d4436c7c 100644 --- a/homeassistant/components/mqtt/binary_sensor.py +++ b/homeassistant/components/mqtt/binary_sensor.py @@ -8,28 +8,28 @@ import logging import voluptuous as vol -from homeassistant.core import callback -from homeassistant.components import mqtt, binary_sensor +from homeassistant.components import binary_sensor, mqtt from homeassistant.components.binary_sensor import ( - BinarySensorDevice, DEVICE_CLASSES_SCHEMA) -from homeassistant.const import ( - CONF_FORCE_UPDATE, CONF_NAME, CONF_VALUE_TEMPLATE, CONF_PAYLOAD_ON, - CONF_PAYLOAD_OFF, CONF_DEVICE_CLASS, CONF_DEVICE) + DEVICE_CLASSES_SCHEMA, BinarySensorDevice) from homeassistant.components.mqtt import ( - ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, MqttAttributes, - MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) + ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, CONF_UNIQUE_ID, + MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, + MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.const import ( + CONF_DEVICE, CONF_DEVICE_CLASS, CONF_FORCE_UPDATE, CONF_NAME, + CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON, CONF_VALUE_TEMPLATE) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect import homeassistant.helpers.event as evt -from homeassistant.helpers.typing import HomeAssistantType, ConfigType +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) DEFAULT_NAME = 'MQTT Binary sensor' CONF_OFF_DELAY = 'off_delay' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_PAYLOAD_OFF = 'OFF' DEFAULT_PAYLOAD_ON = 'ON' DEFAULT_FORCE_UPDATE = False diff --git a/homeassistant/components/mqtt/camera.py b/homeassistant/components/mqtt/camera.py index 7bda891e921..50b998f6e9c 100644 --- a/homeassistant/components/mqtt/camera.py +++ b/homeassistant/components/mqtt/camera.py @@ -10,19 +10,19 @@ import logging import voluptuous as vol -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType -from homeassistant.core import callback -from homeassistant.const import CONF_NAME -from homeassistant.components import mqtt, camera -from homeassistant.components.camera import Camera, PLATFORM_SCHEMA +from homeassistant.components import camera, mqtt +from homeassistant.components.camera import PLATFORM_SCHEMA, Camera +from homeassistant.components.mqtt import CONF_UNIQUE_ID from homeassistant.components.mqtt.discovery import MQTT_DISCOVERY_NEW +from homeassistant.const import CONF_NAME +from homeassistant.core import callback from homeassistant.helpers import config_validation as cv +from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) CONF_TOPIC = 'topic' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_NAME = 'MQTT Camera' DEPENDENCIES = ['mqtt'] diff --git a/homeassistant/components/mqtt/climate.py b/homeassistant/components/mqtt/climate.py index 9db96fdff94..db46f11b88e 100644 --- a/homeassistant/components/mqtt/climate.py +++ b/homeassistant/components/mqtt/climate.py @@ -8,29 +8,27 @@ import logging import voluptuous as vol -from homeassistant.core import callback -from homeassistant.components import mqtt, climate - +from homeassistant.components import climate, mqtt from homeassistant.components.climate import ( - STATE_HEAT, STATE_COOL, STATE_DRY, STATE_FAN_ONLY, ClimateDevice, - PLATFORM_SCHEMA as CLIMATE_PLATFORM_SCHEMA, STATE_AUTO, - ATTR_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE, SUPPORT_OPERATION_MODE, - SUPPORT_SWING_MODE, SUPPORT_FAN_MODE, SUPPORT_AWAY_MODE, SUPPORT_HOLD_MODE, - SUPPORT_AUX_HEAT, DEFAULT_MIN_TEMP, DEFAULT_MAX_TEMP) -from homeassistant.const import ( - ATTR_TEMPERATURE, CONF_DEVICE, CONF_NAME, CONF_VALUE_TEMPLATE, STATE_ON, - STATE_OFF) + ATTR_OPERATION_MODE, DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP, + PLATFORM_SCHEMA as CLIMATE_PLATFORM_SCHEMA, STATE_AUTO, STATE_COOL, + STATE_DRY, STATE_FAN_ONLY, STATE_HEAT, SUPPORT_AUX_HEAT, SUPPORT_AWAY_MODE, + SUPPORT_FAN_MODE, SUPPORT_HOLD_MODE, SUPPORT_OPERATION_MODE, + SUPPORT_SWING_MODE, SUPPORT_TARGET_TEMPERATURE, ClimateDevice) +from homeassistant.components.fan import SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM from homeassistant.components.mqtt import ( - ATTR_DISCOVERY_HASH, CONF_QOS, CONF_RETAIN, MQTT_BASE_PLATFORM_SCHEMA, - MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) + ATTR_DISCOVERY_HASH, CONF_QOS, CONF_RETAIN, CONF_UNIQUE_ID, + MQTT_BASE_PLATFORM_SCHEMA, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.const import ( + ATTR_TEMPERATURE, CONF_DEVICE, CONF_NAME, CONF_VALUE_TEMPLATE, STATE_OFF, + STATE_ON) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType -from homeassistant.components.fan import (SPEED_LOW, SPEED_MEDIUM, - SPEED_HIGH) +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) @@ -79,8 +77,6 @@ CONF_MIN_TEMP = 'min_temp' CONF_MAX_TEMP = 'max_temp' CONF_TEMP_STEP = 'temp_step' -CONF_UNIQUE_ID = 'unique_id' - TEMPLATE_KEYS = ( CONF_POWER_STATE_TEMPLATE, CONF_MODE_STATE_TEMPLATE, diff --git a/homeassistant/components/mqtt/config_flow.py b/homeassistant/components/mqtt/config_flow.py index aee825d06de..54f00d70658 100644 --- a/homeassistant/components/mqtt/config_flow.py +++ b/homeassistant/components/mqtt/config_flow.py @@ -6,7 +6,7 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.const import ( - CONF_PASSWORD, CONF_PORT, CONF_USERNAME, CONF_PROTOCOL, CONF_HOST) + CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_PROTOCOL, CONF_USERNAME) from .const import CONF_BROKER, CONF_DISCOVERY, DEFAULT_DISCOVERY diff --git a/homeassistant/components/mqtt/cover.py b/homeassistant/components/mqtt/cover.py index 477169a37de..26d10e85a34 100644 --- a/homeassistant/components/mqtt/cover.py +++ b/homeassistant/components/mqtt/cover.py @@ -8,70 +8,67 @@ import logging import voluptuous as vol -from homeassistant.core import callback -from homeassistant.components import mqtt, cover +from homeassistant.components import cover, mqtt from homeassistant.components.cover import ( - CoverDevice, ATTR_TILT_POSITION, SUPPORT_OPEN_TILT, - SUPPORT_CLOSE_TILT, SUPPORT_STOP_TILT, SUPPORT_SET_TILT_POSITION, - SUPPORT_OPEN, SUPPORT_CLOSE, SUPPORT_STOP, SUPPORT_SET_POSITION, - ATTR_POSITION) -from homeassistant.exceptions import TemplateError -from homeassistant.const import ( - CONF_NAME, CONF_VALUE_TEMPLATE, CONF_OPTIMISTIC, STATE_OPEN, - STATE_CLOSED, STATE_UNKNOWN, CONF_DEVICE) + ATTR_POSITION, ATTR_TILT_POSITION, SUPPORT_CLOSE, SUPPORT_CLOSE_TILT, + SUPPORT_OPEN, SUPPORT_OPEN_TILT, SUPPORT_SET_POSITION, + SUPPORT_SET_TILT_POSITION, SUPPORT_STOP, SUPPORT_STOP_TILT, CoverDevice) from homeassistant.components.mqtt import ( ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) + CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.const import ( + CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE, STATE_CLOSED, + STATE_OPEN, STATE_UNKNOWN) +from homeassistant.core import callback +from homeassistant.exceptions import TemplateError import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) DEPENDENCIES = ['mqtt'] CONF_GET_POSITION_TOPIC = 'position_topic' - +CONF_SET_POSITION_TEMPLATE = 'set_position_template' +CONF_SET_POSITION_TOPIC = 'set_position_topic' CONF_TILT_COMMAND_TOPIC = 'tilt_command_topic' CONF_TILT_STATUS_TOPIC = 'tilt_status_topic' -CONF_SET_POSITION_TOPIC = 'set_position_topic' -CONF_SET_POSITION_TEMPLATE = 'set_position_template' -CONF_PAYLOAD_OPEN = 'payload_open' CONF_PAYLOAD_CLOSE = 'payload_close' +CONF_PAYLOAD_OPEN = 'payload_open' CONF_PAYLOAD_STOP = 'payload_stop' -CONF_STATE_OPEN = 'state_open' -CONF_STATE_CLOSED = 'state_closed' -CONF_POSITION_OPEN = 'position_open' CONF_POSITION_CLOSED = 'position_closed' +CONF_POSITION_OPEN = 'position_open' +CONF_STATE_CLOSED = 'state_closed' +CONF_STATE_OPEN = 'state_open' CONF_TILT_CLOSED_POSITION = 'tilt_closed_value' -CONF_TILT_OPEN_POSITION = 'tilt_opened_value' -CONF_TILT_MIN = 'tilt_min' -CONF_TILT_MAX = 'tilt_max' -CONF_TILT_STATE_OPTIMISTIC = 'tilt_optimistic' CONF_TILT_INVERT_STATE = 'tilt_invert_state' -CONF_UNIQUE_ID = 'unique_id' +CONF_TILT_MAX = 'tilt_max' +CONF_TILT_MIN = 'tilt_min' +CONF_TILT_OPEN_POSITION = 'tilt_opened_value' +CONF_TILT_STATE_OPTIMISTIC = 'tilt_optimistic' -TILT_PAYLOAD = "tilt" -COVER_PAYLOAD = "cover" +TILT_PAYLOAD = 'tilt' +COVER_PAYLOAD = 'cover' DEFAULT_NAME = 'MQTT Cover' -DEFAULT_PAYLOAD_OPEN = 'OPEN' -DEFAULT_PAYLOAD_CLOSE = 'CLOSE' -DEFAULT_PAYLOAD_STOP = 'STOP' -DEFAULT_POSITION_OPEN = 100 -DEFAULT_POSITION_CLOSED = 0 DEFAULT_OPTIMISTIC = False +DEFAULT_PAYLOAD_CLOSE = 'CLOSE' +DEFAULT_PAYLOAD_OPEN = 'OPEN' +DEFAULT_PAYLOAD_STOP = 'STOP' +DEFAULT_POSITION_CLOSED = 0 +DEFAULT_POSITION_OPEN = 100 DEFAULT_RETAIN = False DEFAULT_TILT_CLOSED_POSITION = 0 -DEFAULT_TILT_OPEN_POSITION = 100 -DEFAULT_TILT_MIN = 0 -DEFAULT_TILT_MAX = 100 -DEFAULT_TILT_OPTIMISTIC = False DEFAULT_TILT_INVERT_STATE = False +DEFAULT_TILT_MAX = 100 +DEFAULT_TILT_MIN = 0 +DEFAULT_TILT_OPEN_POSITION = 100 +DEFAULT_TILT_OPTIMISTIC = False OPEN_CLOSE_FEATURES = (SUPPORT_OPEN | SUPPORT_CLOSE | SUPPORT_STOP) TILT_FEATURES = (SUPPORT_OPEN_TILT | SUPPORT_CLOSE_TILT | SUPPORT_STOP_TILT | @@ -180,8 +177,8 @@ class MqttCover(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttAttributes.__init__(self, config) MqttAvailability.__init__(self, config) - MqttDiscoveryUpdate.__init__(self, discovery_hash, - self.discovery_update) + MqttDiscoveryUpdate.__init__( + self, discovery_hash, self.discovery_update) MqttEntityDeviceInfo.__init__(self, device_config, config_entry) async def async_added_to_hass(self): diff --git a/homeassistant/components/mqtt/discovery.py b/homeassistant/components/mqtt/discovery.py index fc8b9091763..693a1a4d41d 100644 --- a/homeassistant/components/mqtt/discovery.py +++ b/homeassistant/components/mqtt/discovery.py @@ -10,7 +10,7 @@ import logging import re from homeassistant.components import mqtt -from homeassistant.components.mqtt import CONF_STATE_TOPIC, ATTR_DISCOVERY_HASH +from homeassistant.components.mqtt import ATTR_DISCOVERY_HASH, CONF_STATE_TOPIC from homeassistant.const import CONF_PLATFORM from homeassistant.helpers.discovery import async_load_platform from homeassistant.helpers.dispatcher import async_dispatcher_send diff --git a/homeassistant/components/mqtt/fan.py b/homeassistant/components/mqtt/fan.py index 47bfa3620e9..1d1258993de 100644 --- a/homeassistant/components/mqtt/fan.py +++ b/homeassistant/components/mqtt/fan.py @@ -8,24 +8,23 @@ import logging import voluptuous as vol -from homeassistant.core import callback from homeassistant.components import fan, mqtt -from homeassistant.const import ( - CONF_NAME, CONF_OPTIMISTIC, CONF_STATE, STATE_ON, STATE_OFF, - CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON, CONF_DEVICE) +from homeassistant.components.fan import ( + ATTR_SPEED, SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM, SPEED_OFF, + SUPPORT_OSCILLATE, SUPPORT_SET_SPEED, FanEntity) from homeassistant.components.mqtt import ( ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) -import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType -from homeassistant.components.fan import (SPEED_LOW, SPEED_MEDIUM, - SPEED_HIGH, FanEntity, - SUPPORT_SET_SPEED, SUPPORT_OSCILLATE, - SPEED_OFF, ATTR_SPEED) + CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.const import ( + CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON, + CONF_STATE, STATE_OFF, STATE_ON) +from homeassistant.core import callback +import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) @@ -44,7 +43,6 @@ CONF_PAYLOAD_LOW_SPEED = 'payload_low_speed' CONF_PAYLOAD_MEDIUM_SPEED = 'payload_medium_speed' CONF_PAYLOAD_HIGH_SPEED = 'payload_high_speed' CONF_SPEED_LIST = 'speeds' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_NAME = 'MQTT Fan' DEFAULT_PAYLOAD_ON = 'ON' @@ -202,8 +200,6 @@ class MqttFan(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, self._supported_features |= (self._topic[CONF_SPEED_STATE_TOPIC] is not None and SUPPORT_SET_SPEED) - self._unique_id = config.get(CONF_UNIQUE_ID) - async def _subscribe_topics(self): """(Re)Subscribe to topics.""" topics = {} diff --git a/homeassistant/components/mqtt/light/schema_basic.py b/homeassistant/components/mqtt/light/schema_basic.py index d9f676c8b38..c4bf41fa673 100644 --- a/homeassistant/components/mqtt/light/schema_basic.py +++ b/homeassistant/components/mqtt/light/schema_basic.py @@ -20,7 +20,7 @@ from homeassistant.const import ( CONF_RGB, CONF_STATE, CONF_VALUE_TEMPLATE, CONF_WHITE_VALUE, CONF_XY) from homeassistant.components.mqtt import ( CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, - MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, + CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.helpers.restore_state import RestoreEntity import homeassistant.helpers.config_validation as cv @@ -58,7 +58,6 @@ CONF_WHITE_VALUE_SCALE = 'white_value_scale' CONF_WHITE_VALUE_STATE_TOPIC = 'white_value_state_topic' CONF_WHITE_VALUE_TEMPLATE = 'white_value_template' CONF_ON_COMMAND_TYPE = 'on_command_type' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_BRIGHTNESS_SCALE = 255 DEFAULT_NAME = 'MQTT Light' diff --git a/homeassistant/components/mqtt/light/schema_json.py b/homeassistant/components/mqtt/light/schema_json.py index fcf31f097cc..e1372b9a80f 100644 --- a/homeassistant/components/mqtt/light/schema_json.py +++ b/homeassistant/components/mqtt/light/schema_json.py @@ -17,7 +17,7 @@ from homeassistant.components.light import ( SUPPORT_FLASH, SUPPORT_TRANSITION, SUPPORT_WHITE_VALUE, Light) from homeassistant.components.mqtt import ( CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, - MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, + CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.const import ( CONF_BRIGHTNESS, CONF_COLOR_TEMP, CONF_DEVICE, CONF_EFFECT, CONF_NAME, @@ -54,7 +54,6 @@ CONF_EFFECT_LIST = 'effect_list' CONF_FLASH_TIME_LONG = 'flash_time_long' CONF_FLASH_TIME_SHORT = 'flash_time_short' CONF_HS = 'hs' -CONF_UNIQUE_ID = 'unique_id' # Stealing some of these from the base MQTT configs. PLATFORM_SCHEMA_JSON = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ diff --git a/homeassistant/components/mqtt/light/schema_template.py b/homeassistant/components/mqtt/light/schema_template.py index 09aaa359058..80d773060d7 100644 --- a/homeassistant/components/mqtt/light/schema_template.py +++ b/homeassistant/components/mqtt/light/schema_template.py @@ -17,8 +17,8 @@ from homeassistant.components.light import ( from homeassistant.const import ( CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, STATE_ON, STATE_OFF) from homeassistant.components.mqtt import ( - CONF_STATE_TOPIC, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, + CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, + CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) import homeassistant.helpers.config_validation as cv import homeassistant.util.color as color_util @@ -44,7 +44,6 @@ CONF_GREEN_TEMPLATE = 'green_template' CONF_RED_TEMPLATE = 'red_template' CONF_STATE_TEMPLATE = 'state_template' CONF_WHITE_VALUE_TEMPLATE = 'white_value_template' -CONF_UNIQUE_ID = 'unique_id' PLATFORM_SCHEMA_TEMPLATE = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ vol.Optional(CONF_BLUE_TEMPLATE): cv.template, diff --git a/homeassistant/components/mqtt/lock.py b/homeassistant/components/mqtt/lock.py index e52d2c60bc7..da872fda612 100644 --- a/homeassistant/components/mqtt/lock.py +++ b/homeassistant/components/mqtt/lock.py @@ -8,26 +8,25 @@ import logging import voluptuous as vol -from homeassistant.core import callback +from homeassistant.components import lock, mqtt from homeassistant.components.lock import LockDevice from homeassistant.components.mqtt import ( ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) -from homeassistant.const import ( - CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE) -from homeassistant.components import mqtt, lock + CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) +from homeassistant.const import ( + CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) CONF_PAYLOAD_LOCK = 'payload_lock' CONF_PAYLOAD_UNLOCK = 'payload_unlock' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_NAME = 'MQTT Lock' DEFAULT_OPTIMISTIC = False diff --git a/homeassistant/components/mqtt/sensor.py b/homeassistant/components/mqtt/sensor.py index 475aef84c3d..9637caa9053 100644 --- a/homeassistant/components/mqtt/sensor.py +++ b/homeassistant/components/mqtt/sensor.py @@ -4,37 +4,36 @@ Support for MQTT sensors. For more details about this platform, please refer to the documentation at https://home-assistant.io/components/sensor.mqtt/ """ -import logging -import json from datetime import timedelta +import json +import logging from typing import Optional import voluptuous as vol -from homeassistant.core import callback -from homeassistant.components import sensor +from homeassistant.components import mqtt, sensor from homeassistant.components.mqtt import ( - ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, MqttAttributes, - MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) + ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, CONF_UNIQUE_ID, + MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, + MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) from homeassistant.components.sensor import DEVICE_CLASSES_SCHEMA from homeassistant.const import ( - CONF_FORCE_UPDATE, CONF_NAME, CONF_VALUE_TEMPLATE, - CONF_UNIT_OF_MEASUREMENT, CONF_ICON, CONF_DEVICE_CLASS, CONF_DEVICE) -from homeassistant.helpers.entity import Entity -from homeassistant.components import mqtt + CONF_DEVICE, CONF_DEVICE_CLASS, CONF_FORCE_UPDATE, CONF_ICON, CONF_NAME, + CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.typing import HomeAssistantType, ConfigType from homeassistant.helpers.dispatcher import async_dispatcher_connect +from homeassistant.helpers.entity import Entity from homeassistant.helpers.event import async_track_point_in_utc_time +from homeassistant.helpers.typing import ConfigType, HomeAssistantType from homeassistant.util import dt as dt_util _LOGGER = logging.getLogger(__name__) CONF_EXPIRE_AFTER = 'expire_after' CONF_JSON_ATTRS = 'json_attributes' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_NAME = 'MQTT Sensor' DEFAULT_FORCE_UPDATE = False diff --git a/homeassistant/components/mqtt/switch.py b/homeassistant/components/mqtt/switch.py index ad4356b425b..56fc1a51206 100644 --- a/homeassistant/components/mqtt/switch.py +++ b/homeassistant/components/mqtt/switch.py @@ -8,22 +8,22 @@ import logging import voluptuous as vol -from homeassistant.core import callback +from homeassistant.components import mqtt, switch from homeassistant.components.mqtt import ( ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, - CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) + CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import ( MQTT_DISCOVERY_NEW, clear_discovery_hash) from homeassistant.components.switch import SwitchDevice from homeassistant.const import ( - CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE, CONF_PAYLOAD_OFF, - CONF_PAYLOAD_ON, CONF_ICON, STATE_ON, CONF_DEVICE) -from homeassistant.components import mqtt, switch + CONF_DEVICE, CONF_ICON, CONF_NAME, CONF_OPTIMISTIC, CONF_PAYLOAD_OFF, + CONF_PAYLOAD_ON, CONF_VALUE_TEMPLATE, STATE_ON) +from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect -from homeassistant.helpers.typing import HomeAssistantType, ConfigType from homeassistant.helpers.restore_state import RestoreEntity +from homeassistant.helpers.typing import ConfigType, HomeAssistantType _LOGGER = logging.getLogger(__name__) @@ -33,7 +33,6 @@ DEFAULT_NAME = 'MQTT Switch' DEFAULT_PAYLOAD_ON = 'ON' DEFAULT_PAYLOAD_OFF = 'OFF' DEFAULT_OPTIMISTIC = False -CONF_UNIQUE_ID = 'unique_id' CONF_STATE_ON = "state_on" CONF_STATE_OFF = "state_off" diff --git a/homeassistant/components/mqtt/vacuum.py b/homeassistant/components/mqtt/vacuum.py index fedf33c5a2a..ca3f800385f 100644 --- a/homeassistant/components/mqtt/vacuum.py +++ b/homeassistant/components/mqtt/vacuum.py @@ -10,16 +10,15 @@ import voluptuous as vol from homeassistant.components import mqtt from homeassistant.components.mqtt import ( - ATTR_DISCOVERY_HASH, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, - MqttEntityDeviceInfo, subscription) + ATTR_DISCOVERY_HASH, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, + MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) from homeassistant.components.mqtt.discovery import MQTT_DISCOVERY_NEW from homeassistant.components.vacuum import ( - SUPPORT_BATTERY, SUPPORT_CLEAN_SPOT, SUPPORT_FAN_SPEED, + DOMAIN, SUPPORT_BATTERY, SUPPORT_CLEAN_SPOT, SUPPORT_FAN_SPEED, SUPPORT_LOCATE, SUPPORT_PAUSE, SUPPORT_RETURN_HOME, SUPPORT_SEND_COMMAND, SUPPORT_STATUS, SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_TURN_ON, - VacuumDevice, DOMAIN) -from homeassistant.const import ( - ATTR_SUPPORTED_FEATURES, CONF_NAME, CONF_DEVICE) + VacuumDevice) +from homeassistant.const import ATTR_SUPPORTED_FEATURES, CONF_DEVICE, CONF_NAME from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect @@ -94,7 +93,6 @@ CONF_FAN_SPEED_TEMPLATE = 'fan_speed_template' CONF_SET_FAN_SPEED_TOPIC = 'set_fan_speed_topic' CONF_FAN_SPEED_LIST = 'fan_speed_list' CONF_SEND_COMMAND_TOPIC = 'send_command_topic' -CONF_UNIQUE_ID = 'unique_id' DEFAULT_NAME = 'MQTT Vacuum' DEFAULT_RETAIN = False diff --git a/tests/components/mqtt/test_alarm_control_panel.py b/tests/components/mqtt/test_alarm_control_panel.py index 7bbaa977131..0bcb29ec9c6 100644 --- a/tests/components/mqtt/test_alarm_control_panel.py +++ b/tests/components/mqtt/test_alarm_control_panel.py @@ -3,18 +3,18 @@ import json import unittest from unittest.mock import ANY -from homeassistant.setup import setup_component -from homeassistant.const import ( - STATE_ALARM_DISARMED, STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_AWAY, - STATE_ALARM_PENDING, STATE_ALARM_TRIGGERED, STATE_UNAVAILABLE, - STATE_UNKNOWN) from homeassistant.components import alarm_control_panel, mqtt from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_HOME, STATE_ALARM_DISARMED, + STATE_ALARM_PENDING, STATE_ALARM_TRIGGERED, STATE_UNAVAILABLE, + STATE_UNKNOWN) +from homeassistant.setup import setup_component from tests.common import ( - assert_setup_component, async_fire_mqtt_message, async_mock_mqtt_component, - async_setup_component, fire_mqtt_message, get_test_home_assistant, - mock_mqtt_component, MockConfigEntry, mock_registry) + MockConfigEntry, assert_setup_component, async_fire_mqtt_message, + async_mock_mqtt_component, async_setup_component, fire_mqtt_message, + get_test_home_assistant, mock_mqtt_component, mock_registry) from tests.components.alarm_control_panel import common CODE = 'HELLO_CODE' diff --git a/tests/components/mqtt/test_binary_sensor.py b/tests/components/mqtt/test_binary_sensor.py index 0f40312cb2d..2f8a87b8a9b 100644 --- a/tests/components/mqtt/test_binary_sensor.py +++ b/tests/components/mqtt/test_binary_sensor.py @@ -1,23 +1,21 @@ """The tests for the MQTT binary sensor platform.""" +from datetime import timedelta import json import unittest from unittest.mock import ANY, Mock -from datetime import timedelta -import homeassistant.core as ha -from homeassistant.setup import setup_component, async_setup_component from homeassistant.components import binary_sensor, mqtt from homeassistant.components.mqtt.discovery import async_start - -from homeassistant.const import STATE_OFF, STATE_ON -from homeassistant.const import EVENT_STATE_CHANGED, STATE_UNAVAILABLE - +from homeassistant.const import ( + EVENT_STATE_CHANGED, STATE_OFF, STATE_ON, STATE_UNAVAILABLE) +import homeassistant.core as ha +from homeassistant.setup import async_setup_component, setup_component import homeassistant.util.dt as dt_util from tests.common import ( - get_test_home_assistant, fire_mqtt_message, async_fire_mqtt_message, - fire_time_changed, mock_component, mock_mqtt_component, mock_registry, - async_mock_mqtt_component, MockConfigEntry) + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, + fire_mqtt_message, fire_time_changed, get_test_home_assistant, + mock_component, mock_mqtt_component, mock_registry) class TestSensorMQTT(unittest.TestCase): diff --git a/tests/components/mqtt/test_camera.py b/tests/components/mqtt/test_camera.py index 8665f26aba9..a127ce0e68e 100644 --- a/tests/components/mqtt/test_camera.py +++ b/tests/components/mqtt/test_camera.py @@ -3,8 +3,7 @@ import asyncio from homeassistant.setup import async_setup_component -from tests.common import ( - async_mock_mqtt_component, async_fire_mqtt_message) +from tests.common import async_fire_mqtt_message, async_mock_mqtt_component @asyncio.coroutine diff --git a/tests/components/mqtt/test_climate.py b/tests/components/mqtt/test_climate.py index 4803f915636..c9b7c748ea5 100644 --- a/tests/components/mqtt/test_climate.py +++ b/tests/components/mqtt/test_climate.py @@ -7,21 +7,20 @@ from unittest.mock import ANY import pytest import voluptuous as vol -from homeassistant.util.unit_system import ( - METRIC_SYSTEM -) -from homeassistant.setup import setup_component from homeassistant.components import climate, mqtt -from homeassistant.const import STATE_OFF, STATE_UNAVAILABLE from homeassistant.components.climate import ( - SUPPORT_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE, - SUPPORT_FAN_MODE, SUPPORT_SWING_MODE, SUPPORT_HOLD_MODE, - SUPPORT_AWAY_MODE, SUPPORT_AUX_HEAT, DEFAULT_MIN_TEMP, DEFAULT_MAX_TEMP) + DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP, SUPPORT_AUX_HEAT, SUPPORT_AWAY_MODE, + SUPPORT_FAN_MODE, SUPPORT_HOLD_MODE, SUPPORT_OPERATION_MODE, + SUPPORT_SWING_MODE, SUPPORT_TARGET_TEMPERATURE) from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import STATE_OFF, STATE_UNAVAILABLE +from homeassistant.setup import setup_component +from homeassistant.util.unit_system import METRIC_SYSTEM + from tests.common import ( - async_fire_mqtt_message, async_mock_mqtt_component, async_setup_component, - fire_mqtt_message, get_test_home_assistant, mock_component, - mock_mqtt_component, MockConfigEntry, mock_registry) + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, + async_setup_component, fire_mqtt_message, get_test_home_assistant, + mock_component, mock_mqtt_component, mock_registry) from tests.components.climate import common ENTITY_CLIMATE = 'climate.test' diff --git a/tests/components/mqtt/test_config_flow.py b/tests/components/mqtt/test_config_flow.py index 66bf9b97807..9d822ba854b 100644 --- a/tests/components/mqtt/test_config_flow.py +++ b/tests/components/mqtt/test_config_flow.py @@ -5,7 +5,7 @@ import pytest from homeassistant.setup import async_setup_component -from tests.common import mock_coro, MockConfigEntry +from tests.common import MockConfigEntry, mock_coro @pytest.fixture(autouse=True) diff --git a/tests/components/mqtt/test_cover.py b/tests/components/mqtt/test_cover.py index 0f6d184b775..343bb3643c6 100644 --- a/tests/components/mqtt/test_cover.py +++ b/tests/components/mqtt/test_cover.py @@ -4,16 +4,16 @@ import unittest from unittest.mock import ANY from homeassistant.components import cover, mqtt -from homeassistant.components.cover import (ATTR_POSITION, ATTR_TILT_POSITION) +from homeassistant.components.cover import ATTR_POSITION, ATTR_TILT_POSITION from homeassistant.components.mqtt.cover import MqttCover from homeassistant.components.mqtt.discovery import async_start from homeassistant.const import ( - ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, - SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER, - SERVICE_OPEN_COVER_TILT, SERVICE_SET_COVER_POSITION, - SERVICE_SET_COVER_TILT_POSITION, SERVICE_STOP_COVER, - STATE_CLOSED, STATE_OPEN, STATE_UNAVAILABLE, STATE_UNKNOWN) -from homeassistant.setup import setup_component, async_setup_component + ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, SERVICE_CLOSE_COVER, + SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT, + SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION, + SERVICE_STOP_COVER, STATE_CLOSED, STATE_OPEN, STATE_UNAVAILABLE, + STATE_UNKNOWN) +from homeassistant.setup import async_setup_component, setup_component from tests.common import ( MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, diff --git a/tests/components/mqtt/test_discovery.py b/tests/components/mqtt/test_discovery.py index 083227e27c0..47bd912fbc8 100644 --- a/tests/components/mqtt/test_discovery.py +++ b/tests/components/mqtt/test_discovery.py @@ -3,11 +3,11 @@ import asyncio from unittest.mock import patch from homeassistant.components import mqtt -from homeassistant.components.mqtt.discovery import async_start, \ - ALREADY_DISCOVERED -from homeassistant.const import STATE_ON, STATE_OFF +from homeassistant.components.mqtt.discovery import ( + ALREADY_DISCOVERED, async_start) +from homeassistant.const import STATE_OFF, STATE_ON -from tests.common import async_fire_mqtt_message, mock_coro, MockConfigEntry +from tests.common import MockConfigEntry, async_fire_mqtt_message, mock_coro @asyncio.coroutine diff --git a/tests/components/mqtt/test_fan.py b/tests/components/mqtt/test_fan.py index 8c250443f6b..38b38ff7648 100644 --- a/tests/components/mqtt/test_fan.py +++ b/tests/components/mqtt/test_fan.py @@ -2,13 +2,14 @@ import json from unittest.mock import ANY -from homeassistant.setup import async_setup_component from homeassistant.components import fan, mqtt from homeassistant.components.mqtt.discovery import async_start from homeassistant.const import ATTR_ASSUMED_STATE, STATE_UNAVAILABLE +from homeassistant.setup import async_setup_component -from tests.common import async_fire_mqtt_message, MockConfigEntry, \ - async_mock_mqtt_component, mock_registry +from tests.common import ( + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, + mock_registry) async def test_fail_setup_if_no_command_topic(hass, mqtt_mock): diff --git a/tests/components/mqtt/test_init.py b/tests/components/mqtt/test_init.py index 707d9ff6021..94506efa909 100644 --- a/tests/components/mqtt/test_init.py +++ b/tests/components/mqtt/test_init.py @@ -1,17 +1,17 @@ """The tests for the MQTT component.""" import asyncio +import ssl import unittest from unittest import mock -import ssl import pytest import voluptuous as vol +from homeassistant.components import mqtt +from homeassistant.const import ( + ATTR_DOMAIN, ATTR_SERVICE, EVENT_CALL_SERVICE, EVENT_HOMEASSISTANT_STOP) from homeassistant.core import callback from homeassistant.setup import async_setup_component -from homeassistant.components import mqtt -from homeassistant.const import (EVENT_CALL_SERVICE, ATTR_DOMAIN, ATTR_SERVICE, - EVENT_HOMEASSISTANT_STOP) from tests.common import ( MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, diff --git a/tests/components/mqtt/test_light.py b/tests/components/mqtt/test_light.py index 1b1ba3862e9..9ad3a8d8323 100644 --- a/tests/components/mqtt/test_light.py +++ b/tests/components/mqtt/test_light.py @@ -157,16 +157,16 @@ import json from unittest import mock from unittest.mock import ANY, patch -from homeassistant.setup import async_setup_component -from homeassistant.const import ( - STATE_ON, STATE_OFF, STATE_UNAVAILABLE, ATTR_ASSUMED_STATE) from homeassistant.components import light, mqtt from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + ATTR_ASSUMED_STATE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE) import homeassistant.core as ha +from homeassistant.setup import async_setup_component from tests.common import ( - assert_setup_component, async_fire_mqtt_message, async_mock_mqtt_component, - mock_coro, MockConfigEntry, mock_registry) + MockConfigEntry, assert_setup_component, async_fire_mqtt_message, + async_mock_mqtt_component, mock_coro, mock_registry) from tests.components.light import common diff --git a/tests/components/mqtt/test_light_json.py b/tests/components/mqtt/test_light_json.py index c8d7c1d3e54..86523d955a0 100644 --- a/tests/components/mqtt/test_light_json.py +++ b/tests/components/mqtt/test_light_json.py @@ -90,17 +90,17 @@ light: import json from unittest.mock import ANY, patch -from homeassistant.setup import async_setup_component -from homeassistant.const import ( - STATE_ON, STATE_OFF, STATE_UNAVAILABLE, ATTR_ASSUMED_STATE, - ATTR_SUPPORTED_FEATURES) from homeassistant.components import light, mqtt from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + ATTR_ASSUMED_STATE, ATTR_SUPPORTED_FEATURES, STATE_OFF, STATE_ON, + STATE_UNAVAILABLE) import homeassistant.core as ha +from homeassistant.setup import async_setup_component from tests.common import ( - mock_coro, async_fire_mqtt_message, async_mock_mqtt_component, - MockConfigEntry, mock_registry) + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, + mock_coro, mock_registry) async def test_fail_setup_if_no_command_topic(hass, mqtt_mock): diff --git a/tests/components/mqtt/test_light_template.py b/tests/components/mqtt/test_light_template.py index 13fe086684c..66048b3e3bf 100644 --- a/tests/components/mqtt/test_light_template.py +++ b/tests/components/mqtt/test_light_template.py @@ -29,16 +29,16 @@ If your light doesn't support RGB feature, omit `(red|green|blue)_template`. import json from unittest.mock import ANY, patch -from homeassistant.setup import async_setup_component -from homeassistant.const import ( - STATE_ON, STATE_OFF, STATE_UNAVAILABLE, ATTR_ASSUMED_STATE) from homeassistant.components import light, mqtt from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + ATTR_ASSUMED_STATE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE) import homeassistant.core as ha +from homeassistant.setup import async_setup_component from tests.common import ( - async_fire_mqtt_message, assert_setup_component, mock_coro, - async_mock_mqtt_component, MockConfigEntry, mock_registry) + MockConfigEntry, assert_setup_component, async_fire_mqtt_message, + async_mock_mqtt_component, mock_coro, mock_registry) async def test_setup_fails(hass, mqtt_mock): diff --git a/tests/components/mqtt/test_lock.py b/tests/components/mqtt/test_lock.py index 3dd21535694..c4741445cca 100644 --- a/tests/components/mqtt/test_lock.py +++ b/tests/components/mqtt/test_lock.py @@ -2,14 +2,14 @@ import json from unittest.mock import ANY -from homeassistant.setup import async_setup_component -from homeassistant.const import ( - STATE_LOCKED, STATE_UNLOCKED, STATE_UNAVAILABLE, ATTR_ASSUMED_STATE) from homeassistant.components import lock, mqtt from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + ATTR_ASSUMED_STATE, STATE_LOCKED, STATE_UNAVAILABLE, STATE_UNLOCKED) +from homeassistant.setup import async_setup_component from tests.common import ( - async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, mock_registry) diff --git a/tests/components/mqtt/test_sensor.py b/tests/components/mqtt/test_sensor.py index a89b0b444ff..cd637d2aa01 100644 --- a/tests/components/mqtt/test_sensor.py +++ b/tests/components/mqtt/test_sensor.py @@ -1,22 +1,21 @@ """The tests for the MQTT sensor platform.""" +from datetime import datetime, timedelta import json import unittest - -from datetime import timedelta, datetime from unittest.mock import ANY, patch -import homeassistant.core as ha -from homeassistant.setup import setup_component, async_setup_component from homeassistant.components import mqtt from homeassistant.components.mqtt.discovery import async_start import homeassistant.components.sensor as sensor from homeassistant.const import EVENT_STATE_CHANGED, STATE_UNAVAILABLE +import homeassistant.core as ha +from homeassistant.setup import async_setup_component, setup_component import homeassistant.util.dt as dt_util -from tests.common import mock_mqtt_component, fire_mqtt_message, \ - assert_setup_component, async_fire_mqtt_message, \ - async_mock_mqtt_component, MockConfigEntry, mock_registry -from tests.common import get_test_home_assistant, mock_component +from tests.common import ( + MockConfigEntry, assert_setup_component, async_fire_mqtt_message, + async_mock_mqtt_component, fire_mqtt_message, get_test_home_assistant, + mock_component, mock_mqtt_component, mock_registry) class TestSensorMQTT(unittest.TestCase): diff --git a/tests/components/mqtt/test_server.py b/tests/components/mqtt/test_server.py index 9f80f753690..2589adf2f9c 100644 --- a/tests/components/mqtt/test_server.py +++ b/tests/components/mqtt/test_server.py @@ -1,9 +1,9 @@ """The tests for the MQTT component embedded server.""" -from unittest.mock import Mock, MagicMock, patch +from unittest.mock import MagicMock, Mock, patch +import homeassistant.components.mqtt as mqtt from homeassistant.const import CONF_PASSWORD from homeassistant.setup import setup_component -import homeassistant.components.mqtt as mqtt from tests.common import get_test_home_assistant, mock_coro diff --git a/tests/components/mqtt/test_subscription.py b/tests/components/mqtt/test_subscription.py index 69386e2bad4..b4b005d0d1e 100644 --- a/tests/components/mqtt/test_subscription.py +++ b/tests/components/mqtt/test_subscription.py @@ -1,9 +1,9 @@ """The tests for the MQTT subscription component.""" from unittest import mock -from homeassistant.core import callback from homeassistant.components.mqtt.subscription import ( async_subscribe_topics, async_unsubscribe_topics) +from homeassistant.core import callback from tests.common import async_fire_mqtt_message, async_mock_mqtt_component diff --git a/tests/components/mqtt/test_switch.py b/tests/components/mqtt/test_switch.py index 5bbb04e1017..f1956207a55 100644 --- a/tests/components/mqtt/test_switch.py +++ b/tests/components/mqtt/test_switch.py @@ -1,19 +1,20 @@ """The tests for the MQTT switch platform.""" import json -from asynctest import patch -import pytest from unittest.mock import ANY -from homeassistant.setup import async_setup_component -from homeassistant.const import STATE_ON, STATE_OFF, STATE_UNAVAILABLE,\ - ATTR_ASSUMED_STATE -import homeassistant.core as ha -from homeassistant.components import switch, mqtt +from asynctest import patch +import pytest + +from homeassistant.components import mqtt, switch from homeassistant.components.mqtt.discovery import async_start +from homeassistant.const import ( + ATTR_ASSUMED_STATE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE) +import homeassistant.core as ha +from homeassistant.setup import async_setup_component from tests.common import ( - mock_coro, async_mock_mqtt_component, async_fire_mqtt_message, - MockConfigEntry, mock_registry) + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, + mock_coro, mock_registry) from tests.components.switch import common diff --git a/tests/components/mqtt/test_vacuum.py b/tests/components/mqtt/test_vacuum.py index 04a82bb20e1..f7cc6ce1f44 100644 --- a/tests/components/mqtt/test_vacuum.py +++ b/tests/components/mqtt/test_vacuum.py @@ -1,20 +1,20 @@ """The tests for the Mqtt vacuum platform.""" import json + import pytest -from homeassistant.setup import async_setup_component -from homeassistant.const import ( - CONF_PLATFORM, STATE_OFF, STATE_ON, STATE_UNAVAILABLE, CONF_NAME) -from homeassistant.components import vacuum, mqtt -from homeassistant.components.vacuum import ( - ATTR_BATTERY_LEVEL, ATTR_BATTERY_ICON, ATTR_STATUS, - ATTR_FAN_SPEED) +from homeassistant.components import mqtt, vacuum from homeassistant.components.mqtt import ( CONF_COMMAND_TOPIC, vacuum as mqttvacuum) from homeassistant.components.mqtt.discovery import async_start +from homeassistant.components.vacuum import ( + ATTR_BATTERY_ICON, ATTR_BATTERY_LEVEL, ATTR_FAN_SPEED, ATTR_STATUS) +from homeassistant.const import ( + CONF_NAME, CONF_PLATFORM, STATE_OFF, STATE_ON, STATE_UNAVAILABLE) +from homeassistant.setup import async_setup_component + from tests.common import ( - async_mock_mqtt_component, - async_fire_mqtt_message, MockConfigEntry) + MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component) from tests.components.vacuum import common default_config = {