diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 36402380b33..9ddf50aad43 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -56,6 +56,7 @@ from .const import ( ATTR_TOPIC, CONF_BIRTH_MESSAGE, CONF_BROKER, + CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, @@ -98,9 +99,6 @@ CONF_CLIENT_CERT = "client_cert" CONF_TLS_INSECURE = "tls_insecure" CONF_TLS_VERSION = "tls_version" -CONF_COMMAND_TOPIC = "command_topic" -CONF_TOPIC = "topic" - PROTOCOL_31 = "3.1" DEFAULT_PORT = 1883 diff --git a/homeassistant/components/mqtt/alarm_control_panel.py b/homeassistant/components/mqtt/alarm_control_panel.py index f3e8e112f1a..0966497c024 100644 --- a/homeassistant/components/mqtt/alarm_control_panel.py +++ b/homeassistant/components/mqtt/alarm_control_panel.py @@ -33,16 +33,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/binary_sensor.py b/homeassistant/components/mqtt/binary_sensor.py index 66dea3e3aa0..70638f5cc76 100644 --- a/homeassistant/components/mqtt/binary_sensor.py +++ b/homeassistant/components/mqtt/binary_sensor.py @@ -26,8 +26,9 @@ from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType from homeassistant.util import dt as dt_util -from . import CONF_QOS, CONF_STATE_TOPIC, DOMAIN, PLATFORMS, subscription +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_QOS, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import ( MQTT_ENTITY_COMMON_SCHEMA, diff --git a/homeassistant/components/mqtt/camera.py b/homeassistant/components/mqtt/camera.py index ebd6956e8fd..cc331c0008c 100644 --- a/homeassistant/components/mqtt/camera.py +++ b/homeassistant/components/mqtt/camera.py @@ -13,12 +13,12 @@ from homeassistant.helpers import config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import CONF_QOS, DOMAIN, PLATFORMS, subscription +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_QOS, CONF_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper -CONF_TOPIC = "topic" DEFAULT_NAME = "MQTT Camera" MQTT_CAMERA_ATTRIBUTES_BLOCKED = frozenset( diff --git a/homeassistant/components/mqtt/climate.py b/homeassistant/components/mqtt/climate.py index ccaa7c65176..fb19c5e7038 100644 --- a/homeassistant/components/mqtt/climate.py +++ b/homeassistant/components/mqtt/climate.py @@ -51,15 +51,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_QOS, - CONF_RETAIN, - DOMAIN, - MQTT_BASE_PLATFORM_SCHEMA, - PLATFORMS, - subscription, -) +from . import MQTT_BASE_PLATFORM_SCHEMA, PLATFORMS, subscription from .. import mqtt +from .const import CONF_QOS, CONF_RETAIN, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/const.py b/homeassistant/components/mqtt/const.py index 6435670e92c..c626592b0a3 100644 --- a/homeassistant/components/mqtt/const.py +++ b/homeassistant/components/mqtt/const.py @@ -12,6 +12,7 @@ ATTR_TOPIC = "topic" CONF_AVAILABILITY = "availability" CONF_BROKER = "broker" CONF_BIRTH_MESSAGE = "birth_message" +CONF_COMMAND_TOPIC = "command_topic" CONF_QOS = ATTR_QOS CONF_RETAIN = ATTR_RETAIN CONF_STATE_TOPIC = "state_topic" diff --git a/homeassistant/components/mqtt/cover.py b/homeassistant/components/mqtt/cover.py index d920d12662f..b48f39908fa 100644 --- a/homeassistant/components/mqtt/cover.py +++ b/homeassistant/components/mqtt/cover.py @@ -36,16 +36,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/device_trigger.py b/homeassistant/components/mqtt/device_trigger.py index fe1bd608305..42bd4d19132 100644 --- a/homeassistant/components/mqtt/device_trigger.py +++ b/homeassistant/components/mqtt/device_trigger.py @@ -30,9 +30,16 @@ from homeassistant.helpers.dispatcher import ( ) from homeassistant.helpers.typing import ConfigType -from . import CONF_PAYLOAD, CONF_QOS, DOMAIN, debug_info, trigger as mqtt_trigger +from . import debug_info, trigger as mqtt_trigger from .. import mqtt -from .const import ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_TOPIC +from .const import ( + ATTR_DISCOVERY_HASH, + ATTR_DISCOVERY_TOPIC, + CONF_PAYLOAD, + CONF_QOS, + CONF_TOPIC, + DOMAIN, +) from .discovery import MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_UPDATED, clear_discovery_hash from .mixins import ( CONF_CONNECTIONS, @@ -48,7 +55,6 @@ _LOGGER = logging.getLogger(__name__) CONF_AUTOMATION_TYPE = "automation_type" CONF_DISCOVERY_ID = "discovery_id" CONF_SUBTYPE = "subtype" -CONF_TOPIC = "topic" DEFAULT_ENCODING = "utf-8" DEVICE = "device" diff --git a/homeassistant/components/mqtt/fan.py b/homeassistant/components/mqtt/fan.py index ee328c1eda5..28a187941bc 100644 --- a/homeassistant/components/mqtt/fan.py +++ b/homeassistant/components/mqtt/fan.py @@ -36,16 +36,9 @@ from homeassistant.util.percentage import ( ranged_value_to_percentage, ) -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/humidifier.py b/homeassistant/components/mqtt/humidifier.py index 2f76b416184..c1db0a6d4ee 100644 --- a/homeassistant/components/mqtt/humidifier.py +++ b/homeassistant/components/mqtt/humidifier.py @@ -27,16 +27,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/light/schema_basic.py b/homeassistant/components/mqtt/light/schema_basic.py index c4af68d3044..9a900c296d3 100644 --- a/homeassistant/components/mqtt/light/schema_basic.py +++ b/homeassistant/components/mqtt/light/schema_basic.py @@ -50,8 +50,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.restore_state import RestoreEntity import homeassistant.util.color as color_util -from .. import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, subscription +from .. import subscription from ... import mqtt +from ..const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC from ..debug_info import log_messages from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity from .schema import MQTT_LIGHT_SCHEMA_SCHEMA diff --git a/homeassistant/components/mqtt/light/schema_json.py b/homeassistant/components/mqtt/light/schema_json.py index 1223b79148a..8538b1169cc 100644 --- a/homeassistant/components/mqtt/light/schema_json.py +++ b/homeassistant/components/mqtt/light/schema_json.py @@ -56,8 +56,9 @@ from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import ConfigType import homeassistant.util.color as color_util -from .. import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, subscription +from .. import subscription from ... import mqtt +from ..const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC from ..debug_info import log_messages from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity from .schema import MQTT_LIGHT_SCHEMA_SCHEMA diff --git a/homeassistant/components/mqtt/light/schema_template.py b/homeassistant/components/mqtt/light/schema_template.py index 9a23d9ea2f9..0c6522efc4f 100644 --- a/homeassistant/components/mqtt/light/schema_template.py +++ b/homeassistant/components/mqtt/light/schema_template.py @@ -32,8 +32,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.restore_state import RestoreEntity import homeassistant.util.color as color_util -from .. import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, subscription +from .. import subscription from ... import mqtt +from ..const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC from ..debug_info import log_messages from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity from .schema import MQTT_LIGHT_SCHEMA_SCHEMA diff --git a/homeassistant/components/mqtt/lock.py b/homeassistant/components/mqtt/lock.py index 45703fc0cc3..158e3547737 100644 --- a/homeassistant/components/mqtt/lock.py +++ b/homeassistant/components/mqtt/lock.py @@ -11,16 +11,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/number.py b/homeassistant/components/mqtt/number.py index d7bce567976..a54fd55adb8 100644 --- a/homeassistant/components/mqtt/number.py +++ b/homeassistant/components/mqtt/number.py @@ -18,16 +18,9 @@ from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt -from .const import CONF_RETAIN +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/scene.py b/homeassistant/components/mqtt/scene.py index 1d84d1cecae..5d9f7ba376e 100644 --- a/homeassistant/components/mqtt/scene.py +++ b/homeassistant/components/mqtt/scene.py @@ -11,8 +11,9 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType -from . import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, DOMAIN, PLATFORMS +from . import PLATFORMS from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, DOMAIN from .mixins import ( MQTT_AVAILABILITY_SCHEMA, MqttAvailability, diff --git a/homeassistant/components/mqtt/select.py b/homeassistant/components/mqtt/select.py index 4f4d3fbb663..439aaccdc3b 100644 --- a/homeassistant/components/mqtt/select.py +++ b/homeassistant/components/mqtt/select.py @@ -13,16 +13,9 @@ from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt -from .const import CONF_RETAIN +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/sensor.py b/homeassistant/components/mqtt/sensor.py index 0e5cca03ceb..0c0e1e700b7 100644 --- a/homeassistant/components/mqtt/sensor.py +++ b/homeassistant/components/mqtt/sensor.py @@ -28,8 +28,9 @@ from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.typing import ConfigType from homeassistant.util import dt as dt_util -from . import CONF_QOS, CONF_STATE_TOPIC, DOMAIN, PLATFORMS, subscription +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_QOS, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import ( MQTT_ENTITY_COMMON_SCHEMA, diff --git a/homeassistant/components/mqtt/switch.py b/homeassistant/components/mqtt/switch.py index f383a2ae310..52addc19d12 100644 --- a/homeassistant/components/mqtt/switch.py +++ b/homeassistant/components/mqtt/switch.py @@ -19,16 +19,9 @@ from homeassistant.helpers.reload import async_setup_reload_service from homeassistant.helpers.restore_state import RestoreEntity from homeassistant.helpers.typing import ConfigType -from . import ( - CONF_COMMAND_TOPIC, - CONF_QOS, - CONF_RETAIN, - CONF_STATE_TOPIC, - DOMAIN, - PLATFORMS, - subscription, -) +from . import PLATFORMS, subscription from .. import mqtt +from .const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, DOMAIN from .debug_info import log_messages from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper diff --git a/homeassistant/components/mqtt/tag.py b/homeassistant/components/mqtt/tag.py index 4960ff50fb5..908895f180c 100644 --- a/homeassistant/components/mqtt/tag.py +++ b/homeassistant/components/mqtt/tag.py @@ -12,9 +12,15 @@ from homeassistant.helpers.dispatcher import ( async_dispatcher_send, ) -from . import CONF_QOS, CONF_TOPIC, DOMAIN, subscription +from . import subscription from .. import mqtt -from .const import ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_TOPIC +from .const import ( + ATTR_DISCOVERY_HASH, + ATTR_DISCOVERY_TOPIC, + CONF_QOS, + CONF_TOPIC, + DOMAIN, +) from .discovery import MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_UPDATED, clear_discovery_hash from .mixins import ( CONF_CONNECTIONS, diff --git a/homeassistant/components/mqtt/trigger.py b/homeassistant/components/mqtt/trigger.py index 6be19a1b43a..f9c035dea85 100644 --- a/homeassistant/components/mqtt/trigger.py +++ b/homeassistant/components/mqtt/trigger.py @@ -10,12 +10,11 @@ from homeassistant.core import HassJob, callback from homeassistant.helpers import config_validation as cv, template from .. import mqtt +from .const import CONF_QOS, CONF_TOPIC # mypy: allow-untyped-defs CONF_ENCODING = "encoding" -CONF_QOS = "qos" -CONF_TOPIC = "topic" DEFAULT_ENCODING = "utf-8" DEFAULT_QOS = 0 diff --git a/homeassistant/components/mqtt/vacuum/schema_legacy.py b/homeassistant/components/mqtt/vacuum/schema_legacy.py index 009cfe18016..8543fa177c4 100644 --- a/homeassistant/components/mqtt/vacuum/schema_legacy.py +++ b/homeassistant/components/mqtt/vacuum/schema_legacy.py @@ -25,6 +25,7 @@ from homeassistant.helpers.icon import icon_for_battery_level from .. import subscription from ... import mqtt +from ..const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN from ..debug_info import log_messages from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity from .const import MQTT_VACUUM_ATTRIBUTES_BLOCKED @@ -147,8 +148,8 @@ PLATFORM_SCHEMA_LEGACY = ( vol.Optional( CONF_SUPPORTED_FEATURES, default=DEFAULT_SERVICE_STRINGS ): vol.All(cv.ensure_list, [vol.In(STRING_TO_SERVICE.keys())]), - vol.Optional(mqtt.CONF_COMMAND_TOPIC): mqtt.valid_publish_topic, - vol.Optional(mqtt.CONF_RETAIN, default=DEFAULT_RETAIN): cv.boolean, + vol.Optional(CONF_COMMAND_TOPIC): mqtt.valid_publish_topic, + vol.Optional(CONF_RETAIN, default=DEFAULT_RETAIN): cv.boolean, } ) .extend(MQTT_ENTITY_COMMON_SCHEMA.schema) @@ -192,10 +193,10 @@ class MqttVacuum(MqttEntity, VacuumEntity): supported_feature_strings, STRING_TO_SERVICE ) self._fan_speed_list = config[CONF_FAN_SPEED_LIST] - self._qos = config[mqtt.CONF_QOS] - self._retain = config[mqtt.CONF_RETAIN] + self._qos = config[CONF_QOS] + self._retain = config[CONF_RETAIN] - self._command_topic = config.get(mqtt.CONF_COMMAND_TOPIC) + self._command_topic = config.get(CONF_COMMAND_TOPIC) self._set_fan_speed_topic = config.get(CONF_SET_FAN_SPEED_TOPIC) self._send_command_topic = config.get(CONF_SEND_COMMAND_TOPIC) diff --git a/homeassistant/components/mqtt/vacuum/schema_state.py b/homeassistant/components/mqtt/vacuum/schema_state.py index 2c222af28d8..3bc30d9d5cc 100644 --- a/homeassistant/components/mqtt/vacuum/schema_state.py +++ b/homeassistant/components/mqtt/vacuum/schema_state.py @@ -26,8 +26,9 @@ from homeassistant.const import ATTR_SUPPORTED_FEATURES, CONF_NAME from homeassistant.core import callback import homeassistant.helpers.config_validation as cv -from .. import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC, subscription +from .. import subscription from ... import mqtt +from ..const import CONF_COMMAND_TOPIC, CONF_QOS, CONF_RETAIN, CONF_STATE_TOPIC from ..debug_info import log_messages from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity from .const import MQTT_VACUUM_ATTRIBUTES_BLOCKED diff --git a/tests/components/mqtt/test_cover.py b/tests/components/mqtt/test_cover.py index 0ee2557fbd6..cd2966f6853 100644 --- a/tests/components/mqtt/test_cover.py +++ b/tests/components/mqtt/test_cover.py @@ -10,7 +10,7 @@ from homeassistant.components.cover import ( ATTR_POSITION, ATTR_TILT_POSITION, ) -from homeassistant.components.mqtt.const import CONF_STATE_TOPIC +from homeassistant.components.mqtt import CONF_STATE_TOPIC from homeassistant.components.mqtt.cover import ( CONF_GET_POSITION_TEMPLATE, CONF_GET_POSITION_TOPIC,