[ST Edge] Is there a way/capability to show a list of devices

For Virtual Things Edge Driver

I’d like to show all devices, created by the driver.
I’m looking for something similar to “Connected devices” in Hub’s detail view.

It would be absolutely awesome if it would be possible to dynamically populate this view, so custom filtering could be implemented (For example, if user selects a ‘switch’ then show only switches, if he selects a lock then only locks, etc)

Any ideas/hints would be greatly appreciated

You can get the Ids of the devices created with the driver using driver.device_api.get_device_list().
However, a view similar to “Connected devices” is not possible to configure yet:

  • From the driver, you cannot make requests to the ST API (to get the device name for example)
  • The view of “Connected devices” is a custom UI, that’s why it includes icons

What you can do is:

  • Showing only the device IDs in a custom capability of the device.
  • Create a SmartApp that would help you visualize the device list, filtering by the categories you mention
1 Like

@nayelyz Thank you for a quick replay.

(Custom) capability, populated in run-time and showing multiple entries is exactly what I need.

What display type should I use for that?

Basically,I’m looking for read only list view or a tree view, similar to the files view in Windows explorer.
I was trying to use
textField display type, but it truncates a string and also does not support end lines.
List display type is shown as a button in detailed view and only when this button is pressed shows the entries.
I’m looking for display type that would show entries in detailed view.

Thank you

You can try using html tags. Some are actually recognized, so you can have some control of your text output. I don’t think it’s officially supported but it works!

2 Likes

I’ve found html tables to be fantastic. I’ve tried at least 10 or 15 rows and the display keeps expanding to fit everything.

1 Like

@TAustin , @philh30
Perfect! Thank you

1 Like

Hi @TAustin and @philh30

Thank you very much again for the idea using html tags in text field. Text only works fine. However, I can’t figure out how to embed images.
I was trying to do it like this:
<img src=>
but the images are not loaded.
I suspect any external http links are blocked due to security reasons, but I also wasn’t able to load images, that I put into driver or driver/src directories.
Is there any way to put custom icons into the driver or perhaps provide links to stock icons that are already in the app?
Thank you

I didn’t have any success with creating images either.

The capability presentations include a way to specify an icon, but I’m not sure if it is working yet; I haven’t tried it myself.

You have to embed the image data in your source code:

<img src="data:image/png;base64,my base64 data" />

3 Likes