diff --git a/homeassistant/components/esphome/__init__.py b/homeassistant/components/esphome/__init__.py index 3af95576c18..b06fcd4bab0 100644 --- a/homeassistant/components/esphome/__init__.py +++ b/homeassistant/components/esphome/__init__.py @@ -25,6 +25,8 @@ from .manager import ESPHomeManager, cleanup_instance CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) +CLIENT_INFO = f"Home Assistant {ha_version}" + async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the esphome component.""" @@ -34,10 +36,10 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry) -> bool: """Set up the esphome component.""" - host = entry.data[CONF_HOST] - port = entry.data[CONF_PORT] - password = entry.data[CONF_PASSWORD] - noise_psk = entry.data.get(CONF_NOISE_PSK) + host: str = entry.data[CONF_HOST] + port: int = entry.data[CONF_PORT] + password: str | None = entry.data[CONF_PASSWORD] + noise_psk: str | None = entry.data.get(CONF_NOISE_PSK) zeroconf_instance = await zeroconf.async_get_instance(hass) @@ -45,7 +47,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry) -> b host, port, password, - client_info=f"Home Assistant {ha_version}", + client_info=CLIENT_INFO, zeroconf_instance=zeroconf_instance, noise_psk=noise_psk, ) @@ -61,7 +63,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ESPHomeConfigEntry) -> b entry.runtime_data = entry_data manager = ESPHomeManager( - hass, entry, host, password, cli, zeroconf_instance, domain_data, entry_data + hass, entry, host, password, cli, zeroconf_instance, domain_data ) await manager.async_start() diff --git a/homeassistant/components/esphome/domain_data.py b/homeassistant/components/esphome/domain_data.py index e9057ddfeaa..aa46469c40e 100644 --- a/homeassistant/components/esphome/domain_data.py +++ b/homeassistant/components/esphome/domain_data.py @@ -33,12 +33,6 @@ class DomainData: """ return entry.runtime_data - def set_entry_data( - self, entry: ESPHomeConfigEntry, entry_data: RuntimeEntryData - ) -> None: - """Set the runtime entry data associated with this config entry.""" - entry.runtime_data = entry_data - def get_or_create_store( self, hass: HomeAssistant, entry: ESPHomeConfigEntry ) -> ESPHomeStorage: diff --git a/homeassistant/components/esphome/manager.py b/homeassistant/components/esphome/manager.py index 870bd704ee4..5ab0265c1d4 100644 --- a/homeassistant/components/esphome/manager.py +++ b/homeassistant/components/esphome/manager.py @@ -164,7 +164,6 @@ class ESPHomeManager: cli: APIClient, zeroconf_instance: zeroconf.HaZeroconf, domain_data: DomainData, - entry_data: RuntimeEntryData, ) -> None: """Initialize the esphome manager.""" self.hass = hass @@ -177,7 +176,7 @@ class ESPHomeManager: self.voice_assistant_pipeline: VoiceAssistantPipeline | None = None self.reconnect_logic: ReconnectLogic | None = None self.zeroconf_instance = zeroconf_instance - self.entry_data = entry_data + self.entry_data = entry.runtime_data async def on_stop(self, event: Event) -> None: """Cleanup the socket client on HA close.""" diff --git a/tests/components/esphome/test_config_flow.py b/tests/components/esphome/test_config_flow.py index 9c61a5d0615..9a2b1f1a80e 100644 --- a/tests/components/esphome/test_config_flow.py +++ b/tests/components/esphome/test_config_flow.py @@ -2,7 +2,7 @@ from ipaddress import ip_address import json -from unittest.mock import AsyncMock, MagicMock, patch +from unittest.mock import AsyncMock, patch from aioesphomeapi import ( APIClient, @@ -18,7 +18,7 @@ import pytest from homeassistant import config_entries from homeassistant.components import dhcp, zeroconf -from homeassistant.components.esphome import DomainData, dashboard +from homeassistant.components.esphome import dashboard from homeassistant.components.esphome.const import ( CONF_ALLOW_SERVICE_CALLS, CONF_DEVICE_NAME, @@ -1136,10 +1136,7 @@ async def test_discovery_dhcp_no_changes( ) entry.add_to_hass(hass) - mock_entry_data = MagicMock() - mock_entry_data.device_info.name = "test8266" - domain_data = DomainData.get(hass) - domain_data.set_entry_data(entry, mock_entry_data) + mock_client.device_info = AsyncMock(return_value=DeviceInfo(name="test8266")) service_info = dhcp.DhcpServiceInfo( ip="192.168.43.183",