From c0317f60cc608067c4b23df2fd803184e71bdf37 Mon Sep 17 00:00:00 2001 From: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:08:50 +0200 Subject: [PATCH] Add analytics platform to esphome (#153311) --- homeassistant/components/esphome/analytics.py | 11 +++++++ tests/components/esphome/test_analytics.py | 31 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 homeassistant/components/esphome/analytics.py create mode 100644 tests/components/esphome/test_analytics.py diff --git a/homeassistant/components/esphome/analytics.py b/homeassistant/components/esphome/analytics.py new file mode 100644 index 000000000000..d801bfeb31fe --- /dev/null +++ b/homeassistant/components/esphome/analytics.py @@ -0,0 +1,11 @@ +"""Analytics platform.""" + +from homeassistant.components.analytics import AnalyticsInput, AnalyticsModifications +from homeassistant.core import HomeAssistant + + +async def async_modify_analytics( + hass: HomeAssistant, analytics_input: AnalyticsInput +) -> AnalyticsModifications: + """Modify the analytics.""" + return AnalyticsModifications(remove=True) diff --git a/tests/components/esphome/test_analytics.py b/tests/components/esphome/test_analytics.py new file mode 100644 index 000000000000..f4de75b2ee0c --- /dev/null +++ b/tests/components/esphome/test_analytics.py @@ -0,0 +1,31 @@ +"""Tests for analytics platform.""" + +import pytest + +from homeassistant.components.analytics import async_devices_payload +from homeassistant.components.esphome import DOMAIN +from homeassistant.core import HomeAssistant +from homeassistant.helpers import device_registry as dr +from homeassistant.setup import async_setup_component + +from tests.common import MockConfigEntry + + +@pytest.mark.asyncio +async def test_analytics( + hass: HomeAssistant, device_registry: dr.DeviceRegistry +) -> None: + """Test the analytics platform.""" + await async_setup_component(hass, "analytics", {}) + + config_entry = MockConfigEntry(domain=DOMAIN, data={}) + config_entry.add_to_hass(hass) + device_registry.async_get_or_create( + config_entry_id=config_entry.entry_id, + connections={(dr.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")}, + identifiers={(DOMAIN, "test")}, + manufacturer="Test Manufacturer", + ) + + result = await async_devices_payload(hass) + assert DOMAIN not in result["integrations"]