diff --git a/homeassistant/components/tesla_fleet/__init__.py b/homeassistant/components/tesla_fleet/__init__.py index 892859cefd1..2c5ee1b5c75 100644 --- a/homeassistant/components/tesla_fleet/__init__.py +++ b/homeassistant/components/tesla_fleet/__init__.py @@ -26,7 +26,7 @@ from homeassistant.helpers.config_entry_oauth2_flow import ( import homeassistant.helpers.config_validation as cv from homeassistant.helpers.device_registry import DeviceInfo -from .const import DOMAIN, MODELS +from .const import DOMAIN, LOGGER, MODELS from .coordinator import ( TeslaFleetEnergySiteInfoCoordinator, TeslaFleetEnergySiteLiveCoordinator, @@ -113,6 +113,17 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslaFleetConfigEntry) - ) elif "energy_site_id" in product and tesla.energy: site_id = product["energy_site_id"] + if not ( + product["components"]["battery"] + or product["components"]["solar"] + or "wall_connectors" in product["components"] + ): + LOGGER.debug( + "Skipping Energy Site %s as it has no components", + site_id, + ) + continue + api = EnergySpecific(tesla.energy, site_id) live_coordinator = TeslaFleetEnergySiteLiveCoordinator(hass, api) diff --git a/homeassistant/components/teslemetry/__init__.py b/homeassistant/components/teslemetry/__init__.py index b65f5fb64ce..6308d62f3a1 100644 --- a/homeassistant/components/teslemetry/__init__.py +++ b/homeassistant/components/teslemetry/__init__.py @@ -108,6 +108,17 @@ async def async_setup_entry(hass: HomeAssistant, entry: TeslemetryConfigEntry) - ) elif "energy_site_id" in product and Scope.ENERGY_DEVICE_DATA in scopes: site_id = product["energy_site_id"] + if not ( + product["components"]["battery"] + or product["components"]["solar"] + or "wall_connectors" in product["components"] + ): + LOGGER.debug( + "Skipping Energy Site %s as it has no components", + site_id, + ) + continue + api = EnergySpecific(teslemetry.energy, site_id) live_coordinator = TeslemetryEnergySiteLiveCoordinator(hass, api) info_coordinator = TeslemetryEnergySiteInfoCoordinator(hass, api, product) diff --git a/homeassistant/components/tessie/__init__.py b/homeassistant/components/tessie/__init__.py index 1d6e2a27786..a0bc58896e4 100644 --- a/homeassistant/components/tessie/__init__.py +++ b/homeassistant/components/tessie/__init__.py @@ -111,6 +111,17 @@ async def async_setup_entry(hass: HomeAssistant, entry: TessieConfigEntry) -> bo for product in products: if "energy_site_id" in product: site_id = product["energy_site_id"] + if not ( + product["components"]["battery"] + or product["components"]["solar"] + or "wall_connectors" in product["components"] + ): + _LOGGER.debug( + "Skipping Energy Site %s as it has no components", + site_id, + ) + continue + api = EnergySpecific(tessie.energy, site_id) energysites.append( TessieEnergyData( diff --git a/tests/components/tesla_fleet/fixtures/products.json b/tests/components/tesla_fleet/fixtures/products.json index e1b76e4cefb..8da921a33f4 100644 --- a/tests/components/tesla_fleet/fixtures/products.json +++ b/tests/components/tesla_fleet/fixtures/products.json @@ -115,7 +115,17 @@ "features": { "rate_plan_manager_no_pricing_constraint": true } + }, + { + "energy_site_id": 98765, + "components": { + "battery": false, + "solar": false, + "grid": false, + "load_meter": false, + "market_type": "residential" + } } ], - "count": 2 + "count": 3 } diff --git a/tests/components/teslemetry/fixtures/products.json b/tests/components/teslemetry/fixtures/products.json index e1b76e4cefb..8da921a33f4 100644 --- a/tests/components/teslemetry/fixtures/products.json +++ b/tests/components/teslemetry/fixtures/products.json @@ -115,7 +115,17 @@ "features": { "rate_plan_manager_no_pricing_constraint": true } + }, + { + "energy_site_id": 98765, + "components": { + "battery": false, + "solar": false, + "grid": false, + "load_meter": false, + "market_type": "residential" + } } ], - "count": 2 + "count": 3 } diff --git a/tests/components/tessie/fixtures/products.json b/tests/components/tessie/fixtures/products.json index e1b76e4cefb..8da921a33f4 100644 --- a/tests/components/tessie/fixtures/products.json +++ b/tests/components/tessie/fixtures/products.json @@ -115,7 +115,17 @@ "features": { "rate_plan_manager_no_pricing_constraint": true } + }, + { + "energy_site_id": 98765, + "components": { + "battery": false, + "solar": false, + "grid": false, + "load_meter": false, + "market_type": "residential" + } } ], - "count": 2 + "count": 3 }