# Homey Compose not allowing custom capabilities?

**URL:** <https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845>\
**Category:** Developers\
**Created:** [April 23, 2020, 6:41am UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845 "2020-04-23T06:41:21Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![MadMonkey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/madmonkey/32/22606_2.png) [@MadMonkey](https://community.homey.app/u/MadMonkey)\
**Post date:** [April 23, 2020, 6:41am UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845/1 "2020-04-23T06:41:21Z")

</div>

Hi, I am working on an app that uses Homey compose and that needs some custom capabilities. So what I have is an app.json and a bunch of driver.compose.json files and when I run the app, compose automatically extends the app.json from the driver.compose.json files. So far so good.

Next I’ve created some custom capabilities in the app.json file. The problem now is that the composing always removes these capabilities from the app.json! How can I prevent this or where do I have to place my custom capabilities?

---

<div class="post-metadata">

**Author:** ![TedTolboom](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tedtolboom/32/12081_2.png) [@TedTolboom](https://community.homey.app/u/TedTolboom)\
**Post date:** [April 23, 2020, 7:11am UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845/2 "2020-04-23T07:11:37Z")

</div>

@MadMonkey create them as seperate input files in the following location: `.homeycompose/capabilities/` see for example:

> <https://github.com/TedTolboom/com.xiaomi-mi-zigbee/blob/master/.homeycompose/capabilities/alarm_vibration.json>

Note: you don’t need to create the `"id"` for the capability; since the compose function will add those based on the name of the file.

---

<div class="post-metadata">

**Author:** ![MadMonkey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/madmonkey/32/22606_2.png) [@MadMonkey](https://community.homey.app/u/MadMonkey)\
**Post date:** [April 23, 2020, 8:09am UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845/3 "2020-04-23T08:09:07Z")

</div>

Thanks that works great! I guess this isn’t really documented anywhere or did I miss it?

---

<div class="post-metadata">

**Author:** ![Adrian\_Rockall](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/adrian_rockall/32/13209_2.png) [@Adrian\_Rockall](https://community.homey.app/u/Adrian_Rockall)\
**Post date:** [April 23, 2020, 3:52pm UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845/4 "2020-04-23T15:52:43Z")

</div>

[https://apps.developer.athom.com/tutorial-Homey%20Compose.html](https://apps.developer.athom.com/tutorial-Homey%20Compose.html)  
There is a section of the file structure in there

---

<div class="post-metadata">

**Author:** ![Jens\_De\_Smet](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jens_de_smet/32/33978_2.png) [@Jens\_De\_Smet](https://community.homey.app/u/Jens_De_Smet)\
**Post date:** [July 20, 2021, 4:43pm UTC](https://community.homey.app/t/homey-compose-not-allowing-custom-capabilities/28845/5 "2021-07-20T16:43:21Z")

</div>

> [@Vraag registerCapabilityListener afzonderlijk per device](https://community.homey.app/t/vraag-registercapabilitylistener-afzonderlijk-per-device/49556):
>
> Beste, Ik wil graag een Capability Listener die voor één apparaat afzonderlijk werkt en niet voor heel de driver. Ik heb ook al elk aparaat een id gegeven. Het zijn ook allemaal virtuele apparaten dus geen gedoe met verbinden nodig. Heb ook al eens gekeken naar andere topic’s, maar er zijn er nog geen met dit probleem. Graag wil ik een code voorbeeld van een registerCapabilityListener. Met vriendelijke groeten, Jens De Smet grinning
