Small cleanup of MQTT platforms (#20503)

* Move CONF_UNIQUE_ID to init

* Sort imports

* Update ordering
This commit is contained in:
emontnemery 2019-01-27 18:54:52 +01:00 committed by Fabian Affolter
parent 8804f55fcc
commit 648adcc708
34 changed files with 225 additions and 247 deletions

View file

@ -21,12 +21,12 @@ import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.const import ( from homeassistant.const import (
CONF_DEVICE, CONF_PASSWORD, CONF_PAYLOAD, CONF_PORT, CONF_PROTOCOL, CONF_DEVICE, CONF_NAME, CONF_PASSWORD, CONF_PAYLOAD, CONF_PORT,
CONF_USERNAME, CONF_VALUE_TEMPLATE, EVENT_HOMEASSISTANT_STOP, CONF_NAME) CONF_PROTOCOL, CONF_USERNAME, CONF_VALUE_TEMPLATE,
EVENT_HOMEASSISTANT_STOP)
from homeassistant.core import Event, ServiceCall, callback from homeassistant.core import Event, ServiceCall, callback
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv, template
from homeassistant.helpers import template
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.helpers.typing import ( from homeassistant.helpers.typing import (
ConfigType, HomeAssistantType, ServiceDataType) ConfigType, HomeAssistantType, ServiceDataType)
@ -76,6 +76,7 @@ CONF_JSON_ATTRS_TOPIC = 'json_attributes_topic'
CONF_QOS = 'qos' CONF_QOS = 'qos'
CONF_RETAIN = 'retain' CONF_RETAIN = 'retain'
CONF_UNIQUE_ID = 'unique_id'
CONF_IDENTIFIERS = 'identifiers' CONF_IDENTIFIERS = 'identifiers'
CONF_CONNECTIONS = 'connections' CONF_CONNECTIONS = 'connections'
CONF_MANUFACTURER = 'manufacturer' CONF_MANUFACTURER = 'manufacturer'

View file

@ -9,29 +9,28 @@ import re
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback
import homeassistant.components.alarm_control_panel as alarm
from homeassistant.components import mqtt 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 ( from homeassistant.const import (
CONF_CODE, CONF_DEVICE, CONF_NAME, STATE_ALARM_ARMED_AWAY, CONF_CODE, CONF_DEVICE, CONF_NAME, STATE_ALARM_ARMED_AWAY,
STATE_ALARM_ARMED_HOME, STATE_ALARM_DISARMED, STATE_ALARM_PENDING, STATE_ALARM_ARMED_HOME, STATE_ALARM_DISARMED, STATE_ALARM_PENDING,
STATE_ALARM_TRIGGERED) STATE_ALARM_TRIGGERED)
from homeassistant.components.mqtt import ( from homeassistant.core import callback
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)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect 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__) _LOGGER = logging.getLogger(__name__)
CONF_PAYLOAD_DISARM = 'payload_disarm' CONF_PAYLOAD_DISARM = 'payload_disarm'
CONF_PAYLOAD_ARM_HOME = 'payload_arm_home' CONF_PAYLOAD_ARM_HOME = 'payload_arm_home'
CONF_PAYLOAD_ARM_AWAY = 'payload_arm_away' CONF_PAYLOAD_ARM_AWAY = 'payload_arm_away'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_ARM_AWAY = 'ARM_AWAY' DEFAULT_ARM_AWAY = 'ARM_AWAY'
DEFAULT_ARM_HOME = 'ARM_HOME' DEFAULT_ARM_HOME = 'ARM_HOME'

View file

@ -8,28 +8,28 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import binary_sensor, mqtt
from homeassistant.components import mqtt, binary_sensor
from homeassistant.components.binary_sensor import ( from homeassistant.components.binary_sensor import (
BinarySensorDevice, DEVICE_CLASSES_SCHEMA) DEVICE_CLASSES_SCHEMA, BinarySensorDevice)
from homeassistant.const import (
CONF_FORCE_UPDATE, CONF_NAME, CONF_VALUE_TEMPLATE, CONF_PAYLOAD_ON,
CONF_PAYLOAD_OFF, CONF_DEVICE_CLASS, CONF_DEVICE)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, MqttAttributes, ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, CONF_UNIQUE_ID,
MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) 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 import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
import homeassistant.helpers.event as evt import homeassistant.helpers.event as evt
from homeassistant.helpers.typing import HomeAssistantType, ConfigType from homeassistant.helpers.typing import ConfigType, HomeAssistantType
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = 'MQTT Binary sensor' DEFAULT_NAME = 'MQTT Binary sensor'
CONF_OFF_DELAY = 'off_delay' CONF_OFF_DELAY = 'off_delay'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_PAYLOAD_OFF = 'OFF' DEFAULT_PAYLOAD_OFF = 'OFF'
DEFAULT_PAYLOAD_ON = 'ON' DEFAULT_PAYLOAD_ON = 'ON'
DEFAULT_FORCE_UPDATE = False DEFAULT_FORCE_UPDATE = False

View file

@ -10,19 +10,19 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.components import camera, mqtt
from homeassistant.helpers.typing import HomeAssistantType, ConfigType from homeassistant.components.camera import PLATFORM_SCHEMA, Camera
from homeassistant.core import callback from homeassistant.components.mqtt import CONF_UNIQUE_ID
from homeassistant.const import CONF_NAME
from homeassistant.components import mqtt, camera
from homeassistant.components.camera import Camera, PLATFORM_SCHEMA
from homeassistant.components.mqtt.discovery import MQTT_DISCOVERY_NEW 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 import config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
CONF_TOPIC = 'topic' CONF_TOPIC = 'topic'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_NAME = 'MQTT Camera' DEFAULT_NAME = 'MQTT Camera'
DEPENDENCIES = ['mqtt'] DEPENDENCIES = ['mqtt']

View file

@ -8,29 +8,27 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import climate, mqtt
from homeassistant.components import mqtt, climate
from homeassistant.components.climate import ( from homeassistant.components.climate import (
STATE_HEAT, STATE_COOL, STATE_DRY, STATE_FAN_ONLY, ClimateDevice, ATTR_OPERATION_MODE, DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP,
PLATFORM_SCHEMA as CLIMATE_PLATFORM_SCHEMA, STATE_AUTO, PLATFORM_SCHEMA as CLIMATE_PLATFORM_SCHEMA, STATE_AUTO, STATE_COOL,
ATTR_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE, SUPPORT_OPERATION_MODE, STATE_DRY, STATE_FAN_ONLY, STATE_HEAT, SUPPORT_AUX_HEAT, SUPPORT_AWAY_MODE,
SUPPORT_SWING_MODE, SUPPORT_FAN_MODE, SUPPORT_AWAY_MODE, SUPPORT_HOLD_MODE, SUPPORT_FAN_MODE, SUPPORT_HOLD_MODE, SUPPORT_OPERATION_MODE,
SUPPORT_AUX_HEAT, DEFAULT_MIN_TEMP, DEFAULT_MAX_TEMP) SUPPORT_SWING_MODE, SUPPORT_TARGET_TEMPERATURE, ClimateDevice)
from homeassistant.const import ( from homeassistant.components.fan import SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM
ATTR_TEMPERATURE, CONF_DEVICE, CONF_NAME, CONF_VALUE_TEMPLATE, STATE_ON,
STATE_OFF)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_QOS, CONF_RETAIN, MQTT_BASE_PLATFORM_SCHEMA, ATTR_DISCOVERY_HASH, CONF_QOS, CONF_RETAIN, CONF_UNIQUE_ID,
MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MQTT_BASE_PLATFORM_SCHEMA, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) 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 import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.typing import HomeAssistantType, ConfigType from homeassistant.helpers.typing import ConfigType, HomeAssistantType
from homeassistant.components.fan import (SPEED_LOW, SPEED_MEDIUM,
SPEED_HIGH)
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -79,8 +77,6 @@ CONF_MIN_TEMP = 'min_temp'
CONF_MAX_TEMP = 'max_temp' CONF_MAX_TEMP = 'max_temp'
CONF_TEMP_STEP = 'temp_step' CONF_TEMP_STEP = 'temp_step'
CONF_UNIQUE_ID = 'unique_id'
TEMPLATE_KEYS = ( TEMPLATE_KEYS = (
CONF_POWER_STATE_TEMPLATE, CONF_POWER_STATE_TEMPLATE,
CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TEMPLATE,

View file

@ -6,7 +6,7 @@ import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.const import ( 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 from .const import CONF_BROKER, CONF_DISCOVERY, DEFAULT_DISCOVERY

View file

@ -8,70 +8,67 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import cover, mqtt
from homeassistant.components import mqtt, cover
from homeassistant.components.cover import ( from homeassistant.components.cover import (
CoverDevice, ATTR_TILT_POSITION, SUPPORT_OPEN_TILT, ATTR_POSITION, ATTR_TILT_POSITION, SUPPORT_CLOSE, SUPPORT_CLOSE_TILT,
SUPPORT_CLOSE_TILT, SUPPORT_STOP_TILT, SUPPORT_SET_TILT_POSITION, SUPPORT_OPEN, SUPPORT_OPEN_TILT, SUPPORT_SET_POSITION,
SUPPORT_OPEN, SUPPORT_CLOSE, SUPPORT_STOP, SUPPORT_SET_POSITION, SUPPORT_SET_TILT_POSITION, SUPPORT_STOP, SUPPORT_STOP_TILT, CoverDevice)
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)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN,
CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) 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 import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect 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__) _LOGGER = logging.getLogger(__name__)
DEPENDENCIES = ['mqtt'] DEPENDENCIES = ['mqtt']
CONF_GET_POSITION_TOPIC = 'position_topic' 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_COMMAND_TOPIC = 'tilt_command_topic'
CONF_TILT_STATUS_TOPIC = 'tilt_status_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_CLOSE = 'payload_close'
CONF_PAYLOAD_OPEN = 'payload_open'
CONF_PAYLOAD_STOP = 'payload_stop' 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_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_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_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" TILT_PAYLOAD = 'tilt'
COVER_PAYLOAD = "cover" COVER_PAYLOAD = 'cover'
DEFAULT_NAME = 'MQTT 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_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_RETAIN = False
DEFAULT_TILT_CLOSED_POSITION = 0 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_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) OPEN_CLOSE_FEATURES = (SUPPORT_OPEN | SUPPORT_CLOSE | SUPPORT_STOP)
TILT_FEATURES = (SUPPORT_OPEN_TILT | SUPPORT_CLOSE_TILT | SUPPORT_STOP_TILT | TILT_FEATURES = (SUPPORT_OPEN_TILT | SUPPORT_CLOSE_TILT | SUPPORT_STOP_TILT |
@ -180,8 +177,8 @@ class MqttCover(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttAttributes.__init__(self, config) MqttAttributes.__init__(self, config)
MqttAvailability.__init__(self, config) MqttAvailability.__init__(self, config)
MqttDiscoveryUpdate.__init__(self, discovery_hash, MqttDiscoveryUpdate.__init__(
self.discovery_update) self, discovery_hash, self.discovery_update)
MqttEntityDeviceInfo.__init__(self, device_config, config_entry) MqttEntityDeviceInfo.__init__(self, device_config, config_entry)
async def async_added_to_hass(self): async def async_added_to_hass(self):

View file

@ -10,7 +10,7 @@ import logging
import re import re
from homeassistant.components import mqtt 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.const import CONF_PLATFORM
from homeassistant.helpers.discovery import async_load_platform from homeassistant.helpers.discovery import async_load_platform
from homeassistant.helpers.dispatcher import async_dispatcher_send from homeassistant.helpers.dispatcher import async_dispatcher_send

View file

@ -8,24 +8,23 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback
from homeassistant.components import fan, mqtt from homeassistant.components import fan, mqtt
from homeassistant.const import ( from homeassistant.components.fan import (
CONF_NAME, CONF_OPTIMISTIC, CONF_STATE, STATE_ON, STATE_OFF, ATTR_SPEED, SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM, SPEED_OFF,
CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON, CONF_DEVICE) SUPPORT_OSCILLATE, SUPPORT_SET_SPEED, FanEntity)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN,
CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) 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)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) 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__) _LOGGER = logging.getLogger(__name__)
@ -44,7 +43,6 @@ CONF_PAYLOAD_LOW_SPEED = 'payload_low_speed'
CONF_PAYLOAD_MEDIUM_SPEED = 'payload_medium_speed' CONF_PAYLOAD_MEDIUM_SPEED = 'payload_medium_speed'
CONF_PAYLOAD_HIGH_SPEED = 'payload_high_speed' CONF_PAYLOAD_HIGH_SPEED = 'payload_high_speed'
CONF_SPEED_LIST = 'speeds' CONF_SPEED_LIST = 'speeds'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_NAME = 'MQTT Fan' DEFAULT_NAME = 'MQTT Fan'
DEFAULT_PAYLOAD_ON = 'ON' DEFAULT_PAYLOAD_ON = 'ON'
@ -202,8 +200,6 @@ class MqttFan(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
self._supported_features |= (self._topic[CONF_SPEED_STATE_TOPIC] self._supported_features |= (self._topic[CONF_SPEED_STATE_TOPIC]
is not None and SUPPORT_SET_SPEED) is not None and SUPPORT_SET_SPEED)
self._unique_id = config.get(CONF_UNIQUE_ID)
async def _subscribe_topics(self): async def _subscribe_topics(self):
"""(Re)Subscribe to topics.""" """(Re)Subscribe to topics."""
topics = {} topics = {}

View file

@ -20,7 +20,7 @@ from homeassistant.const import (
CONF_RGB, CONF_STATE, CONF_VALUE_TEMPLATE, CONF_WHITE_VALUE, CONF_XY) CONF_RGB, CONF_STATE, CONF_VALUE_TEMPLATE, CONF_WHITE_VALUE, CONF_XY)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC,
MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttEntityDeviceInfo, subscription) MqttEntityDeviceInfo, subscription)
from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.restore_state import RestoreEntity
import homeassistant.helpers.config_validation as cv 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_STATE_TOPIC = 'white_value_state_topic'
CONF_WHITE_VALUE_TEMPLATE = 'white_value_template' CONF_WHITE_VALUE_TEMPLATE = 'white_value_template'
CONF_ON_COMMAND_TYPE = 'on_command_type' CONF_ON_COMMAND_TYPE = 'on_command_type'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_BRIGHTNESS_SCALE = 255 DEFAULT_BRIGHTNESS_SCALE = 255
DEFAULT_NAME = 'MQTT Light' DEFAULT_NAME = 'MQTT Light'

View file

@ -17,7 +17,7 @@ from homeassistant.components.light import (
SUPPORT_FLASH, SUPPORT_TRANSITION, SUPPORT_WHITE_VALUE, Light) SUPPORT_FLASH, SUPPORT_TRANSITION, SUPPORT_WHITE_VALUE, Light)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC,
MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttEntityDeviceInfo, subscription) MqttEntityDeviceInfo, subscription)
from homeassistant.const import ( from homeassistant.const import (
CONF_BRIGHTNESS, CONF_COLOR_TEMP, CONF_DEVICE, CONF_EFFECT, CONF_NAME, 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_LONG = 'flash_time_long'
CONF_FLASH_TIME_SHORT = 'flash_time_short' CONF_FLASH_TIME_SHORT = 'flash_time_short'
CONF_HS = 'hs' CONF_HS = 'hs'
CONF_UNIQUE_ID = 'unique_id'
# Stealing some of these from the base MQTT configs. # Stealing some of these from the base MQTT configs.
PLATFORM_SCHEMA_JSON = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA_JSON = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({

View file

@ -17,8 +17,8 @@ from homeassistant.components.light import (
from homeassistant.const import ( from homeassistant.const import (
CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, STATE_ON, STATE_OFF) CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, STATE_ON, STATE_OFF)
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
CONF_STATE_TOPIC, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC,
MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttEntityDeviceInfo, subscription) MqttEntityDeviceInfo, subscription)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
import homeassistant.util.color as color_util import homeassistant.util.color as color_util
@ -44,7 +44,6 @@ CONF_GREEN_TEMPLATE = 'green_template'
CONF_RED_TEMPLATE = 'red_template' CONF_RED_TEMPLATE = 'red_template'
CONF_STATE_TEMPLATE = 'state_template' CONF_STATE_TEMPLATE = 'state_template'
CONF_WHITE_VALUE_TEMPLATE = 'white_value_template' CONF_WHITE_VALUE_TEMPLATE = 'white_value_template'
CONF_UNIQUE_ID = 'unique_id'
PLATFORM_SCHEMA_TEMPLATE = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA_TEMPLATE = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({
vol.Optional(CONF_BLUE_TEMPLATE): cv.template, vol.Optional(CONF_BLUE_TEMPLATE): cv.template,

View file

@ -8,26 +8,25 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import lock, mqtt
from homeassistant.components.lock import LockDevice from homeassistant.components.lock import LockDevice
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN,
CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription)
from homeassistant.const import (
CONF_DEVICE, CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE)
from homeassistant.components import mqtt, lock
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) 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 import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect 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__) _LOGGER = logging.getLogger(__name__)
CONF_PAYLOAD_LOCK = 'payload_lock' CONF_PAYLOAD_LOCK = 'payload_lock'
CONF_PAYLOAD_UNLOCK = 'payload_unlock' CONF_PAYLOAD_UNLOCK = 'payload_unlock'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_NAME = 'MQTT Lock' DEFAULT_NAME = 'MQTT Lock'
DEFAULT_OPTIMISTIC = False DEFAULT_OPTIMISTIC = False

View file

@ -4,37 +4,36 @@ Support for MQTT sensors.
For more details about this platform, please refer to the documentation at For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/sensor.mqtt/ https://home-assistant.io/components/sensor.mqtt/
""" """
import logging
import json
from datetime import timedelta from datetime import timedelta
import json
import logging
from typing import Optional from typing import Optional
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import mqtt, sensor
from homeassistant.components import sensor
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, MqttAttributes, ATTR_DISCOVERY_HASH, CONF_QOS, CONF_STATE_TOPIC, CONF_UNIQUE_ID,
MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription) MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) MQTT_DISCOVERY_NEW, clear_discovery_hash)
from homeassistant.components.sensor import DEVICE_CLASSES_SCHEMA from homeassistant.components.sensor import DEVICE_CLASSES_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
CONF_FORCE_UPDATE, CONF_NAME, CONF_VALUE_TEMPLATE, CONF_DEVICE, CONF_DEVICE_CLASS, CONF_FORCE_UPDATE, CONF_ICON, CONF_NAME,
CONF_UNIT_OF_MEASUREMENT, CONF_ICON, CONF_DEVICE_CLASS, CONF_DEVICE) CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE)
from homeassistant.helpers.entity import Entity from homeassistant.core import callback
from homeassistant.components import mqtt
import homeassistant.helpers.config_validation as cv 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.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.event import async_track_point_in_utc_time
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
CONF_EXPIRE_AFTER = 'expire_after' CONF_EXPIRE_AFTER = 'expire_after'
CONF_JSON_ATTRS = 'json_attributes' CONF_JSON_ATTRS = 'json_attributes'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_NAME = 'MQTT Sensor' DEFAULT_NAME = 'MQTT Sensor'
DEFAULT_FORCE_UPDATE = False DEFAULT_FORCE_UPDATE = False

View file

@ -8,22 +8,22 @@ import logging
import voluptuous as vol import voluptuous as vol
from homeassistant.core import callback from homeassistant.components import mqtt, switch
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, ATTR_DISCOVERY_HASH, CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN,
CONF_STATE_TOPIC, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, CONF_STATE_TOPIC, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import ( from homeassistant.components.mqtt.discovery import (
MQTT_DISCOVERY_NEW, clear_discovery_hash) MQTT_DISCOVERY_NEW, clear_discovery_hash)
from homeassistant.components.switch import SwitchDevice from homeassistant.components.switch import SwitchDevice
from homeassistant.const import ( from homeassistant.const import (
CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE, CONF_PAYLOAD_OFF, CONF_DEVICE, CONF_ICON, CONF_NAME, CONF_OPTIMISTIC, CONF_PAYLOAD_OFF,
CONF_PAYLOAD_ON, CONF_ICON, STATE_ON, CONF_DEVICE) CONF_PAYLOAD_ON, CONF_VALUE_TEMPLATE, STATE_ON)
from homeassistant.components import mqtt, switch from homeassistant.core import callback
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect 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.restore_state import RestoreEntity
from homeassistant.helpers.typing import ConfigType, HomeAssistantType
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -33,7 +33,6 @@ DEFAULT_NAME = 'MQTT Switch'
DEFAULT_PAYLOAD_ON = 'ON' DEFAULT_PAYLOAD_ON = 'ON'
DEFAULT_PAYLOAD_OFF = 'OFF' DEFAULT_PAYLOAD_OFF = 'OFF'
DEFAULT_OPTIMISTIC = False DEFAULT_OPTIMISTIC = False
CONF_UNIQUE_ID = 'unique_id'
CONF_STATE_ON = "state_on" CONF_STATE_ON = "state_on"
CONF_STATE_OFF = "state_off" CONF_STATE_OFF = "state_off"

View file

@ -10,16 +10,15 @@ import voluptuous as vol
from homeassistant.components import mqtt from homeassistant.components import mqtt
from homeassistant.components.mqtt import ( from homeassistant.components.mqtt import (
ATTR_DISCOVERY_HASH, MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, ATTR_DISCOVERY_HASH, CONF_UNIQUE_ID, MqttAttributes, MqttAvailability,
MqttEntityDeviceInfo, subscription) MqttDiscoveryUpdate, MqttEntityDeviceInfo, subscription)
from homeassistant.components.mqtt.discovery import MQTT_DISCOVERY_NEW from homeassistant.components.mqtt.discovery import MQTT_DISCOVERY_NEW
from homeassistant.components.vacuum import ( 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_LOCATE, SUPPORT_PAUSE, SUPPORT_RETURN_HOME, SUPPORT_SEND_COMMAND,
SUPPORT_STATUS, SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_STATUS, SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_TURN_ON,
VacuumDevice, DOMAIN) VacuumDevice)
from homeassistant.const import ( from homeassistant.const import ATTR_SUPPORTED_FEATURES, CONF_DEVICE, CONF_NAME
ATTR_SUPPORTED_FEATURES, CONF_NAME, CONF_DEVICE)
from homeassistant.core import callback from homeassistant.core import callback
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.dispatcher import async_dispatcher_connect 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_SET_FAN_SPEED_TOPIC = 'set_fan_speed_topic'
CONF_FAN_SPEED_LIST = 'fan_speed_list' CONF_FAN_SPEED_LIST = 'fan_speed_list'
CONF_SEND_COMMAND_TOPIC = 'send_command_topic' CONF_SEND_COMMAND_TOPIC = 'send_command_topic'
CONF_UNIQUE_ID = 'unique_id'
DEFAULT_NAME = 'MQTT Vacuum' DEFAULT_NAME = 'MQTT Vacuum'
DEFAULT_RETAIN = False DEFAULT_RETAIN = False

View file

@ -3,18 +3,18 @@ import json
import unittest import unittest
from unittest.mock import ANY 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 import alarm_control_panel, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 ( from tests.common import (
assert_setup_component, async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, assert_setup_component, async_fire_mqtt_message,
async_setup_component, fire_mqtt_message, get_test_home_assistant, async_mock_mqtt_component, async_setup_component, fire_mqtt_message,
mock_mqtt_component, MockConfigEntry, mock_registry) get_test_home_assistant, mock_mqtt_component, mock_registry)
from tests.components.alarm_control_panel import common from tests.components.alarm_control_panel import common
CODE = 'HELLO_CODE' CODE = 'HELLO_CODE'

View file

@ -1,23 +1,21 @@
"""The tests for the MQTT binary sensor platform.""" """The tests for the MQTT binary sensor platform."""
from datetime import timedelta
import json import json
import unittest import unittest
from unittest.mock import ANY, Mock 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 import binary_sensor, mqtt
from homeassistant.components.mqtt.discovery import async_start from homeassistant.components.mqtt.discovery import async_start
from homeassistant.const import (
from homeassistant.const import STATE_OFF, STATE_ON EVENT_STATE_CHANGED, STATE_OFF, STATE_ON, STATE_UNAVAILABLE)
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 import homeassistant.util.dt as dt_util
from tests.common import ( from tests.common import (
get_test_home_assistant, fire_mqtt_message, async_fire_mqtt_message, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
fire_time_changed, mock_component, mock_mqtt_component, mock_registry, fire_mqtt_message, fire_time_changed, get_test_home_assistant,
async_mock_mqtt_component, MockConfigEntry) mock_component, mock_mqtt_component, mock_registry)
class TestSensorMQTT(unittest.TestCase): class TestSensorMQTT(unittest.TestCase):

View file

@ -3,8 +3,7 @@ import asyncio
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
from tests.common import ( from tests.common import async_fire_mqtt_message, async_mock_mqtt_component
async_mock_mqtt_component, async_fire_mqtt_message)
@asyncio.coroutine @asyncio.coroutine

View file

@ -7,21 +7,20 @@ from unittest.mock import ANY
import pytest import pytest
import voluptuous as vol 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.components import climate, mqtt
from homeassistant.const import STATE_OFF, STATE_UNAVAILABLE
from homeassistant.components.climate import ( from homeassistant.components.climate import (
SUPPORT_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE, DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP, SUPPORT_AUX_HEAT, SUPPORT_AWAY_MODE,
SUPPORT_FAN_MODE, SUPPORT_SWING_MODE, SUPPORT_HOLD_MODE, SUPPORT_FAN_MODE, SUPPORT_HOLD_MODE, SUPPORT_OPERATION_MODE,
SUPPORT_AWAY_MODE, SUPPORT_AUX_HEAT, DEFAULT_MIN_TEMP, DEFAULT_MAX_TEMP) SUPPORT_SWING_MODE, SUPPORT_TARGET_TEMPERATURE)
from homeassistant.components.mqtt.discovery import async_start 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 ( from tests.common import (
async_fire_mqtt_message, async_mock_mqtt_component, async_setup_component, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
fire_mqtt_message, get_test_home_assistant, mock_component, async_setup_component, fire_mqtt_message, get_test_home_assistant,
mock_mqtt_component, MockConfigEntry, mock_registry) mock_component, mock_mqtt_component, mock_registry)
from tests.components.climate import common from tests.components.climate import common
ENTITY_CLIMATE = 'climate.test' ENTITY_CLIMATE = 'climate.test'

View file

@ -5,7 +5,7 @@ import pytest
from homeassistant.setup import async_setup_component 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) @pytest.fixture(autouse=True)

View file

@ -4,16 +4,16 @@ import unittest
from unittest.mock import ANY from unittest.mock import ANY
from homeassistant.components import cover, mqtt 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.cover import MqttCover
from homeassistant.components.mqtt.discovery import async_start from homeassistant.components.mqtt.discovery import async_start
from homeassistant.const import ( from homeassistant.const import (
ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, SERVICE_CLOSE_COVER,
SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER, SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT,
SERVICE_OPEN_COVER_TILT, SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION,
SERVICE_SET_COVER_TILT_POSITION, SERVICE_STOP_COVER, SERVICE_STOP_COVER, STATE_CLOSED, STATE_OPEN, STATE_UNAVAILABLE,
STATE_CLOSED, STATE_OPEN, STATE_UNAVAILABLE, STATE_UNKNOWN) STATE_UNKNOWN)
from homeassistant.setup import setup_component, async_setup_component from homeassistant.setup import async_setup_component, setup_component
from tests.common import ( from tests.common import (
MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,

View file

@ -3,11 +3,11 @@ import asyncio
from unittest.mock import patch from unittest.mock import patch
from homeassistant.components import mqtt from homeassistant.components import mqtt
from homeassistant.components.mqtt.discovery import async_start, \ from homeassistant.components.mqtt.discovery import (
ALREADY_DISCOVERED ALREADY_DISCOVERED, async_start)
from homeassistant.const import STATE_ON, STATE_OFF 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 @asyncio.coroutine

View file

@ -2,13 +2,14 @@
import json import json
from unittest.mock import ANY from unittest.mock import ANY
from homeassistant.setup import async_setup_component
from homeassistant.components import fan, mqtt from homeassistant.components import fan, mqtt
from homeassistant.components.mqtt.discovery import async_start from homeassistant.components.mqtt.discovery import async_start
from homeassistant.const import ATTR_ASSUMED_STATE, STATE_UNAVAILABLE 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, \ from tests.common import (
async_mock_mqtt_component, mock_registry MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
mock_registry)
async def test_fail_setup_if_no_command_topic(hass, mqtt_mock): async def test_fail_setup_if_no_command_topic(hass, mqtt_mock):

View file

@ -1,17 +1,17 @@
"""The tests for the MQTT component.""" """The tests for the MQTT component."""
import asyncio import asyncio
import ssl
import unittest import unittest
from unittest import mock from unittest import mock
import ssl
import pytest import pytest
import voluptuous as vol 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.core import callback
from homeassistant.setup import async_setup_component 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 ( from tests.common import (
MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,

View file

@ -157,16 +157,16 @@ import json
from unittest import mock from unittest import mock
from unittest.mock import ANY, patch 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 import light, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 import homeassistant.core as ha
from homeassistant.setup import async_setup_component
from tests.common import ( from tests.common import (
assert_setup_component, async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, assert_setup_component, async_fire_mqtt_message,
mock_coro, MockConfigEntry, mock_registry) async_mock_mqtt_component, mock_coro, mock_registry)
from tests.components.light import common from tests.components.light import common

View file

@ -90,17 +90,17 @@ light:
import json import json
from unittest.mock import ANY, patch 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 import light, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 import homeassistant.core as ha
from homeassistant.setup import async_setup_component
from tests.common import ( from tests.common import (
mock_coro, async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
MockConfigEntry, mock_registry) mock_coro, mock_registry)
async def test_fail_setup_if_no_command_topic(hass, mqtt_mock): async def test_fail_setup_if_no_command_topic(hass, mqtt_mock):

View file

@ -29,16 +29,16 @@ If your light doesn't support RGB feature, omit `(red|green|blue)_template`.
import json import json
from unittest.mock import ANY, patch 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 import light, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 import homeassistant.core as ha
from homeassistant.setup import async_setup_component
from tests.common import ( from tests.common import (
async_fire_mqtt_message, assert_setup_component, mock_coro, MockConfigEntry, assert_setup_component, async_fire_mqtt_message,
async_mock_mqtt_component, MockConfigEntry, mock_registry) async_mock_mqtt_component, mock_coro, mock_registry)
async def test_setup_fails(hass, mqtt_mock): async def test_setup_fails(hass, mqtt_mock):

View file

@ -2,14 +2,14 @@
import json import json
from unittest.mock import ANY 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 import lock, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 ( from tests.common import (
async_fire_mqtt_message, async_mock_mqtt_component, MockConfigEntry, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
mock_registry) mock_registry)

View file

@ -1,22 +1,21 @@
"""The tests for the MQTT sensor platform.""" """The tests for the MQTT sensor platform."""
from datetime import datetime, timedelta
import json import json
import unittest import unittest
from datetime import timedelta, datetime
from unittest.mock import ANY, patch 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 import mqtt
from homeassistant.components.mqtt.discovery import async_start from homeassistant.components.mqtt.discovery import async_start
import homeassistant.components.sensor as sensor import homeassistant.components.sensor as sensor
from homeassistant.const import EVENT_STATE_CHANGED, STATE_UNAVAILABLE 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 import homeassistant.util.dt as dt_util
from tests.common import mock_mqtt_component, fire_mqtt_message, \ from tests.common import (
assert_setup_component, async_fire_mqtt_message, \ MockConfigEntry, assert_setup_component, async_fire_mqtt_message,
async_mock_mqtt_component, MockConfigEntry, mock_registry async_mock_mqtt_component, fire_mqtt_message, get_test_home_assistant,
from tests.common import get_test_home_assistant, mock_component mock_component, mock_mqtt_component, mock_registry)
class TestSensorMQTT(unittest.TestCase): class TestSensorMQTT(unittest.TestCase):

View file

@ -1,9 +1,9 @@
"""The tests for the MQTT component embedded server.""" """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.const import CONF_PASSWORD
from homeassistant.setup import setup_component from homeassistant.setup import setup_component
import homeassistant.components.mqtt as mqtt
from tests.common import get_test_home_assistant, mock_coro from tests.common import get_test_home_assistant, mock_coro

View file

@ -1,9 +1,9 @@
"""The tests for the MQTT subscription component.""" """The tests for the MQTT subscription component."""
from unittest import mock from unittest import mock
from homeassistant.core import callback
from homeassistant.components.mqtt.subscription import ( from homeassistant.components.mqtt.subscription import (
async_subscribe_topics, async_unsubscribe_topics) async_subscribe_topics, async_unsubscribe_topics)
from homeassistant.core import callback
from tests.common import async_fire_mqtt_message, async_mock_mqtt_component from tests.common import async_fire_mqtt_message, async_mock_mqtt_component

View file

@ -1,19 +1,20 @@
"""The tests for the MQTT switch platform.""" """The tests for the MQTT switch platform."""
import json import json
from asynctest import patch
import pytest
from unittest.mock import ANY from unittest.mock import ANY
from homeassistant.setup import async_setup_component from asynctest import patch
from homeassistant.const import STATE_ON, STATE_OFF, STATE_UNAVAILABLE,\ import pytest
ATTR_ASSUMED_STATE
import homeassistant.core as ha from homeassistant.components import mqtt, switch
from homeassistant.components import switch, mqtt
from homeassistant.components.mqtt.discovery import async_start 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 ( from tests.common import (
mock_coro, async_mock_mqtt_component, async_fire_mqtt_message, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component,
MockConfigEntry, mock_registry) mock_coro, mock_registry)
from tests.components.switch import common from tests.components.switch import common

View file

@ -1,20 +1,20 @@
"""The tests for the Mqtt vacuum platform.""" """The tests for the Mqtt vacuum platform."""
import json import json
import pytest import pytest
from homeassistant.setup import async_setup_component from homeassistant.components import mqtt, vacuum
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.mqtt import ( from homeassistant.components.mqtt import (
CONF_COMMAND_TOPIC, vacuum as mqttvacuum) CONF_COMMAND_TOPIC, vacuum as mqttvacuum)
from homeassistant.components.mqtt.discovery import async_start 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 ( from tests.common import (
async_mock_mqtt_component, MockConfigEntry, async_fire_mqtt_message, async_mock_mqtt_component)
async_fire_mqtt_message, MockConfigEntry)
from tests.components.vacuum import common from tests.components.vacuum import common
default_config = { default_config = {