# Capabilities not updated for existing devices upon app update

**URL:** <https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646>\
**Category:** Developers\
**Created:** [February 24, 2019, 5:33pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646 "2019-02-24T17:33:01Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Will\_o\_Wisp](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/will_o_wisp/32/4022_2.png) [@Will\_o\_Wisp](https://community.homey.app/u/Will_o_Wisp)\
**Post date:** [February 24, 2019, 5:33pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/1 "2019-02-24T17:33:01Z")

</div>

I wonder how I can refresh the capabilities presented for a device, when adding new custom capabilities to a device through an app update. The problem is that the capabilities available for an existing device, added before the app upgrade with the new custom capabilities, is only updated if first removing the device and then adding it again. This is not a good solution since it makes all dependent flows invalid. What am I missing?

---

<div class="post-metadata">

**Author:** ![Caseda](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/caseda/32/138695_2.png) [@Caseda](https://community.homey.app/u/Caseda)\
**Post date:** [February 24, 2019, 6:21pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/2 "2019-02-24T18:21:57Z")

</div>

This is by design.  
capabilities for every device are determined only on pairing and can not be changed afterwards, so for new capabilities a re-pair is a must.

Athom once spoke of a “re-include” feature, but this has as of yet not come to life, or announced for the longest time.

---

<div class="post-metadata">

**Author:** ![Will\_o\_Wisp](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/will_o_wisp/32/4022_2.png) [@Will\_o\_Wisp](https://community.homey.app/u/Will_o_Wisp)\
**Post date:** [February 27, 2019, 9:46pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/3 "2019-02-27T21:46:24Z")

</div>

I see, that is a bit unfortunate, since the users of the app might miss out of new capabilities since it is not clear that you have to remove and pair the devices again.

---

<div class="post-metadata">

**Author:** ![Jamie](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jamie/32/5274_2.png) [@Jamie](https://community.homey.app/u/Jamie)\
**Post date:** [February 28, 2019, 5:44am UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/4 "2019-02-28T05:44:57Z")

</div>

The developer can update the device to ‘error’ and ask the user to repair.

At the moment the ‘setWarning’ is not working correctly.

> <https://github.com/athombv/homey-apps-sdk-issues/issues/67>

---

<div class="post-metadata">

**Author:** ![puschie](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/puschie/32/8422_2.png) [@puschie](https://community.homey.app/u/puschie)\
**Post date:** [April 7, 2019, 8:27pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/5 "2019-04-07T20:27:26Z")

</div>

> [@Jamie](#):
>
> ask the user to repair

you mean re-pair i guess ?

after calling setUnavailable the only possibility the user has is to remove & re-pair the device ( which breaks all flows for this devices ). that makes developing and updating ( add new functionalities/remove old ) pretty hard.

currently i only see the possibility to create new drivers every time and to mark the old ones as “obsolete”.

---

<div class="post-metadata">

**Author:** ![Jamie](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jamie/32/5274_2.png) [@Jamie](https://community.homey.app/u/Jamie)\
**Post date:** [April 7, 2019, 11:22pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/6 "2019-04-07T23:22:51Z")

</div>

You can do that, you can also add `"deprecated": true` to the app.json for it to not show up.

---

<div class="post-metadata">

**Author:** ![Westerlind.r](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/westerlind.r/32/8793_2.png) [@Westerlind.r](https://community.homey.app/u/Westerlind.r)\
**Post date:** [April 9, 2019, 7:27pm UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/7 "2019-04-09T19:27:08Z")

</div>

As some stated above, a re-pair is missing. Now you have to re-do alot of flows just cus of that (due to driver update and you have to remove/add dev again).  
Feels like thats another “core fetature” thats missing. Alongside a backup function and other stuff.

---

<div class="post-metadata">

**Author:** ![johnnyDrama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johnnydrama/32/80488_2.png) [@johnnyDrama](https://community.homey.app/u/johnnyDrama)\
**Post date:** [April 28, 2024, 5:00am UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/8 "2024-04-28T05:00:10Z")

</div>

Is there any update on this topic? It seems like a very important need, that I hope is resolved since the last post five years ago?

---

<div class="post-metadata">

**Author:** ![johnnyDrama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johnnydrama/32/80488_2.png) [@johnnyDrama](https://community.homey.app/u/johnnyDrama)\
**Post date:** [April 28, 2024, 5:04am UTC](https://community.homey.app/t/capabilities-not-updated-for-existing-devices-upon-app-update/9646/9 "2024-04-28T05:04:56Z")

</div>

I guess I found the answer - there is a way now to add/remove capabilities to an already paired device: [Breaking Changes | Homey Apps SDK](https://apps.developer.homey.app/guides/how-to-breaking-changes)
