Smartthings_exporter is a command line tool to export information about your SmartThings sensors in a format that can be scraped by Prometheus. The tool talks to the SmartThings API and collects sensor data which is exposed as metrics over http.
The installation instructions assume a properly installed and configured Go development environment. The very first step is to download and build Smartthings_exporter (this step will also download and compile the GoSmart library):
$ go get -u github.com/kadaan/smartthings_exporter
Before you can use Smartthings_exporter, you need to register it with SmartThings.
The first step is to setup the API that Smartthings_exporter uses to communicate with SmartThings. To do this you need to:
- Navigate to the SmartThings API website. Register a new account (or login if you already have an account).
- Once logged in, click on My SmartApps. This will show a list of the current SmartApps installed (it could be blank for new accounts).
- Click the
Settingsbutton at the top right. - Click the
Add new repositorylink at the bottom of the settings dialog box. - In the new row fill in:
- Owner:
kadaan - Name:
smartthings_exporter - Branch:
master
- Owner:
- Press
Save - Click
Update from Repoat the top right - Choose
smartthings_exporter (master) - Under the
Newlist on the right checksmartapps/kadaan/smartthings-exporter-api.src/smartthings-exporter-api.groovy - Check
Publishat the bottom - Click
Execute Update - Click the
Edit Propertiesbutton for thekadaan : Smartthings Exporter APIentry - Click
OAuth - Click
Enable OAuth in SmartApp - In
Redirect URI, enterhttp://localhost:4567/OAuthCallback. Case is important here - Click
Update - Click
OAuth - Take note of the
Client IDandClient Secret. These will be used to authenticate and retrieve a token. Once the token is saved locally by the library, authentication can proceed without user intervention.
We now need to register Smartthings_exporter to with your SmartThings app.
Run:
$ smartthings_exporter register --smartthings.oauth-client=[client_id] > .st_token
Follow the prompts to authorize the app.
Now we can start Smartthings_exporter by running:
$ smartthings_exporter --smartthings.oauth-client=[client_id] --smartthings.oauth-token.file=.st_token