Part 1 - Install a driver from a shared channel (no tools needed)
Per the "Enroll in a Shared Channel and Install Drivers" documentation:
- Get the channel invitation URL from the driver's developer (usually a forum post or GitHub README).
- Open the URL in a browser, sign in with your Samsung account and click Accept.
- You are taken to the Edge Drivers page and shown your hubs. Click Enroll on the hub you want.
- Under that hub, click Available Drivers, choose the driver and click Install.
Be careful: SmartThings states that third-party Edge drivers are not maintained or reviewed by SmartThings, so ask the driver's developer for support. Only enrol in channels from developers you trust, and note the version you installed - drivers in a channel are locked to a version, so you will not get updates automatically.
For reference, the documentation also lists the official production driver channel invitation, so you can see what drivers SmartThings itself ships.
Part 2 - The SmartThings CLI
The CLI is useful for seeing which drivers are installed, reading hub logs, and (if you're a developer) packaging drivers.
Install (per the CLI docs): Homebrew on macOS, an MSI installer on Windows, or a zipped binary for Linux and others that you extract onto your PATH (no admin rights needed). Check with smartthings --version.
Authentication: the CLI opens a browser login with your Samsung account. If you use a Personal Access Token instead, note that new tokens are valid for 24 hours only (tokens created before 30 December 2024 may last much longer). Channel-related commands with a PAT need scopes that include r:channels:* and w:channels:*.
Handy commands (all from the SmartThings docs):
Code: Select all
# Enrol one of your hubs in a channel (prompts you to pick if you omit values)
smartthings edge:channels:enroll [hubID] --channel <channel-id>
# Install a driver from a channel onto a hub
smartthings edge:drivers:install --hub <hub-id> --channel <channel-id>
# Live driver logs, hosted by the hub itself (use your hub's LAN IP)
smartthings edge:drivers:logcat --hub-address=<hub-ip>
# Get help on any command branch
smartthings edge:drivers --helpPart 3 - If you want to publish your own driver (developers)
SmartThings warns that building a custom driver is highly technical and generally not needed to bring a device onto the platform. If you do go down that path:
- Edge drivers are Lua, built around the driver, device and capability libraries; reference docs are on the SmartThings Edge Device Drivers reference site (reference version 21, published 2026-09-29).
- Package a driver with smartthings edge:drivers:package <path>. Adding --install (optionally with --channel and --hub) packages, assigns and installs in one step.
- To share: smartthings edge:channels:create -i channel.json, enrol your hub, smartthings edge:channels:assign a driver version, and then smartthings edge:channels:invites:create to generate the invitation URL.
Tips
- Change one device at a time and test before moving on.
- Keep a note of which driver and version each device uses.
- If a driver update breaks something, you can switch the device back to the stock driver.
- Post the driver name, channel and device model when asking for help; it saves a lot of back and forth.