diff --git a/homeassistant/components/analytics/__init__.py b/homeassistant/components/analytics/__init__.py index 4e805814632..230d172ca91 100644 --- a/homeassistant/components/analytics/__init__.py +++ b/homeassistant/components/analytics/__init__.py @@ -18,6 +18,7 @@ from .analytics import ( AnalyticsModifications, DeviceAnalyticsModifications, EntityAnalyticsModifications, + async_devices_payload, ) from .const import ATTR_ONBOARDED, ATTR_PREFERENCES, DOMAIN, INTERVAL, PREFERENCE_SCHEMA from .http import AnalyticsDevicesView @@ -27,6 +28,7 @@ __all__ = [ "AnalyticsModifications", "DeviceAnalyticsModifications", "EntityAnalyticsModifications", + "async_devices_payload", ] CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN) diff --git a/homeassistant/components/automation/analytics.py b/homeassistant/components/automation/analytics.py new file mode 100644 index 00000000000..06c9a553d8a --- /dev/null +++ b/homeassistant/components/automation/analytics.py @@ -0,0 +1,24 @@ +"""Analytics platform.""" + +from homeassistant.components.analytics import ( + AnalyticsInput, + AnalyticsModifications, + EntityAnalyticsModifications, +) +from homeassistant.core import HomeAssistant +from homeassistant.helpers import entity_registry as er + + +async def async_modify_analytics( + hass: HomeAssistant, analytics_input: AnalyticsInput +) -> AnalyticsModifications: + """Modify the analytics.""" + ent_reg = er.async_get(hass) + + entities: dict[str, EntityAnalyticsModifications] = {} + for entity_id in analytics_input.entity_ids: + entity_entry = ent_reg.entities[entity_id] + if entity_entry.capabilities is not None: + entities[entity_id] = EntityAnalyticsModifications(capabilities=None) + + return AnalyticsModifications(entities=entities) diff --git a/tests/components/automation/test_analytics.py b/tests/components/automation/test_analytics.py new file mode 100644 index 00000000000..803103d0245 --- /dev/null +++ b/tests/components/automation/test_analytics.py @@ -0,0 +1,41 @@ +"""Tests for analytics platform.""" + +import pytest + +from homeassistant.components.analytics import async_devices_payload +from homeassistant.components.automation import DOMAIN +from homeassistant.core import HomeAssistant +from homeassistant.helpers import entity_registry as er +from homeassistant.setup import async_setup_component + + +@pytest.mark.asyncio +async def test_analytics( + hass: HomeAssistant, entity_registry: er.EntityRegistry +) -> None: + """Test the analytics platform.""" + await async_setup_component(hass, "analytics", {}) + + entity_registry.async_get_or_create( + domain="automation", + platform="automation", + unique_id="automation1", + suggested_object_id="automation1", + capabilities={"id": "automation1"}, + ) + + result = await async_devices_payload(hass) + assert result["integrations"][DOMAIN]["entities"] == [ + { + "assumed_state": None, + "capabilities": None, + "domain": "automation", + "entity_category": None, + "has_entity_name": False, + "modified_by_integration": [ + "capabilities", + ], + "original_device_class": None, + "unit_of_measurement": None, + }, + ]