# \[APP\]\[Pro\] Device Capabilities - Enhance the capabilities of devices

**URL:** <https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287>\
**Category:** Apps\
**Tags:** flow, virtual-device, homey-pro, device-capabilities, avd\
**Created:** [February 19, 2021, 8:20am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287 "2021-02-19T08:20:51Z")\
**Posts on this page:** 20\
**Page:** 103

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [December 30, 2025, 9:09pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2080 "2025-12-30T21:09:23Z")

</div>

No I’m not a coder.  
Maybe you’d like to share what you have in mind?

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [December 30, 2025, 9:18pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2081 "2025-12-30T21:18:56Z")

</div>

> [@Brors](#):
>
> Any1 know how to change that?

You cannot change it, it has to do with how Homey works. Setable would mean it’s setable through the UI in the Homey App. Which it isn’t.

That’s why there is an api to set those values.

---

<div class="post-metadata">

**Author:** ![Brors](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brors/32/151655_2.png) [@Brors](https://community.homey.app/u/Brors)\
**Post date:** [December 31, 2025, 11:00am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2082 "2025-12-31T11:00:49Z")

</div>

I was making a few small scripts for AMS reader http call, Instead of a large Flow like in this pictures

> **Script Monthplot**
>
> `//Monthplot`
> 
> ` //SETUP:`
> 
> `//device ID of the device you want to update: const device_ID_imp = 'ba8d3afb-6b68-4701-b32f-7939270ef664'`
> 
> `//device ID of the device you want to update: const device_ID_exp = '9b226587-0ed2-49db-86b7-7e5f05d539fe'`
> 
> `//args here are AMS_IP: example //args = variable AMS_IP //log(args) <--- IPadress: 192.167.30.82 example const url = 'http://'+ args + '/monthplot.json'; //log(url)`
> 
> `//log("\n-------------------------------------------------------------------------\n");`
> 
> `// Create the request const res = await fetch(url); if (!res.ok) { throw new Error(res.statusText); }`
> 
> `var body = await res.json(); //log("body: ",body);`
> 
> `//log("\n-------------------------------------------------------------------------\n");`
> 
> `///import app to Update value of device let dcapp = await Homey.apps.getApp({id: 'nl.qluster-it.DeviceCapabilities'});`
> 
> ` //log("\n-------------------------------------------------------------------------\n");`
> 
> ` //get json of device const device_imp = await Homey.devices.getDevice({ id: device_ID_imp }); //log("Device:",device.capabilities)`
> 
> `///Remove any string/value not starting with "number. from this array" const device_imp_capabilities_filtered = device_imp.capabilities.filter(item => item.startsWith("Number.")); //log(device_imp_capabilities_filtered);`
> 
> `///Remove any string/value not starting with "i" from this object const body_imp = Object.fromEntries( Object.entries(body) .filter(([key]) => key.startsWith("i")) ); //log("body_imp: ",body_imp);`
> 
> ` //log("\n-------------------------------------------------------------------------\n");`
> 
> `//get json of device const device_exp = await Homey.devices.getDevice({ id: device_ID_exp }); ////log("Device:",device.capabilities)`
> 
> `///Remove any string/value not starting with "number. from this array" const device_exp_capabilities_filtered = device_exp.capabilities.filter(item => item.startsWith("Number.")); //log(device_exp_capabilities_filtered);`
> 
> `///Remove any string/value not starting with "e" from this object const body_exp = Object.fromEntries( Object.entries(body) .filter(([key]) => key.startsWith("e")) ); ////log("body_exp: ",body_exp);`
> 
> `//log("\n-------------------------------------------------------------------------\n");`
> 
> ` let row_nr_imp = -1`
> 
> `//for loop to update values of the table  
> for (const [key, val] of Object.entries(body\_imp)) {  
> //log("LOG: " + key + " → " + val);  
> if (val !== 0){  
> //log(“LOG: " + key + " --\>” + val);  
> if (device\_imp\_capabilities\_filtered[row\_nr\_imp] !== undefined){  
> //log("device\_imp\_capabilities\_filtered: ", device\_imp\_capabilities\_filtered[row\_nr\_imp])  
> await dcapp.post({  
> path: ‘setvalue’,  
> body: {  
> device: device\_ID\_imp, //string  
> field: device\_imp\_capabilities\_filtered[row\_nr\_imp], ///string  
> value: val, //number/bool/string(value)
> 
> ```
> },
> })
>   
> } 
> 
> ```
> 
> }  
> row\_nr\_imp = row\_nr\_imp + 1;  
> //log(row\_nr\_imp);  
> //log(key, val);  
> }`
> 
> ` //log("\n-------------------------------------------------------------------------\n");`
> 
> ` let row_nr_exp = -1`
> 
> `//for loop to update values of the table for (const [key, val] of Object.entries(body_exp)) { if (val !== 0){ //log("LOG: " + key + " -->" + val); if (device_exp_capabilities_filtered[row_nr_exp] !== undefined){ //log("device_exp_capabilities_filtered: ", device_exp_capabilities_filtered[row_nr_exp]) await dcapp.post({ path: 'setvalue', body: { device: device_ID_exp, field: device_exp_capabilities_filtered[row_nr_exp], value: val, }, }) } } row_nr_exp = row_nr_exp + 1 //log(row_nr_exp); //log(key, val); }`
> 
> `//log("\n-------------------------------------------------------------------------\n"); `

This script instead of all this flow cards (only half of them in this pic)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/2/720f8eb8524ccbd2d577bdfa42959ec484ccb7d8.png)

6 small scripts and this device-capabilites 😃

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/5/45c0b84f4ac9ed21aaa4d2f7140396b561358de3.png)

---

<div class="post-metadata">

**Author:** ![Brors](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/brors/32/151655_2.png) [@Brors](https://community.homey.app/u/Brors)\
**Post date:** [December 31, 2025, 11:56am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2083 "2025-12-31T11:56:04Z")

</div>

I see you are the creater of device-capabilities 😃 THANKS for this amazing app!

But may I ask is it possible to add a “variable input” like this under advanced settings?  
Want a field to input IP adresses for example 😃

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/e/2e2edfe6da22e29e00b81f81685722808ee8f5f3.png)

---

<div class="post-metadata">

**Author:** ![bwa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bwa/32/17852_2.png) [@bwa](https://community.homey.app/u/bwa)\
**Post date:** [January 2, 2026, 10:50pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2084 "2026-01-02T22:50:43Z")

</div>

Very nice app, but half of my flows fails with this, when trying to click on Update Text to get a API code created

PayloadTooLargeError: request entity too large  
at readStream (/app/node\_modules/raw-body/index.js:163:17)  
at getRawBody (/app/node\_modules/raw-body/index.js:116:12)

---

<div class="post-metadata">

**Author:** ![Marcus\_Bitterling](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marcus_bitterling/32/80103_2.png) [@Marcus\_Bitterling](https://community.homey.app/u/Marcus_Bitterling)\
**Post date:** [January 7, 2026, 8:38am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2085 "2026-01-07T08:38:40Z")

</div>

Question about BLL coding

I’ve created a stopwatch with Chronograph and looking for the BLL coding to convert seconds to minutes and seconds. Now the output is only seconds. What should I put in the BLL expression box to convert it to mm:ss?

 ![IMG_5994](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/e/be8c5fc128ae751c669b889f453a417816b37bce.jpeg)

 ![IMG_5993](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/b/ab94295f603d6fc7b4035b60aabe1587fd4a7574.jpeg)

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 7, 2026, 11:16am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2086 "2026-01-07T11:16:21Z")

</div>

You need to use a Textfield, not a numberfield, if you want to show a time duration:

`time('M:ss')`

 ![1000223839](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/7/673ae31b307563860904d037106f711ddcc3c32f.jpeg)

---

<div class="post-metadata">

**Author:** ![Marcus\_Bitterling](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marcus_bitterling/32/80103_2.png) [@Marcus\_Bitterling](https://community.homey.app/u/Marcus_Bitterling)\
**Post date:** [January 7, 2026, 11:32am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2087 "2026-01-07T11:32:48Z")

</div>

Thanks for your quick reply.

However it returns a dash now so I’m probably doing something wrong. Stopwatch is running.

 ![IMG_5998](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/1/11853f7505afdcfcf98465c46eae5e2fd8a5ccae.jpeg)

 ![IMG_5997](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/f/6fe0a37f0b9cce662fed89f320b225b6ebf842d3.jpeg)

 ![IMG_5996](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/0/40b0f2991c8e42553d4c89146827b7c41375543f.jpeg)

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 7, 2026, 11:50am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2088 "2026-01-07T11:50:05Z")

</div>

Yeah,

It replaced the single quotes in the time command.

Make sure you have the correct single quotes `'`

---

<div class="post-metadata">

**Author:** ![Marcus\_Bitterling](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marcus_bitterling/32/80103_2.png) [@Marcus\_Bitterling](https://community.homey.app/u/Marcus_Bitterling)\
**Post date:** [January 7, 2026, 11:52am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2089 "2026-01-07T11:52:57Z")

</div>

> [@Arie\_J\_Godschalk](#):
>
> time(‘M:ss’)

Copy/paste this one and it works! Thanks

---

<div class="post-metadata">

**Author:** ![Marcus\_Bitterling](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marcus_bitterling/32/80103_2.png) [@Marcus\_Bitterling](https://community.homey.app/u/Marcus_Bitterling)\
**Post date:** [January 9, 2026, 11:21am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2090 "2026-01-09T11:21:56Z")

</div>

Hi Arie,

I have a question about Insights in Yes/No field.

As you can see i checked it but no Insights are created. I also tried filling in True/Not True fields but that doesn’t help

 ![IMG_6009](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/9/99e223784f9f94ba07318e63d2a053f1457517a3.jpeg)

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 9, 2026, 11:37am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2091 "2026-01-09T11:37:26Z")

</div>

Yes/no insights are shown in the homey app, in the Device tabs.

 ![1000224446](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/5/d51b07d2e19545a5b290c85bd1d2d7e589a92cfa.jpeg)

---

<div class="post-metadata">

**Author:** ![Marcus\_Bitterling](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marcus_bitterling/32/80103_2.png) [@Marcus\_Bitterling](https://community.homey.app/u/Marcus_Bitterling)\
**Post date:** [January 9, 2026, 12:23pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2092 "2026-01-09T12:23:51Z")

</div>

Found it! Thanks.

Any idea how I could plot this in a graph similar to regular Insights?

---

<div class="post-metadata">

**Author:** ![s73nm](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/s73nm/32/110438_2.png) [@s73nm](https://community.homey.app/u/s73nm)\
**Post date:** [January 9, 2026, 2:58pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2093 "2026-01-09T14:58:26Z")

</div>

Just a guess, but I suspect there is no graph because the field is a Yes/No field.

Maybe you could create a numerical field that is set to 0 or 1 by a flow when the value of the Yes/No field changes?

---

<div class="post-metadata">

**Author:** ![Jonas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jonas/32/123371_2.png) [@Jonas](https://community.homey.app/u/Jonas)\
**Post date:** [January 9, 2026, 10:49pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2094 "2026-01-09T22:49:08Z")

</div>

I would like to send a time to my flows, is there any way to do that with the virtual devices?

Like a time input on number variable?

---

<div class="post-metadata">

**Author:** ![qawsedrf57](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/qawsedrf57/32/123371_2.png) [@qawsedrf57](https://community.homey.app/u/qawsedrf57)\
**Post date:** [January 9, 2026, 11:26pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2095 "2026-01-09T23:26:50Z")

</div>

Can’t you just use the time and date from the homey self?

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [January 10, 2026, 4:47am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2096 "2026-01-10T04:47:55Z")

</div>

Timey app accepts manual entered time;

Example of a flow that needs user input to enter a preferred start time

> [@Question about the new “Ask question to user” function](https://community.homey.app/t/question-about-the-new-ask-question-to-user-function/147113/14):
>
> example
> 
> ![592](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/25dc7ba585fa51cbf61b5bd3311c64ca8202a190.jpeg)
> 
> The Question card can look like this:
> 
> ![Screenshot_20260110_002407_Homey](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/6/b61563efff3dbf1311c9410c6dceccebc3a1ceb2.jpeg)

---

<div class="post-metadata">

**Author:** ![Jonas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jonas/32/123371_2.png) [@Jonas](https://community.homey.app/u/Jonas)\
**Post date:** [January 10, 2026, 7:20am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2097 "2026-01-10T07:20:54Z")

</div>

I have a heater to my car, I have made flow with depending on how cold it is, it will run the heater after a formula but for that to work I need to set the departure time.

Its not only me how is using this function.

I have a tablet in my kitchen where I and my wife use homey to control stuff.

I previously used home assistant and there you had helpers that could be configured as time and date.

 ![1000019588](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/e/be31367d02e50cc2faabb43d4d20c72982f07702.png)

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [January 11, 2026, 12:27am UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2098 "2026-01-11T00:27:21Z")

</div>

Yes I’m familiair with it. The equivalent of the time&date helper would be Homey Alarms. It’s only adjustable per mobile app.  
But these can’t be adjusted with flows.

Without selecting (a) recurring day(s), it’s a one off trigger

 ![Screenshot_20260111_012213_Homey](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/4/749a4527046811114dad627aabb18059f017d104.jpeg)  
 ![Screenshot_20260111_012037_Homey](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/a/1a2807afecaec976eb283898c5aeb2af5561297a.jpeg)

Flowcards: enable/disable [alarm], and enable/disable next alarm

---

<div class="post-metadata">

**Author:** ![M\_a\_r\_c\_o](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/m_a_r_c_o/32/146_2.png) [@M\_a\_r\_c\_o](https://community.homey.app/u/M_a_r_c_o)\
**Post date:** [January 11, 2026, 12:22pm UTC](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287/2099 "2026-01-11T12:22:10Z")

</div>

> [@Jonas](#):
>
> I have a heater to my car, I have made flow with depending on how cold it is, it will run the heater after a formula but for that to work I need to set the departure time.

What about the combination with the [iCalCalender app](https://homey.app/nl-nl/app/no.runely.calendar/IcalCalendar/)? You can put your departure time in your agenda (or maybe it is already there) and use that as departure time?

And/or add [google maps route calculation](https://homey.app/nl-nl/app/nl.ronvangestel.ETA_google_maps/Verwachte-Aankomsttijd-Google-Maps/) in between your home location and destination, maybe even based on the location field in the appointment of an iCal agenda?

[Previous page](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287.md?page=102)

[Next page](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287.md?page=104)
