# Check update progress of a certain device

**URL:** <https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234>\
**Category:** openBalena\
**Created:** [April 2, 2020, 8:51am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234 "2020-04-02T08:51:44Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Langhalsdino](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/langhalsdino/32/3039_2.png) [@Langhalsdino](https://forums.balena.io/u/Langhalsdino)\
**Post date:** [April 2, 2020, 8:51am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/1 "2020-04-02T08:51:45Z")

</div>

I am curious, since i often run large updates it would be cool, if i could check the update progress of certain device e.g.: how many layers did it download so far and how many layers remain to be downloaded. Furthermore getting the size of each layer might be of further interest 🙂

Is there a way to do this manually?  
Are there some logs that might indicate the progress?

---

<div class="post-metadata">

**Author:** ![nghiant2710](https://avatars.discourse-cdn.com/v4/letter/n/90db22/32.png) [@nghiant2710](https://forums.balena.io/u/nghiant2710)\
**Post date:** [April 2, 2020, 9:13am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/2 "2020-04-02T09:13:03Z")

</div>

Hi there,

Thank you for the interesting questions, there are `overall_status` and `overall_progress` fields that help you track the progress of an update however they have to be explicitly requested in a $select for a request, this is possible via the API directly and in the JS SDK.

This is the API call for this:

`curl 'https://api.balena-cloud.com/v5/device?$filter=startswith(uuid,%27<DEVICE_UUID>%27)&$select=overall_status,overall_progress' -H 'authorization: Bearer <TOKEN>'`  
and for the JS SDK:

`await sdk.models.device.get('<deviceUuid>', { $select: ['overall_status', 'overall_progress'] });`  
in both cases you just need to replace the with the uuid of the device you want to monitor.

We don’t provide the information like how many layers downloaded or remain to be downloaded and their size but I will raise this with the team to see if we can support it soon.

---

<div class="post-metadata">

**Author:** ![majorz](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/majorz/32/639_2.png) [@majorz](https://forums.balena.io/u/majorz)\
**Post date:** [April 2, 2020, 1:50pm UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/5 "2020-04-02T13:50:13Z")

</div>

Hi, I got a response from one of our API maintainers. You can can get the image download percentage from the `image_install` entries. However as for the more detailed information we doubt we will add such soon as this will increase the data/payload from the device and that would affect users with limited mobile data plans.

Thanks,  
Zahari

---

<div class="post-metadata">

**Author:** ![Langhalsdino](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/langhalsdino/32/3039_2.png) [@Langhalsdino](https://forums.balena.io/u/Langhalsdino)\
**Post date:** [April 2, 2020, 9:21pm UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/7 "2020-04-02T21:21:27Z")

</div>

You are probably referring to

```auto
balena.models.device.get_with_service_details('UUID')['current_services']['my_app'][1]['download_progress']

```

when using the python SDK. This seems to be what you described, since it shows the progress in percent and it works for me 🙂

* * *

> [@nghiant2710](#):
>
> `curl 'https://api.balena-cloud.com/v5/device?$filter=startswith(uuid,%27<DEVICE_UUID>%27)&$select=overall_status,overall_progress' -H 'authorization: Bearer <TOKEN>'`  
> and for the JS SDK:

Sadly your suggestion did not seem to work, since i always get an internal server error as a result. But i might be running an older version of OpenBalena and therefore am not supporting it correctly.

---

<div class="post-metadata">

**Author:** ![CameronDiver](https://avatars.discourse-cdn.com/v4/letter/c/2acd7d/32.png) [@CameronDiver](https://forums.balena.io/u/CameronDiver)\
**Post date:** [April 2, 2020, 10:40pm UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/8 "2020-04-02T22:40:01Z")

</div>

What did not seem to work for you exactly? Perhaps we can help craft a query which does what you want 🙂

---

<div class="post-metadata">

**Author:** ![Langhalsdino](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/langhalsdino/32/3039_2.png) [@Langhalsdino](https://forums.balena.io/u/Langhalsdino)\
**Post date:** [April 3, 2020, 8:37am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/10 "2020-04-03T08:37:27Z")

</div>

Sorry, my post might be confusing, i updated to make it easier to understand 🙂

---

<div class="post-metadata">

**Author:** ![gelbal](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/gelbal/32/1109_2.png) [@gelbal](https://forums.balena.io/u/gelbal)\
**Post date:** [April 3, 2020, 8:53am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/12 "2020-04-03T08:53:54Z")

</div>

Hi @Langhalsdino, indeed, updating your openBalena version would probably resolve that error. I see that we implemented `overall_progress` late February, although we have `overall_status` field since almost 1 year ago.

Anyway, it seems like you found a workaround by using that Python SDK method, right?  
Let us know if we could help out further.

---

<div class="post-metadata">

**Author:** ![Langhalsdino](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/langhalsdino/32/3039_2.png) [@Langhalsdino](https://forums.balena.io/u/Langhalsdino)\
**Post date:** [April 3, 2020, 9:55am UTC](https://forums.balena.io/t/check-update-progress-of-a-certain-device/89234/14 "2020-04-03T09:55:43Z")

</div>

> [@gelbal](#):
>
> Anyway, it seems like you found a workaround by using that Python SDK method, right?

Yes this worked for me 🙂
