home-assistant/core · error · AbortFlow
integrations_disabled
integrations_disabled
Error message
This device doesn't have integrations enabled. Please enable smart home integrations using the app and try again.
What it means
AbortFlow with reason 'integrations_disabled' in the Aranet config flow. The advertisement's manufacturer data shows the device's 'integrations' flag is off, meaning the user disabled smart-home integrations in the Aranet app, so no sensor data is broadcast and the integration cannot work.
Source
Thrown at homeassistant/components/aranet/config_flow.py:47
"""Handle a config flow for Aranet."""
VERSION = 1
def __init__(self) -> None:
"""Set up a new config flow for Aranet."""
self._discovery_info: BluetoothServiceInfoBleak | None = None
self._discovered_device: Aranet4Advertisement | None = None
self._discovered_devices: dict[str, tuple[str, Aranet4Advertisement]] = {}
def _raise_for_advertisement_errors(self, adv: Aranet4Advertisement) -> None:
"""Raise any configuration errors that apply to an advertisement."""
# Old versions of firmware don't expose sensor data in advertisements.
if not adv.manufacturer_data or adv.manufacturer_data.version < MIN_VERSION:
raise AbortFlow("outdated_version")
# If integrations are disabled, we get no sensor data.
if not adv.manufacturer_data.integrations:
raise AbortFlow("integrations_disabled")
@override
async def async_step_bluetooth(
self, discovery_info: BluetoothServiceInfoBleak
) -> ConfigFlowResult:
"""Handle the Bluetooth discovery step."""
await self.async_set_unique_id(discovery_info.address)
self._abort_if_unique_id_configured()
adv = Aranet4Advertisement(discovery_info.device, discovery_info.advertisement)
self._raise_for_advertisement_errors(adv)
self._discovery_info = discovery_info
self._discovered_device = adv
return await self.async_step_bluetooth_confirm()
async def async_step_bluetooth_confirm(
self, user_input: dict[str, Any] | None = None
) -> ConfigFlowResult:View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Open the Aranet app, enable the smart home / integrations option for the device, then retry discovery in Home Assistant.
- Trigger a fresh BLE advertisement (press the button on the device or wait for the next broadcast cycle) so the updated flag is seen.
- If it still aborts, delete the aborted flow and start setup again.
Defensive patterns
Strategy: validation
Validate before calling
def integrations_enabled(adv: Aranet4Advertisement) -> bool:
md = adv.manufacturer_data
return md is not None and bool(md.integrations) Try / catch
Catch AbortFlow around async_step_bluetooth and map reason 'integrations_disabled' to a user-facing instruction to enable integrations in the Aranet app.
Prevention
- Enable smart home integrations in the Aranet app during device provisioning.
- Re-check the flag after any device reset.
- Validate adv.manufacturer_data.integrations before offering setup.
When it happens
Trigger: _raise_for_advertisement_errors is called with an Aranet4Advertisement whose manufacturer_data is present and version is OK but manufacturer_data.integrations is falsy; the flow aborts before saving the device.
Common situations: Aranet4 shipped with smart home integrations turned off by default for privacy; user toggled the setting off; device re-configured after a reset.
Related errors
- outdated_version
- Could not find Airthings device with address {address}: {rea
- Unable to fetch data for migration: {err}
- Unable to fetch data: {err}
- This alert cannot be acknowledged
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/2beb4da4f55c419f.
Report an issue: GitHub.