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

Could you use this script in HomeyScript:

var _devices = (await Homey.devices.getDevices());

for(var deviceID in _devices) {
        var device = _devices[deviceID];
        if(device.name=='DC VD') console.log(device.capabilitiesObj);

Where DC VD is the device name.
And an image of device settings with the yes/no fields.

Then i can maybe simulate it.

Does this also happen with a new device created with this version?

It is everytime with a new device, but looking at the result from the HomeyScript i probably already see what is going wrong, indeed an ID issue:


  'alarm_devicecapabilities_boolean.boolean1': {
    value: null,
    lastUpdated: null,
    type: 'boolean',
    getable: true,
    setable: true,
    title: 'Yes/No',
    desc: null,
    units: null,
    id: 'alarm_devicecapabilities_boolean.boolean1',
    options: {},
    values: undefined
  'devicecapabilities_boolean.boolean1': {
    value: null,
    type: 'boolean',
    getable: true,
    setable: true,
    title: 'Test',
    desc: null,
    units: null,
    id: 'devicecapabilities_boolean.boolean1',
    options: {
      title: 'Test',
      preventInsights: false,
      insightsTitleTrue: 'True',
      insightsTitleFalse: 'False'
    values: undefined

Okay, next version.

Indeed, number1, status1 could go wrong.
yes/no1 always went wrong.

Should be fixed now.

Just dont use settings :wink:


yay, you did it!
Now for some more testing :stuck_out_tongue: but looks good so far.

Now in TEST!
@Peter_Kawa , @HuisCHovens



This will set the Yes/No to false/no.

i run a vm sandbox, which includes Math, lodash-core (_) and functions you can pre-define in App Settings.



Here are the settings:

Here i have a random function:

Now you can use that with the expression card.

All fields can be set through this one card, just make sure it returns string, number or yes/no as needed.

1 Like

Next up (but not today anymore) “Show as” for number fields: Slider, battery, alarm_barttery, etc.

If anyone finds bugs in 1.9.9, please let me know.

Hey Ruijter,

You can now even use Custom icons for capabilities!

Well done Arie! I just knew you could perform magic :muscle:

Hey Cactus,

I have tried a couple of ways to manipulate the data, but have not found a solution as of yet.
Still have one option to try, but i first wanna complete numbers Show As.

Version 1.9.91 is in Test:

Added many Button Show as options and Numbers Show as Options.
Next to custom options, the following default “options” are implemented:

  • Button
    ‘onoff’, ‘button’, ‘locked’, ‘garagedoor_closed’, ‘windowcoverings_closed’,‘volume_mute’, ‘speaker_playing’,
    ‘volume_up’, ‘volume_down’, ‘channel_up’, ‘channel_down’, ‘windowcoverings_tilt_up’, ‘windowcoverings_tilt_down’
  • Number
    ‘target_temperature’, ‘dim’, ‘light_hue’, ‘light_saturation’, ‘light_temperature’,
    ‘measure_battery’, ‘volume_set’, ‘windowcoverings_tilt_set’, ‘windowcoverings_set’, ‘speaker_duration’, ‘speaker_position’

This way you can, for instance, completly design your own Music Player Or Buttonbox.

Show as for Boolean will be extended and Show as for numbers will be added (so you can set a artist or albumname for instance).

1.9.92 is in test.
Basicly, most types got the Create Flow Cards (and buttons) checkbox.
When this is enabled, it will make sure the capability, for instance speaker_playing, is really that capability.
This makes Homey recognize the capability and create flowcards for it, and place it in the correct screen.

If you disable the CreateFlowCards, then all capabilities will be linked so that Homey does not recognize the capability.

Only one type of each default capability can be used to create flows.

Yeah, Full control over your device!

Hello @HuisCHovens
With this update, you can create this for your value in liters

  • Numberfield edit:

  • Pick the numberfield as Status indicator:

  • The flowcard to set the value;

  • Device

1 Like

Lol, you don’t need the {{round…}}, but i guess you can :slight_smile:

probably easier then Math.round etc.

Yes, old habit😁 I guess when the numberfield “Decimal” setting is set to 1, it rounds to 1 digit by itself?


1 Like

If you use a temperature (target) and then a temperature (measure), the will be combined on one tab.
You can thus combine 5 thermostates in one device.

Still hoping anyone can help me:

  • Think of a good name for the device, since Virtual Device doesn’t quite cut it.
  • A Good short explaination for the Store.

It has become very difficult, Arie :upside_down_face:
Here’s some device names:
The Magic Device, the Anything Device, the build-it-yourself Device, The Device 2.0, Swiss Knife Device, the Unlimited Device.
Or how about:
The Advanced Device.

I made a start the other day.

Hey Peter,

Indeed, i saw what you wrote:

Free configurable multi-purpose virtual device.

All settings adjustable via action flowcards
-1 Status indicator: any character
-Up to 5 fields each for:
-Yes/No (optional alarm indicator)
-Buttons (on/off or push)

Flows: The values are available in greater/less than triggercards

However, i don’t know if people will get a real feeling about the device/what it can do.
And, you now have Buttons (on/off or push).
Well, it has got a lott more right now, and if we write it al down, i am afraid it will get to complicated.

I am more looking for sort of a one-liner, or a one-sentence liner.