{"record":{"id":"510b4473f28925b3","repo":"home-assistant/core","slug":"not-supported","errorCode":"not_supported","errorMessage":"not_supported","messagePattern":"not_supported","errorType":"exception","errorClass":"AbortFlow","httpStatus":null,"severity":"error","filePath":"homeassistant/components/broadlink/config_flow.py","lineNumber":54,"sourceCode":"    \"\"\"Handle a Broadlink config flow.\"\"\"\n\n    VERSION = 1\n\n    device: blk.Device\n\n    async def async_set_device(\n        self, device: blk.Device, raise_on_progress: bool = True\n    ) -> None:\n        \"\"\"Define a device for the config flow.\"\"\"\n        if device.type not in DEVICE_TYPES:\n            _LOGGER.error(\n                (\n                    \"Unsupported device: %s. If it worked before, please open \"\n                    \"an issue at https://github.com/home-assistant/core/issues\"\n                ),\n                hex(device.devtype),\n            )\n            raise AbortFlow(\"not_supported\")\n\n        await self.async_set_unique_id(\n            device.mac.hex(), raise_on_progress=raise_on_progress\n        )\n        self.device = device\n\n        self.context[\"title_placeholders\"] = {\n            \"name\": device.name,\n            \"model\": device.model,\n            \"host\": device.host[0],\n        }\n\n    @override\n    async def async_step_dhcp(\n        self, discovery_info: DhcpServiceInfo\n    ) -> ConfigFlowResult:\n        \"\"\"Handle dhcp discovery.\"\"\"\n        host = discovery_info.ip","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/broadlink/config_flow.py#L36-L72","documentation":"AbortFlow with reason 'not_supported', raised in the Broadlink config flow's async_set_device when the discovered device's type is not in the DEVICE_TYPES mapping of known Broadlink device types. The flow logs an unsupported-device error (with hex devtype) and aborts, directing users to open a core issue. Aborting differs from raising an error: it terminates the flow with the 'not_supported' reason shown in the UI.","triggerScenarios":"Discovering or manually configuring a Broadlink device whose devtype integer is absent from the component's DEVICE_TYPES dict — typically a new or OEM-rebadged Broadlink model (e.g. new firmware revision) that the broadlink pip package knows but HA's mapping does not, or vice versa.","commonSituations":"Newly released Broadlink hardware (RM4 mini variants, rebadged OEM units), broadlink package updated to add a devtype before HA adds config support, fake/clone devices reporting unusual devtypes.","solutions":["Update Home Assistant to the latest version — new device types are added to DEVICE_TYPES over time.","Verify the device's devtype in the log line ('Unsupported device: 0x...') and check the home-assistant/core issue tracker; open an issue with the hex code if none exists.","As a workaround, some clones work by temporarily mapping the devtype in DEVICE_TYPES locally (not upgrade-safe).","Ensure the device is a genuine Broadlink on the local network and not a misidentified host."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from homeassistant.components.broadlink.device import DEVICE_TYPES  # or component constant\n\ndef is_supported_devtype(devtype: int) -> bool:\n    \"\"\"Check the device type is mapped before starting a config flow.\"\"\"\n    return devtype in DEVICE_TYPES","typeGuard":null,"tryCatchPattern":"from homeassistant.data_entry_flow import AbortFlow\n\ntry:\n    await flow.async_step_user(...)\nexcept AbortFlow as err:\n    if err.reason == \"not_supported\":\n        _LOGGER.info(\"Device 0x%x unsupported; ask user to update HA\", devtype)\n    raise","preventionTips":["Keep Home Assistant updated so newly added Broadlink device types are supported.","Buy mainstream Broadlink models (RM4 series) rather than OEM rebadges.","When discovery reports an unknown devtype, capture the hex value for an upstream issue."],"tags":["home-assistant","broadlink","config-flow","device-support"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}