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":[]}}
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:
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
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.
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!