403 Forbidden when installing Edge drivers

Hi - I’m trying to install an edge driver via the CLI app but I’m getting a 403 error. I’m using a personal access token that has access to all of the permissions listed here. When I run smartthings devices I get a list of devices. I was able to upload the package using smartthings edge:drivers:package [path_to_dir] with no problem. But when I go to install a driver, I’m getting:

> smartthings edge:drivers:install aeotec/multisensor/7
──────────────────────────────────────────────────────────────────
 #  Name                     Channel Id
──────────────────────────────────────────────────────────────────
 1  Aeotec Group           [redacted]
 2  TAustin Shared Projects  [redacted]
──────────────────────────────────────────────────────────────────
? Select a channel to install the driver from. 2
    Error: Request failed with status code 403: {"requestId":"A34197F3-7C48-4777-B9E8-1C118AB03560","error":{"code":"ForbiddenError","message":"Forbidden","details":[]}}

Any ideas?

Hi, @TinyDancer!

Where is this value coming from?
The parameter next to edge:drivers:install should be the driverID. You can also omit the parameter so you can choose the driver from the list.

Hi @nayelyz - that may be my fault - I am not sure where to retrieve the driver ID. I’d like to install this set of edge drivers for use with an Aeotec water sensor. I just realized that I did not in fact upload the drivers correctly using smartthings edge:drivers:package [path_to_dir]. How would I go about uploading this package to my hub?

Why do you think the upload was incorrect? Did you get an error or was the package not found?

There are two things:

  1. When you package a driver, you get its ID, but, you can also list those that you have packaged and get the ID with the command:
smartthings edge:drivers
  1. There’s a command where you can directly install, publish (assign to a channel) and install the device, but you need to know the Channel ID and Hub ID:
smartthings edge:drivers:package [path_to_dir] --channel=ChannelID --hub=HubID

//To get the channel ID:
smartthings edge:channels

//To get the Hub's ID:
smartthings devices --type=HUB

I think it wasn’t uploaded because when I run smartthings edge:drivers:install, I only see channels that appear to be unrelated to the one I linked to.

I didn’t specify the --channel and --hub options when attempting the the upload, though, so that may be my problem.

However, I’ve run into another problem. When running smartthings edge:channels, I get:

no items found

Sorry, I’m just thoroughly confused - I’ve been trying to follow the commands listed here to build, upload and install a package to a hub, but maybe that’s the wrong approach.

The reason I’m doing this is because I bought an Aeotec Water Sensor 7 sensor, but Aeotec does not have an edge driver developed for it yet. It appears to pair with Smartthings using the “Z-Wave Water/Temp/Humidity Sensor” DTH, but it reports errors when polling for data. I know DTHs are going away soon so I thought I’d be proactive and see if the edge driver that’s available from Smartthings would work any better.

aah ok, sorry about that.
The steps to upload your own driver are:

  1. Package it
  2. As you didn’t get any results in smartthings edge:channels, you need to create one using smartthings edge:channels:create
  3. Assign your driver to that channel using smartthings edge:channels:assign
  4. Install the driver.

If you create the channel, you can do steps 1, 3, and 4 with the command I shared above.

I’ll report the document you shared. Thank you for bringing this up!

Thank you so much for your help! After creating a channel, I was able to follow the three commands you provided:

smartthings edge:drivers:package [path_to_dir] --channel=ChannelID --hub=HubID

//To get the channel ID:
smartthings edge:channels

//To get the Hub's ID:
smartthings devices --type=HUB

After running these commands, I deleted and re-added the device and it was recognized properly as a Water Sensor 7 using the edge driver. Thanks again!

1 Like