mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 22:57:17 +00:00
Remove MQTT platform schema warnings (#93785)
This commit is contained in:
parent
4119d3198a
commit
661aedde90
@ -41,12 +41,7 @@ from .const import (
|
|||||||
CONF_STATE_TOPIC,
|
CONF_STATE_TOPIC,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import MqttCommandTemplate, MqttValueTemplate, ReceiveMessage
|
from .models import MqttCommandTemplate, MqttValueTemplate, ReceiveMessage
|
||||||
from .util import get_mqtt_data, valid_publish_topic, valid_subscribe_topic
|
from .util import get_mqtt_data, valid_publish_topic, valid_subscribe_topic
|
||||||
|
|
||||||
@ -112,13 +107,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_BASE_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT alarm control panels under the alarm_control_panel platform key
|
|
||||||
# was deprecated in HA Core 2022.6;
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(alarm.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,7 +43,6 @@ from .mixins import (
|
|||||||
MqttAvailability,
|
MqttAvailability,
|
||||||
MqttEntity,
|
MqttEntity,
|
||||||
async_setup_entry_helper,
|
async_setup_entry_helper,
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
)
|
||||||
from .models import MqttValueTemplate, ReceiveMessage
|
from .models import MqttValueTemplate, ReceiveMessage
|
||||||
from .util import get_mqtt_data
|
from .util import get_mqtt_data
|
||||||
@ -69,13 +68,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_RO_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Binary sensors under the binary_sensor platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(binary_sensor.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,12 +22,7 @@ from .const import (
|
|||||||
CONF_QOS,
|
CONF_QOS,
|
||||||
CONF_RETAIN,
|
CONF_RETAIN,
|
||||||
)
|
)
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import MqttCommandTemplate
|
from .models import MqttCommandTemplate
|
||||||
from .util import valid_publish_topic
|
from .util import valid_publish_topic
|
||||||
|
|
||||||
@ -46,14 +41,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_BASE_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Buttons under the button platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(button.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,12 +20,7 @@ from . import subscription
|
|||||||
from .config import MQTT_BASE_SCHEMA
|
from .config import MQTT_BASE_SCHEMA
|
||||||
from .const import CONF_QOS, CONF_TOPIC
|
from .const import CONF_QOS, CONF_TOPIC
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import ReceiveMessage
|
from .models import ReceiveMessage
|
||||||
from .util import valid_subscribe_topic
|
from .util import valid_subscribe_topic
|
||||||
|
|
||||||
@ -56,12 +51,6 @@ PLATFORM_SCHEMA_MODERN = vol.All(
|
|||||||
PLATFORM_SCHEMA_BASE.schema,
|
PLATFORM_SCHEMA_BASE.schema,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Camera under the camera platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(camera.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,12 +58,7 @@ from .const import (
|
|||||||
PAYLOAD_NONE,
|
PAYLOAD_NONE,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -389,13 +384,6 @@ PLATFORM_SCHEMA_MODERN = vol.All(
|
|||||||
valid_humidity_state_configuration,
|
valid_humidity_state_configuration,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Climate under the climate platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(climate.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
_DISCOVERY_SCHEMA_BASE = _PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA)
|
_DISCOVERY_SCHEMA_BASE = _PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(
|
DISCOVERY_SCHEMA = vol.All(
|
||||||
|
@ -46,12 +46,7 @@ from .const import (
|
|||||||
DEFAULT_OPTIMISTIC,
|
DEFAULT_OPTIMISTIC,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import MqttCommandTemplate, MqttValueTemplate, ReceiveMessage
|
from .models import MqttCommandTemplate, MqttValueTemplate, ReceiveMessage
|
||||||
from .util import get_mqtt_data, valid_publish_topic, valid_subscribe_topic
|
from .util import get_mqtt_data, valid_publish_topic, valid_subscribe_topic
|
||||||
|
|
||||||
@ -210,12 +205,6 @@ PLATFORM_SCHEMA_MODERN = vol.All(
|
|||||||
validate_options,
|
validate_options,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Covers under the cover platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(cover.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(
|
DISCOVERY_SCHEMA = vol.All(
|
||||||
cv.removed("tilt_invert_state"),
|
cv.removed("tilt_invert_state"),
|
||||||
_PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA),
|
_PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA),
|
||||||
|
@ -36,7 +36,6 @@ from .mixins import (
|
|||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
MQTT_ENTITY_COMMON_SCHEMA,
|
||||||
MqttEntity,
|
MqttEntity,
|
||||||
async_setup_entry_helper,
|
async_setup_entry_helper,
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
)
|
||||||
from .models import MqttValueTemplate, ReceiveMessage, ReceivePayloadType
|
from .models import MqttValueTemplate, ReceiveMessage, ReceivePayloadType
|
||||||
from .util import get_mqtt_data, valid_subscribe_topic
|
from .util import get_mqtt_data, valid_subscribe_topic
|
||||||
@ -78,11 +77,6 @@ DISCOVERY_SCHEMA = vol.All(
|
|||||||
PLATFORM_SCHEMA_MODERN_BASE.extend({}, extra=vol.REMOVE_EXTRA), valid_config
|
PLATFORM_SCHEMA_MODERN_BASE.extend({}, extra=vol.REMOVE_EXTRA), valid_config
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Device Trackers under the device_tracker platform key was deprecated
|
|
||||||
# in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(warn_for_legacy_schema(device_tracker.DOMAIN))
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
@ -50,12 +50,7 @@ from .const import (
|
|||||||
PAYLOAD_NONE,
|
PAYLOAD_NONE,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MessageCallbackType,
|
MessageCallbackType,
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
@ -181,12 +176,6 @@ _PLATFORM_SCHEMA_BASE = MQTT_RW_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Fans under the fan platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(fan.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA_MODERN = vol.All(
|
PLATFORM_SCHEMA_MODERN = vol.All(
|
||||||
_PLATFORM_SCHEMA_BASE,
|
_PLATFORM_SCHEMA_BASE,
|
||||||
valid_speed_range_configuration,
|
valid_speed_range_configuration,
|
||||||
|
@ -45,12 +45,7 @@ from .const import (
|
|||||||
PAYLOAD_NONE,
|
PAYLOAD_NONE,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -151,13 +146,6 @@ _PLATFORM_SCHEMA_BASE = MQTT_RW_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Humidifiers under the humidifier platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(humidifier.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA_MODERN = vol.All(
|
PLATFORM_SCHEMA_MODERN = vol.All(
|
||||||
_PLATFORM_SCHEMA_BASE,
|
_PLATFORM_SCHEMA_BASE,
|
||||||
valid_humidity_range_configuration,
|
valid_humidity_range_configuration,
|
||||||
|
@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
|
|
||||||
from ..mixins import async_setup_entry_helper, warn_for_legacy_schema
|
from ..mixins import async_setup_entry_helper
|
||||||
from .schema import CONF_SCHEMA, MQTT_LIGHT_SCHEMA_SCHEMA
|
from .schema import CONF_SCHEMA, MQTT_LIGHT_SCHEMA_SCHEMA
|
||||||
from .schema_basic import (
|
from .schema_basic import (
|
||||||
DISCOVERY_SCHEMA_BASIC,
|
DISCOVERY_SCHEMA_BASIC,
|
||||||
@ -58,12 +58,6 @@ DISCOVERY_SCHEMA = vol.All(
|
|||||||
validate_mqtt_light_discovery,
|
validate_mqtt_light_discovery,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Lights under the light platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(light.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA_MODERN = vol.All(
|
PLATFORM_SCHEMA_MODERN = vol.All(
|
||||||
MQTT_LIGHT_SCHEMA_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA),
|
MQTT_LIGHT_SCHEMA_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA),
|
||||||
validate_mqtt_light_modern,
|
validate_mqtt_light_modern,
|
||||||
|
@ -33,12 +33,7 @@ from .const import (
|
|||||||
CONF_STATE_TOPIC,
|
CONF_STATE_TOPIC,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -94,12 +89,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_RW_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Locks under the lock platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(lock.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
STATE_CONFIG_KEYS = [
|
STATE_CONFIG_KEYS = [
|
||||||
|
@ -28,7 +28,7 @@ from homeassistant.const import (
|
|||||||
CONF_UNIQUE_ID,
|
CONF_UNIQUE_ID,
|
||||||
CONF_VALUE_TEMPLATE,
|
CONF_VALUE_TEMPLATE,
|
||||||
)
|
)
|
||||||
from homeassistant.core import Event, HomeAssistant, async_get_hass, callback
|
from homeassistant.core import Event, HomeAssistant, callback
|
||||||
from homeassistant.helpers import (
|
from homeassistant.helpers import (
|
||||||
config_validation as cv,
|
config_validation as cv,
|
||||||
device_registry as dr,
|
device_registry as dr,
|
||||||
@ -50,7 +50,6 @@ from homeassistant.helpers.event import (
|
|||||||
async_track_device_registry_updated_event,
|
async_track_device_registry_updated_event,
|
||||||
async_track_entity_registry_updated_event,
|
async_track_entity_registry_updated_event,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
|
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
from homeassistant.util.json import json_loads
|
from homeassistant.util.json import json_loads
|
||||||
|
|
||||||
@ -231,51 +230,6 @@ MQTT_ENTITY_COMMON_SCHEMA = MQTT_AVAILABILITY_SCHEMA.extend(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def warn_for_legacy_schema(domain: str) -> Callable[[ConfigType], ConfigType]:
|
|
||||||
"""Warn once when a legacy platform schema is used."""
|
|
||||||
warned = set()
|
|
||||||
|
|
||||||
def validator(config: ConfigType) -> ConfigType:
|
|
||||||
"""Return a validator."""
|
|
||||||
nonlocal warned
|
|
||||||
|
|
||||||
# Logged error and repair can be removed from HA 2023.6
|
|
||||||
if domain in warned:
|
|
||||||
return config
|
|
||||||
|
|
||||||
_LOGGER.error(
|
|
||||||
(
|
|
||||||
"Manually configured MQTT %s(s) found under platform key '%s', "
|
|
||||||
"please move to the mqtt integration key, see "
|
|
||||||
"https://www.home-assistant.io/integrations/%s.mqtt/"
|
|
||||||
),
|
|
||||||
domain,
|
|
||||||
domain,
|
|
||||||
domain,
|
|
||||||
)
|
|
||||||
warned.add(domain)
|
|
||||||
# Register a repair
|
|
||||||
async_create_issue(
|
|
||||||
async_get_hass(),
|
|
||||||
DOMAIN,
|
|
||||||
f"deprecated_yaml_{domain}",
|
|
||||||
breaks_in_ha_version="2022.12.0", # Warning first added in 2022.6.0
|
|
||||||
is_fixable=False,
|
|
||||||
severity=IssueSeverity.ERROR,
|
|
||||||
translation_key="deprecated_yaml",
|
|
||||||
translation_placeholders={
|
|
||||||
"more_info_url": (
|
|
||||||
"https://www.home-assistant.io"
|
|
||||||
f"/integrations/{domain}.mqtt/#new_format"
|
|
||||||
),
|
|
||||||
"platform": domain,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
return config
|
|
||||||
|
|
||||||
return validator
|
|
||||||
|
|
||||||
|
|
||||||
class SetupEntity(Protocol):
|
class SetupEntity(Protocol):
|
||||||
"""Protocol type for async_setup_entities."""
|
"""Protocol type for async_setup_entities."""
|
||||||
|
|
||||||
|
@ -42,12 +42,7 @@ from .const import (
|
|||||||
CONF_STATE_TOPIC,
|
CONF_STATE_TOPIC,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -107,12 +102,6 @@ PLATFORM_SCHEMA_MODERN = vol.All(
|
|||||||
validate_config,
|
validate_config,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Number under the number platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(number.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(
|
DISCOVERY_SCHEMA = vol.All(
|
||||||
_PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA),
|
_PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA),
|
||||||
validate_config,
|
validate_config,
|
||||||
|
@ -24,7 +24,6 @@ from .mixins import (
|
|||||||
MQTT_AVAILABILITY_SCHEMA,
|
MQTT_AVAILABILITY_SCHEMA,
|
||||||
MqttEntity,
|
MqttEntity,
|
||||||
async_setup_entry_helper,
|
async_setup_entry_helper,
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
)
|
||||||
from .util import valid_publish_topic
|
from .util import valid_publish_topic
|
||||||
|
|
||||||
@ -46,12 +45,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_BASE_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_AVAILABILITY_SCHEMA.schema)
|
).extend(MQTT_AVAILABILITY_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Scenes under the scene platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(scene.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,12 +28,7 @@ from .const import (
|
|||||||
CONF_STATE_TOPIC,
|
CONF_STATE_TOPIC,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -65,11 +60,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_RW_SCHEMA.extend(
|
|||||||
},
|
},
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Select under the select platform key was deprecated in HA Core 2022.6
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(select.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA))
|
DISCOVERY_SCHEMA = vol.All(PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA))
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@ from .mixins import (
|
|||||||
MqttAvailability,
|
MqttAvailability,
|
||||||
MqttEntity,
|
MqttEntity,
|
||||||
async_setup_entry_helper,
|
async_setup_entry_helper,
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
)
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -93,12 +92,6 @@ PLATFORM_SCHEMA_MODERN = vol.All(
|
|||||||
_PLATFORM_SCHEMA_BASE,
|
_PLATFORM_SCHEMA_BASE,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Sensors under the sensor platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(sensor.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(
|
DISCOVERY_SCHEMA = vol.All(
|
||||||
# Deprecated in HA Core 2021.11.0 https://github.com/home-assistant/core/pull/54840
|
# Deprecated in HA Core 2021.11.0 https://github.com/home-assistant/core/pull/54840
|
||||||
# Removed in HA Core 2023.6.0
|
# Removed in HA Core 2023.6.0
|
||||||
|
@ -50,12 +50,7 @@ from .const import (
|
|||||||
PAYLOAD_NONE,
|
PAYLOAD_NONE,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import (
|
from .models import (
|
||||||
MqttCommandTemplate,
|
MqttCommandTemplate,
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
@ -96,12 +91,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_RW_SCHEMA.extend(
|
|||||||
},
|
},
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Sirens under the siren platform key was deprecated in HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(siren.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = vol.All(PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA))
|
DISCOVERY_SCHEMA = vol.All(PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA))
|
||||||
|
|
||||||
MQTT_SIREN_ATTRIBUTES_BLOCKED = frozenset(
|
MQTT_SIREN_ATTRIBUTES_BLOCKED = frozenset(
|
||||||
|
@ -1,14 +1,4 @@
|
|||||||
{
|
{
|
||||||
"issues": {
|
|
||||||
"deprecated_yaml": {
|
|
||||||
"title": "Your manually configured MQTT {platform}(s) needs attention",
|
|
||||||
"description": "Manually configured MQTT {platform}(s) found under platform key `{platform}`.\n\nPlease move the configuration to the `mqtt` integration key and restart Home Assistant to fix this issue. See the [documentation]({more_info_url}), for more information."
|
|
||||||
},
|
|
||||||
"deprecated_yaml_broker_settings": {
|
|
||||||
"title": "Deprecated MQTT settings found in `configuration.yaml`",
|
|
||||||
"description": "The following settings found in `configuration.yaml` were migrated to MQTT config entry and will now override the settings in `configuration.yaml`:\n`{deprecated_settings}`\n\nPlease remove these settings from `configuration.yaml` and restart Home Assistant to fix this issue. See the [documentation]({more_info_url}), for more information."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"config": {
|
"config": {
|
||||||
"step": {
|
"step": {
|
||||||
"broker": {
|
"broker": {
|
||||||
|
@ -37,12 +37,7 @@ from .const import (
|
|||||||
PAYLOAD_NONE,
|
PAYLOAD_NONE,
|
||||||
)
|
)
|
||||||
from .debug_info import log_messages
|
from .debug_info import log_messages
|
||||||
from .mixins import (
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, async_setup_entry_helper
|
||||||
MQTT_ENTITY_COMMON_SCHEMA,
|
|
||||||
MqttEntity,
|
|
||||||
async_setup_entry_helper,
|
|
||||||
warn_for_legacy_schema,
|
|
||||||
)
|
|
||||||
from .models import MqttValueTemplate, ReceiveMessage
|
from .models import MqttValueTemplate, ReceiveMessage
|
||||||
from .util import get_mqtt_data
|
from .util import get_mqtt_data
|
||||||
|
|
||||||
@ -64,13 +59,6 @@ PLATFORM_SCHEMA_MODERN = MQTT_RW_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
# Configuring MQTT Switches under the switch platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(switch.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA = PLATFORM_SCHEMA_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
|
|
||||||
from ..mixins import async_setup_entry_helper, warn_for_legacy_schema
|
from ..mixins import async_setup_entry_helper
|
||||||
from .schema import CONF_SCHEMA, LEGACY, MQTT_VACUUM_SCHEMA, STATE
|
from .schema import CONF_SCHEMA, LEGACY, MQTT_VACUUM_SCHEMA, STATE
|
||||||
from .schema_legacy import (
|
from .schema_legacy import (
|
||||||
DISCOVERY_SCHEMA_LEGACY,
|
DISCOVERY_SCHEMA_LEGACY,
|
||||||
@ -46,13 +46,6 @@ DISCOVERY_SCHEMA = vol.All(
|
|||||||
MQTT_VACUUM_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA), validate_mqtt_vacuum_discovery
|
MQTT_VACUUM_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA), validate_mqtt_vacuum_discovery
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Vacuums under the vacuum platform key was deprecated in
|
|
||||||
# HA Core 2022.6
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA = vol.All(
|
|
||||||
warn_for_legacy_schema(vacuum.DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA_MODERN = vol.All(
|
PLATFORM_SCHEMA_MODERN = vol.All(
|
||||||
MQTT_VACUUM_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA), validate_mqtt_vacuum_modern
|
MQTT_VACUUM_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA), validate_mqtt_vacuum_modern
|
||||||
)
|
)
|
||||||
|
@ -8,7 +8,6 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components.vacuum import (
|
from homeassistant.components.vacuum import (
|
||||||
ATTR_STATUS,
|
ATTR_STATUS,
|
||||||
DOMAIN as VACUUM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
ENTITY_ID_FORMAT,
|
||||||
VacuumEntity,
|
VacuumEntity,
|
||||||
VacuumEntityFeature,
|
VacuumEntityFeature,
|
||||||
@ -26,7 +25,7 @@ from .. import subscription
|
|||||||
from ..config import MQTT_BASE_SCHEMA
|
from ..config import MQTT_BASE_SCHEMA
|
||||||
from ..const import CONF_COMMAND_TOPIC, CONF_ENCODING, CONF_QOS, CONF_RETAIN
|
from ..const import CONF_COMMAND_TOPIC, CONF_ENCODING, CONF_QOS, CONF_RETAIN
|
||||||
from ..debug_info import log_messages
|
from ..debug_info import log_messages
|
||||||
from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, warn_for_legacy_schema
|
from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity
|
||||||
from ..models import (
|
from ..models import (
|
||||||
MqttValueTemplate,
|
MqttValueTemplate,
|
||||||
PayloadSentinel,
|
PayloadSentinel,
|
||||||
@ -160,13 +159,6 @@ PLATFORM_SCHEMA_LEGACY_MODERN = (
|
|||||||
.extend(MQTT_VACUUM_SCHEMA.schema)
|
.extend(MQTT_VACUUM_SCHEMA.schema)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Vacuums under the vacuum platform key was deprecated in
|
|
||||||
# HA Core 2022.6;
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA_LEGACY = vol.All(
|
|
||||||
warn_for_legacy_schema(VACUUM_DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA_LEGACY = PLATFORM_SCHEMA_LEGACY_MODERN.extend(
|
DISCOVERY_SCHEMA_LEGACY = PLATFORM_SCHEMA_LEGACY_MODERN.extend(
|
||||||
{}, extra=vol.REMOVE_EXTRA
|
{}, extra=vol.REMOVE_EXTRA
|
||||||
)
|
)
|
||||||
|
@ -6,7 +6,6 @@ from typing import Any, cast
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.vacuum import (
|
from homeassistant.components.vacuum import (
|
||||||
DOMAIN as VACUUM_DOMAIN,
|
|
||||||
ENTITY_ID_FORMAT,
|
ENTITY_ID_FORMAT,
|
||||||
STATE_CLEANING,
|
STATE_CLEANING,
|
||||||
STATE_DOCKED,
|
STATE_DOCKED,
|
||||||
@ -39,7 +38,7 @@ from ..const import (
|
|||||||
CONF_STATE_TOPIC,
|
CONF_STATE_TOPIC,
|
||||||
)
|
)
|
||||||
from ..debug_info import log_messages
|
from ..debug_info import log_messages
|
||||||
from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity, warn_for_legacy_schema
|
from ..mixins import MQTT_ENTITY_COMMON_SCHEMA, MqttEntity
|
||||||
from ..models import ReceiveMessage
|
from ..models import ReceiveMessage
|
||||||
from ..util import get_mqtt_data, valid_publish_topic
|
from ..util import get_mqtt_data, valid_publish_topic
|
||||||
from .const import MQTT_VACUUM_ATTRIBUTES_BLOCKED
|
from .const import MQTT_VACUUM_ATTRIBUTES_BLOCKED
|
||||||
@ -155,13 +154,6 @@ PLATFORM_SCHEMA_STATE_MODERN = (
|
|||||||
.extend(MQTT_VACUUM_SCHEMA.schema)
|
.extend(MQTT_VACUUM_SCHEMA.schema)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Configuring MQTT Vacuums under the vacuum platform key was deprecated in
|
|
||||||
# HA Core 2022.6;
|
|
||||||
# Setup for the legacy YAML format was removed in HA Core 2022.12
|
|
||||||
PLATFORM_SCHEMA_STATE = vol.All(
|
|
||||||
warn_for_legacy_schema(VACUUM_DOMAIN),
|
|
||||||
)
|
|
||||||
|
|
||||||
DISCOVERY_SCHEMA_STATE = PLATFORM_SCHEMA_STATE_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
DISCOVERY_SCHEMA_STATE = PLATFORM_SCHEMA_STATE_MODERN.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
"""The tests for the MQTT component."""
|
"""The tests for the MQTT component."""
|
||||||
import asyncio
|
import asyncio
|
||||||
from collections.abc import Generator
|
from collections.abc import Generator
|
||||||
import copy
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from functools import partial
|
from functools import partial
|
||||||
import json
|
import json
|
||||||
@ -3470,31 +3469,6 @@ async def test_subscribe_connection_status(
|
|||||||
assert mqtt_connected_calls_async[1] is False
|
assert mqtt_connected_calls_async[1] is False
|
||||||
|
|
||||||
|
|
||||||
# Test existence of removed YAML configuration under the platform key
|
|
||||||
# This warning and test is to be removed from HA core 2023.6
|
|
||||||
async def test_one_deprecation_warning_per_platform(
|
|
||||||
hass: HomeAssistant,
|
|
||||||
mqtt_mock_entry: MqttMockHAClientGenerator,
|
|
||||||
caplog: pytest.LogCaptureFixture,
|
|
||||||
) -> None:
|
|
||||||
"""Test a deprecation warning is is logged once per platform."""
|
|
||||||
platform = "light"
|
|
||||||
config = {"platform": "mqtt", "command_topic": "test-topic"}
|
|
||||||
config1 = copy.deepcopy(config)
|
|
||||||
config1["name"] = "test1"
|
|
||||||
config2 = copy.deepcopy(config)
|
|
||||||
config2["name"] = "test2"
|
|
||||||
await async_setup_component(hass, platform, {platform: [config1, config2]})
|
|
||||||
count = 0
|
|
||||||
for record in caplog.records:
|
|
||||||
if record.levelname == "ERROR" and (
|
|
||||||
f"Manually configured MQTT {platform}(s) found under platform key '{platform}'"
|
|
||||||
in record.message
|
|
||||||
):
|
|
||||||
count += 1
|
|
||||||
assert count == 1
|
|
||||||
|
|
||||||
|
|
||||||
@patch("homeassistant.components.mqtt.PLATFORMS", [Platform.LIGHT])
|
@patch("homeassistant.components.mqtt.PLATFORMS", [Platform.LIGHT])
|
||||||
async def test_unload_config_entry(
|
async def test_unload_config_entry(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user