ESPHome 2024+ Managed OTA Reads Manifest but Firmware Is Not Downloaded

Hi ESPHome community,

I’m experiencing an issue with Managed OTA on ESPHome 2024+: the device reads the manifest.json correctly, and Home Assistant shows the update menu, but the firmware binary never downloads or flashes. There are no errors in the logs; it silently skips the update.

Here’s a sample manifest JSON (with placeholder values for sharing):

{
  "name": "ESPHome Project Devices",
  "version": "2025.10.19",
  "builds": [
    {
      "chip_family": "ESP32",
      "ota": {
        "md5": "0123456789ABCDEF0123456789ABCDEF",
        "path": "https://example.com/firmware_v1.2.0.bin"
      }
    }
  ]
}

And the corresponding YAML for the device:

ota:
  platform: http_request

update:
  - platform: http_request
    name: "ESP32 OTA"
    source: "https://example.com/manifest.json"
    verify_ssl: false

What I’ve verified so far:

  • chipfamily matches my ESP32, and version is higher than the currently installed firmware.
  • Firmware .bin generated via ESPHome Dashboard → Compile → Download OTA (correct OTA format).
  • Both manifest.json and .bin URLs are accessible in a browser.
  • Tried a local HTTP server to eliminate potential GitHub Pages / HTTPS issues.

Despite all this, the device never downloads the binary.

Does anyone know if there are additional requirements or limitations for Managed OTA in ESPHome 2024+ that could cause this silent failure? Any insight would be greatly appreciated.

Thanks!