mirror of
https://github.com/home-assistant/core.git
synced 2025-08-13 17:45:19 +02:00
Fix imports and merging errors - add slots attr
This commit is contained in:
@@ -10,6 +10,8 @@ import re
|
||||
import time
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_DEVICE, CONF_PLATFORM
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
@@ -38,8 +40,8 @@ from .const import (
|
||||
DOMAIN,
|
||||
SUPPORTED_COMPONENTS,
|
||||
)
|
||||
from .models import DATA_MQTT, MqttOriginInfo, ReceiveMessage
|
||||
from .schemas import MQTT_ORIGIN_INFO_SCHEMA
|
||||
from .models import DATA_MQTT, MqttComponentConfig, MqttOriginInfo, ReceiveMessage
|
||||
from .schemas import DEVICE_DISCOVERY_SCHEMA, MQTT_ORIGIN_INFO_SCHEMA, SHARED_OPTIONS
|
||||
from .util import async_forward_entry_setup_and_setup_discovery
|
||||
|
||||
ABBREVIATIONS_SET = set(ABBREVIATIONS)
|
||||
@@ -178,7 +180,7 @@ def _generate_device_cleanup_config(
|
||||
hass: HomeAssistant, object_id: str, node_id: str | None
|
||||
) -> dict[str, Any]:
|
||||
"""Generate a cleanup message on device cleanup."""
|
||||
mqtt_data = get_mqtt_data(hass)
|
||||
mqtt_data = hass.data[DATA_MQTT]
|
||||
device_discover_id: str = f"{node_id} {object_id}" if node_id else object_id
|
||||
config: dict[str, Any] = {CONF_DEVICE: {}, CONF_COMPONENTS: {}}
|
||||
comp_config = config[CONF_COMPONENTS]
|
||||
|
@@ -422,7 +422,7 @@ class MqttData:
|
||||
tags: dict[str, dict[str, MQTTTagScanner]] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclass(slots=True)
|
||||
class MqttComponentConfig:
|
||||
"""(component, object_id, node_id, discovery_payload)."""
|
||||
|
||||
@@ -431,5 +431,6 @@ class MqttComponentConfig:
|
||||
node_id: str | None
|
||||
discovery_payload: MQTTDiscoveryPayload
|
||||
|
||||
|
||||
DATA_MQTT: HassKey[MqttData] = HassKey("mqtt")
|
||||
DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]] = HassKey("mqtt_client_available")
|
||||
|
@@ -3,6 +3,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.const import (
|
||||
@@ -156,17 +157,6 @@ MQTT_AVAILABILITY_SCHEMA = MQTT_AVAILABILITY_SINGLE_SCHEMA.extend(
|
||||
MQTT_AVAILABILITY_LIST_SCHEMA.schema
|
||||
)
|
||||
|
||||
|
||||
def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType:
|
||||
"""Validate that a device info entry has at least one identifying value."""
|
||||
if value.get(CONF_IDENTIFIERS) or value.get(CONF_CONNECTIONS):
|
||||
return value
|
||||
raise vol.Invalid(
|
||||
"Device must have at least one identifying value in "
|
||||
"'identifiers' and/or 'connections'"
|
||||
)
|
||||
|
||||
|
||||
MQTT_ENTITY_DEVICE_INFO_SCHEMA = vol.All(
|
||||
cv.deprecated(CONF_DEPRECATED_VIA_HUB, CONF_VIA_DEVICE),
|
||||
vol.Schema(
|
||||
@@ -230,4 +220,4 @@ DEVICE_DISCOVERY_SCHEMA = MQTT_AVAILABILITY_SCHEMA.extend(
|
||||
vol.Optional(CONF_QOS): valid_qos_schema,
|
||||
vol.Optional(CONF_ENCODING): cv.string,
|
||||
}
|
||||
)
|
||||
)
|
||||
|
Reference in New Issue
Block a user