How to see devices include in Edge Driver with CLI?

I tried the following command in CLI in order to find which devices include in Edge Driver:
smartthings edge:drivers 78da112c-9b9c-4359-b1b7-202a8a040157

when 78da112c-9b9c-4359-b1b7-202a8a040157 is Zigbee Button Remote Driver [YG] 1.2.4
developed by @ygerlovin

I got the following response:

C:\.....\smartthings-win> smartthings edge:drivers 78da112c-9b9c-4359-b1b7-202a8a040157
 Error: Request failed with status code 401:
 {"requestId":"CB92A649-085A-4D4F-BD4F-588CDEF222EA","error":{"code":"UnauthorizedError","message":"User doesn't own driver","details":[]}}

While @ygerlovin the developer and the owner of the driver got:

 Basic Information
 Driver Id    78da112c-9b9c-4359-b1b7-202a8a040157
 Name         Zigbee Button Remote Driver [YG] 1.2.4
 Version      2022-08-19T17:11:55.959039
 Package Key  yashik.zigbee-button
 Permissions  zigbee

Device Integration Profiles
 Id                                    Major Version
 50a66378-7ca2-375c-bbd6-4cbf9d7d3516  4
 64418e81-6355-30c8-a227-9c6313475596  1
 705a1cd9-7df6-38f7-9abf-2265164cba12  1
 db4b449a-a39b-3daa-bf92-835672b61c2c  1
 f9c0ea82-8c20-39eb-801c-84950e4c8a7f  3

 Id                                  Type                 Device Label
 Zemismart ZM-RM02 module            ZIGBEE_MANUFACTURER  6 button remote
 Aqara Opple WXCJKG13LM              ZIGBEE_MANUFACTURER  Aqara 6 button remote
 IKEA Tradfri Shortcut Button E1812  ZIGBEE_MANUFACTURER  IKEA button
 TS0041/_TZ3000_itb0omhv 1 button    ZIGBEE_MANUFACTURER  TS0041 remote
 TS0041/_TZ3000_tk3s5tyg 1 button    ZIGBEE_MANUFACTURER  TS0041 remote

@nayelyz , @Khoeye can you please comment .

Hi, there!

So, if I understand correctly, you’re looking for a way to get a list of devices that were paired to a certain driver, right?

To see which devices are connected to a driver, you can get the driver ID and, when you list the devices, search which entries have this ID on their properties

  • Using the CLI, you can use the command smartthings devices -j > deviceList.json.
    • Then, you can open the file deviceList.json and search for the driver ID to see which devices use it.
  • In a direct command to the ST API using a client like Postman, you can search directly in the result:

We cannot filter the devices based on the driver used. There’s already a feature request about that

Sorry @nayelyz ,
This is not what I’m trying to do. I’m not looking for paired devices to a certain driver.
I want to see which devices included in an Edge Driver, without pairing anything. Using the following command

I’m getting an error while the developer getting a list of devices as I showed above. Please comment

Interesting. If I did that I’d expect to get a 401 as it isn’t my driver. I can’t just expect to be able to query details of other users’ drivers. Even if I had installed it that wouldn’t change as who knows where I got my invitation from?

To me it is down to the driver owner to provide that information if they want to.

I can see how others might view things differently.

I’m seeing this differently.
Sometimes the developer chose not to publish github or post his supported devices in smartthings community .
As a user, I installed his driver and want to know which devices are supported.
This information should be available to all users… From my point of view

Aaah, ok.

The config in the fingerprints.yml file cannot be retrieved using that command, even the driver’s owner.

I’ve seen those that publish their drivers in the Community share a list of the supported devices.

There’s also a feature request to expose the supported devices in the channel invitation but there are no updates about that.

1 Like

The driver owner can retrieve the devices supported !!
I’ve shown in the example above.
Can you please give a link to the request you mention in order to trace and update ?

You’re right, sorry, I was checking with a LAN-type driver :face_exhaling:.

The post about the request is this one:

Thanks @nayelyz I’m WATCHING that post. two quick questions .
1 . Will this be available for Drivers (Zigbee , LAN and Z-Wave) that developed by community members ?
2. Will this information will be available also from CLI ?

I really appreciate your help and support, please keep on !!

1 Like

I know I am digging up an old thread here. I just wanted to comment that, although the CLI doesn’t do it, it is certainly possible to use the API to read the fingerprints of the drivers in any channel that you are subscribed to. Doing it in a useful way is the slightly trickier part as there can be rather a lot of them. I am only using four drivers from the ST beta channel and there are currently 524 fingerprints in them.

Here is a fingerprint picked at random from a random driver in Mariano’s channel:

            "id": "_TYZB01_ftdkanlj/TS0222",
            "type": "ZIGBEE_MANUFACTURER",
            "deviceLabel": "Tuya TS0222",
            "zigbeeManfacturer": {
                "manufacturer": "_TYZB01_ftdkanlj",
                "model": "TS0222",
                "deviceIntegrationProfileKey": {
                    "id": "ef85e033-4c47-391e-836a-b1e2f2142b4e",
                    "majorVersion": 9

The deviceLabel here is an example of a useful one. As a contrast there are number of fingerprints using the label ‘IKEA Light’ in the Zigbee Switch driver. I lost count but there are around about 34 of them.

Somewhat incongruously, a limitation seems to be that you can’t see this information for drivers that you own under another account name. I haven’t got my head around that yet.

How did you did it ? what is the command to see devices fingerprints within a driver ?
Great finding !!

I don’t know why I haven’t noticed it before actually as it is used by the smartthings edge:channels:drivers command in the CLI to get some info.

Anyway, what you need is a channelId and the driverId and that command above will do nicely to give you both. Then you just need to do the usual bearer authenticated GET on the API on{{channelId}}/drivers/{{driverId}}/meta

And before anyone else says it, yes they have left a u out of zigbeeManfacturer.

I’d imagine it’ll end up in the CLI sooner or later though I guess the API might also be tweaked as it seems a bit inconsistent that you can access the information via the channels API but not directly from the drivers API.


Works GREAT !! I was looking for that for very long time… Can the meta file format can be a little bit more useable with LF (LineFeed) and CR (Carriage Return) ?

I found that this info can be also viewed using SmartThings® API Browser+

I think the devices data is organized in a better way. Your API command works as well.

1 Like